一、申请交易
背书节点 ,都是peer节点,E0,E1,E2。
一定要部署链码。
提交节点,记账节点,没有背书功能,都是peer节点,P3,P4
可以没有部署和执行任何链码。
账本,保存所有交易信息。
每个节点都有一个自己的账本。
客户端
排序节点
可以是一个分布式的
智能合约,链码
背书策略
二、背书节点执行交易
背书节点会根据当前账本数据模拟执行链码中的业务逻辑并生成读写集(RwSet),其中包含响应值、读写集等。
在模拟执行时账本数据不会更新。
而后背书 节点对这些读写集进行签名成为提案响应 (Proposal Response),然后返回给应用程 序
三、客户端收到响应
四、客户端发送交易给排序节点
应用程序接收到所有的背书节点签名后,根据背书签名调用SDK生成交易,发送给排序服务节点。
生成交易的过程比较简单,确认所有的背书节点的执行结果完全一致,再将交易提案、提 案响应和背书签名打包生成交易
五、Orderer排序并转发交易
排序服务不读取交易的内容,如果在生成交易信封内容的时候伪造了交易模拟执行的结果, 排序服务节点也不会发现。
但会在最终的普通peer节点收到区块,交易验证阶段,校验出来并标记为无效交易。
记录在区块中,但是不执行
七、通知客户端