主页 > imtoken钱包app官方下载 > IBM技术专家:Hyperleger Fabric架构分析及部署实例

IBM技术专家:Hyperleger Fabric架构分析及部署实例

imtoken钱包app官方下载 2023-03-16 07:16:18

新事物往往不是凭空产生的,其发展过程也不是一蹴而就的。 当前如火如荼的区块链技术,从2009年至今,经历了三个发展阶段。

3.0时期,诞生了几个有代表性的平台。 公链的代表是以太坊,最著名的私有链是R3 Corda,联盟链的代表作是Hyperledger旗下的Fabric。

认识 Hyperledger Fabric

Hyperledger 是世界上最大的企业应用分布式账本开源项目。 它由Linux基金会支持,创建于2015年底。目前已有超过200家科技和金融行业的领先企业加入成为成员,包括IBM、英特尔、摩根、甲骨文、万达、百度、腾讯、等一大批基于超级账本技术的企业区块链项目已经成功落地。

现在说到Hyperledger,基本上就是指IBM开发的Fabric平台。 Hyperledger Fabric项目自诞生以来就受到了全球众多公司的关注,先后发布了两大版本,0.6实验版(2016年9月)、1.0正式版(2017年7月)、1.1正式版(2018年3月20日) .

Hyperledger Fabric,也称为超级账本。 它现在由 Linux 基金会管理,主要由 IBM 和 Digital Asset 赞助。 IBM和Digital Asset的客户是企业和政府部门。 那么超级账本也是为企业应用开发的。

除了Fabric,Hyperledger项目还管理了一些其他的工具,有兴趣的同学可以去官网学习

Hyperledger Fabric 有哪些特点? 1.打开

说起Linux基金会,大家首先会想到Lnux Github。 Linux无疑是使用最广泛的操作系统。 Github 是最大的开源社区。 github上有无数的开源软件。 全世界的程序员每天都在 Github 上提交新项目和改进代码。

Linux 基金会拥有大量成员。 目前已有1000多家企业会员,包括BAT、华为、中国移动、招商银行、中国电信、中信银行等多家中国大型企业。

Hyperledger 于 2015 年底由 Linux 基金会公布,成立后不久便吸引了大量企业入驻。 截至2016年底,已有120多家企业加入,其中约四分之一为中国企业。 也可以看出现在中国的IT很活跃,对区块链的投入也很大。

该项目目前有18位白金会员(见下图)

手机版比特币挖矿工具_比特币一分28校验工具_比特币分链

目前的 Fabric 代码主要由 IBM 和 Digital Asset 两家公司提供。 在IBM贡献代码之前,内部称为Openblockchain比特币一分28校验工具,是IBM的开源区块链项目。 中国很多公司都在研究这个项目,包括中信、民生、华为、浪潮、腾讯和招商银行。

2.开源

它的源码是开放的,在Github上有镜像,可以方便的下载。

3.支持多国语言

比特币分链_比特币一分28校验工具_手机版比特币挖矿工具

SDK目前支持go、java、js、python四种语言,基本上是目前最流行的编程语言,大多数写代码的同学都至少知道其中一种。 这也大大降低了Fabric的使用门槛,开发者无需学习新的语言就可以开始编写区块链应用程序。

此外,Hyperledger 还有一个工具叫做 Hyperledger Composer。 使用此工具,您可以快速搭建区块链环境。

4. 可插拔可扩展

Fabric中的CA、数据库、共识算法等都是可插拔的。 而且Farbric的Chaincode是通过docker实现的。

什么是链码? 这又回到了共识机制。 共识机制是所有参与者对每个合约的确认过程。 举个简单的例子,A​​转100元给B:“A支付,B收到支付确认”,这个信息记录在账本上,这就是共识机制。

代码如何实现这个动作? A 的转账动作和 B 的确认动作都是在链码中实现的。 类似于我们定义转账接口,A实现支付代码,B实现确认代码。 这些代码是链码。

5. 考虑数据共享和隐私保护

隐私一直是每个人都关心的话题。 Facebook也因为Cambridge Analytica而被烧毁,许多公司也修改了隐私保护规则。 欧盟也出台了新的数据保护法规——GDPR(General Data Protection Regulation),于5月25日生效,对数据保护提出了更高的要求。 据了解,欧盟有超过半数的企业达不到要求。

