Vitalik新文:如何縮短以太坊的交易確認時間?

24-07-01 16:12
閱讀本文需 15 分鐘
总结 AI 總結
看總結 收起
原文標題:Epochs and slots all the way down: ways to give Ethereum users faster transaction confirmation times
原文作者:Vitalik Buterin
原文編輯:Luffy,Foresight News


區塊鏈良好使用者體驗的一個必不可少的特性是快速的交易確認時間。如今的以太坊與五年前相比已經有了很大的進步,這得益於EIP -1559 和PoS 合併之後穩定的出塊時間,用戶在L1 上發送的交易可以在5-20 秒內得到可靠的確認,已經接近信用卡支付的使用體驗。然而,以太坊的用戶體驗仍需要進一步的改善,因為有些應用程式確實需要數百毫秒甚至更短的交易延遲。這篇文章將介紹一些加快以太坊交易確認時間的實用方案。


現有的想法與技術概述


單slot 最終性


現在以太坊的Gasper 共識採用slot 和epoch 架構。每隔12 秒(單一slot 的長度),驗證者子集會在區塊鏈的最新區塊上發布投票,在32 個slot(6.4 分鐘,一個epoch 包含32 個slot)內,所有驗證者都有機會投票一次。然後,這些投票被重新解釋為類似於 PBFT 的共識演算法中的消息,該演算法在兩個 epoch(12.8 分鐘)後提供非常嚴格的經濟保證,這就是最終性。


過去幾年,我們對這種方法越來越不滿意。主要原因是:(i)它很複雜,逐個 slot 投票機制和逐個 epoch 最終性機制之間存在許多交互錯誤;(ii)12.8 分鐘太長了,沒人願意等那麼久。


單slot 最終性(single slot finality,SSF)以一種與Tendermint 共識相似的機制取代了這種架構,在該機制中,區塊N 在區塊N+1 產生之前已經完成。與 Tendermint 的主要不同之處在於我們保留了「非活躍洩漏(inactivity leak)」機制,這種機制允許區塊鏈在超過 1/3 的驗證者離線時繼續運作並恢復。


單slot 最終性方案設計圖


