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

關于在ZKEVM中移除內存限制的一些想法-ODAILY_MOR

Author:

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

ZKEVM是一個具有可編程性,以ZK技術為基礎的虛擬機,它可以為虛擬機執行的所有操作生成一個零知識證明,用來證明虛擬機執行操作的正確性。有關ZKEVM的幾種實現方案介紹及優劣對比,可以參考V神的文章:ThedifferenttypesofZK-EVMs;如果你想了解更多的設計細節,你也可以閱讀PSE的ZKEVM方案(native-level):privacy-scaling-explorations/zkevm-specsPolygon的ZKEVM設計(bytecode-level):PolygonzkEVMDocumentation;Sin7y的ZKEVM設計(language-level):OlaVM:AnEthereumcompatibleZKVM。\n\n無論是哪種方案,都需要用zk去約束VM的所有的行為,這些行為包括:

Lido關于V2版本升級的提案已開放投票:金色財經報道,Lido關于V2版本升級的提案已開放投票,V2版本升級將包括對以太坊提款的支持以及質押路由器。目前多家安全機構正在對代碼進行審計,若提案通過,Lido計劃于3月7日至31日期間在Goerli測試網上進行測試。V2版本在主網上的部署則取決于以太坊Shapella升級時間以及審計結束時間。[2023/3/1 12:36:59]

?執行合約計算邏輯

?執行內存訪問

?執行哈希計算

?執行世界狀態更新

?...

眾所周知,zk在計算壓縮領域,具有極大的應用的前景;無論原始的計算多么復雜,其驗證過程都十分高效,這是所有zk算法的基本技能。因此,對于VM執行過程中的計算部分,zk可以很好的發揮作用;而在VM執行的過程中,除了計算本身外,還存在一些內存訪問操作,我們需要把一些數據提前放在內存里,然后在執行計算的時候取出來。

Compound社區關于將抵押因子cSUSHI降至70%的提案開啟投票:11月2日消息,Compound社區提案133開啟投票,將持續至11月4日。該提案建議將Compound V2 SUSHI抵押因子cSUSHI從73%降低到70%。[2022/11/2 12:07:26]

而由于大部分的VM都是讀寫內存,因此不得不約束這些內存訪問操作的正確性;對于內存訪問的約束本身并不復雜,但是由于內存訪問的次數很高,所以導致多項式的階數很高,使得內存相關的約束證明耗時比較可觀。

在ZK(E)VM的方案中,我們更應該把zk主要應用在對于計算本身的證明,對于EVM的其他行為,我們可以在VM層面去優化,以減少zk約束的規模。

Memory的設計

以EVM為例,EVM的內存是一塊很簡單的字節數組,可以存儲32字節或者1字節的數據,也可以讀取32字節的數據。

BoringDAO關于“為USDT和USDC跨鏈用戶提供獎勵”的提案已開啟投票:4月14日消息,BoringDAO在推特上表示,提案BIP-21現在開啟Snapshot投票。該提案提議根據初始鏈和目的地鏈的流動性水平,為USDT和USDC跨鏈用戶提供獎勵。投票時間為4月14日-4月17日。[2022/4/14 14:24:15]

圖片來源:ethereum_evm_illustrated,page51

在EVM中,和Memory相關的指令有:

?MLOAD(x):從地址x處加載32字節的數據到調用棧(stack)

英國關于禁止向散戶出售加密貨幣衍生品的禁令于今日正式生效:據官方消息,英國金融行為監管局(FCA)關于禁止向零售用戶出售加密貨幣衍生品和交易所交易票據的禁令于今日(1 月 6 日)正式生效。此前報道,英國金融行為監管局于 2018 年 11 月份進行公眾意見征求,以探討是否禁止向散戶投資者出售加密貨幣相關衍生產品,于 2020 年 10 月份正式宣布該禁令。FCA 表示,由于加密貨幣的波動性較高等因素,衍生品不適合零售消費者。該禁令適用于在英國境內或在英國境內開展業務的所有公司。[2021/1/6 16:31:25]

?MSTORE(x,y):從地址x開始,寫入32字節的y

?MSTORE8(x,y):從地址x開始,寫入8字節的y(低位開始)\n有興趣的讀者可以在EVMPlayground上感受下,上述內存操作帶來的內存和棧的變化。

OKEx發布關于賬戶結構優化的公告:11月23日,OKEx發布關于賬戶結構優化的公告。公告顯示,為了提升使用體驗,即將對OKEx賬戶結構進行優化,原“法幣賬戶”將并入“資金賬戶”,未來可以直接使用資金賬戶參與法幣交易。該優化預計將于2020年11月24日10:00 -12:00 (HKT) 進行。詳情如下:

1. 原“法幣賬戶”將并入“資金賬戶”,法幣交易將通過資金賬戶出售數字資產,購買的數字資產也會直接進入資金賬戶。

2. 現有法幣交易訂單還將保留,不受本次升級影響。

3. 原“法幣賬戶”的余額,系統將自動為您轉入“資金賬戶”。

