Taiko 是一個EVM 等效的ZK Rollup,通過支持去中心化、無許可和安全的L2 架構中的所有EVM 操作碼來擴展以太坊。
撰文:0x5b79
編譯:aididiaojp.eth,Foresight News
以太坊作為一個全球性的、可信的中立結算層,引入了強大的數字所有權,並為用戶提供了隨時隨地轉移價值的可能。它是價值互聯網的基礎協議,而且自從互聯網誕生以來,以太坊是第一個讓價值轉移如此流暢的網絡。
開發人員希望將他們的智能合約和應用程序部署到永久在線、可訪問、無邊界的計算網絡上。為了實現上述目標,以太坊必須在某些區塊鏈屬性中做出抉擇,即去中心化和安全性高於可擴展性。如果公共區塊鏈不是去中心化和安全的,就失去可信中立的性質,進而喪失實用價值。但如果公共區塊鏈不可擴展,就會因為交易費用過高且吞吐量過低,被大部分開發人員和用戶唾棄。
為了充分實現其功能,以太坊必須支持任何想要參與網絡的人,換句話說以太坊需要有極高的可擴展性來容納全世界的人來參與網絡活動,這也是Rollups 被視為最有前途的擴展解決方案的目標。而最被看好的Rollups 類型是與以太坊等效的ZK Rollup。
什麼是Taiko?
Taiko 的目標是成為一個完全等同於以太坊的ZK Rollup,並通過在技術層面和協議層面以太坊本身的運行方式來擴展以太坊。
ZK Rollups 是通過在鏈下執行、聚合和證明交易來擴展計算,並依靠以太坊進行數據可用性和有效性證明驗證。目前開發中的ZK Rollups 存在的最大缺點是它們不能完全支持EVM 的廣義計算,而是主要用於特定應用程序,這就導致破壞了現有以太坊L1 智能合約和dapp 的兼容性的結果,並且使構建提供相同類型的可組合、體驗更好的新合約變得更難。
與以太坊等效的ZK Rollups,有時也稱為ZK-EVM,因其不會在安全性或兼容性方面妥協,所以被譽為第2 層擴展解決方案的聖杯。 Taiko 的目標就是成為一種ZK-EVM,它優先考慮的是完美的以太坊EVM 等效性,而不是ZK-proof 的生成速度。
Taiko 的技術實現方式
Taiko 由三個主要部分組成:ZK-EVM 電路(用於生成證明)、L2 Rollup 節點(用於管理Rollup 鏈)和L1 上的協議(用於將這兩部分連接在一起以進行Rollup 協議驗證)。
1. ZK-EVM
ZK-EVM 通過有效性證明確保Rollup 上EVM 計算的正確性。
Taiko 可以按原始方式運行以太坊智能合約代碼,無需進行任何更改。開發人員可以輕鬆地將他們現有的以太坊智能合約和完整的dApp 遷移到Taiko,也可以在Taiko 上部署他們的新Solidity 代碼和協議。通過生成ZK-EVM 電路的有效性證明,Taiko 實現了一個能夠支持每個EVM 操作碼的ZK-EVM。除了與以太坊L1 智能合約和dapp 完美兼容之外,所有以太坊和Solidity 工具都可以與Taiko 無縫協作,無需中斷開發人員的工作流程。這樣做的好處有兩個方面:
-
Solidity 智能合約開發人員能夠毫無摩擦地在Taiko 使用Solidity 語言進行開發,無需浪費任何時間來適應新開發環境。 EVM 開發人員和以太坊智能合約背後的開發團隊擴充速度也無需放慢。
-
以太坊上已經運行的價值數十億美元的智能合約以及dApp 避免了引入一種不同語言的風險,只需要調整結構框架後,它們可以移植到Taiko 上來。
EVM 等效性還可以幫助Taiko 利用現有的以太坊基礎設施進行開發。例如執行層很容易被重新用作Taiko 節點使用,同時Taiko 客戶端直接基於Go-Ethereum 發開。由於Taiko 節點使用與以太坊相同的散列算法、簽名方案和存儲數據結構,Taiko 不僅能與虛擬機完美兼容,其他相關協議也是如此。如果以太坊協議更新,Taiko 會在zkEVM 中保持同步更新。如果Taiko 從研發中創造出新的方向,團隊也將努力在以太坊上實現它們。
在兼容性方面,開發人員和基礎設施提供商可以順利使用Taiko Rollup,同時用戶也完全熟悉Taiko 的使用模式和產品。作為通用L2,Taiko 的目標是賦能建設者,最終賦能用戶,讓其他人可以做他們想做的事情。利用以太坊的生態、EVM、定義明確的基礎設施和工具、智能合約的臨界質量和開發人員的專業知識是Taiko 能夠成為type-1 ZK-EVM 的主要原因。
Taiko L2 Rollup 節點
Taiko 節點從以太坊獲取交易數據並在L2 上執行交易,根據最終交易執行情況推進狀態。目前Taiko 節點是一個以太坊Geth 分叉,節點管理Rollup 鏈。
Taiko Protocol
Taiko Protocol 將堅持安全、去中心化和無需許可的核心原則,來定義執行Rollup 規則和潛在參與者資格。部署在以太坊L1 上的智能合約可以充當ZK-SNARK 證明的數據可用性機制和驗證者,同時部署在Taiko L2 上的智能合約執行某些重要協議功能。
網絡參與者有三個角色:
-
提議者:從用戶的L2 交易中構造Rollup 塊,並提議給L1,任何願意的參與者都可以執行此塊並創建功能。
-
證明者:從上述提議的區塊中生成ZK-SNARK 證明,確保 L2 交易和區塊的有效性,任何願意的參與者都可以執行此證明功能。
-
節點運營商:鏈上數據執行交易與鏈的狀態保持同步。雖然提議者和證明者都需要運行節點來執行各自的任務,但其他參與者也將可以運行節點,例如提供區塊瀏覽器等服務的節點和節點基礎設施提供商。任何願意的參與者都可以運行Taiko 節點。
如何運作
Taiko L2 中的區塊由按順序執行的交易集合組成,通過將新區塊附加到鏈上來更新其狀態,同時遵循交易執行的協議規則來計算。
區塊提交分為兩部分:
-
區塊提議:區塊被提議後,區塊數據將發佈在以太坊上,同時區塊將附加到Taiko L1 合約的提議區塊列表中。該協議確保區塊在這一點上是不可變的,這意味著區塊執行是確定性的,因此任何人都可以計算執行後的區塊鏈狀態。我們將一個區塊提議和所有封閉的交易視為提議完成。 L1 上提議區塊的一個顯著特徵是,可能存在將被Taiko L2 節點跳過的無效交易,但Taiko L2 允許在同時提出多個塊時進行容錯。
-
區塊驗證:因為所有提議的區塊都是確定性的,所以可以進行並行證明。一旦驗證了該區塊的證明,在其正確鏈接的父塊被最終確定後,我們將該區塊標記為鏈上最終確定。
該協議的一個基本要求是重建當前狀態所需的所有數據,從而創建和附加新區塊,並且所有的數據能夠在以太坊上公開可用。此外,證明者可以僅使用以太坊上的公共數據來生成證明。依靠以太坊公共數據並為所有潛在參與者提供公平的競爭環境,使得Taiko L2 保持去中心化。
一個普遍的現像是EVM 計算、以太坊數據結構和嵌入式密碼學等許多方面對ZK-SNARK 並不友好,而且證明效率低下。克服這些挑戰一直是該領域許多人努力工作的目標,這是在不同類型的ZK-EVM 在兼容性中做出的主要權衡。例如type-1 生成證明的速度最慢,但具有完美的兼容性和未來證明能力;其他類型生成證明的速度要快得多,但會失去不同程度的兼容性和未來證明能力。
團隊介紹
Taiko 在今年第一季度推出,由Loopring 創始人王東和前Loopring 首席架構師Brecht Devo 聯合創立。 Taiko 大多數團隊成員都曾在可擴展性和ZK Rollup 領域工作過。
小結
在堅持去中心化、無許可和安全的不可協商性以及完全EVM 等效性的同時,Taiko 的明確目標是通過協議設計減少證明時間。協議尋求在ZKP 生成之前快速達到最終確定狀態。團隊將繼續以此目標設計協議,但如果緩慢的證明嚴重降低鏈的用戶體驗,也會對調整或優化持開放態度。
Taiko 將會更加關注與以太坊兼容性相關的的社區和用戶體驗等方面。區塊鍊是代碼強制執行的社會契約,但最終驅動協議的是人類及其價值觀體系。