V神提出新的以太坊向后兼容方法

为分片采用扫清障碍 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)

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

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



24小时热点

sswp币有价值吗?SSWP币可以长期持有吗?

在加密货币市场上,SSWP币作为一种新兴数字资产备受关注。许 ...

32668

ZT GLOBAL 交易所

温室气体包括

温室气体是指在温室效应的作用下,能够多少程度上使大气中的温度 ...

4782

以太经典

香港的金融监管机构包括

一、香港金融监管机构 1、香港金融管理局(HKMA): ...

128072

Solanat

f2pool矿池官网

f2pool是一项创新技术,采用节点集群技术,以减少维护和管 ...

277813

币团交易所

十大虚拟币交易平台app汇总!

自从前两年比特币大火之后,带动了整个虚拟币行业,虚拟币也越来 ...

1114128

一岛

FIL-Filecoin 简介详情

Filecoin是IPFS上的一个代币,而Filecoin就 ...

10299

星舟艺术平台

discord怎么加入社区

Discord是一款适用于Windows,Mac,Andro ...

280998

洞壹元典

coinmarketcap官网

CoinMarketCap 是一个在线行情报价的数字货币工具 ...

751449

HitBTC交易所

MARVIN币(Marvin Inu)要挖多久?

段 MARVIN币(Marvin Inu)将在2021年4 ...

15957

瓦特(WBF)交易所

Pi币可换食衣住行了!台湾达成支付共识刷Pi Network!

火必(Houbi)交易所在至今正好3个月以前,正式放开Pi( ...

57432

阿瓦隆矿机

热点专题

虚拟货币传销/诈骗案件的通常做法

当更多人似懂非懂的对虚拟货币有些模糊的概念,还搞不清比特币和 ...

4224758

瓦特(WBF)交易所

gpt4.0中文版免费

GPT-4(生成预可训练技术4.0)是一个由OpenAI开发 ...

3931692

维公链

iBox 链盒科技

据iBox官方消息,9月17日20:00,iBox将正式发布 ...

3410044

iBox

揭秘网络传销行骗七大套路!

不管网络传销打着什么旗号,戴着什么面具,即便有着“72变”, ...

3054794

A网(AOFEX)交易所

Gem和Genie功能大对比

2022年4月25日,OpenSea官方发推宣布收购NFT交 ...

2394344

TopHolder 头号藏家

Genie 就是一个 NFT 市场的交易聚合器

Web3 中的「聚合器」是一个非常重要的组件,例如 1inc ...

2360742

嗨艺购

一文读懂NFT 交易聚合器GEM

购买 NFT 的主要问题之一在于,限制了用户一次只能购买一个 ...

2320416

第九空间

fc2是什么网站?fc2点击在此访问

FC2是日本最大的乃至亚洲最大的域名服务商,也是一家全面的网 ...

1965848

币团交易所

afd爱发电是什么网站 afd登录入口在哪

为什么需要爱发电? 我们认为,长期耕耘一件事或几件事的创作 ...

1737274

SAN币

亚洲最大成人平台“SWAG”网站关停,负责人被捕

2020 年,SWAG 发行了 6.25 亿枚治理代币 SW ...

1717848

NFT和元宇宙