時隙和紀元架構縮短以太坊的交易確認時間

進階7/23/2024, 6:43:24 AM
以太坊交易確認時間已有顯著改善,但仍需進一步優化。文章介紹了幾種加快確認的方案:單時隙最終性通過改進共識機制縮短最終確認時間;匯總預確認利用L2網路提供快速確認;基於預確認則激勵區塊提議者提供即時保證。這些方案都遵循時隙和紀元架構,反映了在去中心化、安全性和效率間尋求平衡的趨勢。未來 L2 可能採取不同策略,而關鍵是探索更多設計方案,爲用戶和開發者創造更好的體驗。

轉發原文標題《Epochs and slots all the way down: ways to give Ethereum users faster transaction confirmation times》

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

現有想法和技術概述

單時隙最終性(Single Slot Finality,SSF)

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

在過去的幾年裏,我們對當前的方法越來越不滿意。主要原因是(i)它很復雜,並且逐個時隙投票機制和逐個紀元最終確定機制之間存在很多交互錯誤,以及(ii)12.8分鍾太長,沒有人願意等那麼久。

單時隙最終性(SSF)用一種與Tendermint 共識類似的機制取代了這種架構 ,其中塊 N 在塊 N+1 之前完成。與 Tendermint 的主要區別是我們保留了“不活躍泄漏(inactive leak)”機制,這種機制允許區塊鏈在超過 1/3 的驗證者離線時繼續運行並恢復。


主要提議 single-slot finality design

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

匯總預確認(Rollup preconfirmations)

在過去的幾年中,以太坊一直遵循着以 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)

基於預確認的方法,假設以太坊提議者將因 MEV 相關原因而成爲高度復雜的參與者(請參閱此處了解我對 MEV 的解釋,另請參閱執行系列提議)。基於預確認的方法利用這種復雜性,激勵這些成熟的提議者提供預確認服務。

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

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

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

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

“它們是同一張圖”的模因已經被過度使用了,所以我將把我幾年前畫的一個舊圖表來描述 Gasper 的時隙和紀元架構和 L2 預確認的圖表放在一起,希望這能讓大家明白這一點。

爲什麼紀元和時隙架構似乎如此難以避免,有一個深刻的哲學原因:它本質上比達成最嚴格的“經濟最終性”協議所需的時間更少。

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

  1. “近似協議”只需要少數節點,而經濟最終性則需要所有節點的很大一部分。
  2. 一旦節點數量超過一定規模,您就需要花費更多時間來收集籤名。

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

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

L2 應該做什麼?

我認爲,目前 L2 可以採取三種合理的策略:

  1. 在技術上和精神上都要“Based”。也就是說,它們優化爲以太坊基礎層的技術屬性及其價值(高度去中心化、審查制度阻力等)的傳遞渠道。在最簡單的形式中,您可以將這些匯總視爲“品牌分片”,但它們也可以比這更加雄心勃勃,並大量嘗試新的虛擬機設計和其他技術改進。
  2. 自豪地成爲“區塊鏈腳手架服務器”,並充分利用它。如果從服務器開始,然後添加(i)STARK有效性證明以確保服務器遵循規則,(ii)保證用戶退出或強制交易的權利,以及可能的(iii)集體選擇的自由,要麼通過協調大規模退出,要麼通過投票改變排序器的能力,那麼你就已經獲得了 很多 鏈上的好處,同時保持服務器的大部分效率。
  3. 折衷方法:一百個節點的快速鏈,以太坊提供額外的互操作性和安全性。這是許多 L2 項目事實上的當前路線圖。

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

  1. 以太坊原生的時隙和紀元架構
  2. 服務器預確認
  3. 委員會預確認

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

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

聲明:

  1. 本文轉載自[Vitalik],原文標題《Epochs and slots all the way down: ways to give Ethereum users faster transaction confirmation times》,著作權歸屬原作者[ Vitalik ],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。

時隙和紀元架構縮短以太坊的交易確認時間

