当前以太坊设计中的向后兼容性所面临的挑战之一是区块链历史记录的访问需要对Merkle证明进行EVM验证,这还假设区块链将永远使用相同的格式和相同的密码技术。未来的分片设计更是增加了这一点的重要性,因为Rollup的欺诈证明和有效性证明将需要指向分片数据的指针。
这篇文章提出了一种更加面向未来的方法:我们可以添加执行验证特定类型证明的抽象任务的预编译,而不是要求在EVM中验证历史和分片的证明。如果将来更改格式,预编译逻辑将自动更改。预编译甚至可以具有条件逻辑,用于验证过渡前插槽的一种证明和转换后插槽的另一种证明。
历史区块数据
defverifyHistoricalBlockRoot(slot:uint256,??value:bytes32,??proof:bytes)
数据:USDT的稳定币市场份额达56.4%,创18个月新高:金色财经报道,Blockworks统计数据显示,在稳定币市场中 USDT 过去 18 个月一直在稳步增长,目前市场份额处于 2021 年 7 月 12 日以来的最高点,达到 56.4%,并在过去 30 天内上涨了 5.4%。[2023/3/15 13:06:13]
这种预编译将尝试以两种方式之一解释该proof:
如果这个proof为空,则直接检查该value是否为保存在正确位置的历史区块根。如果slot太旧,它将失败。
如果这个proof是一个Merkle分支,它会根据history_roots中的正确条目将其验证为Merkle分支
某巨鲸于数小时前将2500万枚USDC从PulseX Sacrifice转出并兑换成DAI:金色财经报道,据链上观察员ASvanevik发推表示,据nansen数据显示,某巨鲸于数小时前将2500万枚USDC从PulseX Sacrifice转移至新钱包,并兑换成DAI。[2023/3/11 12:57:12]
defverifyHistoricalStateRoot(??slot:uint256,??value:bytes32,??proof:bytes)
验证状态根,使用与该区块根相同的逻辑。
defverifyHistoricalStateValue(??slot:uint256,??key:bytes32,??value:bytes32,??proof:bytes)
WatcherGuru:Twitter正开发支持加密货币存取款的钱包:金色财经报道,WatcherGuru发推称,Twitter正在开发自己的钱包,支持加密货币存取款。[2022/10/25 16:37:43]
验证历史状态中的值。这个proof包括三个要素:
状态根
表明状态根正确性的证明
Patricia或Verkle或其他证明该value实际上位于状态树中的位置key中的证明
defverifyHistoricalTransaction(??slot:uint256,??txindex:uint256,??tx:bytes,??proof:bytes)
BlockBar获得2022年LVMH创新奖潜在候选人之一:金色财经消息,近日,LVMH提名奢侈葡萄酒品牌NFT市场BlockBar作为2022年LVMH创新奖的潜在候选人之一。鉴于此,BlockBar将于下个月在巴黎VivaTech的LVMH实验室展示。活动将持续4天,从6月15日到18日。入围LVMH 2022创新奖绝非易事。只有21家创新创业公司将有机会与LVMH Lab一起展示。而BlockBar就是其中之一。
活动期间,评审团将选出6家初创公司获得奖项。在这6家中,只有1家将获得2022年LVMH创新奖。为了晋级,BlockBar需要在活动期间向LVMH展示其对奢华的愿景。
据BlockBar官网介绍,BlockBar是一个直接提供来自奢侈酒品牌的NFT平台。每个NFT对应一个物理瓶子。消费者可以将数字版换成实体版。简单来说,消费者拥有实体瓶,BlockBar为他们存储,数字版本作为真实性证明、所有权验证以及实体瓶交付的权利。(nftevening)[2022/5/8 2:58:08]
验证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
标签:ROOUINSLOTLOT0XPROOF价格gokuinuSleepy Sloth FinanceLotoblock
以其独特logo而闻名的生活方式和娱乐品牌《花花公子》,在一个名为“Raretoshi”的新NFT市场上推出了其首批5个动画NFT,Raretoshi获得Blockstream的Liquid侧链的支持.
1900/1/1 0:00:00若银行持有加密货币风险敞口,应如何衡量其风险级别?6月10日,巴塞尔银行监管委员会就审慎处理银行加密资产风险敞口的初步建议发表了一份公开征求意见稿。意见稿建议,银行对比特币和其他加密货币的风险敞口应采用1250%的风险权重.
1900/1/1 0:00:00继内蒙古率先响应国务院金融委提出的“打击比特币挖矿和交易行为”后,其他地区也开始整顿虚拟货币挖矿产业。6月11日,澎湃新闻从一位矿工处获悉,其在云南托管矿机的矿场于今日上午关停,在新疆托管矿机的矿场也于今日关闭.
1900/1/1 0:00:00今天的标题起的更贴切一点的话,应该是马斯克螳螂捕蝉戏弄加密货币市场,孙割黄泉在后蹭满热度,两个“戏精”在币圈上演了伟大的表演.
1900/1/1 0:00:00CME比特币期货 6月5日,CFTC公布了最新一期CME比特币期货周报,统计周期内比特币价格出现了小幅回落,不过整个周期的「有效跌幅」比较有限,市场也没有出现类似前两个统计周期那样剧烈的波动.
1900/1/1 0:00:00在MasterVentures宣布成立3000万美元的Polkadot生态系统基金之后,DOT和KSM价格迎来大涨。6月3日,Polkadot和Kusama同步上涨,因为交易员评估了一家风险投资公司对其区块链生态系统的重大投资.
1900/1/1 0:00:00