Fabric交易的7个周期

下面用一个具体的小例子来演示一下过程:

  • 第一阶段

    客户端应用发起智能合约A的交易请求给背书节点E0。(假设智能合约A配置的背书策略要求只需要E0,E1,E3的签名)

  • 第二阶段

    背书节点 E0 使用 MSP 验证签名,判断客户端应用是否被正确授权可以执行发起交易请求。然后一些值的集合,连同背书节点的签名和一个YES/NO 的陈述一起放到 proposal response 中返回给客户端应用

  • 第三阶段

    客户端应用验证背书节点签名,然后继续发送背书请求给E1和E2,过程跟与E0的交互时一样。

  • 第四阶段

    客户端应用收集完所有背书节点的签名后,检查是否指定的背书策略已经满足

  • 第五阶段

    客户端应用将交易和响应信息封装到一个事务消息(transaction message)中,然后广播到共识网络即(Ordering Service)

  • 第六阶段

    共识服务节点将打包的区块广播道同一个通道的所有peer

  • 第七阶段

    Peers收到共识网络发来的区块后,会先进行以下校验:

    1. 再次验证区块中的交易以确保背书策略满足
    2. 检查区块中的数据是否正确
    3. 对每个交易进行验证,确保自从读集合数据在交易执行生成后,读集合变量对应的账本的状态没有变化,也就是验证交易中的读写数据集是否与State Database的数据版本一致。

    验证通过后,区块中的交易打上合法和非法交易的标签,然后添加区块到通道对应的链上,同时把所有验证通过的交易的读写集中的写的部分写入状态数据库State Database。

具体参见 Fabric原理剖析

你可能感兴趣的:(Fabric交易的7个周期)