当前以太坊设计中的向后兼容性所面临的挑战之一是区块链历史记录的访问需要对 Merkle 证明进行 EVM验证,这还假设区块链将永远使用相同的格式和相同的密码技术。 未来的分片(Sharding)设计更是增加了这一点的重要性,因为Rollup的欺诈证明和有效性证明将需要指向分片数据的指针。
这篇文章提出了一种更加面向未来的方法:我们可以添加执行验证特定类型证明的抽象任务的预编译,而不是要求在 EVM 中验证历史和分片的证明。 如果将来更改格式,预编译逻辑将自动更改。 预编译甚至可以具有条件逻辑,用于验证过渡前插槽(slot)的一种证明和转换后插槽的另一种证明。
def verifyHistoricalBlockRoot( slot: uint256, ? ? value: bytes32, ? ? proof: bytes )这种预编译将尝试以两种方式之一解释该proof:
如果这个proof为空,则直接检查该value是否为保存在正确位置的历史区块根。 如果slot太旧,它将失败。
如果这个proof是一个Merkle 分支,它会根据 history_roots 中的正确条目将其验证为 Merkle 分支
数据:当前比特币市值占比为46.67%:金色财经消息,据CoinMarketCap最新数据显示,当前比特币市值占比为46%,以太坊市值占比为17.1%。[2022/6/11 4:18:06]
def verifyHistoricalStateRoot( ? ? slot: uint256, ? ? value: bytes32, ? ? proof: bytes )验证状态根,使用与该区块根相同的逻辑。
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 中。 证明内容如下:
Barstool Sports创始人再次购买比特币:金色财经报道,以流行文化和体育为重点的媒体公司Barstool Sports的创始人Dave Portnoy今日发推文称:“我是骄傲的一枚比特币的拥有者。”据悉,该枚比特币是其近日以48000美元的价格买入。此外,Portnoy表示自己现在没有任何DOGE,已经将DOGE卖出,并且没有亏本。值得注意的是,Portnoy两个月前曾发誓永远不会再购买比特币。[2021/4/27 21:01:20]
表明区块根正确性的证明
证明给定的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
今天带大家深入了解一下,有着"投资风向标"和"币圈标杆"之称的顶流——A16z。 "他们就像是疯子,霸气地在每笔交易中都插上一脚"。 A16z的全称是Andreessen Horowitz,取自两位创始人的姓氏。
Twitter 和 Square 创始人兼CEO?Jack Dorsey?是一位彻头彻尾的比特币信徒:他将比特币白皮书比喻为令人称赞的“诗歌”,他家里有一个比特币时钟 「BlockClock mini」,并数次捐赠资金来加速比特币的采用和发展。 今天,在迈阿密举行的 2021 年比特币会议上,Dorsey 加倍强调了这种热爱。
在赛博朋克谜的理想世界里,最适合做法定货币的是什么?比特币或许会高票当选。 近日,这个赛博朋克梦距离现实前所未有的近。 6 月 6 日,萨尔瓦多总统 Nayib Bukele 在迈阿密比特币 2021 大会上表示,将于下周向该国议会提交一份法案,使比特币成为该国合法支付手段。 该法案一旦获批,意味着萨尔瓦多将成为全球第一个把比特币作为法定货币的国家。
从链上数据回顾上半年行情、展望下半年市场。 链上和价格数据可以用来预测我们在比特币市场周期中所处的位置。 本文,我们将回顾2020-2021牛市的第一轮,以及在市场引起的动荡。之后,我们将建立一个案例,解释为什么这个市场周期的顶端还没到来。 2020年的减半降低了比特币供应,并引发价格的指数上涨。
头条 ▌美财长耶伦:加息对社会和美联储有利 美国财长耶伦认为,美国总统拜登的的4万亿美元支出计划对美国有利,即使这可能导致通胀上升并最终致使利率上调。耶伦说,“如果我们最终的利率水平略微升高,这实际上对(美国)社会和美联储而言都是有利的。过去十年来,我们一直在与过低的通胀和利率作斗争,我们希望回到正常的利率环境。
自4月触及历史高位64918美元以来,比特币已经跌去近50%的涨幅。其它山寨币的价格更是超过腰斩,有的甚至跌回牛市前的价格。然而,区块链和加密货币市场的投资前景又会如何呢? 2020年,新冠肺炎疫情突然爆发,这迫使美联储的政策重新调整。美联储在2020年3月初降息50个基点后,将利率降至接近0,随后开启了史无前例的印钞之路。