TL;DR
在上一篇文章Hello,OlaVM!中提到,OlaVM的愿景是建立一個高性能的ZKVM,本文將重點介紹使得OlaVM獲得高性能的工具之一,Lookupargument。Lookupargument對縮減電路規模,以提高ZK效率有很重要的作用,在ZKVM的電路設計中被廣泛應用,通過本篇文章你可以了解到:
1.Lookupargument在ZKVM中將發揮著怎樣的角色?
2.Plookup協議原理。
3.Halo2的Lookupargument協議原理。
4.兩個Lookupargument算法之間的聯系。
TherolesinZKVM
所謂的ZKVM,其實就是用ZK約束VM所有的執行過程,VM的執行過程一般可以分為:指令執行,內存訪問,內置函數執行等。在一個trace里執行對這些操作的約束看起來有點不切實際,首先,不同操作類型的約束對應不同的trace的寬度,如果其中一個約束對應的trace寬度特別大,就會造成其余約束對應trace的浪費;然后,一個trace里有太多不同的操作類型,就會引入更多的selector,不僅會增加多項式的個數,而且還會增加約束的階;最后,由于群的階限制,trace的行數不能超過這個群的階,因此,應該盡量減少某種類型的操作所占用的trace行數。
過去4天Wintermute Trading錢包共向交易所存入1110萬枚YGG:8月7日消息,據Lookonchain監測,過去7天YGG價格上漲近250%。Wintermute Trading錢包在過去4天共向交易所存入1110萬枚YGG(約670萬美元),目前持有250萬枚YGG(約150萬美元)。[2023/8/7 21:29:15]
因此,為了簡單,我們需要:
a.把不同的操作類型分成多個子trace,然后分別證明,主trace和子trace之間需要通過Lookupargument來保證數據的一致性。
b.對于一些ZK-unfriendly計算,我們可以通過Lookupargument技術來縮減trace的規模,比如位運算等。
當然,也有其他的一些技術手段來減少trace規模,我們將在后面的文章中給予說明。
Lookupbetweentracetables
VM所有的執行過程會組成一個完整的trace,稱為主trace,這里的完整是包含VM執行的所有狀態,不會涉及到輔助狀態,比如,方便ZK驗證的一些擴展信息等;如前面所述,在主trace里面包含這種輔助信息,會使得主trace變得復雜,難于約束。因此,為了約束方便,通常會建立一些子trace,然后分別針對這些子trace進行約束,而主trace主要用來進行執行正確的程序約束和Context約束。
受攻擊事件影響,pETH和alETH出現較大幅度負溢價:7月31日消息,據Curve Finance頁面信息,受攻擊事件影響,pETH和alETH出現不同程度負溢價。其中alETH/ETH兌換比例為1:0.7742,pETH/ETH 兌換比例為1:0.4513。
注:pETH是一種由JPEG'd Protocol發行的ETH衍生資產。alETH是Alchemix協議中一種價格錨定ETH的合成資產。[2023/7/31 16:08:01]
圖片1.Lookupbetweentraces
通過建立不同的子trace,我們把VM執行的不同操作進行劃分,通過Lookupargument技術來保證了子trace的數據源于主trace。對于子trace里的數據有效性證明,需要根據具體的操作類型,生成不同的trace,然后用對應的約束去證明trace的有效性;特別是對于bitwise,rangcheck等zk-unfriendly操作。
LookupforZK-unfriendlyoperations
如前面所述,每個子trace的證明是獨立的,所以獲得一個盡可能小的trace,會提高prover的效率。以bitwise為例,bitwise操作包含AND,XOR,NOT三種操作。如果想通過電路單純的實現對bitwise操作的約束,那需要做的可能是,把每個op拆成多個2進制的limbs,如果這些op是32bit位寬,那就會拆分成32個limbs。然后,你需要約束:
Struct Finance為DeFi用戶推出可定制的利率產品:金色財經報道,DeFi平臺Struct Finance允許投資者交易與加密相關的定制結構化金融產品,并已發布利率保險庫和分段機制。該公司將以未經許可的方式包括不同的代幣、代幣化衍生品、金庫和資金池,以制作適合投資者風險偏好的新產品。[2023/6/22 21:53:13]
總共占用3+32*3=99個tracecell,約束個數為3次sumcheck+32次bitwise=35個。
如果這個時候有一些真值表,對于AND,XOR,NOT計算,你可以定義三個表,這些表里存的是指定位寬的op進行bitwise計算的數據,比如8bit。對于32bit的op,只需要把它們拆分成4個8bit的limbs,然后這些op的limbs之間的bitwise關系,也不用對應的約束去實現,只需要在fixedtable里進行Lookup即可,此時,總共占用了3+4*3=15個tracecell,約束個數為3次sumcheck+1次Lookupargument。
數據:ARK基金本周累計買入約54.2萬股灰度GBTC:金色財經報道,當前灰度GBTC報價7.93美元,負溢價率48.7%。ARK方舟基金本周共買入541,845股灰度GBTC。[2022/12/18 21:52:01]
圖2.LookupinArithmeticoperations
Lookupargument不僅對bitwise操作的證明有極大的提升作用,對于rangeck操作同樣。對于32bit的op,只需要把他拆分成2個16bit的limbs即可;這里有兩個很好的設計,一個是會使得rangecheck占用更少的tracecells;另外一個是rangcheck的sum約束可以復用我們自定義的ADD-MUL約束。對于不同的計算類型,能夠復用同一個約束,對整體的效率提升具有很大的幫助,如上圖所示,對于自定義的ADD-MULgate,它可以支持ADD,MUL,ADD-MUL,EQ,RANGECHECK五種計算類型的約束復用。
Plookup協議
介紹
CoinList 鏈上地址仍可轉出 Token,此前曾提示托管方維護時間長于預期:11月24日,據官方消息,CoinList Support 近期曾表示因托管合作伙伴正在進行維護,且維護時間長于預期,所以在此期間 FLOW、MINA、ROSE 和 CFG 無法充值和提現。用戶資金是安全的。11 月 23 日,ROSE 充值和提現已恢復。
截至目前,FLOW、MINA 和 CFG 仍無法進行充值和提現。 目前社區存在部分用戶反饋 CoinList 提幣困難,或質疑 CoinList 出現償付問題。CoinList 尚未做出回應,官網尚未出現禁止提幣的公告,同時鏈上數據顯示 CoinList 相關地址當前均有用戶成功提現記錄,仍可轉出 Token。[2022/11/24 8:05:16]
符號說明
預處理
協議過程
協議理解
Halo2Lookup協議
介紹
協議過程
支持ZK
Extend-1:VectorLookup
Extend-2:Multi-tables
LinksbetweenPlookupandLookup
Plookup協議與Halo2的lookup協議都能證明f?t,但兩個協議的思想是不同的,區別如下:
Plookup需要使用f和t構建一個新的數列s,f和t中的元素都在s中至少出現一次,接著通過比較s和t中元素的非零距離集合是相等的來證明s?t,最終f?s?t→f?t。
Halo2的lookup直接證明f?t,不需要構建新的數列,比plookup更簡潔。
Plookup和Halo2lookup都需要對集合進行排序和補齊,plookup補齊后|t|=|f|+1,Halo2lookup補齊后|t|=|f|=2^k。
參考
1.Hello,OlaVM!:https://hackmd.io/@sin7y/H1yPj_J8i
2.OlaVM:https://olavm.org/
3.Plookup協議:https://eprint.iacr.org/2020/315.pdf
4.Halo2的Lookupargument:https://zcash.github.io/halo2/design/proving-system/lookup.html
關于我們
Sin7y成立于2021年,由頂尖的區塊鏈開發者組成。我們既是項目孵化器也是區塊鏈技術研究團隊,探索EVM、Layer2、跨鏈、隱私計算、自主支付解決方案等最重要和最前沿的技術。團隊于2022年7月推出OlaVM白皮書,致力于打造首個快速、可擴展且兼容EVM的ZKVM。
官網:https://sin7y.org/
白皮書:https://olavm.org/
社群:http://t.me/sin7y_labs
官推:@Sin7y_Labs
微信公眾號:Sin7y
郵箱:contact@sin7y.org
研究文章:https://hackmd.io/@sin7y
Github:Sin7y
2022年3月完成1.35億美元A+輪融資,本輪融資由a16z、紅杉資本、FTX共同領投,CoinbaseVentures、PayPalVentures、TigerGlobal和UniswapL.
1900/1/1 0:00:00幣安收購FTX失敗導致比特幣價格暴跌,加密行業向下Bitfinex的分析師在與《獨立報》分享的一份報告中寫道:“隨著數字代幣空間在狂熱的拋售壓力中搖搖欲墜.
1900/1/1 0:00:00據最新消息,EllipsisFinance平臺第22周礦池投票新鮮出爐,2pool高居第一,總票數高達1320億,占總投票數28.20%.
1900/1/1 0:00:00據最新消息,OKX聯合波場TRON將于2022年9月2日11:00(HKT)正式上線TRX和BTT賺幣特別活動,年化收益率最高可達65.35%,用戶可以一鍵質押,享受多重高息福利.
1900/1/1 0:00:00本周概覽 -投資者迅速消化了失業率提升對市場的利好,后續市場遭遇小幅下跌。-加密市場整體量能不足,以太坊合并在即,以太坊及其衍生生態表現強勢.
1900/1/1 0:00:00最新數據顯示,截至12月13日,JustLendDAO借貸市場中存款APY最高的是BTT,達到18.74%,其次是JST和WIN,分別達到17.18%、14.17%.
1900/1/1 0:00:00