作者: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。

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

Based預確認

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

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

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

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

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

此時,“它們是同一張圖”這個模因已經被過度使用了,所以我只會將我幾年前繪製的一張舊圖表與 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 開發人員的工作。