为分片采用扫清障碍 V神提出新的以太坊向后兼容方法

当前以太坊设计中的向后兼容性所面临的挑战之一是区块链历史记录的访问需要对 Merkle 证明进行 EVM验证,这还假设区块链将永远使用相同的格式和相同的密码技术。 未来的分片(Sharding)设计更是增加了这一点的重要性,因为Rollup的欺诈证明和有效性证明将需要指向分片数据的指针。

这篇文章提出了一种更加面向未来的方法:我们可以添加执行验证特定类型证明的抽象任务的预编译,而不是要求在 EVM 中验证历史和分片的证明。 如果将来更改格式,预编译逻辑将自动更改。 预编译甚至可以具有条件逻辑,用于验证过渡前插槽(slot)的一种证明和转换后插槽的另一种证明。

def verifyHistoricalBlockRoot( slot: uint256,     value: bytes32,     proof: bytes )这种预编译将尝试以两种方式之一解释该proof:

如果这个proof为空,则直接检查该value是否为保存在正确位置的历史区块根。 如果slot太旧,它将失败。

如果这个proof是一个Merkle 分支,它会根据 history_roots 中的正确条目将其验证为 Merkle 分支

def verifyHistoricalStateRoot(     slot: uint256,     value: bytes32,     proof: bytes )验证状态根,使用与该区块根相同的逻辑。

NFT游戏Axie Infinity近7天收入1252万美元,超6月份整月收入:7月7日消息,以太坊NFT游戏Axie Infinity收入暴增,进入7月份的最近7天里收入已达1252万美元,超过了6月份1200万美元的整月收入。Axie Infinity主要收入为从市场交易中抽取4.25%的佣金。

据NFT收藏品数据统计网站CryptoSlam统计,过去一周,Axie Infinity的收入大幅超过排名其后的MetaMask、PancakeSwap、Synthetix、MakerDAO和Curve这5个DeFi应用的收入总和。[2021/7/7 0:33:12]

def verifyHistoricalStateValue(     slot: uint256,     key: bytes32,     value: bytes32,     proof: bytes ) 验证历史状态中的值。 这个proof包括三个要素:

表明状态根正确性的证明

Patricia 或 Verkle 或其他证明该value实际上位于状态树中的位置key中的证明(这假设将所有帐户内容映射到 32 字节key的提议方案已永久保存)

def verifyHistoricalTransaction(     slot: uint256,     txindex: uint256,     tx: bytes,     proof: bytes ) 验证 tx 实际上是否在给定slot的区块的 txindex 中。 证明内容如下:

表明区块根正确性的证明

证明给定的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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

XLM三分钟搞懂 ERC-20 和 ERC-721 的不同

我们经常会在业内媒体报道上看到“ERC-20”这个词,它是以太坊上的一种标准协议。除了ERC-20,以太坊上的另一个较多数人听说过的协议是ERC-721。 虽然听说过,但很多人依然不了解这两个协议究竟是什么,应该如何区分。今天,白话区块链就给大家梳理一下。

Uniswap肖飒:加密数字资产之法律规制逻辑

开门见山,本文讨论的加密数字资产就是指以分布式网络、区块链技术等加密技术为基础,依托于社区共识或联盟共识的虚拟财产或财产性利益。 1、新技术有没有带来新的法律挑战 我们要解决一个前提:加密数字资产与Q币等虚拟财产之间是否有法律意义上的区别,若无抽象法律之差别就没有重新制定法律进行规制的基础。

ICP觅新|Bitso:拉美加密交易所巨头

《觅新》是金色财经推出的一档区块链项目观察类项目,覆盖行业各领域项目发展情况,具体设计到项目概况、技术进展、募资情况等,力图为您呈现热门新潮的项目合辑。 本文翻译已经得到VeradiVerdict授权。 Bitso是拉丁美洲最大的加密货币交易所之一,上月C轮融资了2.55亿美元,Pantera作为早期投资者也参与了这一轮融资。

NEAR黑客硬刚美国 哪来的勇气?

最近这段时间,黑客组织在各大媒体频繁刷脸,似乎预示着不久的将来,可能有大事发生。 就在前两天,有人以国际黑客组织“匿名者”的身份发布了一个视频,公开指责国际带单一哥马斯克不顾工薪阶层的死活,搅乱虚拟货币的市场,并放出狠话,要收拾老马,让他等着瞧。 黑客的这一波操作很拉拢人心呀,似乎让人觉得,这是一个很有正义感的组织,盗亦有道。

[0:15ms0-0:656ms