运行完整的比特币客户端是网络可持续去中心化的重要组成部分
运行完整的比特币客户端是网络可持续去中心化的重要组成部分,也是网络健康采用的体现。然而,对于主流用户来说,运行完整节点并不是一个方便的过程。完整节点需要与整个比特币区块链同步(约200GB),并连接到多个对等节点以转发网络上广播的交易。标准完整节点通常与8个对等节点连接,而交易转发占据了管理完整节点所需的大部分带宽。
比特币核心开发者和Blockstream联合创始人Gregory Maxwell估计,交易转发占完整节点带宽需求的约87%。此外,完整节点的同步可能需要数天时间完成,并且需要一些比特币的基本技术知识。运行完整节点的繁琐过程在很大程度上阻碍了许多主流用户启动完整客户端。
尽管一些改进措施(如Casa的硬件节点和Pierre Rochard的节点启动器)已经改善了启动和运行完整客户端的过程,但减轻完整节点操作者的负担仍然是一个长期且明智的任务,这也是比特币多项改进的重点,包括MiniSketch。
节点间的同步
在深入探讨MiniSketch之前,有必要先了解节点间的同步过程以及集合协调的背景。集合协调是计算机科学中的一个过程,其中数据集合通过解决它们之间的差异来达成一致。Maxwell在比特币杂志的一篇文章中将此过程比作两个共享许多相同联系人的人同步手机联系人列表。
在比特币中,MiniSketch实现了基于PinSketch BCH的安全草图算法,用于优化网络中交易的分布,使完整客户端能够以更低的带宽需求连接到更多的对等节点。
MiniSketch的作用
MiniSketch旨在通过提供更高效的机制来增强集合协调过程,使节点内存池能够同步并仅传递必要的数据,而不是整个数据集。节点在确认哪些节点需要接收哪些交易数据时浪费了大量带宽,而MiniSketch使节点能够通过仅基于一个集合中存在而另一个集合中不存在的数据的算法进行交叉引用。
通常,节点之间的数据交换侧重于引用整个内存池数据集。MiniSketch通过使用“集合校验和”来绘制数据集之间的差异,从而实现更紧凑的交易内存池集合同步。
根据MiniSketch Github的ReadMe文件,当差异大小不超过Alice发送的草图的容量时,这一过程将始终成功。有趣的是,这一过程与实际的集合大小无关,仅与差异有关。
根据Maxwell在比特币杂志中的说法,MiniSketch可以将节点交易转发的开销减少40倍,这是他们的模拟结果。MiniSketch的两个主要优势是:减少节点带宽和使节点能够连接到更多的对等节点。
MiniSketch的未来
目前,MiniSketch还没有正式的BIP(比特币改进提案),未来的提案可能会与另一种称为“可逆布隆查找表”的协议结合,以增强区块传播。MiniSketch的可选性也使其不太可能与其他正式的共识变更提案一起积压。
总的来说,MiniSketch对节点操作者来说具有显著的优势,因为它降低了运行完整节点的门槛并使其更高效。更多的完整比特币客户端意味着更强大的去中心化和更健康的网络。