買比特幣 買比特幣
Ctrl+D 買比特幣
ads

ROL:以太坊擴容賽道又出新方案 Zkopru:zk-SNARK 與 Optimistic Rollup 的結合將如何實現隱私擴容?_KOP幣

Author:

Time:1900/1/1 0:00:00

通過zk-SNARK與OptimisticRollup技術的結合,Zkopru可實現ETH、ERC20s和ERC721s多種以太坊代幣的快速、廉價和隱私的交易,并實現即時取款和隱私原子互換等功能。

撰文:殷耀平

以太坊Layer2隱私擴容新方案Zkopru問世

7月20日,Ethereum9?創始人WanseobLim在太坊技術論壇ethresear.ch上發布了一份新的以太坊擴容方案「Zkopru」的技術實現說明。

Ethereum9?是一種概念證明系統,使用Mimblewimble以及零知識證明等隱私技術來隱藏以太坊代幣交易。

據WanseobLim介紹,這是一個結合了zk-SNARK和OptimisticRollup來實現隱私交易的Layer2擴容解決方案,該方案支持在二層網絡中以低成本實現ETH,ERC20,ERC721之間的隱私轉移和隱私原子交換,并實現了諸多其他亮點功能。

WanseobLim稱,該方案是由他和化名為「barryWhiteHat」的以太坊開發者共同完成,他們從2019年11月開始構建此方案,目前Zkopru已發布測試網,代碼已在github開源。

「barryWhiteHat」是以太坊社區最活躍的開發者和研究者之一,ZKRollup的擴容方案正是由barryWhiteHat在2018年下半年最先提出。

鏈聞查詢該項目路線圖發現,Zkopru計劃分為Arcticroll、Burrito、Grilledburrito、Californiaroll、Dragonroll五個階段進行迭代,github上的開發進度顯示,目前第一階段的開發工作已完成大部分。

Zkopru方案一經推出,便吸引了眾多以太坊開發者的關注,*以太坊創始人*VitalikButerin第一時間表達了對該項目問世的祝賀,認為是一項「很棒」的工作,并在推特上轉發了該項目的介紹文章。

以太坊跌破1800美元/枚:金色財經報道,行情顯示,以太坊跌破1800美元/枚,日內跌2.99%。[2023/5/24 22:15:27]

下面我們一起了解一下Zkopru擴容方案的主要思路和設計亮點。

什么是Zkopru?

Zkopru的全稱是zk-Optimistic-Rollup,是一個基于zk-SNARK和OptimisticRollup的以太坊二層隱私擴容解決方案。可支持第二層網絡中ETH、ERC20、ERC721各類代幣之間的隱私轉賬和隱私原子交換,并且費用很低。

「Zkopru」方案使用OptimisticRollup來管理區塊,使用zk-SNARK來構建隱私交易。

了解過以太坊Layer2擴容現狀的都知道,目前最當紅的擴容主力便是基于Rollup技術系列擴容方案,最主流的是兩個分支ZKRollup和OptimisticRollup。

簡單理解,「ZKRollup」方案是利用Rollup技術進行交易壓縮,并利用?zk-SNARK技術實現交易打包和驗證,以實現在減少交易成本的同時確保安全性。

「OptimisticRollup」方案吸收了ZKRollup方案對于數據可用性的優勢,但去除了零知識證明部分,而是沿用了Plasma的欺詐證明機制。所以在該方案中,不像ZKRollup方案通過SNARK處理后再將數據聚合到鏈上,而是默認「樂觀」相信節點會將最新且準確的數據發布到鏈上,否則當「驗證者」發現有問題時,節點會受到相應懲罰。

了解更多關于Rollup的知識可以參考鏈聞文章「以太坊擴容最熱門主力方案Rollup學習指南」。

而最新問世的「Zkopru」方案則是對zk-SNARK和OptimisticRollup的結合,相當于是在OptimisticRollup方案中,又加入了零知識證明的技術部分。

數據:最近一周,以太坊網絡新增197萬枚NFT資產:金色財經報道,NFTScan數據顯示,最近一周,以太坊網絡新增197.97萬枚NFT資產,平均每天新增鑄造28.28萬枚NFT資產。[2022/8/21 12:37:58]

Zkopru擴容方案有何特點?

據WanseobLim介紹,Zkopru方案能將每筆zk交易的gas費控制在可承受范圍,并實現交易性能提升,使得:

以太坊隱私交易平均成本為每筆交易8000gas。理論上最大TPS為105此外,Zkopru中,交易數據消耗大約534字節,由于證明數據有256字節,未來如果使用證明聚合,還可以將交易成本降低50%左右。

此外,Zkopru方案還能實現以下功能。

