Rollup快速最终性及排序器
原文:《》by Alex Beckett
编译:东寻,DeFi 之道
Celestia 的主要目标之一是通过提供最大数据吞吐量来扩展 rollups。在扩展数据吞吐量时,轻量级节点的要求可能会因更快的出块时间而变得臃肿。由于区块时间和轻节点开销之间存在权衡,因此需要找到一个合适的媒介。对于 Celestia,寻求这种合适的媒介导致了当前 15 秒的阻滞时间。
出块时间稍慢的结果是 rollups 继承了它的最终性(Finality)。但是一些应用程序可能需要更快的最终性来实现其功能或性能。Rollups 只能和 Celestia 的出块时间一样慢,对吗?不完全是。
单一排序器(Sequencer)
首先,rollup 交易有两种最终性(Finality)的概念。
Soft Finality:一个或一组排序器确认用户的交易将被包含在 Celestia 的一个区块中。
Firm finality:Celestia 确认用户的交易被包含在一个最终的区块中。
Soft Finality 可以为用户提供的保证是,排序器承诺将你的交易包含在 Celestia 上的一个区块中。如果他们不包括用户的交易,那么他们将以某种方式受到惩罚。
现在,带有单个排序器的 rollups 可以轻松地提供软确认(Soft Confirmations)——它们是唯一的区块生产者。但是,如果没有问责机制让排序器在不诚实行为时受到惩罚,那么软确认只能提供一种弱形式的 Soft Finality。由于几乎没有 rollups 有 staked sequencer,因此如果他们对交易进行软确认并且不将其包含在下一个区块中,他们就不会受到惩罚。
但是,单一的排序器只是一个中间步骤。在去中心化 rollup 的背景下,用于更快最终性的软确认更有意义(也更有趣)。
去中心化排序器
对于排序器的去中心化,有一个广泛的设计空间。现在,我将研究两种去中心化的排序器机制的软确认。
PoS 领导者选举机制
快速了解背景,顾名思义,PoS 领导者选举机制的工作方式是,每个节点都会抵押一些 Token 以参与排序器集。排序者提前就领导者时间表达成共识。当轮到排序器生产区块时,它将按照时间表构建它的区块并将其提交给 Celestia。一旦构建了新区块,验证者之间就没有 BFT 共识。我们在 Rollmint 的去中心化排序器的第一个版本中实现了类似的东西。
在这种情况下,一旦用户的交易构建了一个区块,排序器就可以为用户提供软确认。软确认就像是他们将把它包含在 Celestia 区块中的承诺。由于排序者现在已被质押,如果他们提供软确认并且最终没有将用户的交易包含在下一个区块中,他们可以被追究责任。
软确认的一种工作方式是,排序器构建一个区块,并通过 rollup 的 p2p 网络传播它。在某些时候,排序器也会将该区块发布到 Celestia。节点可以验证他们在 p2p 网络上验证的区块和被发布到 Celestia 的区块之间是否不匹配。不匹配证明了排序器签署了两个区块,所以他们可以通过削减被惩罚。
目前,应用程序可以在其软确认背后获得经济保证,从而使它们能够在快速最终性(Fast Finality)下运行。
BFT 共识机制
去中心化排序器的另一种机制是使用现有的拜占庭容错共识机制(BFT 共识),例如 Tendermint。如果 Tendermint 被用来为 rollup 提供坚定的 Firm finality,它的安全性将与依赖于诚实多数共识的 L1 没有什么不同。rollup 应该使用修改后的 Tendermint 版本,这样它就只负责软确认。通过这样做,rollup 仍然依赖于欺诈 / 有效性证明和 Celestia 来确保安全。
在这种情况下,一个排序器构建一个区块并将其提交给其余的排序器。排序器对该区块进行多轮投票。如果用户收到了对其交易的软确认并且它没有被包含在 Celestia 区块中,那么投票就是双重签名的证据。由于它们也被质押,因此排序器可能会被削减。
使用 PoS 领导者选举和 BFT 共识之间的权衡主要包括排序器的开销与执行时间。PoS 领导者选举机制比 BFT 共识更精简,对排序器的开销也更少。但是通过现有的共识机制去中心化排序器可以比定制的领导者选举机制更快地实现。
哪些应用程序可能需要快速最终性?
可能存在几种类型的应用程序需要快速最终性。我想到了两个:
1.DEX 是最明显的,因为最终性对整个交易动态都有影响。更快的最终性让交易更快清算,搜索者可以更频繁地进行套利,从而为用户带来更好的执行价格和更准确的资产价格。
2. 借贷协议可能也希望有更快的最终性,以便清算能够更快地处理。更快的清算减少了资产价格变动的时间,这意味着借贷协议产生坏账的可能性更小。完成清算所需的时间越长,资产价格下跌的可能性就越大,这可能会使协议出现坏账。
2 秒到 15 秒之间的最终性差异可能不会影响大多数应用程序。只有一小部分应用程序可能需要快速最终性,并且其中大多数应用程序应该适合 rollup 可以提供的快速最终性概念。