logo

新手教學

投資理財

區塊百科

賽道專題

幣種分析

優惠福利

市場週報

活動優惠搜尋

NEW EVENT

最新活動

幣安

web3 community

加入每日幣研 Telegram 群組,即時掌握幣圈最新資訊

HOT ARTICLES

熱門文章

    ZK-EVM 未來或成 Layer 2主流?一文簡單理解 ZK-Rollup 詳細運作原理及優勢

    FoxBling

    2022/12/01

    前言:Layer 2 的發展方向

    早前每日幣研已經發佈過一篇文章及影片為大家基本介紹 Layer 2 是甚麼以及不同的解決方案。現在先做一個簡單的複習:

    • Layer 2 是一套具體的以太坊擴容解決方案,目的是為了擴展 Layer 1 (以太坊) 網絡。 Layer 2 網絡可以提升任何底層區塊鏈的吞吐量以及其他性能

    • 雖然以太坊 2.0 最終解決的也是可擴展性和最終解決的也是可擴展性和擴容的問題的問題,但 2.0 升級的過程十分漫長,就應對短中期的擴展需求來說,Layer 2 仍是必需的

    • Layer 2 有很多種可行方案,主要分為側鏈 Sidechains、狀態通道 State channels、Rollups (同時細分為 Optimistic Rollups 以及 ZK-Rollups)、等離子體 Plasma,這篇文章會集中於 ZK-Rollups,亦是現是最流行的 Rollup 擴容方案

    Layer 2 資料參考:

    【每日幣研 Desmond】幣圈下一個熱炒賽道 Layer 2 是甚麼?

    每日幣研文章 >>> Layer 2 究竟是什麼?盤點 Layer 2 解決方案

    基本原理:透過什麼方式實現 Rollups ?

    Rollups 指的是在 Layer 1 之外執行交易,但其交易數據或交易證明仍位於 Layer 1 之上,Rollups 主要在 rollup 特定鏈上執行鏈下交易,然後對交易數據進行批處理、壓縮、發送到以太坊的主鏈;這減少了以太坊主網實際處理這些交易時的負載,同時減低交易費用。

    Rollups 普遍透過三種方式實現擴容

    Rollups 方式一:鏈下執行

    意指 Layer 2 網絡可以代替以太坊主網處理與智能合約的交互從而提升交易吞吐量。以太坊只需要計算提交至智能合約的證明,就可以驗證 Layer 2 網絡中的活動。

    Rollups 方式二:批量攤銷

    讀者可理解為集運的概念,把不同的交易的請求打包成一個大的包裹,再傳送到主網中進行驗證,如此一來,以太坊主鏈上的一個批次交易中會儲存了多筆 rollup 交易。在以太坊區塊鏈上提交交易有固定運費 (gas fee),但運費就會被每筆的交易攤分。


    在 Rollup Transactions 中,由於 Rollup 交易只需要將數據儲存在底層區塊鏈(例如以太坊)上,因此可以直接把數據打包以減少交易費

    Rollups 方式三:減少驗證節點

    Layer 2 必須向底層區塊鏈提交某種證明,以證明其發起的變更是有效的。Rollups 是具有加密保證的發布機制,通過壓縮交易數據允許更快的交易執行,將交易「匯總」成批次以降低成本,從而減少驗證基礎鏈上交易所需的區塊空間。

    了解更多:

    https://blog.chain.link/what-is-a-layer-2-zh/

    https://www.figment.io/resources/optimistic-rollups-zk-rollups-explained

    ZK-Rollups 是如何運作的呢?

    ZK Rollups,全稱 Zero Knowledge Rollups (零知識匯總),會將多筆交易在 Layer 2 進行捆綁打包,同時發佈名為「SNARKs」或「STARKs」的證明文件。該證明會被提交和發佈在 Layer 1 上面,達成有效性證明 validity proof。這意味著 ZK-rollups 只需要提供有效性證明即可在以太坊上完成交易,而不是像 Optimistic Rollups 那樣將所有交易數據發佈到鏈上。

    SNARKs 和 STARKs 技術差異

    zkSync 就是使用了 SNARKs 為技術基礎

    SNARKs 和 STARKs 技術差異 

    • 「SNARKs」是一種文件很小而且很容易驗證的加密證明,相比起 STARKs 的 gas 成本更低。全稱為「zero-knowledge succinct **non-interactive** argument on knowledge」(簡潔的非交互式零知識證明)
    • zk-SNARKs 消耗的 gas 比 zk-STARKs 少,而且由於字節大小的差異,它們驗證證明的速度更快
    • zk-SNARKs 是兩種主要的非交互式零知識證明中目前比較流行的一種
    Starknet 就是用了 STARKs 為技術基礎

    • 「STARKs」是一種幾乎不需要證明者和驗證者之間產生任何交互的加密證明,相比起 SNARKs 證明時間更短,而且更容易擴展。全稱為 「zero-knowledge scalable transparent argument of knowledge」(零知識的可擴展、透明知識證明)
    • zk-STARKs 在密碼學原理上增強了隨機性參數的透明度
    • zk-STARKs 比起 zk-SNARKs 有更低的計算驗證成本,減低了被量子電腦攻擊的威脅

    了解更多:

    https://blog.chain.link/zero-knowledge-projects-zh/

    https://www.tuoluo.cn/article/detail-10049110.html

    什麼是零知識證明?

    不同技術的 Rollups 指的是用不同的方式進行數據的驗証。ZK-rollups 默認所有計算結果都是存疑的,必須先被證明才能接受。零知識證明是一種密碼學的工具,可以讓一方 (證明方) 在不透露任何實際信息的情況下向另一方 (驗證方) 證明某保密信息或聲明是真的。當我們需要其他人相信我們所擁有的保密信息和提出的聲明是真的時候,但同時不想披露任何信息時,這時就需要零知識證明了。

    筆者找了兩個有趣易懂的例子向大家解釋:

    1. 前陣子流行的 Wordle 遊戲

    我通過發送我的最終棋盤的屏幕截圖來證明我有成功的解決方案,但我不需要透露實際的答案是什麼。

    透個這個屏幕截圖,每個人都可以同意我的結果是正確的。

    2. 尋找 Mr. Waldo 遊戲 
    Credit to: https://blog.goodaudience.com/understanding-zero-knowledge-proofs-through-simple-examples-df673f796d99

    如何證明你知道 Waldo 在哪裡,但不明確指出他的位置呢?

    Alice 在不透明紙板上切了一個洞,覆蓋了整張地圖然後僅顯示了 Waldo,而假設 Bob 不知道地圖的全貌,他就不能只憑 Alice 的紙板推測出 Waldo 的位置,但 Alice 自己卻成功證明她知道 Waldo 的位置。

    區塊鏈如何受益於零知識證明?

    放到加密應用中,零知識證明提供了一種實用的驗證方法,使得鏈外的數據能夠方便取得鏈上驗證。簡單來說我們可以將計算工作外包給另一個實體去完成,同時保持可驗證的結果,所以變相分擔了原來區塊鏈的計算工作,不必再以「反覆計算」證明鏈上交易的可靠性。

    在身份保護方面,零知識證明對如何在去中心化的環境下保護自己的隱私作出重大貢獻。例如 Tornado Cash 使用零知識證明來混淆交易細節並保證交易者的個人隱私,允許用戶在以太坊上進行私人交易。

    了解更多:

    什麼是零知識證明 Zero Knowledge (ZK) proof?

    零知識證明學習懶人包

    ZK-rollups 比起 Optimistic rollups 的優點

    1. 轉移資金不會延遲

    使用 ZK Rollup 時,當資金從 Layer 2 轉移到 Layer 1 時不會出現延遲,因為 ZK Rollup 合約此前接受的有效性證明已經驗證了這筆資金的有效性。在轉移資金到 Layer 1 時, Optimistic rollups 需要一個挑戰期來質疑交易的有效性並產生欺詐證明,所以可能需要長達一周的時間才能讓用戶收到他們的代幣。相比起 Optimistic Rollups,用戶受益於更高的資金效率,可以毫不延遲地從 L2 中提取資金。

    2. 更便宜的交易費用

    ZK-Rollup 捆綁了用戶的交易請求,令 Gas 費用在他們之間分擔,所以假設有了足夠多的用戶,gas 費可能只需要幾美分 (cent),因為 ZK-Rollup 可以捆綁幾乎無限數量的交易。整體而言 gas fee 會低於 Optimistic。

    3. 更快地完成交易

    ZK-Rollups 能夠更快地完成交易請求,因為用戶確認區塊鏈交易所花費的時間不會被更改。發送有效性證明後,以太坊網絡會立即驗證更新後的狀態。ZK-rollups 的計算量比 Optimistic 更大。

    4. 安全的去中心化

    因為 ZK-Rollups 是「零知識證明」,所以只需要有效性證明來檢索數據,而不是整個交易數據。同時間使用零知識技術(例如屏蔽交易)提供和保護隱私,保持 Layer 2 安全和去中心化性質。而 Optimistic rollups 只能提供在底層區塊鏈網絡上可用的隱私解決方案,因為 Optimistic 交易將所有交易數據發佈在鏈上。

    現時 Layer 2 的發展動向

    來源:https://l2beat.com/scaling/tvl

    在 Rollup 的發展上,暫時仍然是 Optimistic Rollup 領先,最高 TVL 的兩個項目都是採用 Optimistic Rollup,主要受益於其對 EVM(以太坊虛擬機)和 Solidity 的兼容,所以一些在以太坊上建好的項目(例如 NFT)可以輕鬆移植去 Optimistic Rollups 身上,或者在這些 L2 上創建類似 L1 的智能合約。

    相反地,ZK-rollup 涉嫌複雜的數學難題,所以推出時並不支援 EVM,令到以太坊的開發者需要難開以太坊的開發框架中作研發,大大減低 ZK-rollup 生態的開發進度。

    顛覆市場規則 —  兼容 EVM 的 zkEVM

    zKEVM 顧名思義就是一個兼容 EVM 的 ZK-Rollups,這項技術是一種能夠通過「零知識證明計算」來執行智能合約的虛擬機,目的是解決剛才提及的 ZK-rollup 生態痛點。這個虛擬機能夠在不對底層邏輯進行大量修改的情況下,執行在以太坊上編寫的智能合約,同時與上文提及的零知識證明技術結合。

    以太坊生態發展成熟,如果某個協議不支持 EVM,那麼它需要重新培育自己生態內的開發者,而開發者也需要重新開發應用和工具,過程繁複而且毫時,所以只有兼容 EVM,開發者才可以無縫遷移現有的以太坊合約,以太坊生態的各種工具才能順利接入,推動 ZK-Rollup 生態的發展。

    一般的 EVM 是如何運作的?

    1. EVM 可以被理解為由一大堆數據的集合體組成的一個雲端電腦,是以太坊智能合約的運行時環境(Runtime)
    2. 在執行交易時,EVM 會把交易指令一個一個地執行,當有無效指令時便會直接跳過,繼續執行下一個指令
    3. 當 EVM 每一次執行了交易指令時,我們會形容其「狀態更新」(state is updated)。每一個交易都會變更 EVM 中的數據,數據被改變的過程會被稱為「狀態變更」(state is changed)
    4. 智能合約中的編程語言並不能正接應用於 EVM 上,必須先翻譯為 EVM 可以理解的字節碼(Binary Code - 即人類難以理解的 0101001),所以才需要用到 Solidity,一種把人類代碼翻譯為字節碼的編程語言。

    zkEVM 是如何實現的?

    現時主流解決方案離不開在 zkEVM 上,構建一種新的編程語言,開發人員將需要**直接用新語言編寫合約或將 Solidity 原代碼編譯為自定義 zkEVM 操作碼**。開發者可以把用 Solidity 寫的智能合約轉移到 ZK-Rollup 來運行。

    現時 zkEVM 有四種為人熟知的解決方案,分別是 Scroll、Polygon zkEVM、zkSync、StarkNet。以太坊的 V 神把 ZK-EVM 的發展分為了四大類, 但礙於複雜程度,有興趣的讀者可以自己閱讀。對於一般讀者而言最需要關注的事是主網的上線時間,以及有沒有空投的機會。

    在這四個項目之中,Scroll 和 zkSync 目前還沒有發放它們的代幣,而且 StarkNet 還有 8% 未分配的代幣,所以他們都可能有空投的機會。

    了解更多:

    什麼是 EVM? (YouTube 影片)

    分辨不同類別的 zkEVM

    什麼是 zkEVM?了解不同的 zkEMV、其運作機制及重要性

    值得關注的項目:

    總結: ZK-Rollups 有巨大的潛力成為未來趨勢

    隨着 ZK-Rollups 技術的逐漸成熟以及發展,相信會成為未來 Layer2 的主要擴容解決方案。 ZK Rollup 從技術上提供了更高的安全性和資本使用效率,同時能夠實現擴展鏈下數據的可用性。 目前更為流行的 Optimistic Rollup,可能只是作為在 ZK-Rollups 技術尚不成熟時的過渡方案。

    隨着ZK-EVM的發展, 更加解決了現時 ZK-Rollup 對於 EVM 的兼容性問題。 若然往後發展順利,ZK-rollup可以利用以太坊的網絡效應,為龐大的生態系統的以太坊中的開發者和項目提供價值。

    參考資料:

    https://ethereum.org/zh-tw/zero-knowledge-proofs/

    https://blog.chain.link/what-is-a-layer-2-zh/

    https://www.figment.io/resources/optimistic-rollups-zk-rollups-explained

    https://blog.chain.link/zero-knowledge-projects-zh/

    https://www.tuoluo.cn/article/detail-10049110.html

    https://blog.goodaudience.com/understanding-zero-knowledge-proofs-through-simple-examples-df673f796d99

    https://ravjot.hashnode.dev/what-the-heck-is-zero-knowledge-zk-proof

    https://www.youtube.com/watch?v=sTOcqS4msoU

    https://vitalik.ca/general/2022/08/04/zkevm.html

    https://www.alchemy.com/overviews/zkevm

     

    FoxBling

    幣研實習生|保持好奇心去等待機會

    前言:Layer 2 的發展方向

    每日幣研 市場週報

    每週兩則電子報,全方位從總體經濟、鏈上數據、融資近況、項目動向快速解讀加密貨幣市場

    訂閱週報

    logo

    首頁

    全部文章關於我們聯絡我們網站聲明 隱私權政策

    HK

    TW

    ©台灣每日幣研版權所有