Vitalik新文:如何縮短以太坊的交易確認時間?
BlockBeats 律動財經 2024-07-01 16:30
區塊鏈良好用戶體驗的一個必不可少的特性是快速的交易確認時間。如今的以太坊與五年前相比已經有了很大的進步,這得益於 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 的驗證者離線時繼續運行並恢復。
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 開發人員的工作。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 從零開始學合約系列講座熱烈報名中
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