當前以太坊設計中的向后兼容性所面臨的挑戰之一是區塊鏈歷史記錄的訪問需要對 Merkle 證明進行 EVM驗證,這還假設區塊鏈將永遠使用相同的格式和相同的密碼技術。 未來的分片(Sharding)設計更是增加了這一點的重要性,因為Rollup的欺詐證明和有效性證明將需要指向分片數據的指針。
這篇文章提出了一種更加面向未來的方法:我們可以添加執行驗證特定類型證明的抽象任務的預編譯,而不是要求在 EVM 中驗證歷史和分片的證明。 如果將來更改格式,預編譯邏輯將自動更改。 預編譯甚至可以具有條件邏輯,用于驗證過渡前插槽(slot)的一種證明和轉換后插槽的另一種證明。
def verifyHistoricalBlockRoot( slot: uint256, ? ? value: bytes32, ? ? proof: bytes )這種預編譯將嘗試以兩種方式之一解釋該proof:
歐易OKX NFT市場現已聚合Tensor平臺:8月11日消息,歐易OKX NFT市場現已聚合Tensor平臺,支持用戶一鍵購買Tensor上的NFT訂單。[2023/8/11 16:20:32]
如果這個proof為空,則直接檢查該value是否為保存在正確位置的歷史區塊根。 如果slot太舊,它將失敗。
如果這個proof是一個Merkle 分支,它會根據 history_roots 中的正確條目將其驗證為 Merkle 分支
def verifyHistoricalStateRoot( ? ? slot: uint256, ? ? value: bytes32, ? ? proof: bytes )驗證狀態根,使用與該區塊根相同的邏輯。
馬斯克發布推文附圖Pepe形象表情包,PEPE應聲上漲約10%:5月13日消息,埃隆·馬斯克在社交媒體上發文附圖 Pepe 形象表情包,PEPE 應聲上漲約 10%。截至發稿時,PEPE 現報 0.0(5)185 美元,24 小時漲幅 47.62%。[2023/5/14 15:01:31]
def verifyHistoricalStateValue( ? ? slot: uint256, ? ? key: bytes32, ? ? value: bytes32, ? ? proof: bytes ) 驗證歷史狀態中的值。 這個proof包括三個要素:
表明狀態根正確性的證明
Patricia 或 Verkle 或其他證明該value實際上位于狀態樹中的位置key中的證明(這假設將所有帳戶內容映射到 32 字節key的提議方案已永久保存)
外媒:DWF Labs許多風險投資交易似乎具有不透明、非標準的結構:金色財經報道,區塊鏈媒體The Block在社交媒體發文稱,過去六個月加密貨幣行業異常艱難,但就在大多數加密風投勒緊褲腰帶的時候,一個名為“DWF Labs”的機構開始大肆入場,在最近25輪總計2.32億美元融資交易中,18輪的唯一投資者都是DWF Labs,這些投資交易也引發了市場對其資金的猜測,并認為其許多風險投資交易似乎具有不透明、非標準的結構。[2023/4/14 14:04:46]
def verifyHistoricalTransaction( ? ? slot: uint256, ? ? txindex: uint256, ? ? tx: bytes, ? ? proof: bytes ) 驗證 tx 實際上是否在給定slot的區塊的 txindex 中。 證明內容如下:
數據:Paxos Treasury銷毀52,313,857 BUSD:金色財經報道,據Whale Alert數據,北京時間今日11:39:35,Paxos Treasury銷毀52,313,857 BUSD(價值約52,298,320美元)。[2023/1/23 11:27:15]
表明區塊根正確性的證明
證明給定的tx實際上是給定位置的交易
def verifyHistoricalReceipt( ? ? slot: uint256, ? ? txindex: uint256, ? ? receipt: bytes, ? ? proof: bytes ) 驗證receipt實際上是給定slot的 txindex 處的交易接收。 證明內容如下:
證明區塊根正確性的證明
證明給定收據實際上是給定位置的receipt
def verifyShardBlockBody( ? ? slot: uint256, ? ? shard: uint256, ? ? startChunk: uint256, ? ?chunks: uint256, ? ? data: bytes, ? ? proof: bytes ) 驗證 data = body[32 * startChunk: 32 * (startChunk + chunks)] ,其中 body 是給定slot中給定分片的主體。 該證明將包括:
證明區塊子集的 Kate 證明
如果slot太舊(超過 128 個 epoch?),則在slot + 96 處的區塊根的 Merkle 證明,然后是從該slot到分片承諾數組中的位置的 Merkle 證明,顯示一個最終性承諾
當我們使用 BLS-12-381 Kate 承諾時,預編譯還將驗證數據是 32 字節chunk的列表,其中每個chunk都小于曲線子組順序。 如果沒有在給定位置保存分片區塊,則預編譯就像在該位置保存了對零長度數據的承諾一樣。 如果給定位置的value未確認,則預編譯總是失敗。
def verifyShardPolynomialEvaluation( ? ? 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(例如,使用 32 字節二進制字段證明),則預編譯會將 SNARK 作為輸入,驗證數據完全由小于該曲線階數的值組成,并驗證對當前字段數據的評估。
這種預編譯對于等價協議的跨多項式承諾方案證明?很有用,可用于允許 ZK Rollup直接對分片數據進行操作。
作者:Vitalik Buterin
原文:https://ethresear.ch/t/future-proof-shard-and-history-access-precompiles/9781
Tags:ROOSLOTLOTINTRoobee PlatformSLOT價格BoatPilot TokenEncointer
互聯網正處于一場革命中,中心化專有服務正在被去中心化開放服務所代替。在當前互聯網中,絕大部分用戶數據被存儲在中心化服務器中,個人信息的主權不歸用戶所有,也帶來了大量的數據泄露和盜竊事件的發生,這.
1900/1/1 0:00:00元宇宙概念在業內爆火,什么是元宇宙?目前處于什么發展階段?業內都有哪些應用落地?6月7日14:00,金色財經舉辦“元宇宙”系列主題AMA.
1900/1/1 0:00:00從2011年開始,比特幣的牛熊都是非常標準的形態,包括: a、牛熊涇渭分明,持續時間長,漲的時候一直連續漲(但中間會有40%級別的短崩盤),跌的時候一直跌.
1900/1/1 0:00:001.金色觀察丨比特幣挖礦難度下降16% 市場感受命運翻轉5月21日,中共中央局委員、國務院副總理、金融委主任劉鶴主持召開國務院金融穩定發展委員會第五十一次會議.
1900/1/1 0:00:001.金色硬核|23個鏈上數據分析比特幣本輪周期 結束了嗎金色財經推出金色硬核(Hardcore)欄目,為讀者提供熱門項目介紹或者深度解讀.
1900/1/1 0:00:00說起來有點奇怪,但在比特幣存在了十多年后,人們終于對它是什么達成了一些共識。比特幣的鐵桿支持者 (Bitcoiners) 將其比作是「數字黃金」,也即一種主要用例為簡單持有的避險資產.
1900/1/1 0:00:00