全新的Mysticeti共识设计让Sui更快,TPS更高

一种新的区块链共识设计将Sui的延迟降低到超过现有记录的速度以下。

全新的Mysticeti共识设计让Sui更快,TPS更高

围绕名为Mysticeti的拜占庭共识协议的新研究,为Sui提供了大幅降低交易延迟和降低验证者CPU需求的潜力。由于其快速路径,Sui现在是低延迟的领导者,而新的共识协议扩展了所有交易的低延迟。

Sui的设计Narwhal-Bullshark共识算法与快速路径相结合,并区分了涉及独享对象和共享对象的处理。它将前者在快速路径上处理,将后者在提交到区块链时在共识路径上处理。根据这种机制,Sui在2023年创下了一天内5,414 TPS和6500万笔交易的记录。  

持续的研究结果产生了Mysticeti,它通过解决系统固有的特定延迟问题改进了Narwhal-Bullshark。测试结果显示,共识的提交时间为500毫秒,单个所有者交易为250毫秒,同时保持极高的吞吐量。专为Sui设计的Mysticeti支持单个独享对象交易、快速路径和共享对象交易,而且CPU成本和复杂性仅为当今Sui网络的一小部分。

重新设计共识

与Narwhal和Tusk一样,Mysticeti使用基于有向无环图(direct acyclic graph,DAG)的共识算法,其中每个验证节点提出交易区块,这些交易区块与过去的交易区块相连。Narwhal-Tusk表明,基于DAG的共识算法可以将延迟与吞吐量分离,并即使在网络和节点故障的情况下,也能保持极高的吞吐量。主要工作人员架构使得基于Narwhal的设计可以增加吞吐量的可调性,没有限制。 

然而,与耦合设计(例如Meta的Diem项目采用的Jolteon和Ditto)相比,Narwhal-Tusk的提交延迟略差,有三个原因: 

首先,Narwhal单独认证每个区块,因为它们需要由每一轮的大多数验证节点签署,然后才能与所有人分享。这个过程导致每轮的区块往返延迟为一个半,对于提交来说,Bullshark需要两轮,所以每个区块的提交需要三轮往返。相反,Mysticeti的验证节点只需签署并分享他们的区块,使得每个区块在每一轮中的往返延迟为半轮。这一变化导致往返次数减少了50%,据我们所知,这是任何现有基于DAG的共识算法的往返次数最低。

其次,Narwhal和Tusk的主要工作人员与每个验证节点的区块-主要工作人员区别增加了吞吐量,但在某些情况下也可能增加延迟。一个工作者需要确保足够数量的其他工作者在与主要工作者共享区块的哈希之前收到该区块。在最坏的情况下,延迟会增加另一轮往返。这种工作者-主要架构允许当单台机器上的网络带宽成为瓶颈时进行共识扩展,这往往发生在数十万TPS的范围内。Mysticeti摆脱了这种架构,只需在主要工作者的区块内内嵌事务,即使如此,仍可以实现非常高的吞吐量,达到超过100,000 TPS的水平。

最后,Bullshark和Tusk根据原始论文的规定,仅在每两轮或约三轮提交一次,并且仅提交由领导区块链接的子DAG。由于这个循环,不幸的是,刚好在提交块之后包含的交易可能需要等待两倍于提交之前的轮次,或者如果不是由下一个领导者链接的话,可能需要等待更长时间。Mysticeti的新颖提交规则每轮自然指定多个领导者,允许更多的交易更早地被提交。这一创新为Mysticeti降低延迟提供了最大的助力。

由于这些变化,Mysticeti在三个消息延迟内就能实现提交,在广域网(Wide Area Network,WAN)测试环境中大约为500毫秒。在低延迟条件下,它仍然保持着超过50,000 TPS的稳定吞吐量,而在大约1秒的延迟条件下,超过100,000 TPS。它保持了DAG共识的其他优点,包括抵御故障、抗审查、链质量、高吞吐量以及在验证者之间充分利用网络资源。论文《Mysticeti:具有快速提交路径的低延迟DAG共识》包含了完整的性能结果。Mysticeti评估的源代码可以在GitHub上找到。 

此外,Sui独享对象交易的快速路径在理想情况下经过两轮往返后即可完成,大约为广域网上的250毫秒。为了保持这种非常快的模式,Mysticeti还包括了一个快速路径。验证节点可以通过Mysticeti DAG投票来包含交易,而不需要额外的签名。Mysticeti将交易内嵌在区块内,使这个过程成为可能。因此,交易可以在没有大量签名生成和验证的情况下得到认证,从而使同一CPU可以处理五到十倍更快的路径交易。 

树立新标准

500毫秒的提交延迟是有史以来报告的高吞吐量大规模广域网共识中最快的,有可能彻底改变区块链行业。再加上可扩展的基础设施达到50,000 TPS,Sui在原始性能方面成为中心化计算系统的引人注目的竞争对手。