欧易以太坊怎么卖(以太坊的跨分片交易)
来源:峰值财经 发布时间:2023-05-13 浏览量:次
Beanstalk 并不是一种非常有用的分片模式,因为如果各片区之间不能相互交流,那这些分片也就和多条彼此独立的区块链没有区别。即便是分片技术还未开发出来的现在,人们对区块链间互操作性的需求也是非常巨大的。
我们现在只考虑简单的支付交易,其中每个参与者只在一个片区中有一个账户。如果某人希望将一笔资金发送给同一个片区中的另一个账户,这笔交易完全可以由该片区的验证者来处理。但是,如果 Alice 的账户在分片 #1 中,她想把资金发送给 Bob,而 Bob 的账户在分片 #2 中,则不管是分片 #1 中的验证者(他们无法将资金记入 Bob 的账户中),还是分片 #2 中的验证者(他们无法将资金从 Alice 的账户中扣除),都无法完整地处理这笔交易。
在跨片区交易方面,存在两种方式:
同步:每当需要执行跨分片交易时,在包含相关交易所涉状态的多个片区中同时产生区块,并且这些片区的验证者们会协同执行这笔跨片交易。在这个方向上,我知道的最为详细的提议就是 Vitalik 提出的 Merge Blocks(合并区块),见 ethereum research 上的相关帖子。
异步:即一笔影响多个片区的跨片交易在这些片区中异步执行,“记入资金”的片区(即上文例子中的片区 #2)一旦获取了足够的证据证明“扣除资金”的片区(即上文例子中的片区 #1)已经完成了自己的那部分工作(即已经将资金从 Alice 账户中扣除了),则“记入资金”的片区就会完成自己的工作(即将资金记入 Bob 的账户中)。这种方式更为普遍,因为更简单且片区之间更易于协作。当前,Cosmos、以太坊 Serenity、Near、Kadena 等都提议这种系统。但这种方式的问题在于,如果与这笔跨分片交易相关的那些区块是独立生成的,那么这些区块有概率会变成孤块,使得这笔交易只完成了一部分。我们来看看下方的图片,图片中 Shard#1 和 Shard#2 这两个片区都产生了分叉,其中区块 A (属于 Shard#1)和区块 X'(属于 Shard#2)记录了一笔跨片区交易。