Pyramid:A Layered Sharding Blockchain System

在这篇文章中,提出 pyramid 技术,相比于完全分片,有些分片是存在 overlap 的。
将分片分成两类,i-shard 只负责进行片内交易的处理。 b-shard,包含多个i-shard的node,不仅进行片内交易,也负责处理夸片交易。
请添加图片描述

由 b-shard 负责提出cross-shard block,每个b-shard 会保留多个i-shard中的信息。所以b-shard非常高效的验证跨片交易的有效性。

b-shard 提出的cross-shard block中包含跨shard交易和shardA B 中的用户状态列表。

请添加图片描述

当b-shard中通过了 2/3 的共识,但是这时候 i-shard中的节点还不知道共识结果,因此还不能提交。b-shard 将这个块发送到 i-shard中,i-shard通过集合签名进行共识。将集合签名和block的header 发送回b-shard 作为Accept 消息。

当b-shard收到所有相关的 i-shard的accpt 消息后,向 i-shard 发送commit 消息,这个块就被正式提交了。

算法要求每个shard中的恶意节点不超过 1/3 否则系统将失效,这个假设也是比较强的假设

请添加图片描述

请添加图片描述

Relay 机制

问题是大部分的交易都是跨shard的交易,那么i shard的负载岂不是要比 b shard的负载小很多。
大部分的工作都是 b shard 完成的。

如果说所有的cross-shard 都是通过 pyramid 的b-shard完成的,那不可能。有些需要的 b-shard 可能并不存在。那么就需要像 relay一样的机制来完成一些cross-shard交易。

在cross-block中添加一个 outbound transaction list ,如果跨片交易的sender属于b-shard所负责的部分,但是receiver并不在 i-shard 所关联的shard中,那么将会把这种交易放入 outbound transaction list。这些交易并不会在这个round就被处理完成,会将这些交易和这些交易的 Merkle tree path 发往下一步的 i-shard。就像relay机制一样。

At its core, Pyramid allows some shards storing the state of multiple other shards to form layered sharding structure thus handles cross-shard transactions efficiently.
这个算法思想的核心就是通过分层的结构保存多个shard的结构,高效的完成cross-shard 交易。

请添加图片描述

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值