HyperledgerFabric
随着比特币,以太坊和其他一些衍生技术的普及,区块链,分布式账本和分布式技术在企业应用的需求也在增长。但是,企业案例还需要一些特殊的性能特征,而这些性能特征是目前公有区块链技术不能提供的。
HyperledgerFabric是一个开源的企业级许可分布式分类帐技术(DLT)平台,专为在企业环境中使用而设计。
Fabric具有高度模块化和可配置的架构,可为各种行业用例提供支持,例如银行、金融、保险、医疗保健、人力资源、供应链甚至数字音乐交付,Fabric的应用在未来拥有广阔的前景。
Hyperledger项目是一个大型的开源项目,希望通过各方合作,共同促进和推进区块链技术在商业应用方面的发展。在组成结构上,包含了很多相关的具体子项目。项目官方地址托管在Linux基金会网站,代码托管在Gerrit上,并通过GitHub提供代码镜像。
Hyperledger项目在管理所属子项目时采用了一种生命周期的形式,赋予每个项目一个生命周期,方便项目的运行和管理。整个生命周期分为5个阶段,分别是提案阶段、孵化阶段、活跃阶段、弃用阶段以及最后终止阶段。每个项目在开发运行过程中,一个时间点只会对应着一个阶段。当然,项目不一定会按照以上阶段顺序发展,项目可能会一直处于某个阶段,也可能会因为一些特殊原因在多个阶段之间进行变换。
Neobank Cogni为加密钱包持有人推出含有KYC信息的NFT:金色财经报道,Neobank Cogni宣布正在向其加密钱包的持有者推出含有KYC信息的NFT。基于Polygon的NFT将把客户在开户时由银行完成的 \"Web2 \"KYC验证转移到Web3环境中。
Cogni通过一家传统的纽约银行获得了美国联邦存款保险公司的承保,它在1月份推出了其非托管的多链路加密货币钱包。用户可以在钱包中发送、接收和持有加密货币和NFTs。用户可以选择铸造不可转让的NFT,然后DApps可以在所有者的许可下解密。[2023/4/27 14:31:04]
目前,Hyperledger项目下共有14个子项目在运行中,详细信息如下表所示:
Hyperledger子项目
我们重点来关注Fabric,Fabric是一种区块链技术的实现,也是一种基于交易调用和事件的分布式共享账本技术。比起其他的区块链技术实现,它采用了模块化的架构设计,支持可插拔组件的开发与使用。其总帐上的数据,由多方参与节点共同维护,并且一旦被记录,账本上的交易信息永远无法被篡改,并支持通过时间戳进行溯源查询。
Hashflow宣布集成互操作协议Wormhole:12月7日消息,去中心化交易平台Hashflow宣布与互操作性协议Wormhole集成,以提供跨链交易功能。目前Hashflow支持以太坊、Avalanche、Optimism、Arbitrum、Polygon与BNB Chain。而本次合作将使Hashflow用户能够以更低费用在更多链上交换加密货币。(The Block)[2022/12/7 21:29:01]
与以太坊相比,有以下优势:
Fabric引入了成员管理服务,因此每个参与者在进入前均需要提供对应的证书证明身份才能允许访问系统,同时引入多通道多账本的设计来增强安全性和私密性。
Fabric采用了强大的Docker容器技术来运行服务,支持比以太坊更便捷、更强大的智能合约服务。
Fabric可以支持多语言的合约编写,例如GO、Java和Node.js。
Hyperledger?Fabric是分布式账本技术(DLT)的独特实现,它可在模块化的区块链架构基础上提供企业级的安全性、可扩展性以及高性能。当前Fabric的最新版本与最早的v0.6版本相比,在安全、保密、部署、维护、实际业务场景需求等方面都进行了很多改进:
ApeCoin DAO新提案提议开发第三人称射击游戏《Ape Worlds: Shooter Edition》:9月17日消息,ApeCoin DAO 社区已发起一项新提案 AIP-103,旨在创建一款第三人称射击游戏《Ape Worlds: Shooter Edition》,吸引更多人进入 ApeCoin 生态,该提案投票截止时间是 9 月 22 日,但目前社区似乎对开发这款游戏的热情不高,反对票比例达到 75.27%。[2022/9/17 7:03:25]
架构设计上的Peer节点的功能分离、多通道的隐私隔离、共识的可插拔实现等。
功能上引入Raft崩溃容错共识服务、改进可维护性和可操作性、加入私有数据支持等。
Fabric具有以下特性:
身份管理(Identitymanagement):Fabric区块链是一个许可链网络,因此Fabric提供了一个成员服务(MemberService),用于管理用户ID并对网络上所有的参与者进行认证。在HyperledgerFabric区块链网络中,成员之间可以通过身份信息互相识别,但是他们并不知道彼此在做什么,这就是Fabric提供的机密性和隐私性。
矿企BitNile再次向比特大陆订购1325台蚂蚁矿机S19j Pro:9月7日消息,比特币矿企BitNile Holdings宣布其子公司BitNile已与比特大陆签订合同,额外购买1325台蚂蚁矿机S19j Pro,根据这份新合同,BNI总计购买21925个比特币矿机。
该公司创始人兼执行主席Milton“Todd”Ault III表示,我相信比特币的长期前景是积极的,很高兴能够投资更多的比特币挖矿设备以扩大我们的加密货币挖矿业务。 (businesswire)[2022/9/7 13:14:20]
隐私和保密(Privacyandconfidentiality):HyperledgerFabric允许竞争的商业组织机构和其他任意对交易信息有隐私和机密需求的团体在相同的许可链网络中共存。其通过通道来限制消息的传播路径,为网络成员提供了交易的隐私性和机密性保护。在通道中的所有数据,包括交易、成员以及通道信息都是不可见的,并且对于未订阅该通道的网络实体都是无法访问的。
高效的性能(Efficientprocessing):HyperledgerFabric按照节点类型分配网络角色。为了提供更好的网络并发性和并行性,Fabric对事务执行、事务排序、事务提交进行了有效的分离。先于排序之前执行事务可以使得每个Peer节点同时处理多个事务,这种并发执行极大地提高了Peer节点的处理效率,加速了交易到共识服务的交付过程。
Wormhole多链桥接上线Karura:6月14日消息,波卡生态多链DeFi中心Acala宣布Acala EVM已进入其首个发布阶段,Wormhole的多链桥接上线,基于Karura的DApp都将能够为用户集成Wormhole资产,并访问Wormhole已经支持的数个Layer1区块链网络。
据悉,Acala EVM+旨在帮助开发者将以太坊DeFi项目部署到波卡生态中,其为用户提供了类似于以太坊的开发环境,但同时保证用户仍可使用波卡的开发框架Substrate的全部功能。[2022/6/14 4:24:05]
模块化设计(Modulardesign):HyperledgerFabric实现的模块化架构可以为网络设计者提供功能选择。例如,特定的身份识别、共识和加密算法可以作为可插拔组件插入Fabric中,因此任何行业都可以采用通用的区块链架构,并确保其网络可跨市场、监管和地理边界进行互操作。
可维护性和可操作性(Serviceabilityandoperations):日志记录的改进以及健康检查机制和运营指标的加入,使得v1.4版本在可维护行和可操作性上实现了巨大飞跃。新的RESTful运营服务为生产运营商提供三种服务来监控和管理对等节点和共识服务节点运营。
第一种服务使用日志记录/logspec端点,允许操作员动态获取和设置对等节点和共识服务节点的日志记录级别。
第二种服务使用健康检查/healthz端点,允许运营商和业务流程容器检查对等节点和共识服务节点的活跃度和健康情况。
第三种服务使用运营指标/metrics端点,允许运营商利用Prometheus记录来自对等节点和共识服务节点的运用指标。
HyperledgerFabric架构解读
Fabric主要由3个服务模块组成,分别是成员服务(MembershipService)、区块链服务(BlockchainService)和合约服务(ChaincodeService)。在逻辑架构图中,还能看到事件流贯穿三大服务组件间,它的功能是为各个组件的异步通信提供技术支持。
Fabric架构示意图
通道:在v1.0之后的版本中,Fabric引入了新的通道概念,共识服务上的消息传递支持多通道,使得Peer节点可以基于应用访问控制策略来订阅任意数量的通道。
Peer节点的子集可以被应用程序指定架设相关通道,指定相同通道的Peer节点组成集合提交该通道的交易,而且只有这些Peer节点可以接收相关交易区块,与其他交易完全隔离。
Fabric支持多链与多通道,即系统中可以存在多个通道以及多条链。应用根据业务逻辑决定将每个交易发送到指定的一个或多个通道,不同通道上的交易不会存在任何联系。
Fabric通道示意图
私有数据支持:从v1.2开始,Fabric能够在账本中创建私有数据集,允许通道上组织的子集能够认可、提交或查询私有数据,不用创建单独的通道就能实现通道上的一组组织的数据向其他组织保密的功能。
私有数据存储在授权组织的对等节点上的私有状态数据库中,能被授权节点上的链码通过gossip协议访问。共识服务不涉及私有数据,也无法看到它们。
私有数据的哈希值能够被认可、排序并写入通道上每个节点的帐本中,可作为交易的证据,用于状态验证,还可用于审计。
节点分类:Fabric中多种类型的节点,具体分类和功能介绍如下:
客户端节点:客户端是最终用户操作的实体,它必须连接到某个Peer节点或者orderer节点,与整个区块链网络进行通信。
CA节点:CA节点接收客户端的注册申请,返回注册密码用于登录,以便获取身份证书。在区块链网络上所有的操作都会验证用户的身份。
Peer节点:每个Peer节点可以担任如下多种角色:EndorserPeer(背书节点)、LeaderPeer(主节点)、CommitterPeer(记账节点)、AnchorPeer(锚节点)。
注意:每个Peer节点必定是一个记账节点,除记账节点外,它还可以担任其它一到多种角色,即某个节点可以同时是记账节点和背书节点,也可以同时是记账节点、背书节点、主节点,锚节点。
EndorserPeer(背书节点):所谓背书,就是指特定Peer执行交易并向生成交易提案的客户端应用程序返回YES/NO响应的过程。只有在应用程序向节点发起交易背书请求时才成为背书节点,其他时候是普通的记账节点,只负责验证交易并记账。
LeaderPeer(主节点):主节点负责和Orderer排序服务节点通信,从排序服务节点处获取最新的区块并在组织内部同步。
CommitterPeer(记账节点):负责验证从排序服务节点接收的区块里的交易,然后将块提交(写入/追加)到其通道账本的副本。
AnchorPeer(锚节点):锚节点主要用来同步同一通道中各组织间的信息。
Orderer(排序服务节点):排序服务节点接收包含背书签名的交易,对未打包的交易进行排序生成区块,广播给Peer节点。
Fabric交易流程示意图
本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。