漫談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:一筆Rollup 交易多久才能最終確定?插图1

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 更長的時間。

讓我們總結一下:

漫談TTF:一筆Rollup 交易多久才能最終確定?插图3

這裡有兩個實際案例,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 = 證明生成時間,取決於證明係統;

漫談TTF:一筆Rollup 交易多久才能最終確定?插图5

最後,簡要討論下這一切的意義

如您所知,我是Cosmos 的粉絲,IBC 使用輕節點客戶端來驗證資料包,因此需要等待TTF,如上圖「For light nodes」一欄所示。

對於opRU,這可能長達1 週(如果您對以太坊的審查阻力不太有信心),這對於實際目的來說太長了。這就是為什麼對於opRU,我們必須使用全節點橋,例如Axelar 和Wormhole,它們由一堆運行全節點的運營商組成。

缺點是我們需要信任這個運營商集合,它在經濟上可能不如發送者鏈安全,這就是我看空opRU 的原因。

對於普通的zkRU,我們隻需要等待DA 最終確定(在以太坊上為16 分鐘)+ 證明生成時間,我們不需要等待證明在以太坊上發布——這是相對opRU 的主要優勢!

這也是我認為Celestia 可以改善Rollup 跨鏈體驗的一種方式。在以太坊上,我們隻等待12 秒+ 證明產生時間,而不是等待16 分鐘。輕節點客戶端可以使用QGB 檢查來自Celestia 驗證器的證明(我猜測它現在已重命名為Blobstream),或者也可能進行DA 取樣。

聯系郵箱:0xniumao@gmail.com