关注 ThunderCore

点击了解最具潜力项目

全面洞察区块链最新技术及趋势

TT 链共识系列 5:Thunderella

上周,我们讨论了 PoS 权益证明共识机制。本周,让我们一起了解下 Thunderella 共识协议。虽然本篇文章是独立的,但强烈建议您先熟悉我们之前发布的共识系列文章作为背景知识。

ThunderrellaThunderella 共识协议的主要创新之处在于将经典共识与中本聪链式共识相结合,集两家之所长于一身。

TT 链共识系列 5:Thunderella

一般来讲,经典共识在规模小的时候(节点数量较少情况下)速度非常之快,能以接近中心化部署的速度确认交易。然而,相关协议会很复杂、难以实现且不能随参与者的数量增多而实现规模效应。相比之下,中本聪协议简单,稳健性出众,理论上参与者数量可以无限多,但需要花几分钟时间才能以高概率确认交易。

回想一下我们对 PBFT 实用拜占庭容错算法的描述,如果在足够长的一段时间内没有从主节点那看到任何提案,则执行视图更改。在视图更改期间,节点交换消息以便就下列内容达成一致:

  • 确实发生了视图更改

  • 临更改前的网络状态

实际上,在没有主节点的情况下,各个节点也会达成共识。Thunderella 协议的主要特点是,当我们想实现状态 1 和状态 2 (我们分别称之为回退和恢复)时,我们可以通过 PoW 协议(依靠工作量证明的)的慢链来达成共识。

快速链+慢速链机制

协议

假设事先已确定身份的一组加速器和委员会成员(也可分别称为提案者和投票者)。Thunderella 协议在快速路径上创建区块,其协议简化版描述如下:

TT 链共识系列 5:Thunderella

快速路径

活跃的加速器签署一项提案(区块)进而添加到区块链(线性有序的日志)并将其发送给委员会。

如果该提案是委员会成员的区块链的有效延伸,每个委员会成员将通过签署提案来投票,并将他们的投票返回给加速器。

在收集到委员会四分之三的投票后,活跃的加速器将它们合并成一个公证区块并进行广播。

如果被观察到了某提案的公证区块,则意味着该提案已被最终确认为相应区块链上不可更改的历史记录的一部分。

TT 链共识系列 5:Thunderella慢速链

慢速链是另外一条工作量证明(PoW)区块链,能保证一致性和活跃性。在这里,当我们说“在慢速链上看到某个 X”时,我们的意思是,可以安全地假设(通过慢链区块链的确定性假设)该网络的所有参与者也看到了 X。而在实践中,这可能意味着要等待几个区块以达到设想的确定性。

比方说,每 100 个快速路径上的区块,其哈希和公证必须及时提交到慢速链上。这称为 alive 消息。这可以通过在慢链交易的数据字段中包含 alive 消息来实现。

需要注意的是,任何人都可以发布 alive 消息,且该消息不能被伪造,因为它们需要对区块进行有效的公证。

TT 链共识系列 5:Thunderella

回退与恢复

比方说当历经 20 个(举例)慢速链区块后,仍在慢速链上看不到 alive 消息时,快速路径就会暂停并开始恢复。委员会成员停止签署新提案。

比方说,恢复期延续 10 个(举例)慢链区块,在此期间,参与者将向慢链提交一个有效的、最近看到的区块哈希和公证。

在恢复完成之后,根据算法,如循环遍历算法(round robin policy)选择的下一个加速器上线,并从恢复阶段报告的最新区块开始继续进行提案。

TT 链共识系列 5:Thunderella

Yell 消息

作为确保抗审查和活跃性的一种额外工具,Thunderella 定义了 yell 消息。Yell 消息是一个发送到慢链的快速路径交易。这些交易由协议定义的规则而被包括在快速路径中(而不是通过常规交易那样的“提案-公证”过程)。因此,即使在恢复期间,在慢链上已被最终确认的的 yell 消息也是一个已被最终确认的快速路径上的交易。

