什麼是Opside
Opside 是一個去中心化的ZK-RaaS (ZK-Rollup as a Service)網絡。基於模塊化區塊鏈的理念,Opside設計了三層的區塊鏈架構,採用PoS & PoW 混合共識,為Web3開發者提供了一鍵生成應用zkEVM鏈的功能。
在擴容領域,L2 的概念並不陌生。但L2不能很好地統籌各種類型的硬件資源,例如數據可用性、ZKP算力、打包節點等,因此出現了模塊化區塊鏈的概念。 Opside的3-layer架構,在L2的基礎上進一步升級,在內部統籌了不同的模塊,對外提供了ZK-RaaS的平台。
•L1,Public Chain:Ethereum、BNB Chain、Polygon 等公鏈。
•L2,Opside Chain:提供大規模去中心化的共識、數據可用性以及ZKP算力,所有產生的交易和數據將在L2 驗證打包上鍊和存儲。交易速度快,手續費低。
•L3,Rollup Layer:Rollup 將昂貴的計算過程從鏈上移到鏈下,從而實現可擴展性。 Opside提供了不同種類的ZK-Rollup SDK,尤其是zkEVM,包括Polygon Hermez、Scroll、Taiko、zkSync 等。開發者可根據SDK 一鍵在Opside L3 上部署屬於自己的ZK-Rollups 項目,並且所有的硬件資源都由Opside去中心化網絡來提供。
各個Layers 之間通過不同類型的跨鏈橋進行連接,可以從L1 直接將資產轉移到L2 或是L3。
ZK-RaaS
ZK-RaaS (ZK-Rollup as a Service) 即提供一鍵生成ZK-Rollup服務。
Opside 提供通用的ZK-Rollups SDK(軟件開發工具包),開發者根據SDK 便可輕鬆的在Opside L3 上部署ZK-Rollups 項目。
Opside L3的ZK-Rollups由系統合約來管理,包括註冊、中止與退出等。開發者花費一定數量的IDE(Opside token)租賃一個Rollup slot,即可擁有一個ZK-Rollup。這個概念類似於波卡插槽,但Opside L2 和L3 共享了同一個共識和數據可用層,安全性更高,更加去中心化,維護成本也更低。
開發者租賃了一個Rollup slot後,即擁有獨立的運行環境,例如,開發者可以單獨擁有一條zkEVM鏈。開發者對ZK-Rollup擁有主權,可以自定義rollup經濟模型,包括選擇gas token。開發者可以自由調整gas費用,甚至是0,這樣用戶不需要支付任何費用。此外,L3中的各個ZK-Rollups 項目之間可實現原生的跨rollup 通信。
開發者不需要承擔任何硬件成本。所有的硬件資源,包括數據可用性、sequencer、ZKP算力等,皆由下面的PoS & PoW混合共識來去中心化地提供。
PoS & PoW Hybrid Consensus
ZK-Rollup 和OP-Rollup 相比,有很多優點,包括更安全、無需信任以及更快的提款速度。同時技術上也有一個非常大的不同,就是ZK-Rollup額外需要有一個強大的ZKP算力來支撐零知識證明的生成。
在Opside網絡中,未來可能有成百上千個ZK-Rollups共同組成Rollup Layer,這將帶來極大的ZKP算力需求。因此,我們需要激勵礦工加入這個生態來做出貢獻。從以太坊PoW 轉向PoS 以後,有很多以太坊礦機失去了應用場景,從資金規模上來講,礦機的價值就有120 億美元,目前很多都處於閒置的狀態。隨著ZK-Rollup技術的成熟,ZKP的生成需要大量的FPGA、GPU 等硬件和礦機來提供計算能力。 Opside的PoS 和PoW 的混合共識,除了使用PoS 機制來激勵Validator 提供數據可用性以外,也使用PoW 機制來激勵Miner 提供ZKP 算力,從而為ZK-Rollup 提供完整的硬件設施。這也是Opside 核心思想之一。所有角色,包括用戶、開發者、節點運營商、礦工,都能夠在這個Opside 經濟模型當中獲得利益。
Opside 除了讓ZK-Rollup 繼承上一層的安全性以外,也要讓ZK-Rollup 繼承上一層的去中心化程度。以太坊現在是全球最大規模的去中心化網絡,有超過50 多萬個節點。這些節點不但提供了大規模的去中心化,在未來,得益於數據分片技術,這50多萬個節點也提供了海量的數據可用性。這也是Opside 選擇基於ETH 2.0 的PoS 共識來改進的原因之一。
我們預期Opside 上將擁有超過10萬多個節點。那麼如何讓Rollup 的去中心化程度也達到這個級別,而不是由一個單節點去完成中心化的打包?一個很好的做法是讓Opside Chain 的區塊提議者同時提議Rollup Layer 的區塊。對於Rollup Layer 來說,實際上就是完成了builder 與proposer 的分離:builder 是無需許可地由一個P2P 網絡來支持,proposer 則沿用了L2 的區塊proposer,這樣避免了單節點帶來的可用性風險,同時也具有一定的抗MEV 性和抗審查性。
下面是PoS & PoW 混合共識的分工:
Layer 2(L2)
•PoS:Opside 將採用以太坊2.0 的PoS 算法,並對其進行必要的改進。因此,Opside 的共識層將擁有超過10萬個validator。任何人都可以持有IDE 代幣並成為validator。此外,Opside 的PoS 是可證明的,validator 將定期向L1 提交PoS 證明。 validator 可以在L2 中獲得區塊獎勵和gas 費用。
Layer 3(L3)
•PoS (Sequencer):validator 不僅提議L2 區塊,還提議L3 區塊(即data batch)。因此validator 同時也是L3 中rollup 的sequencer。 sequencer 可以從L3 交易中的交易費中賺取gas 費用。
•PoW (Prover):任何人都可以成為L3 中rollup 的prover,只要它具有足夠的計算能力進行ZKP 計算。 prover為L3 中的每個本地rollup 生成零知識證明。根據PoW 規則,prover 根據sequencer 提交的L3 區塊生成zk 證明。
一個ZK-Rollup 就類似於一台電腦。電腦是有兩個核心組件,一個是硬盤,一個是CPU。 PoS 提供的數據可用性就相當於是硬盤,PoW 提供的算力就相當於是CPU。 Opside 需要做的是在PoS 與PoW 當中找到一個平衡,從而讓每一個角色都能充分發揮價值並從中受益,讓大規模的ZK-Rollups 網絡有更好的性能和體驗。
代幣的供應與需求
Opside 代幣(IDE)分配細則如下:鑄造上限為100億枚IDE。其中,10%分配給早期融資,14%分配給Opside 團隊以及貢獻者,15%分配給社區,包括測試網早期參與者、生態項目方以及未來可能的空投。 28%分配給基金會,將被用作生態發展,後續融資以及其他用途。其餘的33%作為PoS & PoW 混合共識的獎勵,分別被分配給Validator 和Miner,用於提供數據存儲服務、生成零知識證明、維護區塊鏈、運行合約等。
代幣分配餅圖如下:
根據PoS & PoW 混合共識,區塊獎勵分為PoS 和PoW 兩部分,分別對應Validator 和Miner。在Pre-Alpha 測試網階段,PoS 與PoW 的區塊獎勵比例暫時固定為1:2,即11%的IDE 被分配給Validator,22%的獎勵被分配給Miner。在未來,這兩者的比例會隨著整個網絡的ZKP 算力供需關係動態調整。
PoS 的獎勵
如上所言,Opside 採用了基於ETH 2.0 改進的PoS 共識。 5月2日,Opside 已宣布開放測試網驗證者節點申請。要作為Validator 參與,用戶必須將一定量的IDE 存入存款合約,並運行三個獨立的軟件:執行客戶端、共識客戶端和Validator。這些Validators 負責檢查通過網絡傳播的新塊是否有效,並偶爾自己創建和傳播新塊。如果Validator 行為不誠實或懶惰,那麼抵押的IDE 將作為抵押品被銷毀。
在PoS 下,Opside 的出塊速度是固定的,時間分為slot(12 秒)和epoch(32 個slots)。在每個slot 中隨機選擇一個驗證者作為區塊提議者。該Validator 負責創建新塊並將其發送到網絡上的其他節點。同樣在每個slot中,隨機選擇一個Validator 委員會,其投票用於確定所提議區塊的有效性。具體機制請參考ETH PoS。
Opside 預期在Alpha 測試網支持EIP-4844,數據可用性抽樣(DAS)將用於確保ZK-Rollup 在執行後提供其交易數據,同時不會對任何單個節點造成太大壓力。每個Validator 隨機抽取blob 中提供的交易數據,以確保所有數據都存在。同樣的技術也可以用來確保區塊生產者將他們所有的數據提供給安全的輕客戶端。同樣,在提議者-構建者分離(PBS)下,只需要區塊構建者來處理整個區塊——其他驗證者將使用數據可用性抽樣進行驗證。
在一些具體參數上,Opside將有所不同,讀者可以在代碼庫裡找到最新的值。
總的來說,Staking 使個人更容易參與保護網絡,促進去中心化。 Validator 節點可以在普通筆記本電腦上運行。一些代理質押池甚至允許用戶在沒有足夠IDE 的情況下進行質押。
PoW 的獎勵
在Opside 的L3,也就是Rollup Layer 上,每一個Web3 應用都可以擁有一個專屬的ZK-Rollup。為了支撐數量眾多的ZK-Rollups 帶來的海量硬件資源的需求,除了上面提到的Validator 提供數據可用性以外,Opside 還提供了一個統一的ZKP 算力市場,鼓勵miner(也就是prover)來為這些ZK-Rollups 生成ZKP。這就是Opside 的PoW 機制。
單個Rollup sequence的獎勵份額計算
在Pre-Alpha階段,一個L2區塊內,每個Rollup只能提交一個sequence(可以包含該Rollup的多個區塊)。所有sequence根據當前Rollup slots註冊數量均分當前區塊的PoW獎勵。這也就意味著,如果當前總共有64個註冊的rollup slots,那麼在L2的一個區塊中,PoW獎勵被均分為64份,每一個sequence獲得的獎勵為區塊PoW獎勵的1/64。當然,可能某些rollup在某些區塊沒有提交sequence,因此PoW實際的通脹會低於預期。
在未來,各個sequence將根據對應的ZK-Rollup類型、所包含的Rollup交易數量、gas使用量等進行工作量預估,從而對不同sequence進行不同的定價。
ZKP的兩步提交
一個sequence獲得的PoW獎勵份額,會按照一定規則分配給有效ZKP的提交者,也就是礦工。 Rollup的智能合約驗證ZKP的時候,需要原始proof數據,這就可能引發鏈上攻擊行為。例如某一個prover計算出ZKP之後,交易廣播到交易池中,攻擊者就可以看到原始proof數據,攻擊者可以設置一個更高的gas費來發交易,從而優先打包到區塊中,來獲取PoW獎勵。為了防止惡意攻擊行為,Opside提出了一個兩步提交的ZKP驗證機制。
1.提交hash
•對於某個sequence,prover計算出ZKP之後,計算(proof / address)的hash,並向合約提交hash和address,其中proof是某一個sequence的proof,address是prover的地址,該地址必須提前質押。
•假設在第1個prover在第T個區塊提交了hash,則在第T+10區塊以內,還可以接受其他prover提交hash,沒有數量限制。第T+11區塊及之後,不再接受新的prover提交hash。
2.提交ZKP
•第T+11區塊及之後,允許任何prover提交zkp。只要有一個zkp通過驗證,那麼就對所有提交過的hash進行校驗。校驗通過的prover都可以得到PoW獎勵,獎勵金額按照礦工質押量的比例來分配。
•如果在第T+20區塊之前,都沒有ZKP通過驗證,則所有提交過hash的prover都罰沒1000 IDE。此時該sequence重新開放,允許提交新的hash
舉一個例子,假設Opside中每個L2區塊的PoW獎勵是128 IDE,當前總共有64個Rollup slots,那麼每一個Rollup sequence分配到的PoW獎勵是2 IDE。如果先後有A, B, C 3個礦工為一個sequence提交了正確的ZKP,且A, B, C 3個礦工的礦工質押量(IDE)分別為200K,500K,300K。那麼,A, B, C可以獲得的PoW獎勵分別為0.4 IDE,1 IDE,0.6 IDE。
Prover的質押與懲罰
為了避免針對prover的惡意行為,prover需要在一個特殊的系統合約中註冊,並質押至少100000 IDE。如果當前質押數量小於閾值,則不允許提交hash和ZKP。 prover提交ZKP獲得的獎勵也將依據質押量比例來分配,從而避免prover多次提交ZKP的惡意行為。
當prover出現以下行為,會進行不同程度的懲罰
•如果prover提交了錯誤的hash,則罰沒10000 IDE
•對於某個sequence,如果沒有對應的ZKP通過驗證,則所有提交過hash的prover都將被罰沒1000 IDE,罰沒的IDE將被燒毀。
關於ZKP的兩步提交機制更多的細節與考量,請讀者參閱官方文檔。 prover質押以及懲罰的具體數字在未來可能會改動。
開發者租賃Rollup slot
Opside為開發者提供了ZK-Rollup launch base,開發者可一鍵註冊一個Rollup slot,從而擁有屬於自己的ZK-Rollup。該ZK-Rollup所有的硬件資源都由Opside去中心化網絡來提供。開發者需要向Opside網絡支付Rollup slot的租金,這部分租金將直接燒毀。
除了一個固定金額的租金以外,開發者還可以為自己的ZK-Rollup提供額外ZKP補貼,以激勵礦工提供算力。這部分將在Alpha測試網推出。
具體的租金與補貼規則與參數,讀者可以在官方文檔或者代碼庫裡找到。
治理與發展
Opside網絡的功能和性能將隨著時間的推移而不斷發展,以下為幾個優先級更高的示例:
•根據整個網絡的ZKP算力供需關係,動態調整PoS與PoW的獎勵分配比例
•Validator的數據分片與數據可用性抽樣,將為整個Rollup Layer提供更加豐裕的存儲空間,從而容納更多的ZK-Rollup生態
•Rollup的提議者與構建者分離,使得L3共用L2的validator作為區塊提議者,繼承上一層的去中心化
•礦工的質押與slash機制的優化,鼓勵礦工提供持續而穩定的ZKP算力
•開發者對所屬Rollup的ZKP生成進行補貼,以激勵礦工提供算力
•根據ZK-Rollup類型、Rollup交易數量、gas使用量等進行工作量預估,建立Rollup batch的個性化定價機制
這些改進將顯著提高Opside的網絡效用,從而促進ZK-Rollup as a Service的長期發展以及繁榮。
Opside主網啟動後,建立一個Opside DAO,包含合理的流程和機制來共同決定網絡的未來。 Opside主網的所有參數和機制的更新將通過Opside DAO來確定。需要強調的是,Opside是一個合作共建的經濟體,並隨著時間推移而不斷發展演化。未來的改進會以DAO提案的形式詳細地解釋這些方案是如何給Opside經濟的長期利益和每個參與者類別帶來好處。隨著網絡的發展,打造一個無需大量工具和補貼亦可以獨立且穩健運行的經濟至關重要。