Fabric交易流程

fabric官方文档笔记,文档地址:Transaction Flow

1. client发起交易

    调SDK提交交易请求

2. endorsing peer 验签并执行交易

    验证内容:

        1) 请求的格式

        2) 是否被提交过

        3) 签名有效

        4) 发起人是否有权限发起相应请求

    执行交易

        模拟执行交易,产生用来更新的read集和write集并做背书签名,将响应返回给client

3. client使用响应

    1) 查询请求:只需要查看响应结果,交易结束

    2) 更新请求:查看响应的背书信息,以决定是否提交更新(可选,不强制提交到Odering server的请求是符合背书策略的)(提交大量不符合背书策略的请求会影响什么?)

4. 提交请求并结块

    client将收集的背书响应和请求提交给ordering server

    ordering server将收集的请求按channel排序(按什么顺序是不重要的,重要的是有一个唯一特定的顺序),按结块策略组成区块

5. 验证并确认交易

    odering server将区块广播到相应channel的所有peer上,peer独立检查区块中的每条交易是否有效,并打上相应标记

    peer检查交易的内容:

        1) 是否符合背书策略

        2) read集中的值在2步生成以后有没有发生改变(CAS中的C)

6. 更新账本

    peer将区块添加到本地区块链的末尾,并将有效交易中的write集更新到状态数据库中(CAS中的S),同时通知client

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容