1)支持ETH、ERC20甚至是ERC721資產。2)支持隱私原子交換,可以與隱私訂單撮合系統一起使用。3)運用SubtreeRollup將默克樹的更新挑戰成本縮減至原來的1/20。4)即時取款功能實現,在區塊最終性達成前,用戶可以即時取款。5)利用批量存儲和批量轉移,可以構建一個內部二層網絡。

Zkopru方案實現:如何證明交易真實性?

我們可以簡單了解一下Zkopru方案是如何利用zk-SNARK技術完成交易驗證的。

Zkopru方案認為,由于每個零知識證明事務都會接受若干個UTXOs作為其輸入,并為其輸出創建新的UTXO。因此,最重要的,就是驗證輸入和輸出,從而完成對交易真實性的驗證。

首先是輸入驗證

Zkopru使用Commitment-nullifier來實現隱私保護。在該方案中,每個zk事務會使用UTXO,但不會顯示使用了哪個note,雖然會展示從UTXO派生出來的nullifier,但僅僅看到nullifier不可能與原始的UTXO建立起聯系,從而可以實現隱私保護。

摩根大通正在招聘以太坊和區塊鏈開發人員:美國投行摩根大通(JP Morgan Chase)正在積極招聘以太坊和區塊鏈開發人員。該職位發布在美國招聘網站Glassdoor上,要求應聘者具備編寫智能合約、部署業務應用程序和驗證區塊鏈加密協議經驗。(Crypto Potato)[2021/4/22 20:47:25]

鏈聞注:在Zcash的隱私交易方案中。每筆轉賬都會用note來表示,內容包括轉賬的金額和一個隨機數。note有兩個外在的表現形式:一個是Commitment,一個是Nullifier。Commitment代表一次金額轉入,Nullifier代表一次消費。對于每個note,Commitment和Nullifier都是唯一的。因為Commitment和Nullifier是通過不同的Hash函數生成的結果,即使這兩個數據公開,其他人也無法推斷出Commitment和Nullifier之間存在聯系。也就是說,提供一個Commitment,能說明進行了一筆轉賬。能提供對應的Nullifier,就能消費。了解更多請參見鏈聞文章。

要花費UTXOs時,必須滿足以下條件:

UTXO成員證明:交易構建器提交每個UTXO的Merkle證明來證明其存在。為實現有效的SNARK計算,UTXO樹使用Poseidon作為其哈希函數。

所有權證明:只有所有者才能花費UTXO,每個note都會有一個公鑰字段,所有者通過使用配對的私鑰創建EdDSA簽名來證明其所有權。

承諾證明:整個環路需獲取有關UTXOs輸入的詳細信息,從而計算輸入量的總和。因此,所有者應該提供詳細信息,其Poseidon哈希值應該等于Merkle證明和所有權證明的葉節點哈希值。

無效證明:給定的nullifiers應該從UTXOs輸入中正確派生。

以太坊2.0測試網參與率過低時巨鯨撤出或可導致故障:Jelurida聯合創始人Lior Yaffe表示他發現了以太坊2.0測試網中一個弱點,以太坊2.0要求最低參與率66%,當參與率低時如果一個控制多個賬戶的巨鯨突然撤出,有可能將參與率降到66%以下引起網絡問題。假如10%的ETH被質押而網絡參與率為75%,降低9%的參與率只需控制0.9%流通中的ETH,大型鯨魚和中等交易所就可實現,而幣安、Coinbase、V神等機構和個人均持有超過以太坊0.16%的總量。開發人員Raul Jordan表示參與率估計在99%左右,攻擊者如果想要攻擊需要25000個驗證節點33%的質押量,大約價值1億美元,而且攻擊會導致多方損失包括攻擊者自己。(Decrypt)[2020/9/11]

其次是輸出驗證

每個zk事務可創建三種類型的輸出:UTXO、取款和轉移。

如果zk事務創建UTXO輸出,Zkopru會追加到UTXO樹中。如果zk事務創建取款輸出,Zkopru會追加到Withdrawal樹中。最后,批量轉移是由區塊中的每個zk事務的轉移輸出所組成。

因此,UTXO的輸出應滿足以下條件:

當輸出是UTXO類型時,輸出的公共哈希值必須與SNARK環路中計算所得值相等。當輸出是取款或轉移類型時,應該顯示詳細信息,因為該輸出需要將正確數量的資產轉移至網絡外部。

零和證明

最后,zk事務應該保證輸入等于輸出,包括費用在內。

Zkopru功能實現:原子交換Atomicswap功能

目前,Zkopru在以一種很簡單的方式支持原子交換。

如果A和B想交換他們的資產,他們會為彼此創建notes,并在交易數據中公開所需的note。然后,協調器應該配對相反的事務,或者被懲罰。

