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

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

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

历史区块数据

defverifyHistoricalBlockRoot(slot:uint256,??value:bytes32,??proof:bytes)

Aave社区关于“在以太坊主网上部署Aave V3”的提案投票获得通过:1月26日消息,Aave社区关于“在以太坊主网上部署Aave V3”的提案投票获得通过。提案显示,Aave V3将会重新部署在以太坊主网上而并非升级V2版本,以提高V3池之间的兼容性并降低一般复杂性。Aave V3初始版本将上线WBTC、WETH、wstETH、USDC、DAI、LINK和AAVE七种资产的借贷池。[2023/1/26 11:31:14]

这种预编译将尝试以两种方式之一解释该proof:

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

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

数据:Uniswap v3占Arbitrum链DEX交易额达78.7% 创历史新高:10月5日消息,据Uniswap官方推特,Uniswap v3在 Arbitrum链上数据已达到历史新高,其占据的 DEX 市场交易份额达到了78.7%。据Uniswap 统计的数据显示,Uniswap v3的市场份额在今年6月回落至50%以下,随后逐步增长直至10月达到历史最高值(ATH)。[2022/10/5 18:40:04]

defverifyHistoricalStateRoot(??slot:uint256,??value:bytes32,??proof:bytes)

验证状态根,使用与该区块根相同的逻辑。

defverifyHistoricalStateValue(??slot:uint256,??key:bytes32,??value:bytes32,??proof:bytes)

第五届数字中国建设峰会公益数字藏品发布:金色财经报道,由国家互联网信息办公室、国家发展和改革委员会、科技部、工业和信息化部、国务院国有资产监督管理委员会、福建省人民政府共同主办的“第五届数字中国建设峰会”于2022年7月23日在福建省福州市开幕。本届峰会主办方将首次利用区块链技术推出“数字中国建设峰会公益数字藏品纪念函”(以下简称“数字中国数字藏品纪念函”)。

本次峰会专属的数字纪念函,限量2022份,在官方指定平台全部免费发行。[2022/7/24 2:33:50]

验证历史状态中的值。这个proof包括三个要素:

状态根

表明状态根正确性的证明

Patricia或Verkle或其他证明该value实际上位于状态树中的位置key中的证明

奈雪的茶:虚拟股票活动今日下线,会员账户内虚拟股票将自动兑换为奈雪币:金色财经报道,奈雪的茶(02150.HK)发布公告,考虑到用户体验,奈雪虚拟股票会员活动将于7月14日16:00完成今日游戏结算后正式下线。奈雪的茶表示,活动结束后,参与活动的会员账户内的虚拟股票将按照有利于用户的原则,以1虚拟股兑换为6奈雪币的规则,在7月14日17:10-18:00将虚拟股自动兑换为奈雪币,游戏借币在兑换时会自动归还给平台,兑换后的奈雪币数量将高于用户参与活动前的奈雪币数量。[2022/7/14 2:13:31]

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

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

地球链

以太坊交易所NFT:NFT从哪里来 又要去往哪里?

关于NFT以疯狂的价格出售的消息越来越少。甚至一些名人似乎也无法将他们的NFT项目推向高潮。那么炒作结束了吗?泡沫会破灭吗?就目前而言,NFT看起来是一条闪闪发光的致富之路,尽管实际的买卖情况并.

[0:0ms0-0:848ms