区块链的账本是共享的,像比特币、以太坊等,每个人都可以查看交易数据。 虽然不知道是谁的数据,但让人很是担心。 在 Fabric 中,分类帐不会与所有人共享。 相反,数据是通过通道隔离的。 虽然大家在同一个区块链网络中,但不在同一个通道中,没有办法共享账本。 因此,可以通过建立不同的频道来达到点播分享的目的。

Hyperledger Fabric架构设计

Fabric核心组件 Fabric有3个核心组件: Peer——node,大部分代码在peer中实现; Ordering-Service——完成共识机制的地方; CA——会员管理。 (如下所示)

比特币分链_比特币一分28校验工具_手机版比特币挖矿工具

1.节点(Peer)

Peer是网络中具有一定功能的服务或软件。 它在Fabric网络中,主要负责接收交易请求。 维护分类帐通常在容器中运行。 节点通过 gRPC 进行通信。

在 Fabric 中,主要有三种 Peer 类型:Endorser、Committer、Submitter。

Endorser(背书节点):负责交易提案的校验和背书,按照定义的规则读写数据,读写集合,这个读写数据叫做state db,或者world state db。 背书就是签字。 它具体做的事情就是按照约定将数据读写到交易中,可以理解为合约中各个条款的执行。 请注意,此数据不会写入分类帐数据,因为分类帐是共享的。

Committer(确认节点):负责检查交易请求,验证背书和交易结果,执行交易,维护区块链和账本结构。 提交者将写入共享分类帐数据。

Submitter:具体功能当前版本未公布,可能参与记账。 请期待。

手机版比特币挖矿工具_比特币分链_比特币一分28校验工具

如下图,左边是账本,每个peer各保存一份。 右边的是state db或者world state db,里面记录了背书数据,签名等。

手机版比特币挖矿工具_比特币一分28校验工具_比特币分链

账本数据本身就是一个文件系统。 World State DB 可以是 CouchDB 或 LevelDB。

2. 订购者

Orderer 负责对网络中收到的交易进行全局排序。 订单是接收交易并生成区块。 并负责共识机制RWSet的策略管理。 有点像比特币中的矿工。

手机版比特币挖矿工具_比特币分链_比特币一分28校验工具

3.CA节点

负责管理网络中的成员。 目前采用数字证书机制,CA节点实现PKI服务。

PKI系统PKI(Public Key Infrastructure),它不是某种技术,而是一种集成多种密码学方法以实现安全可靠的消息传输和身份确认的框架和规范。 一般来说,它包括以下几个部分: CA(Certification Authority):负责颁发和吊销证书,并接收来自RA的请求; RA(Registration Authority):验证用户身份,验证数据有效性,负责注册,审核 Certificate database:存储证书,通常使用LDAP目录服务,标准格式采用X.500系列。

CA是核心组件,主要完成对公钥的管理。 密钥分为签名用和加密解密用两种,分别称为签名密钥对和加密密钥对。 用户申请基于PKI系统的证书,一般可以由CA生成证书和私钥,也可以自行生成公钥和私钥,由CA颁发公钥。

完成交易的具体项目

一个交易就是一个合约,一个合约,不同的参与者需要完成不同的任务来完成这个合约

手机版比特币挖矿工具_比特币一分28校验工具_比特币分链

如图,右上角的紫色框就是签名规则。 根据这个规则,E0、E1、E2 三方需要完成签名。

第一步比特币一分28校验工具,客户端按照规则向网络广播消息

手机版比特币挖矿工具_比特币分链_比特币一分28校验工具

E0、E1、E2收到消息后执行背书

比特币分链_比特币一分28校验工具_手机版比特币挖矿工具

E0、E1、E2完成背书后,通知客户端

手机版比特币挖矿工具_比特币一分28校验工具_比特币分链

客户端收到大家的确认后,向Orderer服务发送请求。 订单服务对交易进行排序,将其写入区块,并将其发送给提交节点。 这个区块就是区块链的区块。

比特币分链_手机版比特币挖矿工具_比特币一分28校验工具

第六步,Committer peer验证交易

提交对等调用验证链码以验证交易。 验证通过后写入账本。

手机版比特币挖矿工具_比特币分链_比特币一分28校验工具

最后,通知客户端交易完成

手机版比特币挖矿工具_比特币一分28校验工具_比特币分链

Hyperledger Fabric 用例分享

IBM 已经完成了 400 多个区块链项目,包括:

手机版比特币挖矿工具_比特币一分28校验工具_比特币分链

We Trade是一个以财务审计为主的项目。 审计是核对各个公司各个部门之间的账目。 过去,这些数据分散在不同的公司,对账非常费时费力。 有了区块链,因为数据是共享的,查起来很方便。 据说他们的效率提高了五倍。

