版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27500493/article/details/84478049
Cosmos--侧链模式星形方式
1.特点
其主要目的是构建并行化的区块链系统,而不是已有区块链的互联互通,因而存在以下特点:
(1)直接和Hub交互的Zone必须使用Tendermint共识。
(2)提供了专用Tendermint SDK,只有使用该SDK开发的新区块链,才能收发IBC报文。
(3)已有区块链,必须借助复杂的桥接技术,才能够接入Cosmos系统。
2.例子
Alice 想从在Zone X的Alice账户中转30 winks 到 Bob在Hub这个Zone下的Bob账户
- Zone X 冻结30 winks(给某个托管方),创建IBC packet (包的目的:请求Hub在Bob的账户中产生30winks)(Zone X的validator set保证了这30个winks已经在X上破坏了,确保Hub上未来的铸币不会导致wink的总额变化)
- 任何人都可以运行client software (can take a proof of that IBC packet from zone X and post it to the hub.),从Zone x中提取IBC包,并将其传递到Hub
- Hub 验证区块头 、 merkle proof 、序列号,来确认包是一个来自Zone X的有效的IBC包,有两种可能:
- Zone X在Hub上有足够的信用(credit)去铸造30个winks ->Hub 接受这个IBC包,Hub铸造30个winks,并放到Bob的账户下,存储 IBC包+一系列成功操作的记录,放入incoming queue 中
- Zone X 在Hub上信用不足,包被拒绝 –>没有币被铸造,失败记录会记载入queue中
- 交易在Hub上成功/不成功执行后,将事务(连同证明)返回到Zone X,以完成这个循环。 -> a receipt
Receipt : 另一种类型的IBC 包,执行方式与发送方式(Hub执行的方式?)一致,在原始Zone X上执行收据不会导致error
- 交易是成功的: Zone X 会 destroy 被托管的30个winks(之前被冻结了),并且30 个wink被成功的发出了
- 交易是被拒绝的:托管方会将之前冻结的token返还到Alice的账户,仿佛之前什么都没有发生
3.涉及到的共识算法
Tendermint