SSF 的主要挑戰在於,它似乎暗示者每個以太坊質押者都需要每12 秒發布兩條訊息,這對區塊鏈來說是一個很大的負擔。有一些巧妙的想法可以緩解這種情況,包括最近的Orbit SSF 提案(https://ethresear.ch/t/orbit-ssf-solo-staking-friendly-validator-set-management-for-ssf/19928) 。即便如此,這種方案透過加快「最終確定性」能顯著改善用戶體驗,但它並沒有縮短用戶需要等待 5-20 秒的這個時間。


Rollup 預確認


在過去的幾年中,以太坊一直遵循著以Rollup 為中心的路線圖,圍繞著支援資料可用性和其他功能設計以太坊基礎層(L1)。這些功能被 Rollup(還有 Validiums 和 Plasmas)等 L2 協議使用,L2 協議可以為用戶提供與以太坊相同級別的安全性,但它們的交易規模比 L1 要大得多。


這使得以太坊生態系統中產生了一種關注點分離:以太坊L1 可以專注於抗審查、可靠、穩定以及維護和改進某些核心基礎功能,而L2 可以透過不同的文化和技術權衡專注於使用者體驗。但如果你沿著這條路走下去,就會出現一個不可避免的問題:L2 專注於為那些希望在 5-20 秒內獲得更快確認的用戶提供服務。


到目前為止,創建自己的「去中心化排序」網路已經成為 L2 不可推卸的責任。可能每隔幾百毫秒,一小部分驗證者會簽署區塊,他們會將自己的代幣質押在這些區塊中。最終,這些 L2 區塊的區塊頭會發佈到 L1 上。



L2 驗證者集可以作弊:他們可以先簽署區塊B1,然後再簽署與B1 有衝突的區塊B2,並在B1 之前提交到鏈上。但如果他們這樣做,就會面臨懲罰而失去他們的押金。在實踐中,我們已經看到了這種做法的中心化版本,但是 Rollup 在開發去中心化排序網絡方面進展緩慢。你可以說要求 L2 都去中心化排序是一項不公平的交易:這相當於要求 Rollup 做與創造一個全新的 L1 相同的工作。出於一些原因,以太坊基金會研究員 Justin Drake 一直在推廣一種讓所有 L2(以及 L1)存取共享的以太坊預先確認機制的方法:based preconfirmations。


Based preconfirmations(Based 預先確認)


Based preconfirmations 的方法假設以太坊提議者將因MEV 相關原因而成為高度複雜的參與者(請參閱這裡了解我對MEV 的解釋,另請參閱提案)。 Based preconfirmations 的方法利用這種複雜性,激勵這些成熟的提議者提供預先確認服務。



基本想法是創建一個標準化協議,透過該協議,使用者可以提供額外的費用,以換即時取保證自身交易被納入下一個區塊,並獲得有關執行該交易結果的聲明。如果提議者違反了對任何用戶的承諾,他們就會受到懲罰。


如上所述,based preconfirmations 機制為 L1 交易提供了保障。如果Rollup 是「Based Rollup」(註:Based Rollup 由Justin Drake 於2023 年3 月提出,是排序完全由L1 完成的Rollup),那麼所有L2 區塊都是L1 交易,因此可以使用相同的機制為任何L2 提供預先確認。


我們實際上看到的是什麼?


假設我們實現單一 slot 最終性。我們使用類似 Orbit 的技術來減少每個 slot 簽名的驗證者數量,這樣我們也可以在減少 32 ETH 最低質押數量,可謂是一舉兩得。結果,slot 時間可能會逐漸增加到 16 秒。然後我們使用 Rollup 預先確認或 Based preconfirmations 來為使用者提供更快的保證。我們現在得到了什麼?一個 epoch-and-slot 架構。



「它們是同一張圖」這個meme 已經被過度使用了,所以我只會將我幾年前繪製的一張舊圖表與L2 預確認圖表放在一起,以描述Gasper 的slot-and-epoch 架構,我希望我能夠解釋清楚。


有一個深刻的哲學原因可以解釋為什麼人們總是不可避免地使用epoch-and-slot 架構:就某件事達成近似的一致本質上比就某件事達成最大程度的「經濟最終性」一致需要更少的時間。


一個簡單的原因是節點數。雖然由於超優化的BLS 聚合和不久的將來的ZK-STARK,舊的漸進式去中心化/ 最終確定時間/ 開銷權衡現在看起來更加溫和,但從根本上來說,以下觀點仍然是正確的:


· 「近似一致」只需要少量節點,而經濟最終性則需要所有節點中的相當一部分。


· 一旦節點數量超過某個規模,你就需要花更多時間來收集簽名。


在目前的以太坊中,12 秒的slot 被劃分為三個sub-slots,用於(i) 區塊發布和分發、(ii ) 證明(iii) 證明聚合。如果證明者數量少得多,我們可以將其減少到兩個 sub-slots,並擁有 8 秒的 slot 時間。另一個實際上更重要的因素是節點的「品質」。如果我們還可以依靠專業化的節點子集來達成近似協議(並且仍然使用完整的驗證器集來實現最終性),我們可以合理地將其縮短到約 2 秒。


因此,我認為(i) slot-and-epoch 架構顯然是正確的,但(ii) 並非所有slot-and-epoch 架構都是一樣的,我們需要更充分地探索設計空間。特別是,那些不像 Gasper 那樣緊密交織的方案值得探索。


L2 應該做些什麼?


在我看來,目前L2 可以採取三種合理的策略:


·無論是技術層面還是精神層面,都要「based」。也就是說,L2 是以太坊基礎層技術屬性及其價值(高度去中心化、抗審查等)更優秀的傳遞管道。用最簡單的形式來理解,你可以將這些 Rollup 視為“品牌分片”,但它們也可以更加雄心勃勃,並且它們對新的虛擬機設計和其他技術改進進行了大量實驗。


· 成為「具有區塊鏈腳手架的伺服器」,並充分利用它。如果你從伺服器開始,然後添加(i)STARK 有效性證明以確保伺服器遵守規則,(ii)保證用戶退出或強制交易的權利,以及可能的(iii)集體選擇的自由,無論是透過協調的大規模退出還是透過投票更改排序器的能力,那麼你已經獲得了很多鏈上的好處,同時保留了伺服器的大部分效率。


· 折衷方案:一條擁有 100 個節點的快速區塊鏈,依靠以太坊提供額外的互通性和安全性。這是許多 L2 專案事實上的當前路線圖。


對於某些應用程式(例如 ENS、keystores 以及一些支付場景),12 秒的區塊時間就足夠了。對於需要更短確認時間的應用程序,唯一的解決方案是 slot-and-epoch 架構。在這三種情況下,「epoch」都是以太坊的SSF(也許我們可以將該首字母縮寫重新定義為「single slot」以外的其他含義,例如,它可以是「Secure Speedy Finality」) 。但在上述三種情況下,「slot」是不同的:


· 以太坊原生的slot-and-epoch 架構

· 伺服器預先確認

· 委員會預先確認


一個關鍵問題是,我們能把第(1) 類中的某樣東西做得有多好?特別是,如果它變得非常好,那麼第 (3) 類似乎就意義不大了。第 (2) 類將永遠存在,因為任何「based」的東西都不適用於鏈下資料 L2,例如 Plasma 和 Validium。但如果以太坊原生的 slot-and-epoch 架構可以縮短到 1 秒的「slot」(即預先確認)時間,那麼第 (3) 類的空間就會變得小得多。


今天,我們距離得到這些問題的最終答案還很遙遠。區塊提議者將變得多麼複雜?這個關鍵問題的答案仍然存在相當多不確定性。像 Orbit SSF 這樣的設計非常新穎,因此類似 Orbit SSF 的 slot-and-epoch 方案的設計空間還需要更多的探索。我們擁有的選擇越多,我們就能為 L1 和 L2 上的使用者做得更好,我們也能簡化 L2 開發人員的工作。


原文連結


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
請先登錄 Farcaster 後發表評論
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交