以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

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

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執行的過程中,除了計算本身外,還存在一些內存訪問操作,我們需要把一些數據提前放在內存里,然后在執行計算的時候取出來。

rekt回應關于Fantom像是中心化賺錢計劃文章問題,刪除并致歉:3月11日消息,rekt 回應此前關于發布Fantom 像是中心化的賺錢計劃文章問題,并表示向所有讀者和受影響的協議道歉,同時刪除該文章。

rekt 此前發布文章表示,疑似由 Fantom 基金會控制的單一地址在過去 5 個月中總共發送了約 7.5 億個 FTM 被間接發送到 Binance 地址,同時用于激勵計劃的 6000 萬 FTM 并未由多簽地址管理,fUSD 也存在明顯風險,并進行了具體鏈上分析。基于這些發現,Fantom 看起來更像是一個中心化的賺錢計劃。這篇文章于發布后被多位 KOL 證實缺乏研究,多數陳述都可以被證偽。[2022/3/11 13:50:23]

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

以太坊開發者駁回摩根大通關于 DeFi 主導地位結束的警告:金色財經報道,摩根大通表示,分片的延遲可能會使以太坊未來難以與競爭對手的鏈競爭 DeFi 市場份額。以太坊開發人員和貢獻者表示,他們對安全性的關注為網絡提供了發展的堅實基礎。現在匯總是實時的,分片將降低它們的成本,但該技術有效并且現在已經被大規模降低風險,當你查看數據時,以太坊仍然是最常用的鏈。(decrypt)[2022/1/7 8:31:09]

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

Memory的設計

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

動態 | 維權人士回應《關于OKCoin幣行辦公室遭遇身份不明人員圍堵攻擊的聲明》:據魔牛財經消息,數十投資人根據《關于OKCoin幣行辦公室遭遇身份不明人員圍堵攻擊的聲明》做出了幾點回應:

1、大部分的維權人士全部提供了OKCoin對接人要求維權人士登記的工單和登記表,沒有登記的是因為已經很久沒有人和他們主動對話和接待了;

2、OKCoin申明中提到的幕后操縱人“張某慶”確有此人,但無法確認他是否是其他人的幕后,起碼“張某慶”不是維權人士的幕后;

3、“下跪維權者李某棟”表示OKCoin是完全捏造的;

4、維權者圍堵徐明星最長的超過3個月了,并不是被人雇傭;

5、OKCoin既然說維權者沒有提供信息,但能準確凍結所有維權者的賬號,此說法矛盾;

6、維權者均是成年人,認賭服輸,但不接受操縱,請OKCoin主動公布辦公室的監控視頻,證明維權者打砸了OKCoin的財物,而事實就是,OKCoin再一次的栽贓陷害。正確的是,事后維權者之一的瘦小女士去醫院檢查,是頸椎嚴重錯位;

7、對于OKCoin員工被“維權者”強行推下樓梯一事,OKCoin可以去起訴或者質疑派出所解決不徹底,可以通過法律手段來解決;

8、此數十維權者無法代表所有維權人士,呼吁所有維權人士理性維權,用法律的手段維護自身的權益,但也絕不向非法期貨平臺屈服。絕不參與所謂綁架高管的這種過激行動。其他人的過激行為也和此數十維權者無關。

他們同時也表示知曉數字貨幣的風險,但是無法接受一個被操縱的數字貨幣市場、一個被操縱的期貨。[2018/10/14]

Upbit發布關于EOS失誤操作復原服務公告:韓國虛擬貨幣交易所Upbit官網公告稱,提供在EOS contract 地址失誤操作兌換復原服務。此前無法提供此服務因EOS是基于ERC20的代幣,但此次EOS登陸主網,將與EOS開發團隊協力提供此服務。[2018/6/18]

圖片來源:ethereum_evm_illustrated,page51

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

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

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

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

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:OKCCOINOINCOIOKC TokenCoinonatXtzbcoinworldcoin幣上線了么

以太坊交易所
SignalPlus每日晨報(20230104)-ODAILY_SIG

各位朋友,歡迎來到SignalPlus每日晨報。SignalPlus晨報每天為各位更新宏觀市場信息,并分享我們對宏觀趨勢的觀察和看法。歡迎追蹤訂閱,與我們一起關注最新的市場動態.

1900/1/1 0:00:00
Weekly Brief:FVM存儲公鏈如何做大“蛋糕”-ODAILY_TWEE

FVM:存儲公鏈如何做大“蛋糕”當存儲+Mining的熱度逐漸回歸于理性之后,FVM成為被寄予厚望的存儲公鏈新敘事.

1900/1/1 0:00:00
JZL Capital行業周報第50期:穩定幣不斷流出,市場持續低迷-ODAILY_DAO

一、行業動態總結 上周加密市場仍處于縮量的窄幅震蕩,不管是每股上周二的上漲還是周三的暴跌,加密市場基本都是巋然不動,不同于以往的納指波動放大器,當前的加密市場頗有納指波動縮小器的表現.

1900/1/1 0:00:00
Aptos對比回顧:Move語言和資源模型-ODAILY_MOVE

最近,基于Move語言的區塊鏈項目即Aptos,被廣泛關注。截止到今天為主Aptos,社區成員已經突破10w用戶,生態項目覆蓋Wallet、DEX、DeFi、Web3、NFT和MemeCoin、.

1900/1/1 0:00:00
波卡中的智能合約-ODAILY_TRA

“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰.

1900/1/1 0:00:00
馬斯克與狗狗幣的幣海浮沉-ODAILY_狗狗幣

據悉推特即將開啟支付功能,作為馬斯克最推崇的加密資產,狗狗幣在眾多加密愛好者看來無疑是最有希望的,狗狗幣也借助這一熱點在過去的一周內逆勢上漲了23%,狗狗幣歷經10年發展,再次登上了風口浪尖.

1900/1/1 0:00:00
ads