用户可以将某个签署过的有效快速路径交易打包成 yell 消息(比方说在某慢链交易的数据区中) 并发送到慢链。

当包含 yell 消息的慢链区块被最终确认时,委员会成员应该看到该交易出现在快速路径上。如果它没有出现,则触发回退机制,协议进入恢复阶段。

在恢复期间,网络上的各个节点根据它们在慢链上看到的 yell 消息,按照一组确定的规则,从最后一个快速路径上的区块开始扩展它们的区块链。由于在慢链上我们总是依赖于 PoW 工作量证明共识,所以每个节点都独立地到达同一条扩展出来的快速路径。

一旦完成恢复,新加速器必须由前一步中扩展出的快速路径上的链开始继续扩展。

TT 链共识系列 5:Thunderella

在完整的协议中,Thunderella 通过允许多个未完成的提案(尚未最终确认的区块)来实现加速运行。该技巧被称为流水式提案,稍后我们在介绍 PaLa 时会再次提到它。完整的 Thunderella 协议在 Thunderella 白皮书中有详细描述。

总结

由于 Thunderella 利用了一个同步工作量证明区块链,该区块链使得慢速路径具有 1/2 的容错性,投票阈值为 3/4,因而为部分同步假设下的快速路径的一致性提供了 50% 的容错能力。正如之前的系列文章中所解释的,通常,部分同步假设下的协议最多可以实现对活跃性 1/3 的容错。然而,通过利用同步假设下的慢链来从故障的加速器中恢复,Thunderella 还可以实现对活跃性 1/2 的容错。需要注意的是,底层的慢链不一定必须要是 PoW 工作量证明链,不过协议总体的安全性继承了底层链的安全性。例如,假如我们使用部分同步的经典共识来做慢链,我们将得到一个部分同步协议,且其容错性最高只能达到⅓。

TT 链共识系列 5:Thunderella

在实践中,Thunderella 只需经历一轮投票便可完成确认!对于像以太坊这样的 PoW 工作量证明慢链,可能需要几分钟才能恢复,进展缓慢且昂贵。如果快速路径可靠,则很少需要恢复。恢复速度慢的问题可以通过对慢速链使用更快的经典共识来解决。虽然 Thunderella 原本是要用作 TT 链的第 1 层拓展解决方案,但在快速路径与慢链之间有适当的跨链桥的情况下,Thunderella 可能更适合第 2 层侧链。例如,多个不受信任的成员(可能通过抵押 ERC20 被选择)可以使用 Thunderella 作为 Plasma 侧链,并在快速路径操作期间进行一轮消息确认!

希望这篇文章能为您提供有用的信息!下周,我们将讨论 TT 链公链使用的 PaLa 共识协议。

TT 链共识系列 5:Thunderella

ThunderCore (TT 链) 是新一代的区块链公链平台。它突破了现今区块链的困境,达成快速、高扩展性、安全,而且又与以太坊虚拟机兼容。

ThunderCore 创办团队集结了美国学术界顶级的智能合约,分布式算法先行者,和硅谷的资深创业者 , 并独特采用严密数学证明的 PoS 共识算法 , 保障区块链的效率和安全。通过此算法 , ThunderCore 解决了以太坊高 GAS 费、低 TPS、高交易确认时间的问题。

TT 链共识系列 5:ThunderellaTT 链共识系列 5:Thunderella

[ 官网 ]

Thundercore.com

TT 链共识系列 5:Thunderella

[ Telegram 电报群 ]

T.me/thundercore_china(中文群)

T.me/thunder_official (英文群)

TT 链共识系列 5:Thunderella

[ Reddit ]

Reddit.com/r/thunder_official/

TT 链共识系列 5:Thunderella

[ Medium ]

Medium.com/thundercore

TT 链共识系列 5:Thunderella

[ Twitter ]

Twitter.com/ThunderProtocol

TT 链共识系列 5:Thunderella

[ Linkedin ]

Linkedin.com/company/thundercore

TT 链共识系列 5:Thunderella点击“阅读原文”获取白皮书