Vitalik:以太坊如何更快確認交易

作者:Vitalik,以太坊創辦人;翻譯:0xjs@金色財經

良好的區塊鏈使用者體驗的重要特性是快速的交易確認時間。如今,以太坊與五年前相比已經有了很大的進步。由於EIP -1559和Merge之後穩定的區塊時間,用戶在L1上發送的交易可以在5-20 秒內可靠確認。這與使用信用卡支付的體驗大致相當。然而,進一步改善使用者體驗是有價值的,有些應用程式確實需要數百毫秒甚至更短的延遲。本文將介紹以太坊的一些實用選項。

現有想法和技術概述

單槽最終確定性

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

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

單槽最終確定性用一種與Tendermint 共識更相似的機制取代了這種架構,在該機制中,區塊N 在區塊N+1 生成之前完成。與Tendermint 的主要不同之處在於我們保留了「不活動洩漏(inactivitly leak)」機制,該機制允許鏈繼續運行並在超過1/3 的驗證者離線時恢復。

單槽最終性設計圖

SSF 的主要挑戰在於,它似乎天真地暗示每個以太坊質押者都需要每12 秒發布兩條訊息,這對區塊鏈來說是一個很大的負擔。有一些巧妙的想法可以緩解這種情況,包括最近的Orbit SSF提案。但即便如此,雖然這透過加快「最終確定性」來顯著改善用戶體驗,但它並沒有改變用戶需要等待5-20 秒的事實。

Rollup預確認

在過去的幾年中,以太坊一直在遵循以rollup 為中心的路線圖,圍繞支援資料可用性和其他功能設計以太坊基礎層(「L1」 ),然後這些功能可被rollup(還有validiums和plasmas )等2 層協定使用,這些協定可以為使用者提供與以太坊相同等級的安全性,但規模要大得多。

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

到目前為止,至少在口頭上,L2 有責任創建自己的「去中心化排序」網路。一小部分驗證者會簽署區塊,可能每隔幾百毫秒一次,他們會將自己的「質押」放在這些區塊後面。最終,這些L2 區塊的區塊頭會發佈到L1。

sMjCVTyJWQZYqawUvGuljJRkf53ZCIMmRFhGcfYg.png

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

Based預確認

Based預先確認的方法假設以太坊提議者將因MEV 相關原因而成為高度複雜的參與者。 Based預先確認的方法利用這種複雜性,透過激勵這些成熟的提議者接受提供預先確認即服務的責任。

2KHOPl4jPsACfvSmx0HZHnDsfPjiQFZo7ljSJqzs.png

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

如上所述,Based預先確認的機制為L1 交易提供了保障。如果rollup 是「based」的,那麼所有L2 區塊都是L1 交易,因此可以使用相同的機制為任何L2 提供預先確認。

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

假設我們實現單slot最終性。我們使用類似Orbit的技術來減少每個slot簽名的驗證者數量,但不要太多,這樣我們也可以在減少32 ETH 最低質押量這一關鍵目標上取得進展。結果,slot時間可能會逐漸增加到16 秒。然後我們使用Rollup預確認或Based預先確認來為用戶提供更快的保證。我們現在有什麼?一個epoch-and-slot 架構。

sMjCVTyJWQZYqawUvGuljJRkf53ZCIMmRFhGcfYg.png

此時,「它們是同一張圖」這個迷因已經被過度使用了,所以我只會將我幾年前繪製的一張舊圖表與L2 預確認圖表放在一起,以描述Gasper 的slot和epoch架構,並希望這能夠讓人們明白這一點。

有一個深刻的哲學原因使得人們似乎很難避免使用epoch-and-slot架構:就某件事達成近似一致本質上比就某件事達成最大程度強化的「經濟最終性」一致需要更少的時間。

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

1.「近似一致」只需要少數節點,而經濟最終確定性則需要所有節點的相當一部分。

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

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

因此,我認為(i) slot-and-epoch 架構顯然是正確的,但(ii) 並非所有slot-and-epoch 架構都是平等的,更充分地探索設計空間是有價值的。特別是,值得探索那些不像Gasper 那樣緊密交織的選項,而是在兩種機制之間有更強的關注點分離。

L2該做什麼?

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

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

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

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

對於某些應用程式(例如ENS、keystores、某些付款),12 秒的區塊時間就足夠了。對於那些不夠的應用程序,唯一的解決方案是slot-and-epoch 架構。在這三種情況下,「epoch」都是以太坊的SSF(也許我們可以將該首字母縮略詞重新定義為「單一slot」以外的其他含義,例如,它可以是「Secure Speedy Finality安全快速終結性」)。但在上述三種情況下,「slot」是不同的:

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

2、伺服器預確認

3、委員會預確認

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

今天,我們遠遠未能得到這些問題的最終答案。一個關鍵問題——區塊提議者將變得多麼複雜——仍然是一個存在相當多不確定性的領域。像Orbit SSF這樣的設計非常新,這表明像Orbit SSF 這樣的設計是時代的slot-and-epoch 設計的設計空間仍然未被充分探索。我們擁有的選項越多,我們就能為L1 和L2 上的使用者做得更好,我們也能簡化L2 開發人員的工作。

Total
0
Shares
Related Posts