区块链中的共识机制:
常用的共识算法有:
- POW 工作量证明
- POS 股权证明机制
- DPOS 授权股权证明
- PBFT 拜占庭共识算法
fabric的技术特性
fabric的多账本特性
通道(channel):通道是两个或多个特定网络成员之间的通信的私有“子网”,用于进行需要数据保密的交易
一个通道包含若干成员,这些成员之间共享同一个账本。通道内所有成员共享账本数据并且共同维护账本。
一个通道可以包含多个会员,一个会员也可以在权限允许的情况下加入多个通道。
同时不同的通道中账本数据的格式也是不一样的,Fabric中账本的存储方式被设计成插件的形式,账本的数据可以选多种存储格式。
不同的会员可以根据自己的实际情况选择不同的数据存储方式。
fabric的账本特点:
- 使用基于Key的查询、范围查询、复合键查询来查询或更新账本。
- 只读查询支持丰富的查询语句(CouchDB)。
- 只读的历史查询——实现数据追溯场景。
- 交易包含读取链码键值对(读集),以及写入链码键值对(写集)的版本。
- 交易包含所有背书节点提交至排序服务的签名。
- 交易被打包排序成区块,并通过通道从共识节点传至对等节点。
- 对等节点通过背书政策标准来验证交易。
- 在增加区块前,需要执行版本检查以确保数据在链码执行时间段没有被篡改。
- 当交易被验证并承诺后,便不可改变。
- 每个通道的账本都包含配置区块,它定义了政策标准、访问控制列表与其他相关信息。
- 通道包含了会员服务提供商实例,因此加密证书能传递到不同的证书颁发机构。
智能合约
- Fabric中的智能合约称为链码(Chaincode)
- Chaincode是一段用计算机语言编写的程序。
- Chaincode运行在容器中,Fabric通过Chaincode可以读取和修改账本数据,同时会把交易的日志保存在状态数据库中。
- Chaincode可以通过多种编程语言来开发,目前支持Go、Java、Node.js等语言。(建议使用golang)
Fabric中的权限系统
Fabric中有一个会员服务系统(MembershipServiceProvider,MSP)。
MSP是基于PKI规范而建立的一个用户证书和私钥体系。
Fabric 共识算法
Fabric会支持Solo(单节点共识)、Kafka(分布式队列)和SBFT(简单拜占庭容错)三种共识方式。
Fabric 模块组成
有疑问加站长微信联系(非本文作者)