漫谈 TTF,一笔 Rollup 交易多久才能最终确定?
2023-11-15 14:42
ForesightNews 独家
2023-11-15 14:42
订阅此专栏
收藏此文章
TTF(time to finality),是指一个交易信号从开始广播到到达最终状态所花费的时间。


原文标题:《A tweet on rollup time-to-finality (TTF)》

撰文:@larry0x

编译:Frank,Foresight News


首先,什么是 TTF,为什么它很重要?


最终性是交易永远不能被取消、恢复或修改的状态,也即被视为已解决对应的交易问题。


TTF(time to finality)是一个交易信号从开始广播到到达最终状态所花费的时间,以下是几个选定链的 TTF:



TTF 是一个具有多种用途的重要参数:


  • 如果我是一个接受加密货币支付的商家,我想在交付商品或服务之前等待 TTF,以便我知道付款不会被取消。
  • 如果我是跨链桥接协议,并且发送方链上提交了一个数据包,我想在将其中继到接收方链之前等待 TTF。
  • ……


其次,Rollups


Rollup 区块的生命周期有 2 个阶段:


(1)其数据被发布到数据可用性(DA)层;

(2)在结算层证明有效;


值得注意的是,TTF 对于 Rollup 链的全节点和轻节点是不同的:


  • 对于前者,他们不需要等待 (2) 结算,因为只要 (1) 中发布区块数据,他们就可以立即自己验证有效性;
  • 对于后者,他们确实需要等待结算过程;


在结算层证明阶段,有两种类型的 Rollups,具体取决于他们使用的机制:


  • Validity Rollups(又名 zero-knowledge rollups,zkRUs)。在排序器生成一个区块之后,证明者(通常是与排序器相同的人)提交一个有效性证明,通过一些加密魔法证明该区块是有效的。
  • Optimistic Rollups(opRUs)。排序器生成了区块,但并不证明它是有效的。如果它实际上无效,任何人(证明者)都可以提交欺诈证明来挑战它,这会导致区块被拒绝。如果没有人证明某个区块在一段时间内(称为争议期)无效,则该区块被视为有效。


注:我不喜欢 zkRU 这个词,因为很多这样的证明系统实际上不是零知识技术,所以「Validity Rollup」是更准确的术语。然而,「zkRU」的使用是如此普遍,所以我就用它。


还有一些重要的事情需要了解:


  • 实际上,区块数据通常不会在区块生成后立即发布到 DA 层。排序器通常会稍等一下,然后批量发布几个区块(可能是为了节省 Gas 费);
  • 有效性证明也经常被延迟,通常是因为生成这些证明的计算量很大并且需要时间;
  • 有效性和欺诈证明不仅在链上传播。例如,如果有人向我发送链下有效性证明,我可以确定该区块是有效的,而无需等待(2)链上结算过程。


最后,我们准备讨论 Rollup 交易需要多长时间才能达到最终结果。


对于全节点而言,过程很简单:只要区块 (1) 被发布并在 DA 层上完成,那么它就被最终确定。


如果我们表示:


  • T1:区块发布在 DA 层上的频率(例如,如果排序器每 10 分钟在 DA 层上发布一批,则 T1 = 10 分钟 )
  • T2:DA 层的 TTF


那么 Rollup 的 TTF = T1 + T2。


对于轻节点,他们必须等待 (1) 和 (2) 完成。对于 opRU,(2)的时间为挑战期;对于 zkRU 来说,时间是证明者生成并发布有效性证明后。


如果我们表示:


  • T3:对于 opRU,挑战期;
  • T4:对于 zkRU,有效性证明发布在结算层的时间;
  • T5:结算层的 TTF;


然后是 Rollup 的 TTF:


  • 对于 opRU:max (T1+T2, T3);
  • 对于 zkRU:max(T1+T2,T4+T5);


这些方程中的「最大值」意味着我们需要等待 DA 和结算过程完成,以时间较长者为准(几乎总是结算)。


现在,问题来了!请记住,我们说过证明也可以在链下传播。对于 zkRU,如果我们在链下收到有效性证明,那么我们可以立即说交易已完成,而无需等待链上结算过程。


对于 opRU 来说,这很难说。挑战期(T3)往往较长的原因是担心结算层可能审查欺诈证据。所以这实际上取决于你的风险承受能力。如果您非常有信心结算层不会审查交易,您可以选择等待更短的时间。否则你会等待更长的时间,但你不必等待比 T3 更长的时间。


让我们总结一下:



这里有两个实际案例,Arbitrum 和 zkSync。他们使用以太坊进行 DA 和结算,所以 T2 = T5 = 13 分钟。


  • Arbitrum 的排序器大约每 T1= 6 分钟发布一次数据,Arbitrum 的挑战期 T3= 1 周;
  • zkSync 的排序器大约每 T1= 3 分钟发布一次数据,证明不定期发布,但平均一次 T4 = 1 小时;


我们还可以考虑一个假设的 zkRU,它使用 Celestia 进行 DA,我认为这更接近最终结果:


  • T1 = 0(Celestia 很便宜,所以我们假设区块在生成后立即发布);
  • T2 = 12 秒;
  • T4 = 证明生成时间,取决于证明系统;



最后,简要讨论下这一切的含义


如您所知,我是 Cosmos 的粉丝,IBC 使用轻节点客户端来验证数据包,因此需要等待 TTF,如上图「For light nodes」一栏所示。


对于 opRU,这可能长达 1 周(如果您对以太坊的审查阻力不太有信心),这对于实际目的来说太长了。这就是为什么对于 opRU,我们必须使用全节点桥,例如 Axelar 和 Wormhole,它们由一堆运行全节点的运营商组成。


缺点是我们需要信任这个运营商集合,它在经济上可能不如发送者链安全,这就是我看空 opRU 的原因。


对于普通的 zkRU,我们只需要等待 DA 最终确定(在以太坊上为 16 分钟)+ 证明生成时间,我们不需要等待证明在以太坊上发布——这是相对 opRU 的主要优势!


这也是我认为 Celestia 可以改善 Rollup 跨链体验的一种方式。在以太坊上,我们只等待 12 秒 + 证明生成时间,而不是等待 16 分钟。轻节点客户端可以使用 QGB 检查来自 Celestia 验证器的证明(我猜测它现在已重命名为 Blobstream),或者也可能进行 DA 采样。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

ForesightNews 独家
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开