區塊鏈被譽為革命性技術,但目前還面臨著三大痛點:安全、去中心化、可擴展性。以太坊作為最著名的區塊鏈之一,為了確保安全和去中心化,可擴展性一直是其不得不面對的挑戰。
隨著以太坊用戶數量的增加,交易數量也相應增多,導致交易速度變慢、交易費用變高。這種瓶頸影響了以太坊的大規模應用。如果單純地增加每個區塊中的交易數量,將會降低去中心化,因為人們運行以太坊節點(獨立復制以太坊交易歷史的計算機)的成本將變得更高。此外,過大的區塊大小可能破壞共識,從而危及安全性。為了解決這些問題,出現了一種名為Rollups的擴容方案。
什麼是Rollups?
以太坊聯合創始人Vitalik Buterin已經認可Rollups是可行的擴容方案之一。它們通過將交易計算從鏈上移至鏈下,同時將交易數據存儲在以太坊主網上。這樣,Rollups就能繼承以太坊的本地安全性,而這種安全性依賴於以太坊的去中心化特性。
Rollups如何工作呢?數千個交易被收集到一個批次中,批次中的所有交易都在鏈下進行處理。然後,這些交易的信息被打包成一個交易,發送到鏈上進行提交。
Rollups能夠在擴展性方面產生巨大的收益,因為它們將計算從鏈上移動到鏈下,同時仍然將交易數據壓縮提交到以太坊主網上。現在,Rollups已經成為以太坊擴容領域的救星!
Rollups是Layer 2擴容方案中的一種,它可以將多個交易批量處理,並將結果提交到以太坊上,從而提高了交易速度和吞吐量。根據交易如何在鏈下進行計算,Rollups分為Optimistic Rollups和Validity Rollups兩種類型。
Optimistic Rollups
Optimistic Rollups採用一種樂觀的假設,即批處理中的所有交易都是有效的,並且默認情況下不執行任何計算。一旦交易在鏈下執行完成,Rollups會將批次(包含交易數據)提交到以太坊上。
如果存在無效交易,就會進入挑戰期(通常為一周),任何人都可以挑戰交易。挑戰交易需要生成欺詐證明。成功的欺詐證明將觸發有爭議交易的重新執行,並相應地更新Rollups的狀態。
-
通過經濟激勵實現有效性:負責錯誤交易的順序生成者將受到懲罰,協議通過加密經濟激勵得到保障。
-
延遲:如果沒有任何交易被挑戰,那麼一旦挑戰期結束,批次中的數據就被認為是有效的。雖然可以在未經確認的Rollups塊上繼續構建,但如果基於先前發布的無效交易,就存在交易被撤銷的風險。
-
在鏈上發布數據:在鏈上發布的數據包含交易的全部數據。
-
EVM兼容性:Optimistic Rollups完全兼容以太坊虛擬機(EVM),這使得它們可以使用原生的以太坊工具來在其上構建。
此外,由於沒有涉及任何計算,Optimistic Rollups上的交易非常快速。而在以太坊上的交易最終確認速度比較慢,因為需要等待挑戰期結束。例如,用戶必須等待挑戰期結束後才能提取他們的資金。
Validity Rollups
Validity Rollups是一種零知識Rollup,將交易打包並在鏈下處理。然後,鏈下Prover為批處理中交易的有效性創建一個有效性證明。有效性證明是一種密碼學保證,即Rollup提議的狀態更改確實是執行某批交易的結果。在完成鏈下過程後,系統繼續進行鏈上過程:Rollup運營商發布摘要,描述批處理中的所有交易的更改摘要和有效性證明。有效性證明非常容易驗證,驗證是在鏈上進行的。
-
有效性數學:雖然樂觀Rollups默認假設交易有效,並只在挑戰時驗證它們,但有效性Rollups使用數學證明自動確保交易的完整性和協議的安全性。這允許快速確定性。例如,在有效性Rollup中沒有提款的延遲,因為一旦驗證有效性證明,退出交易就會執行。
-
在鏈上發布數據:有效性證明保證批處理中的所有交易都是有效的,並且無需查看所有交易的所有信息。這帶來經濟效益,因為提交到鏈上的狀態更新僅包含所有交易的最終餘額。
-
EVM兼容性:ZK Rollups默認情況下不兼容EVM,但是使用Warp和Kakarot,可以在Starknet上為有效性Rollup編譯器。此外,即使在計算便宜的鏈下執行,生成有效性證明也需要大量的計算工作和時間。
對於某些零知識Rollup的另一個批評點是使用SNARK證明,這需要信任假設並使用不受量子計算機攻擊的橢圓曲線密碼術。
StarkWare的Starknet和StarkEx是有效性Rollups,使用STARK而不是SNARK,這種設計選擇帶來了許多優點。 STARK不需要受信任的設置,對量子計算機具有安全性,還比SNARK提供更多的可擴展性。
Rollups的應用
Rollups是一個非常靈活的擴容方案,它可以與其他技術和協議集成,以提高其效率和可擴展性。下面我們來看一些Rollups的應用:
1.有效性Rollups
有效性Rollups將以太坊的交易驗證和批准轉移到Rollups,以減輕以太坊網絡的負載。這種方法將交易驗證的成本和時間分配給Rollups,使得以太坊網絡可以專注於其安全和去中心化。
2.通用Rollups
通用Rollups具有高度的靈活性和可定制性,可以為不同類型的應用程序提供支持。這些Rollups可用於遊戲、交易所、NFT市場、預測市場等等。
3.運行EVM的Rollups
運行EVM的Rollups可以在Rollups中運行Solidity智能合約。這種方法可以讓現有的以太坊應用程序遷移到Rollups,同時最小化編寫新代碼的需求。
Rollups是以太坊上的下一代擴容方案,它們可以實現高吞吐量的交易處理,同時不會損害以太坊的安全性和去中心化。這些Rollups將為以太坊生態系統提供更好的性能和更高的靈活性,為用戶帶來更好的體驗。