跳至內容

Vitalik 支持路線 Epoch and slot:爲以太坊提供更快交易確認時間

更新時間
连续6年不跑路的安全速度最适合国人VPN
连续6年不跑路的安全速度最适合国人VPN

作者 : vitalik編譯 :南枳,odaily星球日報一個好的區塊鏈用戶體驗的重要屬性之一是快速的交易確認時間。如今,以太坊相比五年前已經有了很大的改進。得益於eip-1559和轉pos(the merge)後穩定的區塊時間,用戶在l1上發送的交易通常可以在5-20秒內確認,大體與使用信用卡支付的體驗相當。然而,進一步改善用戶體驗是有價值的,某些應用甚至要求數百毫秒甚至更短的延遲。本文將探討以太坊(改進交易確認時間)的一些實用選項。現有想法和技術的概述單槽最終性目前,以太坊的gasper共識使用單個槽(slot)和epoch的架構。每12秒一個槽,一部分驗證者會對鏈的頭部進行投票,並在32個槽(6.4分鐘)內,所有驗證者都有機會投票一次。這些投票然後被重新解釋爲一種類似於pbft的共識算法中的消息,在兩個epoch(12.8分鐘)之後,給予一種稱爲最終性的非常強的經濟保證。過去幾年中,我們對當前的方法越來越不滿意。主要原因有兩點,首先這種方法很複雜,槽對槽投票機制和epoch對epoch最終性機制之間存在許多交互錯誤,其次12.8分鐘太長了,沒人願意等那麼久。單槽最終性(single slot finaty,ssf)通過一種類似於tendermint共識的機制取代了這種架構,其中塊n在塊n+1生成之前被最終確定。與tendermint的主要區別是我們保留了“非活躍泄漏(inactivity leak)”機制,這允許鏈在超過1/3的驗證者離線時繼續運行並恢復。(注:inactivity leak 是 pos 中的一種機制,旨在懲罰長時間不活躍的驗證者,一旦被標記爲不活躍,將持續罰沒其質押的 eth。tendermint 是一種高效且安全的拜占庭容錯共識算法,允許快速達成交易確認,並確保區塊鏈系統在部分節點惡意或離線的情況下仍能正常運行。)單槽最終性的主要挑戰是,這意味着每個以太坊質押者每12秒需要發佈兩條消息,這對鏈來說是很大的負載。有一些巧妙的想法可以緩解這個問題,包括最近的orbit ssf提案。雖然這顯著加快了“最終性”來提升用戶體驗,但並未改變用戶需要等待5-20秒的事實。(注:最終性與交易被打包進區塊並確認並非同一事件,交易已確認但未實現最終性的情況下,可能出現分叉或回滾。)

Rollup 預確認

過去幾年,以太坊一直遵循以 rollup 爲中心的路線圖,設計以太坊基礎層(L1),以支持數據可用性和其他功能,然後這些功能可供 L2 協議(如 rollups、validiums 和 plasmas)使用,能夠在更大規模上爲用戶提供與以太坊同等水平的安全性。

這在以太坊生態系統內造成了關注點的分離:以太坊 L1 專注於抵審查、可靠、穩定,以及維護和改進某個基礎層核心功能,而 L2專注於通過不同的文化和技術更直接地接觸用戶。但如果沿着這條路徑前進,一個不可避免的問題出現了:L2 希望爲用戶提供比 5-20 秒更快的確認。

到目前爲止,至少在理論上,創建自己的“去中心化排序器”網絡是 L2 的責任。一小羣驗證者可能每幾百毫秒就爲區塊簽名一次,並在這些區塊後面投入他們的質押資產。最終,這些 L2 區塊的頭文件會發布到 L1。

1. L2 驗證者集存在“欺詐”風險:先簽署區塊 B1,再簽署衝突的區塊 B2 並優先提交到鏈上。
  1. Rollup 在實現去中心化排序網絡方面進展緩慢。
  2. 要求所有 L2 去中心化排序是不合理的,等於要求 rollup 做與創建新 L1 相同的工作。
  3. Justin Drake 提出使用基礎預確認機制,允許所有 L2(和 L1)共享以太坊範圍內的預確認。

基礎預確認

基礎預確認假設以太坊提議者是與 MEV 相關的高度複雜的參與者。方法通過激勵提議者接受提供預確認服務的責任來利用這種複雜性。

該方法的基本思想是創建一個標準化協議,用戶可以提供額外費用以確保交易會被包括在下一個區塊中的即時保證,以及對執行該交易結果的聲明。如果提議者違反了對任何用戶做出的任何承諾,他們可以被罰沒。

如所述,基於預確認爲 L1 交易提供保證。如果 rollups 是“基於”的,那麼所有 L2 區塊都是 L1 交易,因此相同的機制可以用於爲任何 L2 提供預確認。

(注:Ethereum proposers 能夠通過費用機制,將一系列交易捆綁爲 bundle 並打包至區塊中,確保了交易執行以及順序。例如衆所周知的夾子,通過其確保了在某筆交易前買入並在之後賣出。Vitalik 此處所提方案概念上一致,通過這一 proposers 提前鎖定交易結果,加快執行。)

我們實際在看什麼?

假設我們實現了單槽最終性。我們使用類似於 Orbit 的技術來減少每個槽簽署的驗證者數量,但不會減少太多,以便我們也可以在減少 32 ETH 質押最低限度的關鍵目標上取得進展。槽時長(slot time)可能會增加到 16 秒,然後我們使用 rollup 預確認或基礎預確認,爲用戶提供更快的確認。最後我們獲得了什麼:一個epoch-slot架構。fenyeepoch-and-slot 架構的哲學原因

epoch-and-slot 架構如此不可避免的原因在於,與達成某事的經濟最終性協議相比,達成大致共識所需的時間更少。

節點數量和時間開銷

節點數量是一個關鍵因素:

  • 近似共識只要求少數節點,而經濟最終性要求大部分節點參與。
  • 節點數量超過一定規模後,收集簽名的耗時會增加。

在以太坊中優化 slot 時間

以太坊中 12 秒的 slot 時間可劃分爲三個子 slot:

  • 區塊發佈和分發
  • 出塊證明
  • 證明聚合

通過減少證明者數量和利用專業化節點子集,slot 時間可降至約 2 秒。

epoch-and-slot 架構的改進

epoch-and-slot 架構是合理的,但值得探索更優化的設計:

  • 關注點分離,減少機制之間的耦合。

L2 的策略

L2 目前有三種合理的策略:

  • 以太坊原生:優化以太坊技術和價值觀。
  • 服務器架構:利用區塊鏈腳手架,在服務器效率和區塊鏈安全性之間取得平衡。
  • 折衷方案:快速鏈,由以太坊提供安全性。

slot 時間和 SSF

某些應用程序對 12 秒的 slot 時間已足夠。對於其他應用程序,epoch-and-slot 架構是必需的。三種 slot 類型:

  • 以太坊原生 epoch-and-slot 架構
  • 服務器預確認
  • 委員會預確認

結論

探索 epoch-and-slot 架構的設計空間非常重要,以優化 L1 和 L2 的用戶體驗,並簡化 L2 開發。

以上就是Vitalik 支持路線 Epoch and slot:爲以太坊提供更快交易確認時間的詳細內容,更多請關注本站其它相關文章!

更新時間