當前以太坊設計中的向后兼容性所面臨的挑戰之一是區塊鏈歷史記錄的訪問需要對Merkle證明進行EVM驗證,這還假設區塊鏈將永遠使用相同的格式和相同的密碼技術。未來的分片設計更是增加了這一點的重要性,因為Rollup的欺詐證明和有效性證明將需要指向分片數據的指針。
這篇文章提出了一種更加面向未來的方法:我們可以添加執行驗證特定類型證明的抽象任務的預編譯,而不是要求在EVM中驗證歷史和分片的證明。如果將來更改格式,預編譯邏輯將自動更改。預編譯甚至可以具有條件邏輯,用于驗證過渡前插槽的一種證明和轉換后插槽的另一種證明。
歷史區塊數據
defverifyHistoricalBlockRoot(slot:uint256,??value:bytes32,??proof:bytes)
區塊鏈網絡Neutron將在Cosmos的Replicated Security上啟動:金色財經報道,區塊鏈網絡 Neutron 已獲得 Cosmos 鏈間服務提供商 Cosmos Hub 的批準,在 Replicated Security (RS) 上啟動,該提案以 61% 的投票率獲得通過。Neutron 旨在通過使用 CosmWasm (Cosmos WebAssembly) 將智能合約引入 Cosmos 網絡。(Blockworks)[2023/5/9 14:50:54]
這種預編譯將嘗試以兩種方式之一解釋該proof:
如果這個proof為空,則直接檢查該value是否為保存在正確位置的歷史區塊根。如果slot太舊,它將失敗。
Aptos生態訂單簿協議Econia已收購Aptos生態現貨DEX Laminar Markets:金色財經報道,Aptos生態訂單簿協議Econia已收購Aptos生態現貨DEX Laminar Markets,項目開發團隊已經合并,Econia將集成Laminar現有的訂單簿工具,為DApp開發人員和做市商提供無縫的集成體驗。[2023/3/2 12:38:04]
如果這個proof是一個Merkle分支,它會根據history_roots中的正確條目將其驗證為Merkle分支
defverifyHistoricalStateRoot(??slot:uint256,??value:bytes32,??proof:bytes)
去中心化質押協議Lido鎖倉量回升至65.9億美元,7日漲幅超46.7%:7月19日消息,據歐科云鏈鏈上大師數據顯示,去中心化質押協議Lido總鎖倉量回升至65.9億美元,近 7 日漲幅超46.7%。此次鎖倉量上漲,推測與以太坊開發者宣布Merge更新將于9月19日進行有關。此外,昨日Lido宣布將在Layer 2上支持stETH,并計劃未來直接支持在Layer 2上質押以太坊,無需跨鏈至以太坊主網。[2022/7/19 2:22:59]
驗證狀態根,使用與該區塊根相同的邏輯。
defverifyHistoricalStateValue(??slot:uint256,??key:bytes32,??value:bytes32,??proof:bytes)
以“屎”為“主題”的NFT項目總交易額達8668.6ETH,約1551萬美元:金色財經消息,據OpenSea數據顯示,以7日交易額排名前100 NFT項目統計,其中有3個項目以“屎”為“主題”。它們分別是ShitBeast(總交易額4022.8ETH)、ill poop it nft(總交易額3874.5) 和ShitPlunger(總交易額771.3ETH),截至發稿時,7日交易額排名前100 NFT項目中3個以“屎”為“主題”的NFT項目總交易額累計達到8668.6ETH(約1551萬美元)。[2022/6/10 4:16:05]
驗證歷史狀態中的值。這個proof包括三個要素:
狀態根
表明狀態根正確性的證明
Patricia或Verkle或其他證明該value實際上位于狀態樹中的位置key中的證明
defverifyHistoricalTransaction(??slot:uint256,??txindex:uint256,??tx:bytes,??proof:bytes)
驗證tx實際上是否在給定slot的區塊的txindex中。證明內容如下:
區塊根
表明區塊根正確性的證明
證明給定的tx實際上是給定位置的交易
defverifyHistoricalReceipt(??slot:uint256,??txindex:uint256,??receipt:bytes,??proof:bytes)
驗證receipt實際上是給定slot的txindex處的交易接收。證明內容如下:
區塊根
證明區塊根正確性的證明
證明給定收據實際上是給定位置的receipt
分片數據
defverifyShardBlockBody(??slot:uint256,??shard:uint256,??startChunk:uint256,??chunks:uint256,??data:bytes,??proof:bytes)
驗證data=body,其中body是給定slot中給定分片的主體。該證明將包括:
證明區塊子集的Kate證明
如果slot太舊,則在slot+96處的區塊根的Merkle證明,然后是從該slot到分片承諾數組中的位置的Merkle證明,顯示一個最終性承諾
當我們使用BLS-12-381Kate承諾時,預編譯還將驗證數據是32字節chunk的列表,其中每個chunk都小于曲線子組順序。如果沒有在給定位置保存分片區塊,則預編譯就像在該位置保存了對零長度數據的承諾一樣。如果給定位置的value未確認,則預編譯總是失敗。
defverifyShardPolynomialEvaluation(??slot:uint256,??shard:uint256,??x:uint256,??y:uint256,??proof:bytes)
如果我們將給定(slot,shard)處的分片區塊視為多項式P,其中字節i*32...i*32+31是w**i處的評估,這將驗證P(x)=y。該proof與數據子集proof相同,除了Kate證明正在證明某個點的評估而不是在證明一個位置子集的數據。
如果我們將來不再使用BLS-12-381,則預編譯會將SNARK作為輸入,驗證數據完全由小于該曲線階數的值組成,并驗證對當前字段數據的評估。
這種預編譯對于等價協議的跨多項式承諾方案證明?很有用,可用于允許ZKRollup直接對分片數據進行操作。
作者:VitalikButerin
原文:https://ethresear.ch/t/future-proof-shard-and-history-access-precompiles/9781
本文是講解我在go-ethereum客戶端中發現的Bug系列的第二篇。如果你還不了解它,請看第一篇.
1900/1/1 0:00:00吳說作者|?Kafka 本期編輯|ColinWuPolygon的Tokenmatic在5月18日最高價達到$2.70,近一個月內暴漲超過10倍,總市值排名最高躍進前十五.
1900/1/1 0:00:00來源:《人民日報海外版》 本報記者王俊嶺 海南自由貿易港生態軟件園是海南自由貿易港11個重點園區之一,園區在產業細分方向上定位于“一區三業”:區塊鏈試驗區、數字文體、數字健康、數字金融.
1900/1/1 0:00:00近日,薩爾瓦多宣布以比特幣作為法定貨幣,一些原本就沒有本國貨幣,一直使用英鎊或美元作為法定貨幣的小國,也都表示出類似的熱情,這在社會上引起很大震動,特別是讓幣圈人士倍感振奮.
1900/1/1 0:00:00在MasterVentures宣布成立3000萬美元的Polkadot生態系統基金之后,DOT和KSM價格迎來大漲.
1900/1/1 0:00:00原標題:《唯鏈攜手DNV助力仁濟醫院生殖醫學中心智慧醫療MyBaby區塊鏈項目上線》新聞全文1100字,閱讀需要3分鐘關鍵字:仁濟醫院DNV唯鏈區塊鏈輔助生殖科技為人以“傳承創新.
1900/1/1 0:00:00