注:原文來自ethresear.ch,作者是leohio。
感謝AlexGluchowski以及BarryWhitehat提供的意見和看法。
一:長話短說
本文介紹了一種無需來自運營方tx歷史數據的zkRollup,這具有在L1上使用txcalldata的gas效率,并且還具有智能合約執行及資產隱私的特性。每個batch只需要在txcalldata中記錄一個狀態改變的所有者的賬戶列表。
缺點是每個用戶在將資金退出到L1時,需進行客戶端zkp計算,而另一個缺點是在EVM兼容性方面帶來困難。
二、背景和動機
對于Rollup的運營商和交易者而言,他們在使用txcalldata時仍然會產生消耗。這種限制僅僅是因為需要恢復作為交易結果的狀態,以免用戶無法生成其資金的Merkle證明。Rollup的大部分規范要求運營商將所有交易歷史數據轉儲到L1上的txcalldata。
zkSync推出用于構建定制zkRollup的模塊化開源框架ZK Stack:6月26日消息,zkSync 宣布推出用于構建定制 zkRollup 的模塊化開源框架 ZK Stack。ZK Stack 將賦予開發人員完全的自主權,從選擇數據可用性模式到使用項目自己的 Token 去中心化排序器。[2023/6/26 22:01:16]
交易歷史數據的這種透明度,不僅增加了txcalldata的gas成本,而且還破壞了交易的隱私。
據推測,交易歷史數據的累加器,既解決了效率問題,也解決了隱私問題。
三、方法
簡而言之,在第一步中,我們構造了一個zkRollup,其中運營商將最終狀態差異直接寫入txcalldata。交易歷史數據將在一個zkp電路的隱私輸入中。
第二步,我們通過分離常用存儲和用戶狀態存儲從txcalldata中刪除最終狀態差異。這使用戶可以使用非包含證明退出。用戶保留其用戶存儲并僅公開其Merkle根。用戶可以用zkp證明根轉換,并且可以更新智能合約的常用存儲。
ZKRollup擴容團隊MatterLabs完成A輪融資,USV領投:3月1日消息,以太坊ZKRollup擴容方案MatterLabs宣布完A輪融資,聯合廣場風投(USV)領投該輪,此前的投資者Placeholder、1kx和Dragonfly繼續參與本輪,除此之外還有zkSync的生態合作方,包括Aave、Balancer、1inch、Curve、Binance、CoinbaseVentures、火幣、路印、Argent、MYKEY、imToken、Flexa、MoonPay、ripio、CoinGecko,但尚未公開具體的融資金額信息。[2021/3/1 18:05:07]
詳細步驟如下:
3.1)第一步,zkRollup中txcalldata使用選項
使用txcalldata恢復完整狀態有兩種選擇。
選項1:將所有交易歷史數據記錄到txcalldata。
路印正式上線zkRollup二層AMM閃兌服務:據官方消息,路印協議Loopring正式上線基于路印協議3.6的以太坊二層AMM(自動做市商)閃兌功能。Loopring二層AMM當前只在網頁端可用,用戶可以用Metamask、支持WalletConnect的錢包和硬件錢包解鎖二層賬號。路印智能錢包將集成AMM相關功能,當AMM資金池達到一定數額后,Loopring會陸續開放相關的訂單簿交易,并上線訂單智能路由功能。官方指出,目前Loopring僅上線了LRC/ETH交易池,將于本月旬上中線更多交易池并開啟AMM流動性挖礦,用以獎勵流動性提供商。[2020/12/2 22:52:20]
選項2:記錄由于區塊中的交易而導致的最終狀態的差異。
在選項2中,由于txcalldata中沒有要記錄的內容,數以百萬計具有相同結果的交易使用0gas進行txcalldata使用。Merkle根轉換的可靠性由zkp保證。
觀點:Validium適用于傳統高頻交易 zkRollup適合去中心化加密支付:近日,針對以太坊Layer 2擴容方案,即DeversiFi最近采用的Validium解決方案,Matter Labs創始人Alex Gluchowski撰文稱,Validium的機制與zkRollup非常相似,唯一的區別是zkRollup中的數據可用性是在鏈上的,而Validium則將其保持在鏈外。這允許Validium獲得更高的吞吐量,但這也導致該解決方案存在兩大問題:1、可凍結用戶資金;2、可沒收用戶資金。
Alex Gluchowski指出,zkRollup的數據可用性可保護用戶的資金免遭扣押和審查。但數據可用性的鏈上存儲,導致了吞吐量的限制。因此,Alex Gluchowski認為Validium方案可能會適用于傳統的高頻交易或具有較低信任假設的游戲,相比之下,完全無需信任的zkRollup方案則非常適合擴展去中心化的加密支付。(Medium)[2020/6/8]
而采用“選項2”是第一步。
動態 | 路印協議在以太坊主網啟動采用zkRollup對以太坊進行擴容的DEX:路印協議LOOPRING宣布啟動Loopring v3上的首個DEX,同時也是首個采用zkRollup對以太坊主網進行擴容的項目。[2019/12/23]
3.2)第二步,優化“選項2”
當批次/區塊中的交易更改合約中的相同存儲值時,上述選項2會花費更少的gas。這種共享和更改的值就像ERC20的總供應量、swap協議的總資產池量等。
而且這種存儲值也會影響到所有資產持有者,這種數據的丟失會導致zkRollup的活性損失。另一方面,其他不常共享和更改的數據大多是個人資產數據。這類數據的丟失,直接意味著資產持有者損失了資金。這種風險是分開的,不會影響到對方的資金。
然后分離用戶的狀態,并提供其狀態的用戶數據及其證明作為運營商對其交易的收據,從而降低了大量gas成本。
交易者向運營方發送交易;
運營商將其用戶狀態的merle證明作為交易的收據;
交易者簽署這個收據;
電路中只接收帶有簽名收據的交易數據;
如果一個用戶進行了交易,并且多個用戶的余額發生了變化,并且他們知道自己的狀態,包括這些余額和Merkle證明,那么他們中的任何一個都可以隨時通過zkp退出其資金。
這證明這是其余額的最后一個狀態,可以通過每個批次的更改狀態所有者的每個帳戶列表的不包含證明來確定。更改狀態所有者的帳戶列表的稀疏Merkle樹可用于有效證明。
有兩種方法可以讓更改狀態的所有者知道他們最近的更改。
如果他們在線,運營商發送最后一個差異,接收簽名的差異,并將其放入zkp電路的輸入,這樣的gas成本是最低的。
如果他們不在線,運營商會將其發布到txcalldata或鏈下去中心化存儲。
通過這種狀態分離,運營商不再需要將最終狀態的任何差異都放在txcalldata中,因為用戶的帳戶狀態對于退出來說足夠安全,而丟失共同共享的數據,只是意味著運營商無法更新zkRollup的Merkle根,他們將簡單地停止服務。然后,公共共享存儲和用戶存儲都可以在鏈外分發。每批只需要在txcalldata中記錄一個狀態改變的所有者的賬戶列表。
3.3)第三步,隱私智能合約執行
用戶的交易不在鏈上,但運營商仍然可以看到并需要看到用戶狀態,以進行zkp證明。
如果用戶在其一邊進行zkp以證明其用戶狀態的Merkle根和公共共享存儲的轉換,則運營商只需更改該Merkle根和存儲,余額的秘密仍然存在。
用戶向運營商發送交易;
運營商返回余額和更新后的公共共享存儲的差異;
用戶對更新后的用戶狀態和公共共享存儲的Merkle根進行zkp證明;
制作每個批次的運營商可通過更改批次中共享存儲的變化知道余額差異,但其無法知道其他批次的余額差異,因為運營商之間只共享最終差異。這具有混合級別的隱私。
這種機制需要用到遞歸zk。
四、更詳細的討論
4、1在鏈下與離線狀態改變者通信
這只是一種選擇。該協議可以在沒有這部分的情況下構建。
即使在最壞的情況下,狀態更改器處于離線狀態,這種情況下的數據可用性風險也非常有限。
離線用戶可以在其在線時獲取數據以安全退出,其可以設置代理而不是自己接收數據。
并且我們可以構造退出方法,以便上次狀態更新不會因為數據可用性問題而使之前的狀態變得危險。
典型的去中心化存儲結構如下所示:
提交哈希
證明preimage(hash(storage))=preimage(hash(storage,last-Ethereum-block-header))-last-Ethereum-block-header
繼續觀察有多少節點可以完成
4.2賬戶鏈上gas費用
每個帳戶都可以獲得一個比地址本身短得多的ID。
每個batch只需要一個賬戶列表,這樣就可以省略重復項,這比txcalldata中使用的交易歷史要高效得多。
4.3公共共享存儲的進一步優化
在以太坊L1上,你無法擦除txcalldata。我們可以修改它,因為公共共享存儲不需要在鏈上。
與交易歷史數據不同,我們只需要最后的狀態數據,不需要任何之前的狀態。然后運營商可以放棄之前在網絡中共享的“最終狀態數據”。
運營商可以通過zkp邏輯知道可以丟棄的數據。
五、結論
分離用戶狀態使得zkRollup智能合約執行既高效又隱私,幾乎所有的txcalldata成本都從zkRollup中移除了。
在Findora主網Beta版上推出Staking,ForgeTestnet上發布FindoraEVM,以及Findora首次5萬美元黑客馬拉松即將啟動之后.
1900/1/1 0:00:00據CryptoDaily10月21日消息,去中心化圖片網絡NumbersProtocol完成600萬美元私募種子輪融資,其中私募投資方為ProtocolLabs和DAOMaker.
1900/1/1 0:00:0010月27日,第七屆萬向區塊鏈全球峰會進入第二天的議程。嘉賓議題主要圍繞數字化轉型和元宇宙展開.
1900/1/1 0:00:00GaryGensler,這是一個讓加密世界為之震動的名字。自今年4月就任SEC主席以來,他對Crypto施以的管制措施,讓Crypto行情波動頻頻.
1900/1/1 0:00:00據TheBlock10月27日報道,幫助DeFi協議在其平臺上推出漏洞獎勵計劃的加密貨幣初創公司Immunefi在一輪種子輪融資中籌集了550萬美元.
1900/1/1 0:00:00元宇宙試圖在讓用戶“生活在”互聯網中,而不僅僅是在2D中沖浪。盡管這個想法雄心勃勃,但由于技術和理念的限制,由于增強現實和虛擬現實驅動的元宇宙在現實世界中尚未得到充分的探索.
1900/1/1 0:00:00