DeepHash专栏|Monoxide:突破区块链不可能三角的极简架构(16)

<ZoneId Height RelayMerklePatht t>

为了校验这个接力交易 , 共识组的块头将包含两个 MerkleRoot , 一个是之前就有的覆盖所有被本块确认的交易的 Merkle 树 , 另一个是新增的覆盖由本块中的交易发出去的所有接力交易 。 后者将被其它共识组接收 , 并用于校验由其发出去的接力交易 。

默认情况下 , 构造和转发接力交易由确认初始交易的那个矿工(在共识组 A)完成 。 万一这个转发失效 , 共识组 A 中任何一个全节点 , 都有能力从交易历史中根据那个初始交易重新构造并转发丢失的接力交易 , 无需额外的共识或证明 。

无论是接力交易 , 还是普通的未确认交易 , 都将以类似的方式在目标共识组的广播子网中传播 , 并被暂存在未确认交易的集合中 。 矿工在出块的时候 , 将同等对待接力交易和未确认交易 , 通常根据其手续费多少来排优先级 。 任何产生一个或多个接力交易的初始交易 , 其手续费会被分配给初始交易和多个接力交易 , 给到最终在其它共识组确认这些交易的矿工 。 在 Monoxide 中 , 这个分配比例可以由智能合约代码控制 。

推荐阅读