Vitalik:实施跨分片交易的一种新方式
10月29日,以太坊联合创始人Vitalik Buterin发布了一份关于跨分片交易的新提案,所谓跨分片交易,是以太坊2.0平台需要实现的一种功能。
以下是提案译文:
以太坊2.0 阶段2 (phase 2)的要求之一,是能够快速地将ETH从一个分片移动到另一个分片。尽管通过常用收据(receipt)机制的跨分片交易是可能的,因为协议本身只需提供对彼此分片的每个分片的状态根的访问,但跨分片ETH需要在协议活动中实现更安全的目的。原因是我们需要跟踪每个分片中有多少ETH,并且我们需要一个重要的机制来防止跨分片传输的重放(replay)问题。
一般来说,基于收据(receipt)的机制确实解决了这一问题,但它是通过具有“已消耗收据ID”的状态树来实现的,这将相当复杂地添加到当前名义上的无状态系统中。之所以需要此收据ID树,是因为我们允许收据(receipt)无序使用。也就是说,如果爱丽丝(Alice)从分片A向分片B发送一笔交易,然后Applebaum也从分片A向分片B发送一笔交易,那么有可能会出现Appelbaum的交易更早在分片B中被接受的情况。这是必要的,因为系统使用的是gas方法来处理收据消耗交易,爱丽丝(Alice)可能会决定不为这笔传输交易支付费用。
因此,这里就出现了一个问题:我们是否可用一个按顺序处理收据的机制,来代替处理收据的机制,这样对于“上次从分片A收到的分片B的收据ID” ,我们只需一个变量可递增?
也就是说,每个分片A保持其状态,对于每个其他分片B而言,则是两个值:(i)将从分片A发送到分片B的下一个收据的nonce,以及(ii)将从分片B接收到分片A的下一个收据的nonce。
至于“谁来买单”问题的答案很简单:区块生产者需处理每个区块来自其他分片一定数量的收据,通过对收据的源分片收费来限制费率。然而,这里有一个主要问题:如果一个人通过从所有分片向特定分片发送收据(可能是意外的,也可能是故意的),对其进行了拒绝服务攻击时,会发生什么呢?
N个分片分别都发送N个收据,会对目标分片产生的负载。
这确保了在极端情况下,DoS攻击最终无法增加接受分片队列的长度,因此,每则消息都会得到处理,但这始终可发送一笔执行最小数量跨分片活动的交易。或者,分片需要将其EIP 1559 gasprice发布到信标链来处理区块费用;该费用也可用于此项功能。
如果我们有这种发送ETH跨分片的机制,我们还可以将其用于通用收据发送功能,从而创建一个有强大保证的跨分片交易系统。
这里存在的主要挑战是,为了计算收据的效果,我们需要有人自愿提供状态的Merkle验证内容。如果未写入完整状态,则无法在协议级别强制执行此操作;但可以做的是添加表单要求:“为了包含你自己的一笔交易,你还必须为队列中的跨分片收据提供验证内容。”
- 1比特币价格或先跌至11.6万美元 再迎突破12.2万美元关键阻力
- 2比特币巨鲸在沉寂14年后转移价值4.69亿美元的比特币
- 3GameSquare以500万美元收购稀有CryptoPunk NFT并借入稳定币
- 4Calamos发布突破性研究:建议比特币投资配置提升至传统水平的10倍
- 5比特币价格在11.8万美元附近横盘,但鲸鱼投资者持续增持
- 6美国证券交易委员会批准后迅速暂停Bitwise加密货币ETF转换计划
- 7 CMC集团推出双币生态系统——FUST和FUSD引领稳定币创新新前沿
- 8HTX热上币周回顾(7月15日至21日):以太坊领涨,新兴代币财富效应显著
- 9 我去了中国亿万富翁孙宇晨在佛罗里达州的 Tron 办公室——以下是我发现的东西
- 交易所
- 币种
排名 | 交易所 | 成交额 |
---|---|---|
1 | ![]() |
¥6,801.66亿 |
2 | ![]() |
¥2,429.18亿 |
3 | ![]() |
¥486.32亿 |
4 | ![]() |
¥116.93亿 |
5 | ![]() |
¥1,838.25亿 |
6 | ![]() |
¥2,014.48亿 |
7 | ![]() |
¥2,120.95亿 |
8 | ![]() |
¥22.23亿 |
9 | ![]() |
¥90.95亿 |
10 | ![]() |
¥378.98亿 |