進階7/23/2024, 6:43:24 AM
以太坊交易確認時間已有顯著改善,但仍需進一步優化。文章介紹了幾種加快確認的方案:單時隙最終性通過改進共識機制縮短最終確認時間;匯總預確認利用L2網路提供快速確認;基於預確認則激勵區塊提議者提供即時保證。這些方案都遵循時隙和紀元架構,反映了在去中心化、安全性和效率間尋求平衡的趨勢。未來 L2 可能採取不同策略,而關鍵是探索更多設計方案,爲用戶和開發者創造更好的體驗。

轉發原文標題《Epochs and slots all the way down: ways to give Ethereum users faster transaction confirmation times》

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

現有想法和技術概述

單時隙最終性(Single Slot Finality,SSF)

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

在過去的幾年裏,我們對當前的方法越來越不滿意。主要原因是(i)它很復雜,並且逐個時隙投票機制和逐個紀元最終確定機制之間存在很多交互錯誤,以及(ii)12.8分鍾太長,沒有人願意等那麼久。

單時隙最終性(SSF)用一種與Tendermint 共識類似的機制取代了這種架構 ,其中塊 N 在塊 N+1 之前完成。與 Tendermint 的主要區別是我們保留了“不活躍泄漏(inactive leak)”機制,這種機制允許區塊鏈在超過 1/3 的驗證者離線時繼續運行並恢復。


主要提議 single-slot finality design

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

匯總預確認(Rollup preconfirmations)

在過去的幾年中,以太坊一直遵循着以 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)

基於預確認的方法,假設以太坊提議者將因 MEV 相關原因而成爲高度復雜的參與者(請參閱此處了解我對 MEV 的解釋,另請參閱執行系列提議)。基於預確認的方法利用這種復雜性,激勵這些成熟的提議者提供預確認服務。

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

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

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

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

“它們是同一張圖”的模因已經被過度使用了,所以我將把我幾年前畫的一個舊圖表來描述 Gasper 的時隙和紀元架構和 L2 預確認的圖表放在一起,希望這能讓大家明白這一點。

爲什麼紀元和時隙架構似乎如此難以避免,有一個深刻的哲學原因:它本質上比達成最嚴格的“經濟最終性”協議所需的時間更少。

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

  1. “近似協議”只需要少數節點,而經濟最終性則需要所有節點的很大一部分。
  2. 一旦節點數量超過一定規模,您就需要花費更多時間來收集籤名。

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

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

L2 應該做什麼?

我認爲,目前 L2 可以採取三種合理的策略:

  1. 在技術上和精神上都要“Based”。也就是說,它們優化爲以太坊基礎層的技術屬性及其價值(高度去中心化、審查制度阻力等)的傳遞渠道。在最簡單的形式中,您可以將這些匯總視爲“品牌分片”,但它們也可以比這更加雄心勃勃,並大量嘗試新的虛擬機設計和其他技術改進。
  2. 自豪地成爲“區塊鏈腳手架服務器”,並充分利用它。如果從服務器開始,然後添加(i)STARK有效性證明以確保服務器遵循規則,(ii)保證用戶退出或強制交易的權利,以及可能的(iii)集體選擇的自由,要麼通過協調大規模退出,要麼通過投票改變排序器的能力,那麼你就已經獲得了 很多 鏈上的好處,同時保持服務器的大部分效率。
  3. 折衷方法:一百個節點的快速鏈,以太坊提供額外的互操作性和安全性。這是許多 L2 項目事實上的當前路線圖。

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

  1. 以太坊原生的時隙和紀元架構
  2. 服務器預確認
  3. 委員會預確認

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

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

聲明:

  1. 本文轉載自[Vitalik],原文標題《Epochs and slots all the way down: ways to give Ethereum users faster transaction confirmation times》,著作權歸屬原作者[ Vitalik ],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。
Start Now
Sign up and get a
$100
Voucher!
It seems that you are attempting to access our services from a Restricted Location where Gate is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.