一文了解ZKopru:使用零知識證明的Optimistic Rollup

隱私性和可擴展性研究團隊都在填補零知識證明的前沿研究和以太坊應用開發之間的空白。

我們最近研究的一個重點領域是 zkopru(使用零知識證明的 optimistic rollup),這是一套為隱私交易節約 gas 的新協議。我們已經在四月份完成了一場信任起步設置,自那時開始,我們就一直在埋頭苦幹。我們已經到了實現網頁版錢包和壓力測試的最終階段。第二次審計也已在進行中。在本文中,我們想對 Zkopru 的特點作概要的說明,順便預告下 Zkopru 在未來幾周里有關公開測試網和主網的計劃。

本文預設了你已經大體了解以太坊、Layer2 和零知識證明的基礎知識。

什麼是 Zkopru?

一文了解ZKopru:使用零知識證明的Optimistic Rollup

Zkopru 的名字來源於 zk(零知識證明)和 opru(optimistic rollup)。你可能聽過零知識證明、zk rollup 和 optimisitc rollup。那到底什麼是 zk-optimistic rollup?且聽我仔細分解。

什麼是零知識證明?

零知識證明方案(比如 zkSnark)讓驗證者可以驗證一個計算過程的正確性,且驗證者無需自己重新執行這段計算、證明者也無需暴露計算的輸入。因此,零知識證明可以用於實現可擴展性和隱私性。Zkopru 使用零知識證明來保證交易的隱私性。Zcash、AZTEK network 和 tornado.cash 都是在區塊鏈上使用零知識證明來實現隱私性的例子。

什麼是 optimistic rollup?

Optimistic rollup 是一種 Layer-2 技術方案,其內部運行是平行於以太坊主鏈的。optimistic rollup 可以帶來可擴展性上的提升,因為它們默認不在主鏈上執行任何計算。相反,用戶在optimistic rollup 環境下發送交易后,它只會在主鏈上發布執行后的狀態根以及這些交易的數據,這一切都不會造成主鏈狀態的增長,因此可以減少 gas 開銷。在使用以太坊時,修改狀態是開銷繁重的事情,所以,optimistic rollup 可以提供高達 10~100 倍的吞吐量提升(視乎交易的類型而定)。這篇文章介紹了 optimistic rollup 的更多細節。Rollup 的運行需要一種稱為 “協調者” 的角色,需要他們來計算新狀態並在以太坊區塊鏈上發送數據。

什麼是 zk+ opru

Zkopru 是一個基於 UTXO 的 optimistic rollup 項目。還有另一種類型的 rollup 叫做 zk-rollup,它使用零知識證明來驗證 rollup 狀態更新計算(即交易執行)的正確性 —— 但 Zkopru 不是 zk-rollup。因為 zk-rollup 僅使用零知識證明作為生成計算有效性證明的方法,但 Zkopru 使用零知識證明來保證每一筆轉賬都是隱私的。

這個概念在 gas 消耗量上具有很大的優勢。在以太坊主鏈上直接執行一筆零知識的交易,必須使用一個對 SNARK 友好的哈希函數來構建一棵默克爾樹,這都是非常昂貴的(gas 消耗量非常大)。使用 optimistic rollup,我們可以在鏈下更新這棵默克爾樹,成本低得多。結果是,我們這套協議,單次隱私轉賬在主鏈上只需使用 8800 gas(哪怕一筆普通的以太坊 ETH 轉賬,都要消耗 21000 gas)。

為什麼我需要 Zkopru 呢?

一文了解ZKopru:使用零知識證明的Optimistic Rollup

接下來,我們講講最重要的部分:Zkopru 面向用戶的功能。用戶可以通過一個網頁端錢包跟這個系統交互,從充值、取款、轉賬到在 L2 上做幣幣互換,都可以。下面我們概要介紹下這幾個功能的用戶體驗;更詳盡的技術描述,請看我們的文檔和 GitHub。

充值:用戶可以把 ETH、ERC-20 代幣和 NFT 存入 L1(以太坊)上的 Zkopru 合約(可藉助我們提供的用戶接口)。在存入資金之後,用戶就可以在 L2 上轉移自己的資產,而這背後是一套基於 UTXO 的表示方法。

轉賬:存入資產後,資產還是關聯着用戶的賬戶,但隱私交易功能可以打破這種關聯。在轉賬時,發送者需要接收方的 Zkopru 地址,這個不是以太坊地址哈,但用戶可以在 Zkopru 錢包中使用同一把私鑰生成一個相應的地址。錢包軟件會生成一個零知識證明,證明轉賬前後系統的完整性,而無需把交易提交給 Zkopru 的協調者,也無需公開任何細節。

取款:用戶希望從 L2(Zkopru)撤出資金到 L1(以太坊)的時候,可以直接使用錢包的取款功能。這個操作的交易細節就需要公開了,所以取款的地址和數量都不再是隱私的了。就像其它 optimistic rollup 方案一樣,Zkopru 需要用戶等待 7 天,取款才能完成。不想等待的用戶可以使用即時取款機制。

即時取款:如果用戶想要即時取款,他們可以出價請求另一個用戶預付資金。預付資金者可以拿到手續費,但要承擔交易被欺詐證明無效化的風險。

原子化互換:Zkopru 支持原子化互換。兩名用戶可以請求協調者協助兩者資產的互換,如果協調者拒絕協助,他們就會被懲罰。這項服務會有專門的一個網站。現在很難高效而隱私地找到相互匹配的訂單。我們正在開發一個支持隱私訂單匹配的解決方案。

成本

用戶可以存取 ETH、ERC-20 代幣和 NFT。而且也有可能做到在一筆交易中同時存入 ETH、ERC-20 代幣和 NFT。下圖所示的 USD 價值基於 gas price 為 25 gwei 和 ETH 的價格為 2500 美元的假設。

一文了解ZKopru:使用零知識證明的Optimistic Rollup

對於 rollup 內的隱私轉賬,協調者會根據相關交易在 L1(以太坊)上發生的成本收取一定的手續費。批量的交易會更便宜,而且要看 UTXO 的數量:

一文了解ZKopru:使用零知識證明的Optimistic Rollup

除了上面列出的成本,協調者還需要為每批交易支付一筆一次性費用 17 1954 Gas。

那什麼時候能用上呢?

一文了解ZKopru:使用零知識證明的Optimistic Rollup

大約兩周后,Zkopru 合約將部署在測試網上,錢包 UI 也會放出,我們也會放出更多文檔來講解用戶如何上手。如果測試網上沒有出現大的問題,那麼再過約兩周,我們會放出主網合約。預計第二次審計也會在這個時間出結果。

結論

經過多年的努力,Zkopru 將很快進入生產環境,為以太坊提供便宜、隱私的交易。如果你想在測試網上使用 Zkopru,請關注我們的下一篇博客。你也可以在我們的 github、網站和博客了解更多。

(完)

(文內有許多超鏈接,可點擊左下 ”閱讀原文“ 從 EthFans 網站上獲取)

原文鏈接:

https://medium.com/privacy-scaling-explorations/zkopru-wat-y-wen-f5026903cf39

作者: Privacy & Scaling Explorations

翻譯: 阿劍

本文鏈接:https://www.8btc.com/article/6675773

轉載請註明文章出處

(0)
上一篇 2021-08-19 10:07
下一篇 2021-08-19 10:18

相关推荐