漫谈 TTF,一笔 Rollup 交易多久才能最终确定?

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 采样。

Subscribe to Foresight News
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.