本文對以太坊的 TPS 進行了分析,由淺入深,從交易成本組成(gas 的機制)、合併進程、分片鏈等方面梳理。本文源自 Xiang / W3Hitchhiker《ETH 交易成本組成》,由專欄作者 BlockBeats 編整。
(前情提要:精華整理 | V神EthCC最新演講:以太坊合併只是開始,下一步是分片)
(背景補充:V神:Merge, Surge, Verge, Purge 和 Splurge 不是以太坊五個階段,將會全部同時發生)
眾所周知,以太坊有自己的虛擬機。什麼意思呢?就是比特幣中的交易長這樣:「如果小明的簽名驗證通過,小明轉 10 元錢給小紅的地址。」而以太坊中的交易可能長這樣:「當小明的簽名驗證通過並且滿足 blablablabla 條件時,將小明帳戶中的 10元 錢轉到小紅的帳戶上。」
這其中的 blablablabla 條件,實際上可以是任何邏輯或者任何程式,其中可以有條件判斷,可以有迴圈,這些以太坊都支持。 但問題就來了——要是有個不善良的礦工打包了個死迴圈放在區塊裏,豈不是能讓所有的以太坊節點都死機?
為了防止這種事情發生,以太坊中設定了每個區塊的 Gas 上限以及每個計算步驟所需要消耗的 Gas 量。
我們可以簡單粗暴地把 Gas 理解成汽油。 比如,一個條件判斷需要 10 gas,一個簽名驗證需要 100 gas,一個狀態讀寫需要 10 gas 等等……然後,每筆交易都需要注明這筆交易需要使用的 Gas(當然,還需要付錢)。 比如說,在某筆交易之後,你注明「跑 1000 個 gas 的」,於是,以太坊的節點會執行這筆交易,但是當計算需要消耗的 gas 超過 1000 了,不管交易的步驟執行沒執行完都會停下來。
於是,死迴圈不會出現,比如你寫了個死迴圈,但是每次迴圈會燒 10 gas,而區塊的 gas 上限是 10000,你於是最多給這個程式買 10000 的 gas,那麼所有節點會執行 1000 次迴圈,直到把你給的 gas 燒完就停下來,而不會無限迴圈下去。
而這個時候就引出了另一個以太坊和比特幣不同的區別:
在比特幣中,鏈上最寶貴的資源是空間——因為一個區塊大小是 1 M,而平均 10 分鐘才能出一個區塊。
而在以太坊中,鏈上最寶貴的資源是 gas,因為每個區塊的 gas 是有上限的,而平均出塊時間也是固定的,每組織時間能够做的計算步驟其實也是有限的,所以 ETH 的 TPS 也是有限的。
於是,當大量的人需要做交易,尤其是很多操作複雜的交易的時候,以太坊就會擁堵。
以太坊的 TPS
對 ETH 的 TPS 造成影響的問題大概分以下幾個方面:
- ETH 的 gas 機制
- ETH 的交易成本
- ETH 的網路
- 合併行程
- 分片鏈
1、ETH 的 gas 機制
我們知道比特幣區塊鏈中消耗的礦工費用是 BTC,為了激勵以太坊網路中的計算,於是在以太坊中產生了 gas 的概念,在以太坊區塊鏈上執行寫入操作都需要支付 gas 費用,以太坊定義了貨幣是 1 ETH,且 1 ETH = 1e18 Wei。 Wei 是其中的最小額,在整個工作中,發送 Token、調用合約都要支付 gas,且以 Wei 作為組織來計算。
Wei 的由來
大衛(Wei Dai)是一華裔電腦工程師,對密碼學和加密貨幣的貢獻而聞名,他開發了 Crypto++ 密碼庫,創建了 B-Money 加密貨幣系統,並共同提出了 VMAC 消息認證碼算法。 2013 年,Vitalik Buterin 的以太坊(Ethereum)最小組織 Wei,便以他的名字命名。
比特幣白皮書的排名第一的參考資源也是大衛的 B-money,中本聰在建立比特幣初期也多次想與大衛聯系。
現時 ETH 消耗 gas 的組織是 Gwei,對應 1 Gwei = 1e9 Wei
簡單說,gas price 就是汽油單價,gas limit 相當於發動一次汽車需要的最大汽油量。
再具體點的表達是:
Gas Price 是以太坊內計算消耗 1 個 gas 對應多少 Gwei 的標準量,組織是 Gwei。
Gas Limit 是消耗 gas 的上限組織。 在完成每筆交易中最多使用多少個 gas(交易的 gas limit)。
區塊的 Gas Limit 是能够將一定量的交易「裝在」該區塊中的交易平臺用總 Gas 數的上限。 當節點在選擇要打包的交易時,節點必須確保加入這筆交易後,區塊裡的交易平臺用總 Gas 數不會超過區塊 Gas 上限。 對於要被打包的交易來說,其 Gas Limi t加上其他交易的 Gas Limit 總和,必須小於等於區塊 Gas Limit。
當然,如果有一筆交易不能被打包進入當前區塊,它還是有機會被後面的區塊打包的。 區塊的 Gas Limit 大小是動態調整的,倫敦升級為以太坊引入了可變大小的區塊 Gas limit。 每個區塊的目標大小為 15,000,000 gas,但區塊大小會根據網路 需求新增或减少,直至區塊限制為 30,000,000 個 gas(目標區塊大小的 2 倍)。
區塊 gas limit 為什麼要改變?
- 讓區塊大小可以根據網路交易多寡,自由調整區塊大小。 在網路交易量大時,可自動實現擴容。
- 防止惡意用戶的惡意 for 迴圈攻擊使網路癱瘓。
因惡意用戶不斷的轉移額度非常小的帳目,使得整個網絡癱瘓,當交易的費用非常低時,可以忽略不計,因此以太坊引入了 gas 的概念,任何轉帳以及智慧合約的執行,都要消耗一定的費用即 gas,如果 gas 消耗完畢,則程式碼不再繼續執行,這樣防止惡意程式碼的 for 迴圈不停的執行, 以至於整個網路無法繼續向下一個狀態遷移。 因此我們知道,任何計算、存儲都是需要付出成本的,這樣才能杜絕惡意攻擊程式碼。
交易成本對 TPS 的影響
當交易大時,區塊 gas limit 將實現自動擴容,提高以太坊本身的 tps,區塊的 gas limit 最高為 30,000,000(節點默認配置)。
2、ETH 的交易成本
以太坊的底層科技與 gas 的設計都是由 Gavin Wood 完成的,具體可參考 Gavin Wood 寫的黃皮書。
以下是 ETH 黃皮書設計的 gas 成本。
使用 ETH 需要付費,以及 gas 的概念。 總的來說,每一筆交易都有與之關聯的 gas——發送一筆交易的成本包含兩部分:固有成本和執行成本。
執行成本根據該交易需要使用多少 ETH 虛擬機(EVM)的資源來運算而定,執行一筆交易平臺需的操作越多,則它的執行成本就越高。
固有成本由交易的負載(payload)决定,交易負載分為以下三種負載:
- 如果該交易是為了創建智能合約,則負載就是創建智能合約的 EVM 程式碼
- 如果該交易是為了調用智能合約的函數,則負載就是執行消息的輸入數據
- 如果該交易只是單純在兩個帳戶間轉帳,則負載為空
固有成本 gas
假設 Nzeros 代表交易負載中,位元組為 0 的位元組總數; Nnonzeros 代表交易負載中,位元組不為 0 的位元組總數。 可以通過下列公式計算出該交易的固有成本,參攷黃皮書 6.2 章節:
固有成本 = Gtxdatazero Nzeros + Gtxdatanonzero Nnonzeros + Gtxcreate + Gtransaction + Gasscesslist 成本
在黃皮書的附錄 G 中,可以看到一份創建和執行交易的相關成本的費用表。 其中與固有成本相關的內容如下:
- Gtransaction = 21000 Wei
- Gtxcreate = 32000 Wei
- Gtxdatazero = 4 Wei
- Gtxdatanonzero = 16 Wei(在伊斯坦堡陞升前為 68 wei)
- Gasscesslistaddress = 2400 Wei
- Gasscessliststorage = 1900 Wei
因為 ETH 是原生的 Token,沒有智能合約,不需要與合約互動,所以 ETH 的轉帳是最便宜的,只需要 21000 gasl imit 的配置。 當 ETH 轉帳需要附加一些數據時,就可以參考上述公式。
如下圖,操作了 tp 錢包,在轉帳時加入了兩個 0 位元組,兩個非 0 位元組。 按上述公式計算:
固有成本= 21000 + 4 2 + 16 2 = 21040,也就是對應上方的 gas limit。
交易的固有成本必須小於該交易設定的 gas 上限
我們知道了固有成本後,就能理解為什麼一旦交易的固有成本高於 Gas 限制,則該交易就會被視為非法。 Gas Limit 規定了一筆交易在執行時,能夠消耗掉的 Gas 上限; 如果在還沒開始執行該交易前,我們就知道它的固有成本是高於 Gas 上限的,那我們就沒有理由執行這筆交易。 (這是因為在交易之前就會報錯)
而其他 Token 的轉帳就會比 ETH 的 21,000 gas limit 高很多,這是因為其他 Token 是通過智能合約執行交易,比普通的轉帳需要更複雜的計算和寫入。
Gas Limi t範圍雖然可以調整,但是如果填寫太少,可能會導致交易失敗,就好比油價很高,但是你拿一個可樂瓶來做油箱,並且要跑 100 公里的路,但事實是還沒有上高速車就沒有油了,所以 gas limit 不夠礦工消耗的話會就會導致程式碼執行中斷。 儘管如此,礦工還是會把勞務費 gas 收走的。
那 ETH 現時的 TPS 大約在什麼範圍?
2022 年 2 月 28 日下午的區塊 gas limi t為 30,000,000 左右,以太坊的出塊時間在 13 秒左右,交易的最低成本為 21,000,對應 ETH 的 tps 上限為 110 左右,由於還存在大量不是普通轉帳的交易,而是與合約互動的交易,所以實際 ETH 的 tps 只有 10 多筆。
執行成本 gas
在以太坊中,執行交易會改變狀態——好幾筆交易被打包進一個區塊,每個區塊就相當一個交易清單; 當交易被按照順序執行後,會輸出新的合法狀態。
交易按照以下步驟執行:
- 將發送者帳戶 nonce 值加 1
每當發送一筆交易,發送者帳戶 nonce 就會新增。 這個操作在交易執行之初就會完成,如果交易執行失敗,則帳戶 nonce 值回滾。 - 從發送者帳戶扣除交易預付額(gas limit X gas price)
我們會從發送者帳戶餘額裏扣除交易預付額,這個機制很簡單——由發送者為自願付出的執行交易成本(gasLimit x gasPrice)付費。 - 確定該交易能夠用於執行的 gas 值(gas limit – intrinsic cost)
交易的 gas 總額(gas limit)扣掉固有成本後,剩下的就是可用於執行交易的 gas。 - 執行該交易包含的操作(轉帳、調用或創建智能合約)
執行交易還涉及 EVM 的操作清單,其中唯一完全不需要 EVM 操作的交易——就是普通轉帳。每一項 EVM 操作都有對應的 gas 成本; 在交易執行過程中,每做了一項 EVM 操作,就會從可用 gas 中扣掉對應的 gas 成本。 直到下列兩種情况中的一種出現才停止:可用 gas 被耗盡,執行失敗;執行結束後可用 gas 還有剩,或是剛好為零。 - 通過 SELFDESTRUCT 和 SSTORE 函數對發送者退款
在以太坊中,SELFDESTRUCT 操作碼用於銷毀不再需要的智能合約。 每銷毀一個合約,執行者能夠收取24,000 Wei。同樣的,當使用 SSTORE 操作碼寫入 0(有效刪除值)的時候,操作者每寫入一個 0,就能收取 1,500 Wei。關於退款,有件有趣的事情是,退款也有上限。 該上限確保礦工可以算出執行交易平臺需的計算時間的上界。 (更多關於 gas 費用和退款的詳細說明,可以在以太坊的設計合理性一文中找到)。還有一個重點是,必須在交易平臺包含的操作都執行結束後,才會進行退款。 囙此任何應該返還的 gas 都不會被交易執行過程所消耗,從而避免了可能出現的_ 永遠不會耗盡 gas 的交易_。 - 退還交易發送者任何未使用的 gas
如果用於交易的預付款超過交易平臺使用的 gas,則發送方有權在執行交易後收回剩餘的 gas。 - 向受益人帳戶(通常屬於挖出包含該交易的區塊的礦工)轉入挖礦收益
執行交易平臺使用的所有 Gas 被視為交易手續費,由礦工獲得。 這種機制激勵礦工持續出塊,並在網路安全層面永續合作。
執行交易包含的操作成本參考下圖黃皮書的對應內容,例如 MUL、DIV、ADD、SUB 等等。
與 gas、tps 相關的 EIP 方案:
- EIP-5:調整RETURN和CALL的Gas用量
- EIP-150:大量IO操作的Gas成本變化
- EIP-158:狀態清除
- EIP-1108:降低alt_ bn128預編譯Gas成本
- EIP-1283:SSTORE操作碼的Gas調整
- EIP-2028:减少交易數據使用成本
- EIP-2200:淨Gas計量的結構化定義
- EIP-2565:指定ModExpGas成本
- EIP-1559:ETH 1.0鏈的收費市場變化
- EIP-2929:狀態訪問操作碼的Gas成本新增
- EIP-1077:合約調用的Gas中繼
- EIP-1087:用於SSTORE操作的Gas計量
- EIP-1285:在CALL操作碼中新增GcallstipendGas
- EIP-1380:降低了內部調用的Gas成本
- EIP-1613: Gas站網絡
- EIP-1930:具有嚴格Gas語義的CALL
- EIP-2045:EVM操作碼的顆粒Gas成本
- EIP-2046:降低了對預編譯進行靜態調用的Gas成本
- EIP-2542:新的操作碼TXGASLIMIT和CALLGASLIMIT
- EIP-3322:帳戶Gas存儲操作碼
- EIP-2780:减少內部交易Gas
- EIP-4488:减少交易calldata gas與總calldata限制
- EIP-4844:分片Blob交易
EIP-1559:
2019年 由 V 神提出,2021 年 8 月5日上線。一種交易定價機制,包括固定的每個區塊的交易費用,該費用將被銷毀並動態擴展 / 收縮區塊大小以應對瞬時的堵塞。交易發送者通過提供兩個值來指定其費用:
- “gas premium”(瓦斯溢價)加到 “base fee”(基本費)中,以計算 gas price。
- ” gas premium” 可以設定為較低的值(例如 1 gwei)以補償礦工的叔塊率風險,也可以設定為較高的值以在突如其來的高交易量中競爭。 “gas premium” 將給予礦工。
- “fee cap” 表示交易發送者願意支付的最高總額(base fee + gas premium)。
動機
「當前以太坊的『最高價拍賣』費用模式效率低下,對用戶來說成本高昂。 此 EIP-1559 提出了一個取代這種機制的方法,即根據網路需求來對一個基本網路費用進行調整,從而創建更好的費用價格效率,並降低用於避免支付不必要的高額費用所需的用戶端軟體的複雜性。」
在當前的以太坊系統中,新提交的交易必須等待被某個礦工打包進入下一個區塊,但這些交易可以通過新增 Gas Price 參數使其高於網路平均水準,以此來激勵礦工打包自己的交易。 礦工是總是會希望將那些包含最大交易費的交易打包進入新區塊中,囙此預計被打包進入下一個區塊中的交易總是那些有著最高 Gas 價格的交易。
這種最高價拍賣模式的問題在於,在交易需求旺盛的時期,情況可能會很快失控。 當區塊接近達到滿塊時,使交易被打包進入下個區塊的成本(交易費)可能會急劇上升,因為用戶會試圖以比其他人更高的價格來讓自己的交易被打包。
儘管當前礦工們有一定的能力(備註:比如新增區塊 gas 上限)來新增在單個區塊中打包的交易筆數,但這一上限無法很快得到改變,且實際上礦工們更樂於使用較小的滿塊,而不是將區塊 gas 上限越推越高(對於礦工來說,由於存在叔塊率,更大的區塊帶來更高的風險)。 尤其是如果你的錢包使用了 gas 定價算法,從而使你的交易在一個特定的時間框架內被打包,那麼你可能最終會支付一筆相當高昂的交易費來讓你的交易被打包進入下一個(幾乎)滿了的區塊。
EIP-1559 引入了 gas 費用的 “base fee”(基本費)概念,這筆費用被設定為會動態地調整,當網路超出目標每區塊 gas 使用量時,base fee會略有新增,而當數量低於目標時,base fee 用會略有下降。 這筆 “base fee” 不會流向礦工的口袋,而是會被銷毀。
為了激勵礦工打包交易,用戶還將設定一個「Tip」(小費)參數,並設定一個他們為了讓自己的交易被打包進入區塊而願意支付的最大金額,礦工將獲得這筆「Tip」(小費)。
由於「基本費」不會根據網路需求的瞬息變化而劇烈波動,囙此用戶在一定程度上遠離了「最高價拍賣」模式帶來的低效率問題(Tip 費用仍然是最高價模式),因為「基本費」會被銷毀,而不是給礦工,這樣礦工就不會有動機去嘗試操控交易費了。 重要的是,此機制也試圖解決錢包開發者在自動預估網路交易費方面遇到的一個重大問題,使交易費預估變得更加可預測。
提高用戶體驗,避免 gas 費用增長過快,更好的預估市場,利於 L2 的運行成本的評估,縮減了礦工的利潤,銷毀更多 ETH,利好 ETH 與 layer2,但對 tps 影響不大。
EIP-4488
2021 年 11 月份 由 V 神提出,現時還處於草案階段(待討論確定)
降低交易調用 calldata gas 成本,並新增一個區塊中調用 calldata(Gtxdatazero)的總交易的限制。
延伸閱讀:以太坊 | V神提案 EIP-4488 ,若通過將使 Layer2 Gas 費用短期內降 5 倍
動機
Rollups 在短期和中期,也可能是長期的,以太坊唯一的去信任擴展解決方案。 長時間來,L1 的交易費用一直非常高,並且迫切需要採取任何必要的措施來幫助促進整個生態系統向 rollup 的遷移。 Rollups 顯著降低了許多以太坊用戶的費用:Optimism 和 Arbitrum 經常提供比以太坊 L1 層本身低約 3-8 倍的費用,而具有更好的資料壓縮並且可以避免包含簽名的 ZK rollups 的費用約低 40-100 倍的費用。
然而,即使是這樣,費用對許多用戶來說也太貴了。 對 rollups 本身長期不足的長期解決方案一直是數據分片,這將為鏈中的 rollups 添加約 1-2 MB/秒的專用數據空間。 然而,數據分片仍然需要相當長的時間來完成實施和部署。 因此,需要一種短期解決方案來進一步降低 rollup 成本,並激勵整個生態系統向以 rollup 為中心的以太坊過渡。
該 EIP 提供了一種快速實施的短期解決方案,同時也降低了安全風險。
當前區塊的 gas limit 為 30,000,000 左右,那區塊最大塊大小為 30,000,000 / 16 = 1,875,000 位元組。 如果只是簡單把 calldata 從 16 减少至 3,會將區塊最大大小新增到 10,000,000 位元組,這會讓以太坊的 P2P 網路面臨前所未有的壓力,所以該項提案限制了 calldata 總量的大小。 公式如下:
簡單總結
短期的解決方案,也可能是長期的,利好 layer2 的 rollup,可以大大降低 rollup 的交易成本,非 0 位元組的數據可以降低為當前的 1/5 的成本不到,0 位元組的也可以微微降低(ab,op,zk 等預計都可以下降至目前 1/4-1/5 的手續費),但對 ETH L1 tps 影響不大,甚至會降低,區塊大小會新增, 所以該提議與 EIP-4444 可能同期執行。
交易成本對TPS的影響
ETH 的 gas 的相關處於草案階段的 EIP 主要為 EIP-4488,對 TPS 的影響較大,利好 layer 2 的 rollup,可以大大降低 rollup 的交易成本,非 0 位元組的數據可以降低為當前成本的 1/5 不到,0 位元組的也可以微微降低(ab,op,zk 等預計都可以下降至現時 1/4 – 1/5 的手續費),但對 ETH L1 tps 影響不大,可能微降。
3、ETH 的網路
ETH 節點之間的數據都是通過 P2P 網路進行傳輸,ETH 的 P2P 網路會影響節點間的區塊數據的同步速度,因此也會限制 TPS 的增長。
Devp2p 是一組形成以太坊 P2P 網路的網路通訊協定。 服務於與以太坊相關的任何網路應用程式的需求。
該系統提供對整個 Internet 中其他節點的發現以及與這些節點間的安全通信。
IPFS 的 libp2p 項目,旨在成為一個模塊集合,用於從模組化組件組裝 P2P 網路。
很難比較這兩個項目,因為它們的範圍不同,並且在設計時考慮了不同的目標。 devp2p 是一個集成系統定義,它希望能夠很好地滿足以太坊的需求(儘管它也可能非常適合其他應用程式),而 libp2p 是一組程式設計庫組件的集合,不專門為單個應用程式服務。
也就是說,這兩個項目在精神上非常相似,並且隨著 libp2p 的成熟,devp2p 正在採用部分 libp2p。
與ETH網路相關的EIP:
- EIP-8: devp2p前向相容性要求
- EIP-627:Whisper規範
- EIP-706:DEVp2p快速壓縮
- EIP-778:以太坊節點記錄(ENR)
- EIP-868:v4 ENR擴展
- EIP-2124:减少交易數據使用成本
- EIP-2364:ETH/64:forkid擴展協定握手
- EIP-2464:ETH/65:交易公告和檢索
- EIP-2481:ETH/66:請求識別字
- EIP-2976:基於Gossip的類型化交易
- EIP-4444:對執行層用戶端的歷史資料設限
EIP-4444
2021 年 11 月份由提出 George Kadianakis、lightclient、Alex Stokes 現時還處於草案階段
動機
用戶端停止在 p2p 層上提供超過一年的歷史收據。 客戶可以在本地修剪這些歷史資料。
歷史塊和收據現時佔用超過 400GB 的磁碟空間(並且還在增長!)。 因此,要驗證鏈,用戶通常必須擁有 1 TB 的磁碟。
驗證新塊不需要歷史資料,囙此一旦用戶端同步了鏈的末端,只有在通過 JSON-RPC 明確請求或對等方嘗試同步鏈時才會檢索歷史資料。 通過修剪歷史,該提議减少了節點的硬碟需求。 修剪歷史資料還允許用戶端刪除處理歷史塊的程式碼。 這意味著執行用戶端不需要維護處理每次升級的複合更改的程式碼路徑。
最後,隨著用戶端基於 PoS 採用更羽量級的同步策略,這種變化將導致網路上的頻寬使用减少。
簡單總結
裁剪一年前的歷史資料,减少網路頻寬的使用。
ETH 網路對 TPS 的影響
與 ETH 的網路相關的、處於草案階段的 EIP,對 TPS 的影響不大。
4、合併行程
合併是指以太坊的信標鏈作為共識層,與當前大多 ETH 用戶使用的主網 POW 鏈作為執行層,進行合併,合併後執行層就會放棄現有的 POW 共識機制。
信標鏈
信標鏈將管理或協調擴展的分片和質押網路。 但它不會像今天的以太坊主網。 不能處理帳戶或智能合約。
信標鏈的角色會隨著時間而改變,但它是正在努力實現的安全的、永續和可擴展的以太坊的基礎組成部分。
信標鏈將向以太坊引入 POS。 這是一種幫助您確保以太坊安全的新方法。 把它想像成一種公共物品,它將使以太坊更健康,並在此過程中為你賺取更多的 ETH。
質押和成為驗證者比挖礦(網絡當前的管道)更容易。 從長遠來看,這將有助於使以太坊更加安全。 參與網路的人越多,它就會變得越去中心化和安全。
最初,信標鏈將與我們今天使用的以太坊主網分開存在。 但最終,它們將被連接起來。 該計畫是將主網「合併」到由信標鏈來控制和協調的 POS 系統中。
信標鏈啟動時間 2020 年 12 月份。
棄用 ETH 2
以太坊協定正發生重大變化。 用戶端團隊正在升級協定,對以太坊進行擴容,以滿足全球用戶的需求,同時提升以太坊安全性與去中心化程度。
除了協定開發,以太坊的一個極為重要的轉變在於棄用術語「Eth1」與「Eth2」。 2021 年年底起,核心開發者就停止使用「Eth1」與「Eth2」了,分別以「執行層」與「共識層」取而代之。
今天,正如我們在 Q1 路線圖中強調那般,ethereum.org 也對此做出同樣的改變。
- Eth 1 執行層
- Eth 2 共識層
- 執行層+共識層=以太坊
讓我們一起來探究原因吧!
概覽
- 術語 Eth1 與 Eth2(以太坊2.0)逐步停止使用
- 執行層(Eth1)與共識層(Eth2)作為新術語
- 以去中心化的管道來擴展以太坊的路線圖保持不變
- 用戶不需要有任何操作
以太坊 2.0 從何而來?
作為路線圖的一部分,以太坊一直計畫以去中心化的管道來擴展網路,並過渡到 PoS(權益證明)。 早些時候,研究者們分別對這些計畫進行研究,但在 2018 年左右,上述都被納入進「以太坊 2.0」路線圖中。
作為路線圖的一部分,現有的 PoW 鏈(Eth1)最終會通過難度炸彈被棄用。 用戶與應用將被遷移到新的以太坊PoS鏈(即 Eth2)上。
2019 年初 ConsenSys 發表的《Serenity路線圖》解釋了具體情況。
發生了什麼改變?
隨著信標鏈的工作開始,很明顯,分階段進行的以太坊 2.0 將要花費數年時間才能完全交付。 這導致對 PoW 鏈的研究計畫又重新活躍起來,例如 Stateless Ethereum(無狀態以太坊),這是一個通過刪除網路裏不再被訪問的狀態來限制狀態膨脹率的範式。
對於 PoW 鏈長期可持續發展的日益關注,加上我們也意識到信標鏈將比以太坊 2.0 路線圖的其他部分更早準備好,「早期合併」(「Early Merge」)提案由此產生。 在這個提案裏,現有的 EVM 鏈將作為以太坊 2.0 的「分片0」。 這不僅能加快向 PoS 的轉變,還能令應用的過渡更為順暢,因為不需要應用終端發生任何遷移就能過渡到 PoS。
這個提案發佈不久後,Danny Ryan 在他的文章《Eth1+Eth2客戶端的關系》中探討了我們怎樣通過利用現有的 Eth1 用戶端來完成這一點。 這將能大大减少交付一個合併後系統的開發工作,且充分利用已經在主網身經百戰的用戶端。 大約在同一時間,把 rollups 作為一種可行且安全的管道來為以太坊擴容的研究證明是有前景的。
與其花上幾年等待一個複雜、不確定的擴容方案,我們還不如將注意力放到基於 rollups 的擴容方案,而不是分片執行。
為什麼我們不能用 Eth2?
思維模式
Eth2 這個品牌名的主要問題之一是 Eth2 會對新以太坊用戶創造一個不完整的心智模型。 他們會直覺地認為:Eth1 在前,Eth2 在後; 或者 Eth2 一旦創世了,Eth1 就不復存在了。 這兩種觀念都是錯誤的。 通過不再試用 Eth2 這個術語,未來用戶就不會再形成這種容易錯誤理解的思維模式了。
包容性
隨著以太坊路線圖的升級,以太坊 2.0 已經變得不能準確表達以太坊路線圖的意思了。 嚴謹且準確的詞彙選擇,可以讓大眾更好理解以太坊的內容。
防止詐騙
不幸的是,一些惡意行為者試圖利用 Eth2 這一誤稱來騙用戶用 ETH 來兌換 Token「ETH2」,或者要在 Eth2 升級前,必須以某種管道遷移他們的 ETH。
我們希望這次更新的術語能夠清楚地消滅這種詐騙元素,讓生態變得更安全。
對質押的澄清
有些質押運營商還把他們在信標鏈上的 ETH 打上 ETH2的標籤。 這可能會帶來誤解,因為這些服務的用戶並不會實際收到 “ETH2 ” Token。 從來就沒有所謂的 “ETH2 ” Token; 那僅代表用戶在特定運營商的押金中的份額。
合併
最初,信標鏈與主網分開運行。 以太坊主網繼續通過 POW 得到保護,即使信標鏈使用 POS 共識並行運行。 合併是這兩個系統最終融合在一起的時候。
想像一下以太坊主網是一臺載滿遊客並高速運行的火車,信標鏈也同樣如此,他們在高速運行的同時,還需要相互對接,合併成一臺全新效能更强的火車,並且過程中遊客是無感知的,可想而之難度是非常大的。
合併後標誌著以太坊工作量證明的結束,並開啟一個更永續、更環保的以太坊時代。 此時,以太坊將更接近實現其以太坊願景中概述的全面、安全和可持續性,並且用戶全程將會是無感知的。
一旦發生合併,將分配質押者來驗證以太坊主網。 將不再需 要POW 模式挖礦,囙此礦工可能會將他們的收入投入到新的股權證明系統中。
合併預計時間:ETH 官網提供的合併時間在 2022 年的第三季。
延伸閱讀:ETH2.0 | 以太坊合併主導人:The Merge預計在9月19日啟動!
合併對 TPS 的影響
合併後主網作為執行層繼續運行,當前 POW 的出塊平均時間為 13 秒左右,轉 POS 後,大約為 12 秒一個區塊,出塊時間會穩定許多,傳統 POW 礦商可能也轉為 POS 挖礦,將提高 ETH 的需求,利好 ETH,但轉 POS 後,以太鏈的 TPS 只會有微漲幅,不會有大的變化。
5、分片
分片是水准折開資料庫以分散負載的過程,這是計算機科學中的一個常見概念。 在以太坊環境中,分片將通過創建稱為「分片」的新鏈來减少網路擁塞並新增每秒交易量。
以太坊的分片過程會是一個多階段升級的過程,最終分片鏈將網路負載分散到 64 個新鏈上。
將保持較低的硬體要求來規範本地運行節點。 分片將為以太坊提供更多存儲和訪問資料的能力,現時認為不會影響執行程式碼。
分片的特點
保持去中心化,分片是一種很好的擴展管道,使用分片鏈,驗證者只需為他們正在驗證的分片存儲/運行數據,而不是為整個網路存儲/運行數據。 這加快了速度並大大降低了硬體要求。
分片最終會實現在個人筆記型電腦或手機上運行以太坊。 會有更多的人能夠在分片的以太坊中參與或運行用戶端。 這將提高安全性,網路越分散,攻擊範圍就越小。
由於硬體要求較低,分片將使您更輕鬆地自行運行用戶端,而完全不依賴任何仲介服務。
分片鏈的細節討論
分片鏈版本1:數據可用性
當第一個分片鏈運行時,它們只會向網路提供額外的數據。 他們不會處理交易或智能合約。 但是當與 rollup 相結合時,它們會處理大量事務。
Rollup 是當今存在的 layer 2科技。 它們允許 dapp 將交易捆綁或 rollup 到鏈外的單個交易中,生成加密證明,然後將其提交給鏈。 這減少了事務所需的數據。 匯總與分片提供的所有額外數據可用性相結合,每秒可以獲得 100,000 個事務。
分片鏈版本2:程式碼執行
考慮到版本 1 分片提供的處理能力,是否還需要將分片應用到處理執行過程。 在社群中存在爭論。 Vitalik Buterin 提出了 3 個值得討論的潜在選項。
- 不需要狀態執行:這意味著我們不會讓分片能够處理智能合約只將它們作為資料倉庫。
- 有一部分執行分片:也許有一個妥協,我們不需要所有的分片(現在計畫 64 個)變得更聰明。 我們可以只將這個功能添加到少數幾個,而剩下的不添加。 這可以加快交付速度。
- 等待(ZK)snarks:當ZK snarks技術成熟穩固後重新審視這個問題。 可能ZK snarks科技需要更多分片。
分片預計時間
ETH 官網提供的分片時間在 2023 年某個時間,取決於合併後工作進展的速度。
分片對TPS的影響
儘管分片管道並未確定,但可以肯定的是分片將極大的提高 TPS。
📍相關報導📍
乾貨 | V 神的以太坊最新路線介紹:5 大階段後將達 10 萬 TPS
以太坊合併後的「4.8% 收益率」將成Web3.0未來世界的「基準利率」
研究員 : 以太坊合併後不會出現通縮;Andrew Kang : 從基本面看「ETH 很貴」