比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

一文讀懂以太坊最新二層隱私技術Zkopru,實現ETH、ERC20和ERC721代幣標準互通_KOP

Author:

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

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)

zkSync:實際獲得空投者為符合條件的前1萬名社區成員,剩余成員可在EthCC后分階段獲得:7月16日消息,zkSync發推表示此次NFT空投完全透明,179,365名合格社區成員中的前10000名獲得此次空投,剩余的169,365名社區成員將有資格在EthCC(Ethereum Community Conference)之后的多階段過程中獲得LIBERTAS OMNIBUS NFT。[2023/7/16 10:58:22]

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想要交換其資產,則它們會彼此創建備注并將所需的備注公開在交易數據上。然后,協調者應對相反的交易進行配對或被削減。

基于區塊鏈技術的農業金融科技公司Agreena完成4600萬歐元B輪融資:金色財經報道,基于區塊鏈技術的農業金融科技公司Agreena宣布完成4600萬歐元B輪融資,德國多階段投資機構HV Capital領投,影響力基金AENU和專注于金融科技行業的 Anthemis、食品行業投資機構Gullsp?ng Re:food、丹麥的出口和投資基金等參投。Agreena公司使用可持續的區塊鏈技術來增強碳信用額度的可追溯性和透明度,以及使用電子貨幣和智能合約來促進具有氣候意識的企業和農民之間的支付交換,并且支持即時進行大規模對賬。[2023/3/31 13:36:17]

例如,愛麗絲想用天的50ETH交換鮑勃的1000DAI。

愛麗絲支出她的60ETHnote,并為自己創建了10ETHnote,并為鮑勃創建了50ETHnote。

愛麗絲還計算她未來的1000DAInote的哈希值,并將該哈希值暴露給她交易的swap字段。

鮑勃則支出他的3000DAInote,并為自己創建了2000DAInote,為愛麗絲創建了1000DAInote。

鮑勃還計算他未來的50ETHnote的哈希值,并將該哈希值暴露給他的交易的swap字段。

一旦協調者匹配了交易池中成對的交易集,它將把交易對包括在一個新區塊中。

如果一個區塊僅包含其中一個,則協調者將被削減。

Zkopru正在使用一種簡單版本的原子互換。然而如果你想要檢驗一種基于MPC的zk原子互換模型,你可以在這里看到詳細信息。

Merkle樹結構

3月11日MetaMaskSwaps交易量超1.7億美元,創歷史新高:金色財經報道,Dune數據顯示,MetaMask Swaps在3月11日的交易量超過1.7億美元,創下歷史新高,隨著交易量激增,Metamask賺取了約150萬美元的交易費用。此外MetaMask Swaps累計成交額已突破250億美元,截至發文時為25316298636美元;累計成交量超過669萬筆,當前為6690666筆。[2023/3/15 13:04:51]

UTXO樹和withdrawal樹中的備注在下一個版本將有64深度。將只有一個單一的UTXO樹和一個提取樹。

Zkopru的樹林由UTXO樹,nullifier樹和withdrawal樹組成。

UTXO樹是僅追加用法,包含UTXO的Merkle樹。通過提交包含Merkle證明,用戶可以將UTXO用作交易的流入。并將交易的輸出結果附加回最新的UTXO樹中。

另外,如果zk-transaction創建withdrawal輸出,則Zkopru會將它們附加到最新的withdrawal樹中。將樹的根被標記為已完成后,所有者可以通過證明所有權來提取資產。

然后,通過commitment-nullifier方案,將用過的UTXO的nullifier標記為在nullifier樹中使用。如果交易試圖使用已經無效的葉子,它將變為無效,并且挑戰者系統會大幅削減區塊提議者。

Merkle樹規范

韓檢方將對Bithumb展開強制搜查,已掌握故意操縱代幣行情情況:1月27日消息,韓國檢察機關以操縱在國內虛擬貨幣交易所上市代幣的市場價格為由,將對Bithumb進行強制調查。目前,已掌握特定勢力或人物故意操縱代幣行情、獲取不正當利益的情況。其中首爾南部地方檢察廳金融調查1部對位于首爾江南區的Bithumb總公司進行了扣押搜查,確保獲得對應交易明細,檢察機關表示還將調查有關其他交易所的交易明細。[2023/1/28 11:32:59]

