
hyperledger中的节点分为三种:
- client
- peer
- order
- client发起提案,peer0,...peerN都会收到提案,每个peer上都会有一套账本,提案会在每个peer上基于该节点的账本进行模拟执行.
- 模拟执行完后的结果会签名返回给client,返回的内容叫背书(endorsorment response)
client收到足够的背书后,就会知道本次提案是否成功
- 如提案通过,则sdk向orde节点发起更新申请
- order将更新申请按照账本状态排序,排序完了没有问题,则会生成区块,实际上是一个确认更新的操作,这个操作会发给所有的节点,每个节点收到该操作后会同步数据
账本没更新一次都会产生新的版本,加上排序,解决双花问题。
账本有两套账,一个是transaction记录,一个是世界状态
多组织下的order数据是要同步的,如果一个order被黑客攻破了,数据不会更新到账本,保证了账本的安全
网友评论