金色相對論丨郭宇:以太坊提出的無狀態客戶端協議可能是最具顛覆性的新架構:在今日舉行的金色相對論中,針對“以太坊目前采用的無狀態以太坊、多客戶端、信標鏈staking、rollup等技術,給各位印象最深刻、認為最有應用價值的是哪一個?”的提問,安比實驗室創始人郭宇發言指出:個人非常看好路印的 DEX 系統以及 zkRollup 技術。zkRollup 是一個一般性的區塊鏈擴容架構,完全可以移植到其它公鏈或者區塊鏈平臺中。并且對于底層平臺的要求并不高。只要區塊鏈底層平臺能支持相關的密碼學原語,主要是零知識證明原語,然后就可以支持 zkRollup。

除此之外,個人認為以太坊提出的無狀態客戶端協議有可能是未來最具顛覆性的新架構。區塊鏈驗證節點不再需要存儲區塊,通過零知識證明來實現交易的驗證和打包。這將打開更廣闊的想象空間。目前這一技術的相關理論還是快速迭代過程中,相信很快這一技術就可以在一些試點場景中得到應用。[2020/6/18]

例如,Alice想用她的50個ETH換Bob的1000個DAI。Alice花費自己的一個60ETH的note,為自己創建10ETH的note,同時為Bob創建50ETH的note。此外Alice計算出自己未來得到的1000DAI的note的哈希值,并將該哈希值在她的交易事務中通過swap字段公開。同樣,Bob花費自己的一個3000DAI的note,為自己創建2000DAI的note,為Alice創建1000DAI的note。Bob也計算出他未來的50ETH的note的哈希值,并將該哈希值在他的交易事務中通過swap字段公開。一旦協調器在交易池中匹配了成對事務集,就會將該對事務打包到一個新區塊中。如果一個區塊中納入了不成對的事務,協調器會被懲罰。

Zkopru功能實現:即時取款功能

Zkopru中,取款人可以請求即時取款,取款人可以為每個取款note設置一定的取款費用,然后,任何人都可以提前支付這筆尚未最終完成的取款并獲得該取款費用。

具體而言,為請求即時取款,所有者需要為她的note生成一個ECDSA簽名并進行廣播。任何有足夠資產支付的人都可以使用該簽名提前支付這筆取款。一旦Zkopru成功打包了該交易,智能合約會將該取款note的所有權轉移給預付款人。最后,預付款人可以在區塊完成最終確定后取款。

通過該功能,Zkopru團隊認為,可以為即時取款建立一個去中心化的公開市場。

Zkopru方案的Merkle樹結構

Zkopru的當前版本中,UTXO樹和withdrawal樹的最長深度將為31,Zkopru團隊表示下個版本中最長深度將變為64,并且只有一個UTXO樹和一個withdrawal樹。

Zkopru方案由UTXO樹,nullifier樹和withdrawal樹所組成。

UTXO樹會追加包含UTXOs的Merkle樹,用戶可以通過提交Merkle證明將UTXOs用作事務的輸入,并將事務的輸出結果追加至最新的UTXO樹中。

同樣,如果zk事務創建了withdrawal輸出,Zkopru會將其追加到最新的withdrawaltree樹中。一旦樹根被標記為終結,所有者就可以來提取資產。

最后,通過commitment-nullifier隱私交易方案,已使用過的UTXO的nullifier會在nullifier樹中被標記為「已使用」。

用過的UTXO的清零器被標記為在nullifier樹中使用,nullifier樹是唯一的稀疏Merkle樹。如果有事務試圖使用一個已被使用的nullifier,該事務會自動失效,并且區塊提議者會被質詢系統懲罰。

Zkopru方案中Merkle樹的詳細規格。

UTXO樹

單個UTXO樹是用于成員證明的稀疏Merkle樹,它使用Poseidon哈希生成zkSNARK證明來隱藏花費哈希及其路徑。

為了更新UTXO樹,協調器需執行以下步驟。

1、準備好數組。2、協調器選擇需要并入的MassDeposits,并將MassDeposits中每筆存款都追加到數組中。3、Layer2事務生成新的UTXOs,將新生成的UTXOs追加到數組中。4、將準備好的數組拆分成大小為32的塊。5、構造子樹并執行子樹匯總。

假設UTXO樹完被全填滿了,系統會將填滿的樹歸檔并開始一個新樹,已存檔的樹也可以作為交易的包含證明被引用。

Zkopru會樂觀地更新樹根,且只在發現挑戰時進行驗證。Zkopru會使用Subtreerollup的方法生成鏈上欺詐證明。Subtreerollup會追加固定大小的subtree,而非逐個追加交易項。與單純的Rollup相比,SubtreeRollup顯著降低了大約20倍的gas成本。

Nullifier樹

