原文作者:Paween Pitimanaaree
以太坊一直是用戶和開發人員的首選區塊鏈,在DeFi 和NFT 上的TVL 超過550 億美元。然而,如此高的網絡採用率也給以太坊網絡帶來了重大問題,尤其是在其可擴展性方面,因為目前的網絡在保持理想的去中心化程度的同時,每秒平均只能處理13.5 筆交易。
為了提高以太坊的可擴展性,過去幾年開發了多種方法,目前正在研究更多方法。這些解決方案包括狀態通道、Plasmas、Validiums、Rollups 和側鏈。
雖然它們可能被分類為不同的類別,但實際上它們並不完全不同。一些基本思想本質上是相同的,並且通常建立在以前的思想之上。
因此,本文的其餘部分旨在概述這些以太坊擴展解決方案實際上是如何隨著時間的推移而發展的。
以太坊擴容解決方案
以太坊擴展解決方案的示例。 (* 側鏈可以擴展以太坊,但不能從以太坊的安全性中受益)
狀態通道
狀態通道是以太坊擴容最早也是最簡單的方法。關鍵思想是在鏈下處理交易,只將最終結果發布回主網絡。這將減少到主網的不必要的中間交易,從而減少潛在的網絡擁塞。
狀態通道用戶流。以太坊交易的數量可以減少到2 筆——打開和關閉通道。
以下是鏈下交易在幕後的工作方式。想像一下2 個用戶A 和B 想要在他們之間轉賬。如果A 向B 發送10 美元,B 向A 發送5 美元,最後A 向B 發送20 美元。而不是在鏈上分別發送這3 筆交易,如果他們同意A 應該在單筆交易中向B 發送總共10-5+20= 25 美元。
為了概括這個想法,一組參與者可以打開一個狀態通道並將資金鎖定在主網上通道的多重簽名智能合約中。然後,他們可以在他們之間解決鏈下交易,並且只有在同意解鎖資金並關閉通道後才將最終狀態更新到以太坊。
狀態通道主要用於需要就彼此的行為達成一致的兩方之間的微交易和支付。它們不能很好地擴展以支持智能合約,因為
dApp 通常涉及大量最終用戶,這使得各方之間的協議更加複雜。
智能合約dApp 通常可以由任何人在以太坊或狀態通道上無需許可地進行交互,從而在每個網絡上創建不同的事實。
Plasma
Plasma 定期將Merkle 根狀態哈希發佈到以太坊。在有人提供欺詐證明並質疑其有效性之前,所有狀態更新都被視為有效。
Plasma 鏈只是一個由運營商運行的獨立區塊鏈,它定期將檢查點保存到以太坊網絡。這些檢查點存儲為Merkle 根狀態哈希以提高gas 效率。這意味著任何交易計算都可以卸載到Plasma 鏈以實現可擴展性,同時利用以太坊層來驗證Plasma 鏈的狀態更新正確性。
為了確保狀態轉換正確,Plasma 採用了防欺詐機制。每個過渡都被認為是正確的,直到有人在該時間段內對其提出質疑(通過提供使過渡無效的證據)。任何不正確的狀態轉換都將被簡單地丟棄,而新的轉換將建立在先前正確的轉換之上。
Plasma 在正常情況下可以很好地工作。然而,問題之一是當操作者宕機或惡意時。如果運營商停止提供交易信息,那麼沒有人將能夠生成證明來使狀態轉換無效。因此,運營商的任何惡意行為(例如運營商從另一個賬戶竊取資金)最終都會在主網中被接受。
在這種情況下,為所有用戶實施“大規模退出”方案,以使用最新的有效狀態退出Plasma 生態系統。但是,整個狀態數據將被轉儲到以太坊上,這可能會引發網絡擁塞。
另一個問題是非EVM 兼容性。通用智能合約的狀態沒有明確的類似所有權的結構,這意味著任何人都可能在狀態轉換中取得進展,從而使這些合約無法退出遊戲。
Validium
Validium 在以太坊上發布Merkle 根狀態哈希和ZK 證明作為檢查點。狀態更新的正確性由ZK 證明來驗證。
Validium 還運行自己的區塊鏈並將Merkle 根狀態哈希發佈到以太坊,類似於Plasma。它們的主要區別在於狀態更新驗證機制。 Plasma 依賴於防欺詐機制,而Validium 使用零知識(ZK) 證明,例如ZK-SNARKs 和ZK-STARKs。
ZK 證明是生成的計算連同狀態更新一起提交給以太坊,以確保狀態轉換是有效的。儘管ZK 證明的複雜生成過程可以在鏈下計算,但鏈上驗證相當容易。這使得Validium 可以在以太坊上更新狀態和證明後立即確定。
然而,由於其複雜的密碼計算,ZK 證明與EVM 字節碼存在兼容性限制。因此,當前可用的Validium 應用程序僅限於簡單的用途,例如代幣傳輸,僅涉及簡單的加減運算。
除了EVM 不兼容之外,數據可用性仍然是一個問題。 Validium 仍然依賴於鏈下數據存儲(通過數據可用性委員會或DAC)來確保交易數據始終可以重建為完整的區塊鏈狀態。但是,這為安全模型增加了另一層信任,因為它需要信任另一方始終可用並正常運行,即使該方是去中心化的。
Rollup
Rollup 發布狀態根和壓縮交易信息(加上ZK Rollup 中的ZK 證明)。
Rollup 解決了數據可用性問題。它們可以被認為是下一代Plasma 鍊和Validium。除了狀態更新(在ZK Rollup 的情況下加上ZK 證明)之外,交易信息作為calldata 在以太坊上發布。這意味著給定在以太坊上提交的所有calldata,總是可以從頭開始重建區塊鏈的當前狀態。因此,我們不需要單獨依賴任何第三方,如DAC 來存儲狀態樹。
有兩種主要類型的Rollup:Optimistic Rollup 和ZK Rollup。
Optimistic Rollup
與Plasma 鏈的工作方式類似,Optimistic rollups 認為狀態轉換是有效的,直到有人挑戰。任何人都可以通過在以太坊網絡上的“驗證者合約”上實施的防欺詐機制來質疑並聲稱狀態更新不正確。
防欺詐機制有多種方法:
-
Optimism 使用單輪交互式證明,以太坊必須在鏈上執行整個L2 交易以進行驗證。這種方法可以立即防止欺詐,但會帶來大量的計算gas 成本。
-
Arbitrum 使用多輪防欺詐,執行鏈下二進制搜索來查找無效轉換狀態更新的“操作碼”。只有一個操作碼在鏈上執行,這意味著這裡所需的gas 要低得多。
最終,防欺詐可確保以太坊上發布的狀態有效且完全可重構,而無需信任外部各方。 Optimistic rollups 也與EVM 兼容,這意味著在以太坊上運行的任何dApp 都可以輕鬆移植,而無需更改任何代碼。這使得Optimistic Rollup 作為以太坊擴展解決方案被廣泛採用。
ZK Rollup
ZK rollup 只是Validium 和數據可用性的結合。該鏈定期在以太坊上提交其哈希狀態以及壓縮的交易數據,並使用有效性證明來驗證狀態轉換。
與Validium 類似,ZK Rollup 無法有效地與EVM 兼容,因為為完全集成的EVM 環境生成證明可能需要數小時才能完成。追求使用EVM 或ZK-EVM 開發ZK rollup 的項目正在平衡EVM 兼容性和性能之間的權衡。事實上,Vitalik 將ZK-EVM 分為4 種類型,從完全等效於以太坊到部分兼容EVM,如圖1 所示。
不同類型的ZK-EVM。
目前,只有尚未與EVM 等效的Type 4(例如zkSync 和Warp)和Type 3(例如Scroll 和Polygon Hermez)是可行的,因為必須採取更多的變通方法來使用ZK 證明來充分發揮EVM 的功能。但是隨著以太坊變得對ZK-SNARK 更加友好並且正在進行更多的研究和開發,我們應該能夠看到Type 2 和Type 1 ZK-EVM 在未來變得普遍。
側鏈
側鍊是獨立的區塊鏈,運行自己的區塊參數和共識機制。他們可以通過雙向橋與以太坊通信。然而,與任何其他擴展解決方案不同,側鏈不會將任何交易或狀態數據發佈到以太坊;因此不要繼承以太坊的安全性。由於側鏈有自己的區塊參數,它們可以通過調整某些參數(例如減少區塊時間或增加塊大小)輕鬆支持比以太坊提供的更高的吞吐量。然而,他們通過犧牲安全性和去中心化來實現這些目標,例如具有中心化驗證者或需要高端計算硬件。由於以太坊的願景是專注於去中心化和安全性,側鏈並不是以太坊基金會作為擴展解決方案的重點,儘管它們被認為是減少以太坊交易流量的最有效方法之一。
擴展解決方案的未來
過去的擴展解決方案隨著時間的推移而發展——解決了以前擴展設計中的關鍵問題,例如狀態轉換驗證和數據可用性。在當前階段,rollup 被認為是擴展以太坊的最先進的解決方案,因為它們利用了以太坊安全性和EVM 兼容性以適合通用用途。然而,在Rollup 方面仍有許多可能的改進領域,以實現進一步的安全性、去中心化和可擴展性:
-
去中心化Rollup 排序器——Rollup 可以利用類似PoS 的機制來選擇排序器,以降低中心化和審查風險。
-
Rollup 之間的直接通信通道——在沒有以太坊作為媒介的情況下,在Rollup 之間進行橋接和消息傳遞可以增強用戶體驗並降低交易成本。
雖然像Rollup 這樣的鏈下擴展解決方案已經可以提供多重可擴展性,但以太坊也有自己的計劃,通過ETH 升級在基礎層進行擴展。以太坊分片作為重要的里程碑升級之一,將能夠通過與Rollup 的集成進一步協同提升以太坊的可擴展性。
-
分片作為Rollup 的數據可用性層——64 個以太坊2.0 分片鏈中的一些可以用作Rollup 的“數據倉庫”,以便在其上發布哈希根。從理論上講,分片和Rollup 可以將以太坊吞吐量提高到100,000 TPS。
-
代碼可執行分片——其他分片鏈將能夠運行EVM 字節碼和以太坊等智能合約。然而,由於之前的分片鏈使用提供的大吞吐量,這種實現的實際需要有待確定。
憑藉足夠的可擴展性,以太坊可以支持當前使用的web2 服務(如Visa)的高交易吞吐量。向金融的未來邁出了重要的一步。