广告

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小时热点

“微播艺术”数字藏品简介

微播艺术是一种新兴的数字藏品,它通过在互联网发布微小的数字藏 ...

5930

K网(Kraken)

“链客”涉嫌诈骗,已关网

链客是一家以区块链技术为基础的交易平台,最近却涉嫌诈骗,其网 ...

158323

区块链虚拟币交易平台

polygon公链官网

Polygon是一个基于 Layer2 架构的多链兼容框架, ...

171220

以太坊币今日价格

链圈百科:云南区块链商户平台官网介绍

云南区块链商户平台官网是云南省面向区块链技术的商户服务平台, ...

632636

虹宇宙

KCASH币(Kcash)是空气币吗?

Kcash币(Kcash)不是空气币,而是一种可以用来支付的 ...

26784

BCEX元宝网

C1代币是什么意思

C1代币(Coin One)是基于区块链技术开发的一种去中心 ...

250201

白话区块链

区块链发展的三个阶段是什么

第一阶段:技术萌芽期 此阶段是以比特币为开端的区块链发 ...

154983

金色财经

UP.TOP交易所介绍

UP国际站是一家主打实体资产绑定数字资产币种的国际站,由新加 ...

9641

金色财经

警惕“苏州绿叶”是多级分销类传销

“苏州绿叶”是一家运营多级分销类传销的网络企业,由大量的经纪 ...

54440

UUEX

ETGP币(ETGP)怎么卖?

ETGP币(ETGP)是一种加密货币,可以通过数字货币交易平 ...

29390

区块链网快讯
广告

热点专题

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

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

4195281

瓦特(WBF)交易所

iBox 链盒科技

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

3397478

iBox

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

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

3033811

A网(AOFEX)交易所

gpt4.0中文版免费

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

2957490

维公链

Gem和Genie功能大对比

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

2382053

TopHolder 头号藏家

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

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

2350590

嗨艺购

一文读懂NFT 交易聚合器GEM

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

2309479

第九空间

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

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

1600831

NFT和元宇宙

链图百科:美国政府官员级别排名

美国政府官员的级别排名是由总统(President)首先,然 ...

1134558

Tokhun

北海传销,投资7万回报1040万真相揭秘

整天打着国家政府宏观调控的资本运作,坑害了多少善良的人?对北 ...

1070424

ImToken 多链钱包