{%hintstyle=“warning”%}

UTXO樹&withdrawal樹在Burrito版本上有64深度https://github.com/zkopru-network/zkopru/issues/35

{%endhint%}

如何管理UTXO樹

單個UTXO樹是用于成員資格證明的稀疏Merkle樹。它使用Poseidon哈希生成zkSNARK證明以隱藏支出哈希及其路徑。

要將新樹葉追加到UTXO樹,協調者將執行以下步驟。1.準備一個陣列。2.協調者選擇要包括的MassDeposits,并將MassDeposits中的每筆存款附加到陣列中。3.二層交易生成新的UTXO。將新生成的UTXO附加到陣列。4.以區塊大小為32對準備好的數組進行分割。5.構造子樹(sub-tree)并執行子樹rollup。

假設UTXO樹已被個事項完全填充,系統將被填充的樹進行存檔并啟動一個新樹。也允許使用歸檔樹來引用交易的包含證明。

Nullifier樹

Genesis銷售與交易聯席主管Matt Ballensweig離職,并宣布加入Exodus:9月29日消息,加密貸款機構Genesis銷售和交易聯席主管Matt Ballensweig宣布離職,并加入加密錢包公司Exodus。Ballensweig表示將繼續擔任Genesis的顧問,以結束他在Digital Currency Group旗下公司(CoinDesk是姊妹公司)的五年任期。Genesis因Three Arrows Capital遭受巨額損失后,流失了頂級人才。8月,Genesis裁員20%,首席執行官Michael Moro離職;9月初研究負責人Noelle Acheson離職。據悉,其衍生品主管Joshua Lim也有離職意向。(CoinDesk)[2022/9/29 22:38:55]

每次轉賬,提款和遷移交易都支出帶有包含證明的UTXO,并標記在nullifier樹上使用的派生nullifier。因此,nullifier樹是一個很大的稀疏Merkle樹,它記錄了深度為254的稀疏Merkle樹中每一個用過的UTXO。因此,Zkopru使用最便宜的哈希函數keccak256作為nullifier樹的哈希函數。

要更新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:KOPMASMASSMERSEKOPAYmetamask中文版手機下載mass幣今日價格MERI幣

比特幣交易
日本銀行業巨頭將于今年下半年發行自己的穩定幣_COI

據朝日新聞7月14日報道,世界第五大銀行、日本最大的金融公司三菱日聯金融集團計劃在2020年下半年發行自己的數字貨幣MUFGCoin.

1900/1/1 0:00:00
最新最全面的Filecoin挖礦指南!_COIN

自從我們發布上一版本Filecoin測試網存儲礦工的挖礦指南以來,發生了許多變化,當時,我們剛剛啟動了測試網的第一個版本,然后我們收到了許多對測試網絡不確定性的建議.

1900/1/1 0:00:00
發幣自救失敗 D站死于盜版_DILI

上海檢察方以涉嫌侵犯版權罪批捕D站創始人及相關人員的消息,再次令幣圈想起了當初借D站場景發幣的D社。被逮捕的「溫某某」疑似D社發起人溫博特.

1900/1/1 0:00:00
為未來而建設:從哲學的角度看區塊鏈的未來_比特幣

原文標題:UnintendedArchitecture 字數:1597 作者:MeltemDemirors 譯者:FrauYang 翻譯機構:DAOSquare 我愿即我造,我造即我 最近.

1900/1/1 0:00:00
奔馳制造商戴姆勒將使用區塊鏈收集數據,應用“計算數據”協議以保護隱私_OCEAN

OceanProtocol是一種專注于數據收集,共享和貨幣化的去中心化數據交換協議。它宣布與梅賽德斯·奔馳制造商戴姆勒公司合作進行一個試點項目.

1900/1/1 0:00:00
科普 | ETH 1.x與無狀態節點介紹_ETH

本篇文章將剖析eth1.0存在的各項問題,并介紹EthereumFoundation提出的eth1.x升級相關改動能如何改善當前以太坊的困境.

1900/1/1 0:00:00
ads