Native Rollup 的去中心化共識機制是什麼?

有看到天上的屋嗎發表於2023-02-13

Native Rollup 是一個基於 zk 的 Layer 3 擴容解決方案,其中 Layer 2 是一個 EVM-compatible 且 Rollup-friendly 的鏈,Layer 3 則由系統原生支援的多個 zkRollup(稱為 native rollup)組成。Layer 2 為 zkRollup 做了很多系統層面的最佳化。這個 3 層架構中的 Layer 2 和 Layer 3,共用了一個 PoS 與 PoW 融合的共識機制:


Layer 2:


PoS:Layer 2 將採用 ETH 2.0 的 PoS 並對其進行必要的改進。因此,Layer 2 的共識層將有超過 10 萬個驗證者。任何人都可以質押 token 來成為驗證者。這些驗證者也將根據 EIP-4844 提供一個資料可用性層,從而容納 Layer 3 的 Rollup 提交的 batch。此外,Layer 2 的 PoS 是可證明的,validator 會定期把 PoS 證明提交到 Layer 1 上。validator 可以獲取 PoS 這部分的區塊獎勵和 Gas 費。


Layer 3:


PoS(Sequencer):validator 除了提議 Layer 2 的 block,也提議 Layer 3 的 block(即 data batch),也就是說 validator 同時是 Layer 3 中 native rollup 的 sequencer。Sequencer 可以獲取其中的交易 Gas 費。


PoW(Prover):只要擁有 zkp 的算力,任意 validator 都可以成為 native rollup 的 prover。Prover 為 Layer 3 的各個 Native rollup 生成 zk proof。對於 sequencer 提交的 Layer 3 的各個區塊,prover 依據 PoW 的規則來競爭,最先提交 zk proof 的 prover 將獲得 Layer 3 的區塊獎勵。


關於 Native Rollup 的去中心化共識機制

下面將詳細介紹 Layer 3 中的 native rollup 的去中心化共識機制。


Sequencer

sequencer 這個角色由 Layer 2 的 validator 來承擔。XM外匯xmhey.com每個 Layer 2 的區塊中,所有 native rollup 都有且僅有 1 筆交易來提交各自的 rollup block,且這些 rollup block 只能由 Layer 2 區塊的 validator 來提交。如果該 Layer 2 區塊中沒有包含所有的 native rollup 的 block,則該區塊無效。


即使某個 native rollup 在一段時間內沒有交易,sequencer 也必須提交該 rollup 的 block。此時該 rollup 的 block 為空。


sequencer 的收益是該 sequencer 提交的各個 native rollup 的 block 中的交易手續費。注意,所有 native rollup 中的交易手續費都是由 Layer 2 token(IDE)來支付的。因此,該 sequencer 打包的 rollup 交易越多,收益也越多。


當 sequencer 把 rollup block 打包上鍊後,該 rollup block 就進入了 finalized 狀態。因此該區塊最終確認所需要的時間與 Layer 2 是相同的。


如果某一個 rollup block 沒有在一定時間內被 prover 提交的 proof 驗證,則該 block 會被跳過,相應的 sequencer 也將被 slash。


Prover


與 sequencer 必須是當前 Layer 2 區塊的 validator 不同,prover 可以是任意的 Layer 2 的 validator。只要一個 validator 具有 zkp 算力,即可稱為任意的 native rollup 的 prover。


這些 prover 透過 PoW 的方式來競爭,最先提供某個 rollup block 的有效 proof 的,就能獲得相應的 block reward。注意,所有 native rollup 的 block reward,都是由 Layer 2 token(IDE)來支付的。這部分 IDE 就是 Layer 2 的 PoW 部分的獎勵,系統會根據 zkp 算力的供需平衡來自動調整 PoW 的獎勵額度。


sequencer 打包的 rollup block 中,已經包含了生成 proof 所需要的所有資料。因此,對於每個 rollup,prover 可以並行生成多個 block 的 proof。同樣的道理,這些 block proof 的驗證也是並行的。


當一個 rollup block 和它的所有父區塊都被驗證時,該區塊就被驗證了,即 verified 狀態。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995368/viewspace-2935059/,如需轉載,請註明出處,否則將追究法律責任。

相關文章