手机版比特币挖矿工具_比特币分链_比特币一分28校验工具

这是 IBM 为 ABN Amro 完成的第三个项目。 前两个是金融相关的,这个是和中国的渤海实业合作的。 渤海实业是我国农业龙头企业,本项目主要跟踪大豆进口。 我国是大豆进口大国,每年进口大豆约1亿吨,进口额超过400亿美元。 使用区块链技术可以完全追踪大豆的生产和贸易。

手机版比特币挖矿工具_比特币分链_比特币一分28校验工具

IBM与全球多家大型食品供应商建立了合作关系,包括沃尔玛在中国的猪肉食品追踪和美国的包装食品追踪。

问答环节

以上内容基于IBM技术专家赵振华的分享。 现场,前哨的合作伙伴也提出了各种问题,振华先生也进行了相应的解答。

问题一:如果区块上的某些交易数据需要保护(不被其他可以访问区块的成员看到),如何设置?

赵振华:用户和数据可以通过创建不同的通道来隔离。 只有同一频道的用户才能访问该频道对应的账本上的数据。

问题2:排序服务可以有多个实例吗? 如果是由多个组织组成的联盟链,谁负责这个订单?

赵振华:每个通道都有一个排序服务,排序服务可以由一个或几个节点组成。

问题三:【背书完成后E0、1、2通知客户】这部分是全部通知,还是最后一个完成的通知有效?

赵振华:E0、1、2分别进行不同的背书服务,背书顺序不定,完成后需要分别通知。 但是可以制定不同的策略,比如5个节点,3个节点完成背书就可以认为有效。 客户端在收到 3 时认为它已完成。

问题 4:peer 可以同时是 endosor 和 commiter 吗?

赵振华:每个同行只有一个作用。

问题5:State DB存储什么,交易结果? ledger 和 ledger 和有什么不一样?

赵振华:State DB存储的最新交易状态。 提交节点验证完Block中的所有Transaction后,将Block写入账本,并根据Transaction更新State Database。 举个存款的例子,客户A银行账户里有1000元,现在通过ATM又存了500元。 ATM收到钱后,从state db中读取A的余额1000,然后将A的账户余额修改为1500。这笔交易被验证并写入账本。 A在State DB中记录的余额为1500,而不是之前的1000元。

问题六:orderer节点是否通过对rwset进行排序使逻辑执行顺序一致来达成共识?

赵振华:不仅要读取数据,还要检查业务逻辑。

问题七:达成共识需要多长时间? 比特币的账本更新节点会越来越大,更新很慢。

赵振华:比特币是按照PoW计算的,所以比较费时间。 在 Fabric 中,完成背书、排序和验证后达成共识。

问题8:目前的联盟链有多少个点,每个点有多少存储冗余?

赵振华:每个节点存储一个账本,账本数据一般都不大。 空间不是问题。

问题九:区块链如何存储大文件,比如视频文件

赵振华:如果业务需要存储大文件,建议在账本中存储大文件的摘要信息,比如MD5码,将大文件存储在文件系统上。

问题10:目前区块链技术成熟度低于数据库,成本/难度高于数据库。 企业似乎很难找到使用的场景和原因?

赵振华:区块链确实是一个比较新的技术,它也有缺点,但是在很多应用场景中,使用区块链比传统的解决方案要好。

问题11:Fabric中的账本其实包括Key-value数据库和区块链,key-value数据库中的记录其实是可以修改的。 不能修改的是区块链账本。 这样看来,防篡改功能其实是一个问号。 老师怎么看待这个问题?

赵振华:数据主要是基于账本上的数据。 peer启动时会根据账本恢复state db,也可以根据需要随时恢复state db。

问题12:除了jira,还有没有开发交流社区? 感觉文档不是很全。 Fabric-CA有点鸡肋,在实际项目中有用吗? 因为只是发证,和MSP没有直接关系,所以在自己的平台上用openssl库管理证书可能会更快一些? 另外,目前的项目好像只实现了ECC签名。 有没有做加解密的打算? 加密aes密钥目前是否意味着需要同时生成一组rsa证书?

赵振华:Fabric 是一个许可的区块链。 企业的合作伙伴都是已知的,每个参与者都是大家同意的。 事实上,即使有公链,也有没有参与者的密钥,但没有中心化管理。

今日推荐

点击下方图片阅读

比特币一分28校验工具_手机版比特币挖矿工具_比特币分链