Sui Lutris报告导读:Sui公链的核心分布式系统协议

经过数个月的测试,Mysten Labs于8月18日更新了Sui Lutris白皮书,确定了以下内容:

  1. 使用PTBs和5K TPS,Sui每秒可以处理140k至150k次操作,这表明Sui在主网峰值(约700TPS)下的基准测试远低于其实际性能。
  2. Sui最终确定的延迟仍然能保持在0.5秒以下,即使在一定数量的验证节点停止运行的情况下。

在Sui Lutris白皮书中,包含了外部测试者如何能在其自身的验证测试中获得相关数字的指示、安全性证明以及Sui是如何运作的详细描述。

Sui主网发布后不久,看到了令人兴奋的应用上链,如游戏和NFT等。近日,Mysten Labs发布了一个支持Sui的分布系统——Sui Lutris的技术报告。Sui Lutris允许Sui在高吞吐量和长期稳定性的条件下保持低延迟。

自从Bitcoin在十年前出现,截至目前区块链科技已经有了长足的发展,有如游戏和NFT等新用例的出现。区块链社区也持续的探索以提高区块链科技的效率,尤其在处理高负载和提供实时延迟方面更是如此。

我们相信L1区块链现今面对两个主要挑战:在保持低延迟的前提下达到高吞吐量,并且确保共识协议能够长期保持稳定。这些挑战能够通过验证节点的动态参与及配置挑战来实现。

实现高吞吐量的一种有效方法是使用基于DAG的共识协议,如Sui所使用的Narwhal/Bullshark。这些共识协议使区块链能够同时执行大量交易,使其成为游戏和NFT等用例的理想选择。然而,基于DAG的协议会导致几秒钟的延迟,这对于常见的传输或游戏操作来说影响非常大。

🌟 Narwhal/Bullshark:

https://sonnino.com/papers/bullshark-simple.pdf

另一方面,无共识协议在减少延迟和扩展方面表现出了巨大的潜力,如我们过去研究的原型FastPay。这些协议消除了共识,允许快速处理交易,而不需要对平行处理的独立交易进行处理。然而,这仅限于有限类别的区块链简单操作。这限制了智能合约的表达,并且重新配置动态变化的验证节点集具有一定的挑战性。

🌟 FastPay:

https://arxiv.org/abs/2003.11506

尽管以上两种协议都具有潜力,但他们目前都没有在产品级区块链中使用。它们目前仅在学术会议上提出,也没有被区块链社区广泛使用。Sui Lutris是支撑Sui网络的协议,它将基于DAG的共识与无共识方法相结合,以实现两者的优势:亚秒级延迟(低于1秒)和每秒数千笔交易的持续吞吐量。Sui实现了这两个目标,并保持在共享对象上表达复杂合约、生成checkpoints以及跨epoch重新配置验证节点集的能力。

结合基于共识和无共识的方法

Sui Lutris采用了结合上述两种方法的独特方法。为了确保单个所有者拥有的资产(独有对象)的操作安全,系统在验证节点之间采用一致的广播协议,使延迟低于共识。Sui Lutris仅依靠共识来处理在共享对象上运行的复杂智能合约,也就是任何用户都可以改变的对象。Sui Lutris还支持网络维护操作,例如定义checkpoints和重新配置验证节点。在复制的拜占庭环境中处理交易时,这种新颖的策略提供了两全其美的办法。

Sui Lutris报告导读:Sui公链的核心分布式系统协议

图中表示在Sui Lutris中的高水平描述和交易生命周期

➊ 拥有私钥的用户创建并签署交易以改变他们拥有的对象,或者更改他们的独享对象和共享对象的混合体。

➋ 交易通常通过全节点被发送到每个Sui Lutris验证节点,验证节点负责执行一系列有效性和安全性检查,对其进行签名,并将签名的交易返回给客户端。

➌ 客户端收集绝大多数验证节点的响应以形成交易证书。此时交易可以被确认为不可逆转的,也就是达到其最终性。

➍ 证书集成完毕后,将被发送回所有验证节点,验证节点检查其有效性并向客户端确认收到。如果交易涉及独享对象,交易证书可以立即处理并执行,无需等待共识引擎(直接快速路径)。所有证书都会转发到基于DAG的共识协议(由Sui验证节点运行)。

➎ 共识最终输出证书的编号,而验证节点检查并执行包含共享对象。

➏ 客户可以收集绝大多数验证节点的响应,将它们组装成有效证书,并将其用作交易结算的证明。

➐ 随后,为每个共识提交形成checkpoints,这些checkpoints也可以用于驱动重新配置协议。

除了以上描述的主要交易流程,Sui Lutris提供一系列的设施支持产品级的区块链:

  • 在达到最终性后实施checkpoint协议,该协议会生成系统中所有交易的历史记录。这适用于完整的审计,以及以有效的方式保持全节点和滞后验证节点的同步。
  • Sui Lutris支持在每个epoch结束时进行重新配置,此时验证节点集及其投票权可能会发生变化。为了确保所有最终交易都包含在一个Epoch中,每个Epoch都需要仔细关闭并确认最终是安全的。
  • 在以前的无共识协议中,当有客户端资产发生双花攻击时,资产将被永远锁定。Sui Lutris会在epoch结束时将被误锁定的资产安全“解锁”,最大限度地减少错误的损失。

Sui是一个为其用户管理大量价值的区块链,而Sui Lutri是Sui的基础。完整的技术报告提供了有关安全性和活跃性协议如何运行的更多详细信息,以及在标准分布式系统模型中与拜占庭参与者部分同步的安全性证明。

🌟 在完整的Sui Lutris报告中查看更多细节:

https://github.com/MystenLabs/sui/blob/main/doc/paper/sui-lutris.pdf