每個轉賬、取款和轉移事務都通過包含證明來花費UTXOs,并標記在nullifiers樹上。所以nullifiers樹是一個非常大的稀疏Merkle樹,要記錄稀疏Merkle樹中每個已花費的UTXO。因此,Zkopru使用keccak256作為nullifier樹的哈希函數。

為了更新nulleizer樹,協調器需執行以下步驟。

1、選擇事務,并從事務中收集所有nullifiers項。2、檢查是否存在任何已經使用的nullifiers項。3、將每個nullifier項標記為已使用。更新過程中,如果有nullifier不更改nullizer樹根,立刻丟棄該事務,因為它嘗試進行雙花。

就像UTXO樹一樣,Zkopru會樂觀地更新nullifier樹的根。若有任何問題,可以通過在鏈上生成欺詐證明來證明一個nullifier使用了不止一次。

Withdrawal樹

Withdrawal樹和UTXO樹的唯一區別是,提取樹使用keccak256作為哈希函數。原因是Zkopru在智能合約中需要withdrawal樹的Merkle證明,但在SNARK環路中又需要UTXO樹的Merkle證明。

要更新Withdrawal樹,協調器需執行以下步驟。

1、收集所選交易的每個取款項。2、將所搜集的取款數組拆分成大小為32的塊。3、構造子樹并執行子樹匯總(Subtreerollup)。

Zkopru方案實現:Zkopru中的區塊結構

區塊頭

前372個字節的數據是區塊頭,區塊頭包含以下數據:

區塊主體

區塊主體包括交易、批量存款和批量轉移。此外,區塊頭應該包含來自區塊主體的正確信息。如果區塊頭沒有包含正確的值,提案人會被質詢系統所懲罰。

交易

批量存款

批量轉移

Account

Zkopru計劃創建一種新的公鑰結構。

每個Zkopru帳戶將同時管理Layer1和Layer2的密鑰對。

首先,該帳戶會有一個隨機生成私鑰的以太坊帳戶,用于與Layer1交互。其次,Zkopru錢包會根據該以太坊賬戶的私鑰創建一個Babyjubjub私鑰和公鑰集,用于Layer2的EdDSA簽名和加密memo字段。

UTXO

Zkopru還將提出一種新的UTXO標準。

然后Zkopru再用Poseidon哈希計算葉節點哈希。

Tags:KOPROLROLLLIFKOP幣roll幣能出泰沙拉克嗎TROLLER價格MoonLift Protocol

SHIB最新價格
區塊鏈:幣圈小蝶:幣圈散戶如何克服自身的心理弱點_btse幣希帶單

?茶可醉人,佛可渡人。投資只有一個目的,那就是賺更多的錢,為了讓身邊的人過的更好,沒有誰的錢是大風刮來的,路上白撿的,這個市場不缺老師,缺的是一個有良心的老師,一個有責任心,站在客戶角度去考慮問.

1900/1/1 0:00:00
AXI:加密游戲 Axie Infinity 聯合 Digix 將真實黃金支持的代幣引入游戲_PET

鏈聞消息,基于以太坊的加密游戲AxieInfinity聯合Digix在游戲中引入黃金代幣Axie-DGX,允許玩家在游戲中收集并兌換成代幣DGX.

1900/1/1 0:00:00
INB:COINBIG關于合約系統升級,合約交易暫停的公告通知_Coinflect

為了給用戶帶來更好的交易體驗,COINBIG平臺合約交易區將于今日下午17:00進行系統優化,網頁端及APP端全部升級更新。升級計劃預計于下午22:00完成,更新完成后將自動恢復合約交易.

1900/1/1 0:00:00
比特幣:關于Hotcoin Global即將上線FTC的公告_比特幣市值最高是多少

尊敬的用戶:????HotcoinGlobal將于近期上線資產FTC。 項目簡介: ???飛天比特是一個基于區塊鏈技術開發的跨生態價值平臺.

1900/1/1 0:00:00
THS:幣三公btc晚間走勢分析及操作策略_ETHS

日內比特幣走的比較弱勢,高位回落100點左右的空間,昨日說的還是比較清楚,高位盡量不做多,而是做空回落,整體利潤空間還是比較明顯,目前技術面從日線來看,此輪多頭預計還需要時間啟動.

1900/1/1 0:00:00
SOL:凌姍說幣:7.20比特幣,以太坊,等主流幣行情分析策略_ZEB

計劃你的交易,交易你的計劃,行情有漲跌,走勢有震蕩!在投資市場上多空快速的轉換總是令人措手不及,面對市場劇烈的波動,我們一定要懂得及時的調整策略,兵無常勢,水無常形,唯有順勢而為才能游刃有余.

1900/1/1 0:00:00
ads