ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Hyperledger Fabric教程(12)-- 交易过程

2021-01-07 17:30:23  阅读:260  来源: 互联网

标签:背书 12 Fabric 验证 -- 节点 签名 排序 交易


 

一、申请交易

 

角色

1. Endorser

背书节点 ,都是peer节点,E0,E1,E2。

一定要部署链码。

 

2. Commiter

提交节点,记账节点,没有背书功能,都是peer节点,P3,P4

可以没有部署和执行任何链码。

 

3. Ledger

账本,保存所有交易信息。

每个节点都有一个自己的账本。

 

4. Application

客户端

 

5. Orderer

排序节点

可以是一个分布式的

 

6. Smart Contract(Chain code)

智能合约,链码

 

7. Endorsement Policy

背书策略

 

 

 

 

二、背书节点执行交易

 

 

1. 背书节点在收到交易提案后会进行一些验证

§ 交易提案的格式是否正确

§ ·交易是否提交过(重复攻击保护)

§ ·交易签名有效(通过MSP);

§ ·交易提案的提交者在当前通道上是否已授权有写权限。

 

2. 验证通过后

背书节点会根据当前账本数据模拟执行链码中的业务逻辑并生成读写集(RwSet),其中包含响应值、读写集等。

在模拟执行时账本数据不会更新。

而后背书 节点对这些读写集进行签名成为提案响应 (Proposal Response),然后返回给应用程 序

 

 

三、客户端收到响应

 

 

四、客户端发送交易给排序节点

 

构造交易请求并发送给排序服务节点

应用程序接收到所有的背书节点签名后,根据背书签名调用SDK生成交易,发送给排序服务节 点。

生成交易的过程比较简单,确认所有的背书节点的执行结果完全一致,再将交易提案、提 案响应和背书签名打包生成交易

 

五、Orderer排序并转发交易

1. 排序服务节点以对交易进行排序并生成区块

 排序服务不读取交易的内容,如果在生成交易信封内容的时候伪造了交易模拟执行的结果, 排序服务节点也不会发现,但会在最终的交易验证阶段 校验出来并标记为无效交易。

2. 排序服务节点以广播给各通道的锚点peer

 

六、记账节点验证交易

记账节点验证区块内容并写入区块

§ 1.交易数据的验证,

  • § 是否为合法的交易:交易格式是否正确,是否有合法的签名,交易内容是否被篡改;
  • § ·记账节点是否加入了这个通道。
  • § 基本的验证通过以后会提交给VSCC进行背书策略的验证。

§ 2. 基于状态数据的验证和MVCC检查

§ 3. 无效交易的处理

 

七、通知客户端

 

 

 

 

 

 

标签:背书,12,Fabric,验证,--,节点,签名,排序,交易
来源: https://blog.csdn.net/u013288190/article/details/112320337

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有