7月20日,Ethereum9?創始人WanseobLim在太坊技術論壇ethresear.ch上正式發布了Zkopru,這是一種二層私人交易擴容解決方案,同時使用了zk-SNARK和Optimisticrollup技術。它能夠以很低的成本支持ETH,ERC20,ERC721代幣在二層網絡內進行私人轉移和原子交換。此外,借助預付款功能,用戶可以在交易確認之前從二層提取資產。
非常高興分享以太坊二層隱私技術Zkopru的實現。從去年11月開始,我和
4.使用chacha20算法對數據進行加密,并使用臨時公共密鑰創建備忘錄數據:
ephemeral=random.new()
public_ephemeral=generator.multiply(ephemeral)
shared_key=recipient_jubjub.multiply(ephemeral)
ciphertext=chacha20.encrypt(data,shared_key)
memo=public_ephemeral+ciphertext
解密
使用Diffie-Hellman密鑰交換協議,接收者還使用公共臨時密鑰和私有密鑰創建共享密鑰。
1.解析備注并獲取共享密鑰:
public_ephemeral,ciphertext=parse(memo)
shared_key=public_ephemeral.multiply(private_key)
2.使用共享密鑰解密ciphertext:
decrypted=ciphertext.decrypt(shared_key)
數據:Fantom網絡1inch平臺總交易量已達10億美元:7月10日消息,DEX聚合器1inch官方宣布,Fantom網絡1inch平臺總交易量已達10億美元。[2023/7/10 10:46:31]
3.接收者使用解密結果嘗試生成各種可能的UTXO。這是因為加密的數據只有49個字節以最小化調用數據的大小。因此,接收者應嘗試各種組合以檢查交易是否包括被恢復的UTXO哈希。如果未能在TX中找到已恢復的UTXO,則認為TX沒有接收方的輸出。
壓縮數據
為了最大程度地減少調用數據,Zkopru將原始數據壓縮為49字節數據。首先,它擺脫了加密候選者的公鑰,因為接收者將使用自己的公鑰來推斷出。并且,它使用TokenID,該TokenID將支持的token地址和索引從0映射到255。然后,由于value可以是ether,erc20Amount或nftId,因此接收者針對這3種情況創建了三種類型的UTXO。最后,如果在交易的輸出列表中存在任何推斷出的UTXO,則接收者成功接收了UTXO。
局限性
Zkopru不會強制回路檢查加密協議。因此,如果發送者未使用適當的共享密鑰或數據,則接受者將不會收到備注。
原子交換
Zkopru以直接方式支持原子交換。如果A和B想要交換其資產,則它們會彼此創建備注并將所需的備注公開在交易數據上。然后,協調者應對相反的交易進行配對或被削減。
例如,愛麗絲想用天的50ETH交換鮑勃的1000DAI。
愛麗絲支出她的60ETHnote,并為自己創建了10ETHnote,并為鮑勃創建了50ETHnote。
報告:哈薩克斯坦立法機構推動新的加密規則:金色財經報道,據俄羅斯塔斯社周三報道,哈薩克斯坦議會(該國立法機構的下議院)已經批準了五項新的加密法案。下議院經濟改革和區域發展委員會成員Ekaterina Smyshlyaeva表示,這些法案涉及“有擔保和無擔保數字資產”的發行和流通。Smyshlyaeva還表示,這些法案是“按照”總統Kassym-Jomart Tokayev關于遏制與加密采礦相關問題的指示制定的。自5月以來,政府要求加密礦工向地方當局注冊其業務。7月,Tokayev簽署了增加對加密礦工征稅的法律。盡管這些法案仍處于立法程序的第一階段,但熟悉訴訟程序的消息人士表示,該立法很可能會成為法律。(coindesk)[2022/10/12 10:32:45]
愛麗絲還計算她未來的1000DAInote的哈希值,并將該哈希值暴露給她交易的swap字段。
鮑勃則支出他的3000DAInote,并為自己創建了2000DAInote,為愛麗絲創建了1000DAInote。
鮑勃還計算他未來的50ETHnote的哈希值,并將該哈希值暴露給他的交易的swap字段。
一旦協調者匹配了交易池中成對的交易集,它將把交易對包括在一個新區塊中。
如果一個區塊僅包含其中一個,則協調者將被削減。
Zkopru正在使用一種簡單版本的原子互換。然而如果你想要檢驗一種基于MPC的zk原子互換模型,你可以在這里看到詳細信息。
Merkle樹結構
UTXO樹和withdrawal樹中的備注在下一個版本將有64深度。將只有一個單一的UTXO樹和一個提取樹。
比特幣全網未確認交易數量為3853筆:金色財經報道,據BTC.com數據顯示,目前比特幣全網未確認交易數量為3853筆,全網算力為233.74 EH/s,24小時交易速率為3.09交易/s,目前全網難度為30.98 T,預測下次難度上調1.08%至31.31 T,距離調整還剩3天7小時。[2022/9/11 13:22:09]
Zkopru的樹林由UTXO樹,nullifier樹和withdrawal樹組成。
UTXO樹是僅追加用法,包含UTXO的Merkle樹。通過提交包含Merkle證明,用戶可以將UTXO用作交易的流入。并將交易的輸出結果附加回最新的UTXO樹中。
另外,如果zk-transaction創建withdrawal輸出,則Zkopru會將它們附加到最新的withdrawal樹中。將樹的根被標記為已完成后,所有者可以通過證明所有權來提取資產。
然后,通過commitment-nullifier方案,將用過的UTXO的nullifier標記為在nullifier樹中使用。如果交易試圖使用已經無效的葉子,它將變為無效,并且挑戰者系統會大幅削減區塊提議者。
Merkle樹規范
{%hintstyle=“warning”%}
UTXO樹&withdrawal樹在Burrito版本上有64深度https://github.com/zkopru-network/zkopru/issues/35
網石F&C將其子公司Floppy Games更名為“Metaverse Games”:8月29日消息,韓國手游巨頭網石集團核心子公司Netmarble F&C近日將6月收購的游戲開發商Floppy Games更名為“元宇宙游戲”(Metaverse Games)。該公司表示,Floppy Games更名為元宇宙游戲是為了展示其業務方向。
此外,網石F&C正在運營基于區塊鏈技術的游戲、數字人、娛樂、內容(網絡漫畫、網絡小說)、商業、電子錢包等為一體的Web3娛樂平臺“Cube”。它旨在使用基于幣安智能鏈(BSC)的加密貨幣Cube形成一個元宇宙學生態系統,并正在開發一個以數字頭像和數字身份構成的元宇宙。(inews24)[2022/8/29 12:54:35]
{%endhint%}
如何管理UTXO樹
單個UTXO樹是用于成員資格證明的稀疏Merkle樹。它使用Poseidon哈希生成zkSNARK證明以隱藏支出哈希及其路徑。
要將新樹葉追加到UTXO樹,協調者將執行以下步驟。1.準備一個陣列。2.協調者選擇要包括的MassDeposits,并將MassDeposits中的每筆存款附加到陣列中。3.二層交易生成新的UTXO。將新生成的UTXO附加到陣列。4.以區塊大小為32對準備好的數組進行分割。5.構造子樹(sub-tree)并執行子樹rollup。
假設UTXO樹已被個事項完全填充,系統將被填充的樹進行存檔并啟動一個新樹。也允許使用歸檔樹來引用交易的包含證明。
Nullifier樹
每次轉賬,提款和遷移交易都支出帶有包含證明的UTXO,并標記在nullifier樹上使用的派生nullifier。因此,nullifier樹是一個很大的稀疏Merkle樹,它記錄了深度為254的稀疏Merkle樹中每一個用過的UTXO。因此,Zkopru使用最便宜的哈希函數keccak256作為nullifier樹的哈希函數。
數據:持有超32枚ETH的地址以114318個創16個月新高:7月6日消息,據Glassnode數據顯示,持有超32枚ETH的地址數量為114318個,創16個月新高。[2022/7/6 1:55:19]
要更新nullifier樹,協調者執行以下步驟:
選擇交易并從交易中收集所有nullifier。
檢查是否存在任何已使用的nullifier。
將每個nullifier標記為已使用。在更新過程中,如果所有nullifier都沒有更改nullifier樹的根,請丟棄該交易,因為它會嘗試進行雙花。
就像UTXO樹一樣,Zkopru樂觀地更新了nullifier樹的根。如果有任何問題,我們可以通過生成防欺詐鏈上證明一個nullifier被使用了不止一次。要查看工作原理,請參閱
RollUpChallenge.sol和
SMT.sol。
提款樹
與withdrawal樹和UTXO樹的唯一區別在于,withdrawal樹使用keccak256作為哈希函數。之所以使用keccak256,是因為Zkopru在智能合約上需要提取樹的Merkle證明,而在SNARK回路中則需要UTXO樹的Merkle證明。在樹的根定型后,withdrawal樹中的葉子在1層智能合約中便是可以提取的。
要更新提款樹,協調者執行以下步驟:
收集已選擇交易的所有withdrawal葉子。
拆分出區塊大小為32的withdrawal數組。
構造子樹并執行子樹rollup。
大量存款
當用戶將資產存入Zkropu時會發生什么:
Zkopru合約將給定數量的資產從用戶帳戶轉移到自身。
驗證note是否帶有給定信息的一個有效哈希。
將note合并到MassDeposit列表的最后一項。
什么是MassDeposit?
MassDeposit是用于rollup證明的單個mergedLeavesbytes32值。可在此處檢查什么是rollup證明mergedLeaves。如果協調員提出一個包含MassDeposits的區塊,則該區塊會將MassDeposit中的所有note追加到其UTXOMerkle樹。
協調員如何處理MassDeposits?
協調員只能包括不再更改的“已承諾”MassDeposit。為了包含MassDeposit,協調員將監視Zkopru合約中的存款事件。
MassDeposit什么時候變成“已承諾”?
盡快將存款推到二層網絡。因此,當協調員提出每個新區塊時,它將凍結最新的MassDeposit。
協調員可以包含多個MassDeposit嗎?
是的,可以在最大挑戰成本范圍內一次包含多個MassDeposit。
大規模遷移
大規模遷移的基本思想非常簡單。雖然1層合約上的存款交易創建了MassDeposit對象,但是交易的“遷移”類型輸出可以創建MassMigration,該MassMigration為其目的地網絡構造MassDeposit。
交易可以具有UTXO,遷移或取款類型的輸出。
在Zkopru中,要進行遷移,就會涉及到源網絡和目標網絡。一旦完成源網絡上的大規模遷移,就可以執行源網絡上的migrationTo函數。該函數可以移動資產,同時為目標網絡創建MassDeposit對象。
因此,目標網絡應實現acceptMigration函數。更多信息在這里
rollup之間的遷移標準將通過EIP進行標準化。
即時取款
在Zkopru中,提取者可以通過設置每個提取note的即時提取費用來請求即時提取。然后,任何人都可以提前為未完成的提款付款并收取費用。
為了請求即時提款,所有者為她的note生成ECDSA簽名并進行廣播。擁有足夠資產且可支付的任何人都可以使用簽名提前支付取款。一旦Zkopru成功包含該交易,智能合約便將提款note的所有權轉移給付款人。最后,預付款人在完成交易后將其提取。
我們可以有一個分散的公開市場來收取即時取款費。要跟進最新進展,請訂閱此github:?https://github.com/zkopru-network/zkopru/issues/333
結論
根據此規范,我們已成功使用Circom,Solidity,Typescript等構建了測試網。
使用zk-SNARK和Optimisticrollup的以太坊二層私人交易擴展解決方案。-zkopru-network/zkopru
首先,我們可以實現了一種每筆zk交易可承受的gas成本。平均值約為8800gas,當gas限制為1,150,000且區塊時間為13.2秒時,理論上最大的TPS為105。在Zkopru中,交易數據消耗約534個字節。由于證明數據為256字節,因此如果將來應用證明聚合,我們可以減少大約兩倍的交易成本。否則,每個區塊提出和最終確定的存儲成本分別約為168kgas和55kgas。當我們包括350筆交易時,此成本約為區塊生成成本的6.7%。
此外,我們可以利用OptimisticRollup的靈活性來實現許多功能。首先,Zkopru通過多個SNARK驗證密鑰支持各種類型的交易。您甚至可以使用1個輸入和4個輸出,或4個輸入和1個輸出完成一筆交易。通過OptimisticRollup的靈活性,使其支持多種類型的交易非常簡單。其次,Zkopru實現了精確類型的挑戰案例。這意味著,如果區塊的第n個交易有問題,則質詢僅檢查該特定交易。
另外,Zkopru需要您在計算機上運行節點,這一點也很重要。因此,SNARK高效率性和輕節點是軟件實現要考慮的重要因素。因此,我們將使用Typescript和NodeJS構建該項目,以供將來在基于本機的移動應用程序中使用。預計輕型節點將僅消耗約50?100MB的存儲空間用于樹管理。
總結一下工作,我們希望Zkopru可以用于以太坊的隱私交易層。它既快速,便宜,又可移植到升級版本。歡迎感興趣的人為該項目進行捐款。您可以通過Zkopru的文檔頁面查看一個已經組織過的版本。
感謝你閱讀本文。
參考文獻:
Ethereum93/4:Optimisticrollupforzk-Mimblewimble1
BarryWhitehat’szk-rollup1
JohnAdler’sMinimalViableMergedConsensus1
Plasma-group’sOptimisticRollup
BatchDepositsforrollup/mixers/MACI
Massmigrationtopreventuserlockininrollup
Tags:KOPASSMERMASBitKop TokenBooBanker Research AssociationMERD幣MAST
本文作者JacobEliosoff為加密貨幣基金CalibratedMarkets的管理負責人,CalibratedMarkets是TreviDigitalAssetsFund的GP.
1900/1/1 0:00:00Facebook推出Libra幾乎面臨一面倒的監管質疑和商業意圖方面的拷問,所以落地將會存在非常大的阻力,一方面是各主權國監管部門正在評估Libra對于主權貨幣穩定性的影響以及不確定性.
1900/1/1 0:00:007月17日,“新生·澳門產業區塊鏈協會成立大會”在橫琴召開。會上,《區塊鏈核心算法解析》作者、瑞士蘇黎世聯邦理工學院教授RogerWattenhofer以“貨幣的未來:中央銀行數字貨幣”為主題帶.
1900/1/1 0:00:00各位比特幣愛好者,不要去社交媒體瘋狂dissRyanWatkins,他只是個分析師。Messari研究員RyanWatkins在第二季度穩定幣回顧報告中提到,在2020年第一季度,以太坊的日結算.
1900/1/1 0:00:00來源:Sharpdata說起投資不僅僅是數字資產投資,理解整個市場的運作機制是最基礎的,同時也是最易被人忽略的.
1900/1/1 0:00:00來源/LongHash 在經歷了一次大熊市之后,以太坊已經再次流行起來。受包括ETH價格反彈以及所謂“去中心化金融”的采用等因素的綜合影響,以太坊區塊鏈的活躍用戶和日交易量都出現了強力增長.
1900/1/1 0:00:00