hyperledger fabric (三)

stevenlife · · 1676 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

区块链中的共识机制:

常用的共识算法有:

  • 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 模块组成

image.png

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:stevenlife

查看原文:hyperledger fabric (三)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1676 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传