首页 > 比特币 > 正文

如果比特币用户使用完整的比特币节点,他们会更安全,如果他们这样做,整个比特币网络也会更健康。为了鼓励这一点,运行完整节点的资源要求应保持在较低水平,包括所需的带宽。

Erlay 是一项有助于降低带宽需求的新提案。它由不列颠哥伦比亚大学的研究人员 Gleb Naumenko、Alexandra Fedorova 和 Ivan Beschastnikh 开发;Blockstream 工程师 Pieter Wuille;和独立的比特币核心贡献者 Gregory Maxwell。

在比特币网络中

该提案推荐了一种可以更有效地传输事务标识符的方法,从而减少节点之间发送的消息数量,同时仍然支持向所有节点传输新事务。

这就是为什么这很重要以及它是如何工作的。

问题

当一个新的比特币交易被广播时,它必须被发送到比特币点对点网络上的所有节点。从技术上讲,这分两步进行。首先,在接收到交易后,节点将一个交易标识符——交易 ID——发送给它所连接的所有对等点(除了它从中获得交易的那个)。所有这些对等点然后检查此交易 ID 以查看它们是否已经从另一个对等点收到该交易。如果没有,他们会从发送交易 ID 的节点请求整个交易。然后,该过程重复:此节点将事务 ID 发送到其所有对等方。

由于节点甚至与已经发送交易的对等点共享交易 ID,因此在比特币网络上共享了大量冗余消息。这种冗余会消耗大量带宽。值得注意的是,目前运行比特币节点所需带宽的 50% 用于宣布交易。另外 45% 的带宽需要用于中继实际的交易主体,5% 的带宽用于其他各种消息,例如区块头信息。Erlay 研究论文估计,比特币节点之间的所有流量中有 44% 由冗余消息组成。 

许多用户可能负担不起需要大量带宽的运行节点,并且可能会阻碍他们运行完整节点。

连通性和风险

一个相关的问题更加微妙。

比特币的安全性部分依赖于比特币网络上节点之间的连接水平。如果这种连接性太低——如果节点没有与足够多的对等点连接——就会为“日蚀攻击”打开大门。在这些攻击中,攻击者控制许多 IP 地址并使用这些地址连接到特定的比特币节点。如果该节点看到的所有节点都是由同一攻击者控制的节点,则攻击者基本上可以创建一个“替代比特币区块链”,仅针对该节点。这为许多攻击打开了大门。

在他们的论文中,Naumenko、Fedorova、Beschastnikh、Wuille 和 Maxwell 认为比特币网络节点之间的当前连接性太低,无法确保加密货币区块链的足够安全级别。波士顿大学和希伯来大学/MSR Israel 的研究人员 Ethan Heilman、Alison Kendler、Aviv Zohar 和 Sharon Goldberg在一篇论文中得出了类似的结论。

这个问题可以通过增加网络上比特币节点之间的连接来解决。然而,就目前而言,这也将显着增加每个节点所需的带宽:如果节点想要连接到更多对等点,带宽使用目前会线性增加。

更有效的中继协议会有所帮助。

进入埃雷

为了解决与比特币当前交易中继协议相关的问题,Naumenko 等人。建议使用 Erlay,一种新型的交易传播协议。根据他们进行的研究,Erlay 可以显着减少维持比特币节点之间当前连接水平所需的带宽量(约 40%)。

Erlay 协议使用名为“ Minisketch ”的解决方案减少了比特币节点之间传递的消息数量,该解决方案之前由 Naumenko、Wuille 和 Maxwell 提出。除了交易 ID 之外,比特币节点还相互共享交易的“草图”。 

这是分两个阶段完成的。在第一阶段,节点将像往常一样与其对等方共享新的交易 ID。但是,他们最多会选择 8 个对等节点进行共享——即使他们与更多对等节点有连接。在第二阶段,节点改为向其对等方请求“草图”。

这样的草图包含节点已接受的所有事务的标识符(自上次对帐以来),但形式紧凑。使用草图,节点可以找出它的对等方有哪些它没有的事务。然后,它只能从那些没有出现在他们的草图中的对等点请求那些交易。与共享所有事务 ID 相比,这种方法消耗的带宽要少得多。

作为额外的好处,在许多情况下,该解决方案将提供更多的隐私。由于交易 ID 最初并未与所有连接的节点共享,因此“间谍节点”更难监视网络并跟踪特定交易的来源。

应该注意的是,比较不同的草图和查找丢失的交易的缺点之一是交易需要相对较长的时间(大约长 2 秒)才能在整个网络中找到它的出路。然而,比特币网络平均出块时间为 10 分钟,这表明这种方法值得权衡,因为它可以大大减少每个节点接收的消息数量。

下一步

Naumenko 打算在应用程序开发人员、软件测试人员和研究人员审查协议规范并在不提出任何反对意见的情况下有效批准后,为 Erlay 起草比特币改进提案。目前,Erlay 协议正在接受比特币社区的审核,在可预见的未来可能会被整合到比特币协议中。

根据其规范,Erlay 原型仅包含 584 行代码,并且不包括对现有比特币协议的任何不兼容更改。

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息