这篇文章通过明确提出对块有效性和末端自由选择规则的变更,阐述了协议内横跨分片消息传递系统。这是CBC Casper分片议案的一部分,但可以精彩应用于Eth2.0的先前阶段。
回应的叙述可以在CBC Casper草案第3部分4.6中寻找。1.目标Eth2.0在协议外反对横跨分片消息传递,这意味著用户必需手动继续执行一些操作者才能传送横跨分片消息。该协议处置从分片链到信标链的交易收据的传送,并且用户必需在提到该收据的接收者分片上创立交易。
目的是要有一个协议来处置横跨分片消息的末端到末端传送,在该协议中,用户只必须在第一条分片链上分解一个事务才可。2.议案2.1.区块结构区块现在包括2个新的日志,每个都包括一个用作发送到消息(在此区块中)和已接管消息(在此区块中)的日志。2.2.消息消息是包括以下内容的对象:- sender_shard_ID- recipient_shard_ID- final_destination_shard_ID- target_block on the recipient shard- blocks_to_live parameter- payload_tx任何横跨分片消息都必需展开2跳跃-分片A到信标链,信标链到分片B。
sender_shard_ID和receive_shard_ID用作特定跳跃,而final_destination_shard_ID标识分片B。可以在高度为(target_block)+1到高度(target_block)+ blocks_to_live的接管方分片中的块中接管消息。在上图中,target_block为b2,blocks_to_live为2。
此消息不能在块b3和b4中接管。2.3.区块有效性和末端自由选择必须维持发送到和接管的原子性;要么消息在发送到方shard中发送到并在接管方shard中接管(最后),要么消息会经常出现在任何地方。我将跳过一些显而易见的消息,例如:每个消息不能接管一次,链不能接管发给自己的消息,等等。2.3.1.分片链分片链末端自由选择遵循信标链叉自由选择,并且这些改动强制执行send-receive的原子性:1. 如果信标链发送到分片某条消息,则target_block在分片链上的末端中自由选择。
2. 如果信标链从分片接管到某些消息,则发件人块坐落于分片的末端选项中。3. 如果信标链在届满时未有接到分片链消息,则发件人的区块在分片中将沦为孤块。4. 任何仍未通过blocks_to_live届满接管到仍未接到的消息的分片链块都是孤块。右图说明了第一条规则:右图说明了第二条规则:2.3.2.信标链信标链块有效性规则强迫将块中接管的消息立刻重定向所发送往最后目的地。
如果消息在区块的接管日志中,则该消息还必需经常出现在区块的发送到日志中,并具有:· sender_shard_ID标识信标链· receive_shard_ID作为接管到的消息的final_destination_shard_ID· 收件人分片上必要的target_block和blocks_to_live由于分片链末端自由选择各不相同信标链末端自由选择,因此,信标链末端自由选择必需遵循以下规则,以防止分片恐慌信标链无法从分片的一个末端发送到/接管,也无法从分片的冲突末端发送到/接管。(“发送到fork”指包括目标块的fork)该末端自由选择规则的目的是尽量避免以下情况:3.消息如何在分片之间传输?由于检验者的产于方式,消息大自然可以从信标链发送到分片/从分片发送到信标链:· 从信标链到分片链的消息不会被分片上的所有检验者看见,因为它们也是信标链上的检验者。
分片链上的检验器还具备继续执行末端自由选择的所有适当信息。· 从分片发送到信标链的消息由适当的末端链接委员会搜集,并包括在信标链的交叉链接信息中。
最重要的是要留意,并非所有信标链检验器都可以采访继续执行信标链末端自由选择和区块有效性规则所需的信息。拒绝是,网卓新闻网,如果违背了规定的规则,分片链上的检验者中最少有一个获取欺诈证据。
本文来源:云开·kaiyun官方网站-www.zepmais.com