MERCURY:高性能区块链系统中的快速事务广播

作者:树图区块链团队

Author:Mingxun Zhou, Liyi Zeng, Yilin Han, Peilun Li, Fan Long, Dong Zhou, Ivan Beschastnikh, Ming Wu

论文摘要原文:Blockchain systems must be secure and offer high performance. These systems rely on transaction broadcast mech-anisms to provide both of these features. Unfortunately, in today’s systems, the broadcast mechanisms are highly inefficient.

We present MERCURY, a new transaction broadcast protocol designed for high performance blockchains. MERCURY shortens the transaction propagation delay using two techniques: a virtual coordinate system and an early outburst strategy. Simulation results show that MERCURY outperforms prior propagation schemes and decreases overall propagation latency by up to 44%. When implemented in Conflux, an open-source high-throughput blockchain system, MERCURY reduces transaction propagation latency by over 50% with less than 5% bandwidth overhead.

论文摘要中文:

区块链系统必须安全并提供高性能。这些系统依赖于事务广播机制来提供这两个功能。不幸的是,在当今的系统中,广播机制是非常低效的。

我们介绍了MERCURY,一种为高性能区块链设计的新交易广播协议。MERCURY使用两种技术缩短事务传播延迟:虚拟坐标系统和早期爆发策略。仿真结果表明,MERCURY优于以前的传播方案,并减少了高达44%的整体传播延迟。当在开源高吞吐量区块链系统Conflux中实现时,MERCURY将事务传播延迟降低了50%以上,带宽开销不到5%。

研究问题、关键问题:本文的研究问题是 如何在区块链系统中实现高效且安全的交易广播,以降低交易传播延迟并提高系统性能

具体而言,研究问题包含以下三个方面:

1.交易传播延迟: 现有的区块链系统交易传播机制效率低下,导致延迟高,限制了系统吞吐量。

2.带宽消耗: 提高传播效率通常需要增加节点间的连接数量,从而增加带宽消耗,这在高吞吐量系统中尤为突出。

3.安全性: 在去中心化的区块链网络中,需要确保交易传播机制能够抵御恶意节点的攻击,保证系统的安全性。

研究动机:

1.区块链系统性能瓶颈: 虽然近年来出现了一些新的区块链设计,将吞吐量提升至数千 TPS,但网络带宽消耗也随之增加,成为新的性能瓶颈。

2.低延迟系统的需求: 一些新兴的区块链系统如 Stellar 和 Avalanche 等追求更低的确认时间,这对交易传播速度提出了更高的要求。

3.现有方案的局限性: 简单增加节点间连接数量会导致交易重复,降低系统吞吐量。因此,需要设计新的交易传播协议,在降低延迟的同时,避免浪费带宽。

研究意义:

  1. 提升区块链系统性能: 通过优化交易传播协议,降低交易传播延迟,从而提高区块链系统的吞吐量和确认速度,使其能够更好地满足实际应用的需求
  2. 降低网络带宽消耗: 通过高效的路由策略,避免不必要的交易重复传播,降低网络带宽消耗,使其能够在有限的网络资源下更好地运行。
  3. 提高安全性: 论文中提出的 MERCURY 协议具有抗攻击性,即使在部分节点被恶意控制的情况下,仍然能够保证交易的正常传播。

研究内容(算法、方法、技术、模型)

  1. 虚拟坐标系统 (VCS):

Vivaldi 协议: 论文采用 Vivaldi 协议构建 VCS,该协议通过节点间互相测量网络延迟,并利用弹簧模型进行坐标更新,最终使节点在虚拟空间中的位置与实际网络延迟相对应。

安全性增强: 论文对 Vivaldi 协议进行了安全增强,包括稳定性限制、力限制、质心和引力等,以防止恶意节点攻击 VCS。

稳定性限制: 当节点的预测误差低于一定阈值时,其坐标移动距离将受到限制,防止恶意节点进行坐标操纵。

力限制: 忽略超过一定阈值的力,防止恶意节点通过过大的力影响其他节点的坐标。

质心和引力: 当系统质心偏离原点时,系统会对偏离质心的节点施加引力,将其拉回原点,防止恶意节点进行质心操纵。

  • 基于 VCS 的传播方案:

节点聚类: 利用 K-means 算法将节点根据其 VCS 坐标进行聚类,形成多个集群。

传播策略: 节点在传播交易时,将交易优先传播给同一集群内的邻居节点,以及随机选择的其他集群中的节点。

安全性考虑: 为了防止恶意节点进行分割攻击,节点会随机选择部分集群外节点进行传播。

  • 早期爆发策略:

传播树: 将交易传播过程抽象为传播树,节点在传播树中的位置取决于其接收交易的时间顺序。

早期爆发: 在传播初期,节点选择更多的邻居节点进行传播,降低传播树的高度,从而降低平均延迟。

安全性考虑: 为了防止恶意节点利用早期爆发策略进行攻击,节点会检查交易的有效性和唯一性,并监控网络流量。

  • 安全性机制:

回退机制: 当 VCS 的准确性低于一定阈值时,节点将回退到基本的随机传播策略。

有效性检查: 节点在传播交易前会检查其有效性,防止恶意节点传播无效交易。

流量监控: 节点会监控其网络流量,并限制恶意节点的流量。

主要贡献

  1. 我们为区块链P2P网络设计了一种基于VCS的安全广播策略,可以在不浪费带宽的情况下改善延迟。
  2. 我们提出了一个简单而有效的优化称为早期爆发。
  3. 我们将我们的建议整合到MERCURY的端到端实现中,并在模拟和Conflux高吞吐量区块链系统中对其进行评估。

创新点、创新性

MERCURY 是一种基于虚拟坐标系统 (VCS) 和早期爆发策略的交易广播协议,旨在提高高性能区块链系统的交易传播效率。通过将节点嵌入到度量空间中并根据距离进行广播,MERCURY 能够有效地减少延迟和带宽消耗,同时具备抵御恶意攻击的能力。

技术难点

  1. 安全增强的 VCS: 论文作者将 Vivaldi VCS 与 Newton 安全规则相结合,并引入了新的稳定性规则和力限制规则,从而有效地提高了 VCS 的安全性。GPU 强度的计算,以及如何高效地计算 GPU 强度。
  2. 早期爆发策略的配置: 论文作者通过实验确定了 MERCURY 的最佳配置参数,例如聚类数量、内部集群节点数和早期爆发广播范围等。
  3. 真实环境中的实现和评估: 论文作者将 MERCURY 集成到 Conflux 高吞吐量区块链系统中,并在真实环境中对其进行了评估,验证了其有效性和安全性。

进一步研究思路 (Future Work)

  1. 更复杂的攻击模型: 论文主要考虑了恶意节点对 VCS 和聚类机制的攻击,可以考虑更复杂的攻击模型,例如拜占庭攻击、女巫攻击等,并研究 MERCURY 在这些攻击下的鲁棒性。
  2. 动态网络拓扑下的性能分析: 论文假设网络拓扑是静态的,可以考虑动态网络拓扑下的性能分析,例如节点加入和退出网络的情况,并研究 MERCURY 在动态网络环境下的适应性。

个人总结:

高性能的区块链系统需要高效和安全的交易广播。MERCURY结合了两个新颖的想法-使用虚拟坐标系来组织传播结构和使用早期爆发策略-以减少事务传播的延迟。其实验表明,MERCURY对攻击具有鲁棒性,并在真实的高吞吐量区块链系统中将交易传播延迟提高了56%,同时引入了不到5%的带宽开销。作者在https://github.com/wuwuz/P2PNetwork上提供了对他们代码的公开访问。

作者 ienlab2023