Autonomys之家
AI3们的阵地

Moonshot 共识算法 Moonshot 是专为区块链系统设计的高性能拜占庭容错 (BFT) 共识协议系列

Moonshot 共识算法

Moonshot 是专为区块链系统设计的高性能拜占庭容错 (BFT) 共识协议系列。

概述

Moonshot 协议旨在通过实现低延迟和高吞吐量来优化基于链的轮换领导者 BFT 共识。

主要特点
  1. 低延迟:探月协议实现了 δ 的最小视图更改区块周期 (ω) 和 3δ 的最小提交延迟 (λ),其中 δ 是网络传输延迟。

  2. 乐观响应性:Moonshot 协议使时间进度与实际网络延迟成正比,与任何已知的上限无关。

  3. 重组弹性:Moonshot 确保当诚实的领导者在全球稳定时间 (GST) 之后提出建议时,其一项提案获得认证,并通过随后的每个认证提案进行扩展。

  4. 短视图长度:流水线 Moonshot 和 Commit Moonshot 的视图长度 (τ) 为 3Δ,其中 Δ 是已知的网络延迟上限。

  5. 流水线:一些 Moonshot 变体实施流水线以提高某些网络条件下的效率。

变种
  1. 简单的 Moonshot:基本版本具有 ω = δ、λ = 3δ 和 reorg 弹性。

  2. 流水线登月:在 Simple Moonshot 的基础上进行了改进,具有完全乐观的响应能力和 τ = 3Δ。

  3. Commit Moonshot:进一步优化区块提案的传播时间比投票更长的情况。

当区块提案(蓝色图片)的传播时间比投票长得足够长时,显式提交投票(绿色图片)使 Commit Moonshot 能够比其流水线对应项更早地提交区块。

1.Direct Pre-commit:当节点在任意视图 v’ 中收到 Cv(Bk) 时,其中 v’ ≤ v:

  • 如果 timeout_view < v,则发送 ⟨commit, H(Bk), v⟩

2.间接预提交:当节点在任意 view 中收到 Cv(Bk) 时:

  • 如果它已经为 Bk 的任何后代发送了提交投票

  • 和 timeout_view < v

  • 它还没有发送 ⟨commit, H(Bk), v⟩然后发送 ⟨commit, H(Bk), v⟩

3.替代直接提交:当节点收到来自 quorum 的提交消息时:

  • 如果消息是来自不同节点的 ⟨commit、H(Bk)、v⟩

  • 在任何视图中 Then commit Bk

性能

Moonshot 协议已被证明在无故障场景和存在故障的情况下都优于 Jolteon 等现有的最先进协议。它们在多达 200 个节点的广域网中实现了更高的吞吐量和更低的延迟。

实施注意事项

虽然 Moonshot 协议在许多情况下都提供了卓越的性能,但与某些线性协议相比,它们的通信复杂性 (O(n²)) 更高。开发人员在为其特定使用案例选择共识协议时,应考虑通信复杂性与性能指标(如延迟和吞吐量)之间的权衡。

有关详细的实现指南和 API 参考,请参阅本文档的后续部分。

赞(0)
未经允许不得转载:Autonomys 中文社区 » Moonshot 共识算法 Moonshot 是专为区块链系统设计的高性能拜占庭容错 (BFT) 共识协议系列