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)
Arkham:所有推薦鏈接都將包含推薦人郵箱地址的加密版本,此更改已生效Arkham Intelligence:7月11日消息,社區消息顯示,區塊鏈情報公司Arkham的邀請鏈接會泄露邀請者的郵箱,只需解密url后綴的base64就能獲得邀請者的具體郵箱地址。對此Arkham首席執行官Miguel Morel發推回應表示,該系統是在測試版開始時創建的,目的是能夠通過電子郵件跟蹤用戶推薦,以獎勵用戶,除了與用戶溝通和追蹤推薦之外,我們不會將它們用于任何其他目的。今后所有推薦鏈接都將包含推薦人電子郵件的加密版本,因此無法對其進行逆向工程,此更改已經生效。[2023/7/11 10:47:07]
3.接收者使用解密結果嘗試生成各種可能的UTXO。這是因為加密的數據只有49個字節以最小化調用數據的大小。因此,接收者應嘗試各種組合以檢查交易是否包括被恢復的UTXO哈希。如果未能在TX中找到已恢復的UTXO,則認為TX沒有接收方的輸出。
壓縮數據
為了最大程度地減少調用數據,Zkopru將原始數據壓縮為49字節數據。首先,它擺脫了加密候選者的公鑰,因為接收者將使用自己的公鑰來推斷出。并且,它使用TokenID,該TokenID將支持的token地址和索引從0映射到255。然后,由于value可以是ether,erc20Amount或nftId,因此接收者針對這3種情況創建了三種類型的UTXO。最后,如果在交易的輸出列表中存在任何推斷出的UTXO,則接收者成功接收了UTXO。
局限性
Zkopru不會強制回路檢查加密協議。因此,如果發送者未使用適當的共享密鑰或數據,則接受者將不會收到備注。
加密貨幣總市值回升至1.1萬億美元上方:金色財經報道,據coingecko數據顯示,比特幣市值已回升至5117億美元關口,本文撰寫時為511,704,670,312美元。此外,整個加密貨幣市值也出現了較大幅度上漲,當前加密貨幣總市值約為1.101萬億美元,過去24小時漲幅達到3.7%。[2023/6/17 21:43:18]
原子交換
Zkopru以直接方式支持原子交換。如果A和B想要交換其資產,則它們會彼此創建備注并將所需的備注公開在交易數據上。然后,協調者應對相反的交易進行配對或被削減。
例如,愛麗絲想用天的50ETH交換鮑勃的1000DAI。
愛麗絲支出她的60ETHnote,并為自己創建了10ETHnote,并為鮑勃創建了50ETHnote。
愛麗絲還計算她未來的1000DAInote的哈希值,并將該哈希值暴露給她交易的swap字段。
鮑勃則支出他的3000DAInote,并為自己創建了2000DAInote,為愛麗絲創建了1000DAInote。
鮑勃還計算他未來的50ETHnote的哈希值,并將該哈希值暴露給他的交易的swap字段。
一旦協調者匹配了交易池中成對的交易集,它將把交易對包括在一個新區塊中。
如果一個區塊僅包含其中一個,則協調者將被削減。
Zkopru正在使用一種簡單版本的原子互換。然而如果你想要檢驗一種基于MPC的zk原子互換模型,你可以在這里看到詳細信息。
Merkle樹結構
UTXO樹和withdrawal樹中的備注在下一個版本將有64深度。將只有一個單一的UTXO樹和一個提取樹。
近6000萬枚DOGE從未知錢包轉移到Binance:金色財經報道,據WhaleAlert監測數據顯示,59,711,473枚DOGE(5,323,741 美元)從未知錢包轉移到Binance 。[2023/4/17 14:07:16]
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
{%endhint%}
美聯儲理事沃勒:對數字美元的必要性表示“高度懷疑”:10月15日消息,美聯儲理事沃勒表示,對數字美元的必要性表示“高度懷疑”,推出美國央行數字貨幣將帶來大量的成本、風險。美聯儲沒有就關于推進央行數字貨幣作出決定,對美國是否需要央行數字貨幣“高度懷疑”。[2022/10/15 14:28:11]
如何管理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樹的哈希函數。
要更新nullifier樹,協調者執行以下步驟:
選擇交易并從交易中收集所有nullifier。
NFT項目Doodles社交媒體賬號整個8月未有任何更新:金色財經報道,據社交媒體數據顯示,NFT 項目Doodles 賬號已有超過一個月時間未有任何更新內容,最后一條轉發發生在 2022 年 7 月 29 日,目前尚不清楚 Doodles 帳戶由于什么原因停更。不過,盡管 Doodles Twitter 過去一個月內沒有內容發布,但在 8 月 11 日回復了一位社區用戶的推文,內容僅有兩個表情符號:一個紅氣球和一個牛仔。根據最新 NFT 數據顯示,Doodles 交易總額超過 5.02 億美元,市值約為 2.5785 億美元,當前地板價為 7.64 ETH,24 小時跌幅 2.43%。[2022/9/2 13:03:14]
檢查是否存在任何已使用的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
原文:https://link.medium.com/yFdZgW6x57編譯:PolkaWorldPolkaWorld解讀:Gavin剛剛更新Medium文章,闡述了波卡的第一次”投票“.
1900/1/1 0:00:00本文轉載翻譯自香港銷量最高的英文收費報紙《南華早報》 原文作者: RichardLord ???????? 原文標題: HowLinkedInfounder’sbook,Blitzscaled.
1900/1/1 0:00:007月18日,在珠海橫琴舉辦的“DeFi涌現”研討會上,HCM資本管理合伙人李仁杰帶來主題分享《借貸之外,DeFi的更多應用》.
1900/1/1 0:00:00穩定幣聚合協議mStable即將于北京時間7月15日22點左右在Balancer上分發其協議代幣Meta.
1900/1/1 0:00:00兩種估值方法表明,DeFi將會繼續火爆,而且現在也沒有被高估。與MakerDAO相比,諸如Aave和Synthetix之類的創新協議有著更高的需求,與其潛在的增長潛力相稱.
1900/1/1 0:00:00Facebook推出Libra幾乎面臨一面倒的監管質疑和商業意圖方面的拷問,所以落地將會存在非常大的阻力,一方面是各主權國監管部門正在評估Libra對于主權貨幣穩定性的影響以及不確定性.
1900/1/1 0:00:00