当前以太坊设计中的向后兼容性所面临的挑战之一是区块链历史记录的访问需要对 Merkle 证明进行 EVM验证,这还假设区块链将永远使用相同的格式和相同的密码技术。 未来的分片(Sharding)设计更是增加了这一点的重要性,因为Rollup的欺诈证明和有效性证明将需要指向分片数据的指针。
这篇文章提出了一种更加面向未来的方法:我们可以添加执行验证特定类型证明的抽象任务的预编译,而不是要求在 EVM 中验证历史和分片的证明。 如果将来更改格式,预编译逻辑将自动更改。 预编译甚至可以具有条件逻辑,用于验证过渡前插槽(slot)的一种证明和转换后插槽的另一种证明。
def verifyHistoricalBlockRoot( slot: uint256, ? ? value: bytes32, ? ? proof: bytes )这种预编译将尝试以两种方式之一解释该proof:
如果这个proof为空,则直接检查该value是否为保存在正确位置的历史区块根。 如果slot太旧,它将失败。
如果这个proof是一个Merkle 分支,它会根据 history_roots 中的正确条目将其验证为 Merkle 分支
Roblox计划允许品牌合作方在元宇宙中投放广告:9月11日消息,由于多家游戏巨头停止或削减在俄罗斯的业务,Roblox Corporation因此受益,在俄罗斯拥有超过200万活跃玩家。Roblox现在希望扩大其元宇宙产品。一些新产品将包括来自Gucci、Ralph Lauren、Chipotle等合作伙伴的元宇宙广告。开发者可以通过交互式广告牌、出租车车顶、海报或其他区域加入广告,并从广告收入中分一杯羹。还将推出游戏内3D门户,为游戏玩家提供新的品牌体验,例如Gucci Town或Chipotle一家虚拟餐厅。(Beincrypto)[2022/9/11 13:22:21]
def verifyHistoricalStateRoot( ? ? slot: uint256, ? ? value: bytes32, ? ? proof: bytes )验证状态根,使用与该区块根相同的逻辑。
def verifyHistoricalStateValue( ? ? slot: uint256, ? ? key: bytes32, ? ? value: bytes32, ? ? proof: bytes ) 验证历史状态中的值。 这个proof包括三个要素:
Ripple任命Sendi Young为欧洲董事总经理:据官方消息,今日Ripple宣布任命SendiYoung为欧洲业务常务董事。SendiYoung将监督战略并支持Ripple的全球金融网络技术——RippleNet的扩张。
据介绍,Sendi在金融科技、支付和咨询领域拥有超过15年的经验,她在万事达卡任职5年后加入Ripple,当时曾担任领导职务,推动战略、商业化、银行金融科技伙伴关系和业务发展。[2021/6/30 0:17:13]
表明状态根正确性的证明
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
Christian Catalini Diem首席经济学家,原Libra创始人 今天非常高兴来到罗汉堂举办的前沿对话。我想简单地分享我们在创建Diem旅程中的一些想法。 2014年,我们在设计MIT数字货币实验的时候,听说过加密货币或区块链的人还不多。看看谷歌搜索的趋势图,就会看到,2014年这些关键词的搜索量还非常少。
头条 ▌马斯克:特斯拉没有操作比特币 未来可能恢复比特币交易 在回应“操纵比特币价格”的质疑时,特斯拉CEO埃隆·马斯克表示,“这个说法是错误的。特斯拉出售了10%的比特币持仓,只是为了测试比特币的流动性,确认能够在不扰动市场的情况下轻松地结算。在确认矿工使用合理比例的清洁能源(约50%),且未来趋势向好时,特斯拉将会恢复比特币交易。
去中心化的组织的特点之一就是可以将工作分配给社区成员,而不是完全由自上而下的决策机制来驱动。虽然代币Token在财务上对参与者的贡献给予了相应的报酬作为激励,鼓励社区成员一起创造价值,但对于草根社区的管理权和所有权(归属)而言,想要依靠这种模式获得长期成功,其实也并非难事。(但是长远来看,草根社区的管理权和所有权才是代币经济能够成功的关键。
互联网正处于一场革命中,中心化专有服务正在被去中心化开放服务所代替。在当前互联网中,绝大部分用户数据被存储在中心化服务器中,个人信息的主权不归用户所有,也带来了大量的数据泄露和盗窃事件的发生,这是互联网时代不可避免的诟病。托管在这些提供商的服务内容被隐藏在断开的脆弱链接背后,这对计算机系统以及日益依赖的互联网产生深远的影响。
比特币(以下简称“BTC”)在2021年4月14日达到历史高价格64918美元之后随即开启下跌模式,相比于2021年5月19日最低价格小于30000美元,最大跌幅一度超过50%。截止发稿日,从价格来看,有企稳反弹迹象,BTC已上涨至37000美元左右。 在此行情下,有部分人看涨后市,他们根据BTC从交易平台的流出量进行判断。
最近这段时间,黑客组织在各大媒体频繁刷脸,似乎预示着不久的将来,可能有大事发生。 就在前两天,有人以国际黑客组织“匿名者”的身份发布了一个视频,公开指责国际带单一哥马斯克不顾工薪阶层的死活,搅乱虚拟货币的市场,并放出狠话,要收拾老马,让他等着瞧。 黑客的这一波操作很拉拢人心呀,似乎让人觉得,这是一个很有正义感的组织,盗亦有道。