4. 升級完成后,資金劃轉將不再支持轉至\"法幣賬戶\"。

升級期間,可以正常訪問OKEx網站和使用APP,資金與交易不受影響。 如升級時間有變動,我們將第一時間發布公告通知。[2020/11/23 21:47:53]

Memory的約束

在OlaVM的5.3.5節,你可以看到關于Memory約束的設計原則(OlaVM內存相關的指令和EVM類似)。

在OlaVM中,RAM的所有操作組成一個獨立的table,table里的內容由memory和storage兩種類型組成。在這里,我們只關注對于memory的約束。\n內存的操作類型大體可以分為三類:

?Init操作

?write操作

?read操作

觸發Init的場景有三種,分別是ctx的變換,type的變化,addr的變化;當任何一個場景觸發時,需要約束,操作類型為w(write),v(value)為0。

當上述三種場景沒有觸發時,則需要根據當前的操作類型來約束;

?如果是w(write)操作,需要約束clk是遞增的,寫入的值v是對的。

?如果是r(read)操作,需要約束clk是遞增的,讀取的值和上次寫入的值是相同的。

一些可能性提升

?對于Init操作,需要約束一個內存地址的初始化的值為0么?

我認為沒有必要對初始化的操作進行約束;實際上,對于任何地址,你可以約束它的第一次訪問必須是write操作,而不是read操作;而如果是write-once內存模型,這個限制將天然存在,因此,如果虛擬機的內存模型改為write-once模型,將減少對內存的訪問約束。

?對于read操作,能否避免對應的約束,即避免校驗讀取的值和上次寫入的值一致?

由于VM本身定義的memory類型的讀寫內存,無法保證,VM在讀取這個內存地址的值之前,這個地址的值沒有被修改,因此需要增加一個相等性校驗,如下圖所示:

由此可以看出,產生這個約束的核心原因,內存模型是讀寫內存,地址的值存在被改寫的可能,因此,如果嘗試使用只讀內存,那么就不需要在memory的約束去實現上述的一致性約束。

注意:這可能會增加虛擬機的實現難度,因為這是一個不常用的內存模型;并且,我們應該不會首先在這個虛擬機上面去定義一個高級DSL,因為這個語言對Dapp開發者會有些不友好,需要在編譯器層面去消除,使得這些不友好,對開發者不可見。\n\n所以,如果采用上述內存模型,內存模塊的約束,將只剩下針對write操作的約束,即使用copyconstraints來保證寫入的值是對的即可。無須約束:

?讀取的值等于寫入的值,因為內存只能被寫一次

?讀的clk大于寫的clk,因為只能先寫再讀

?內存的初始化值為0

參考

ethereum_evm_illustrated,page51

關于我們

Sin7y成立于2021年,由頂尖的區塊鏈開發者組成。我們既是項目孵化器也是區塊鏈技術研究團隊,探索EVM、Layer2、跨鏈、隱私計算、自主支付解決方案等最重要和最前沿的技術。

微信公眾號:Sin7Y

GitHub|Twitter|Telegram|Medium|Mirror|HackMD|HackerNoon

Tags:MEMMEMOEMOMORMEMAB4 Flash Memorylemond幣什么時候上交易所MORPHO幣

以太坊最新價格
TRON DAO Ventures賦能區塊鏈精英初創企業-ODAILY_RON

TRONDAOVentures致力于培養精英初創企業,通過全面投資和戰略優化賦能企業發展。TRONDAO生態系統基金長期致力于實現去中心化.

1900/1/1 0:00:00
DappRadar:JustLend DAO過去7日用戶增長50.86%-ODAILY_EOS

據DappRadar數據,JustLendDAO在過去7日中,用戶增長50.86%,交易數增長37.39%,成交量增長13.15%.

1900/1/1 0:00:00
預言機:鏈接加密世界與現實世界的橋梁-ODAILY_NFT

區塊鏈是獨立于現實世界運行的系統。加密世界的數據在鏈上產生,也在鏈上繼續被使用。鏈外世界的數據無法直接傳遞到區塊鏈上.

1900/1/1 0:00:00
WGGDAO瓜田社區非典型鏈游經濟模型黑客松(第一場)-ODAILY_CIA

瓜哥參加完第一場的感受:平時經常接觸到一些瓜友和項目方在模型設計上有自己的想法,雖然不成熟,但有亮點,我們就組織了三場非典型經濟模型黑客松比賽.

1900/1/1 0:00:00
加密貨幣支付,邁入巴西-ODAILY_加密貨幣

原文來源:Decrypt 原文編譯:白澤研究院 巴西沒有將比特幣定為法定貨幣,但它做了退而求其次的事:它通過了一項法律,在全國范圍內將加密貨幣作為支付手段合法化.

1900/1/1 0:00:00
DappRadar:JustLend DAO過去24小時成交量增長112.92%-ODAILY_DAPP

據DappRadar數據,JustLendDAO在過去24小時里,用戶增長1.84%,交易數增長15.97%,成交量增長112.92%.

1900/1/1 0:00:00
ads