两步搞定Hyperledger主打区块链解决方案Fabric

区块链技术发展至今,形成了公有链和联盟链两种主流技术平台。

公有链 面向大众,用户可以匿名参与,非常方便,账本数据也公开,加上强大的智能合约,因此公有链极大地促进了区块链概念和技术的普及,比如比特币、Ethereum平台等。

联盟链 考虑到商业应用对安全、隐私、监管、审计、性能的需求,提高准入门槛,增加了安全、隐私、可监管审计等商业特性,是区块链技术在商业领域的应用探索。

本文将通过系统介绍,帮你两步搞定符合Hyperledger协议规范的联盟链实现技术:Fabric

第一步:读懂系统设计

Fabric系统主要由两个应用构成:Orderer和Peer,其中Orderer负责交易共识并生成区块,Peer节点负责模拟执行交易和记账。这种划分可以使整个平台拥有更好的弹性和扩展性。

Peer和Orderer都是模块化设计,重要模块支持插拔,比如共识机制、合约执行环境、加密算法、证书服务模块等。模块化的设计让企业可以利用现有IT设施来替换部分Fabric模块。

Fabric架构如下图:

证书服务——共建信任
上图中最左边是证书服务系统,主要提供会员注册和证书颁发功能,Fabric系统的参与方都必须经过授权,比如Orderer、Peer、Client等都需要拥有受信任的证书。

证书一方面用于系统接入,另一方面用于交易签名。所以统一的证书服务非常重要。

会员证书又分为注册证书和交易证书,注册证书与会员信息关联在一起,用于标识会员的身份,在必要的时候,还可以支持监管和审计;交易证书用于交易签名,之所以交易要用不同的证书,是为了避免会员的个人信息和交易信息被泄露,比如交易内容或者多笔交易之间的关联关系等,另外交易证书可以申请多份,甚至可以为每一笔交易申请一份交易证书。

▪ 共识网络——独特何在?
上图中最右侧为区块链共识网络,由Orderer集群组成,用于交易共识并生成区块。区块链是去中心化的,意味着需要多方一起参与交易排序,生成区块。

Orderer目前支持SBFT和Kafka两种共识机制,其中SBFT是拜占庭容错算法PBFT的简化版,能够容忍部分节点故障,Kafka是一个中心化的排队服务,能提供更高的性能,两种共识算法分别适用于不同的场景,用户还可以定制自己的共识模块。

和其他区块链系统不同的是,交易共识在Fabric中被独立成为单独的系统,这样一来,参与共识的节点数变少,共识速度得到提高,Fabric的共识网络支持多链,即多个区块链账本可以共用同一张共识网络,降低系统部署和运维成本。

▪ 区块链节点——便捷调用
区块链节点Peer主要功能是调用智能合约执行交易和记账。

>>智能合约

智能合约是运行于区块链上的应用程序,Fabric的智能合约称为链码,分为系统链码和用户链码,系统链码用来实现系统层面的功能,包括系统的配置,用户链码的部署、升级,用户交易的签名和验证策略等。用户链码实现用户的应用功能。

链码被编译成一个独立的应用程序,运行于隔离的Docker容器中,在链码部署的时候会自动生成合约的Docker镜像。

链码支持采用Go、Java、Nodejs编写,并提供相应的中间层供链码使用,链码可以使用GetState和PutState接口和Peer节点通信,存取K-V数据 。


>>共享账本
共享账本包括区块文件和K-V状态数据,区块文件存储在本地文件系统,由Peer节点负责写入,文件内容是排序后的区块数据,每个文件有大小限制,存储一定数量的区块,区块由交易共识系统产生,包含一条或多条交易


K-V状态数据提供给链码存取使用,采用LevelDB存储。


第二步:熟悉交易流程
>>客户端构造交易提案
客户端构造交易提案,发送给一个或多个Peer节点,交易提案中包含本次交易要调用的合约标识、合约方法和参数信息以及客户端签名等。



>>Peer节点模拟执行交易
Peer节点收到交易提案后,会模拟执行交易,然后将原始交易提案和执行结果打包到一起,进行签名并发回给客户端,其中在模拟执行交易期间产生的数据修改不会写到账本上。


>>客户端打包
客户端收到各个Peer的应答后,打包到一起组成一个交易并签名,发送给Orderer。


>>共识排序,生成新区块
Orderer对接收到的交易进行共识排序,然后按照区块生成策略,将一批交易打包到一起,生成新的区块,发送给Peer节点。


>>交易校验
Peer节点收到区块后,会对区块中的每笔交易进行校验,检查交易依赖的输入输出是否符合当前区块链的状态,完成后将区块写入账本,并修改K-V状态数据。

通过上面的介绍,读者能够了解到区块链平台的基本框架、关键组件以及交易流程,后续笔者将进一步介绍Fabric系统的使用,敬请关注。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于Hyperledger Fabric区块链技术的电子订单溯源系统,可以通过分布式账本、智能合约和共识机制等核心功能实现订单的全程可追溯性和数据的不可篡改性。 首先,该系统通过构建一个分布式账本,将所有订单相关的信息和操作记录保存在多个节点上,实现了数据的去中心化存储和共享。每个节点都有副本,当有新的订单进入系统时,需要经过多个节点的确认后才能被写入账本,确保了数据的安全性。 其次,通过智能合约机制,在订单的不同阶段定义了不同的业务逻辑和规则。当订单进入下一个阶段时,参与者需要执行相应智能合约的函数来完成相应的操作,如订单确认、发货、支付等。这样可以确保订单各个环节的合法性和一致性。 此外,共识机制确保了网络中所有节点的一致性和可信度。Hyperledger Fabric支持不同的共识算法,如Kafka、Raft等,通过节点间的相互协商和一致达成,保证了订单数据在整个网络中是一致的。同时,由于采用了身份认证和权限控制机制,只有经过认证的参与者才能参与到共识过程中,保障了数据的安全性和完整性。 最后,基于Hyperledger Fabric的电子订单溯源系统还具备可扩展性和维护性。不同的参与者可以准入到网络中,实现了跨组织的协同合作。同时,还可以实现对历史订单数据的查询和审计,确保了电子订单的可信度和透明度。 总之,基于Hyperledger Fabric的电子订单溯源系统利用其区块链技术的特点,实现了订单全程可追溯和数据不可篡改的目标,为电子商务行业提供了一种更加安全、可信的订单管理方式。 ### 回答2: 基于Hyperledger Fabric区块链技术的电子订单溯源系统是一种通过区块链技术记录和追踪电子订单的系统。该系统利用分布式账本和共识机制,确保电子订单的安全性、透明度和不可篡改性。 首先,该系统建立一个去中心化的网络,包括供应商、物流公司、商家和顾客等参与方。每个参与方都拥有一个身份,可以进行认证和授权。所有的订单信息将以区块的形式存储在区块链上,每个区块都包含多个交易记录。 其次,订单的生成、修改和验证都经过共识机制的验证。当一个订单被生成时,参与方可以通过私钥进行签名,并将订单的相关信息存储到交易记录中。然后,该交易记录将通过共识机制验证并添加到区块链上。任何修改订单的行为都需要经过其他参与方的确认和共识才能生效,确保每个交易都是可信的。 第三,该系统提供了溯源功能,可以查看订单的整个生命周期。通过查询区块链上的交易记录,参与方可以了解订单的发起、处理和交付等所有环节的详细信息。这可以帮助解决订单纠纷和加强供应链管理。 第四,该系统保护了订单的安全性和隐私性。采用加密技术保护订单信息的传输和存储,确保只有授权的参与方才能查看和修改订单内容。 最后,该系统提高了电子订单的效率和可靠性。通过区块链技术,订单信息可以实时共享和更新,减少了传统订单处理的繁琐和延迟。同时,区块链的不可篡改性和分布式特性保证了订单的可信度和可靠性。 总之,基于Hyperledger Fabric区块链技术的电子订单溯源系统通过提供安全、透明和高效的订单管理方式,促进了供应链的透明度和信任度,为电子商务行业带来了新的发展机遇。 ### 回答3: 基于Hyperledger Fabric区块链技术的电子订单溯源系统可以通过数字化和智能化方式对订单生命周期进行跟踪和记录,并确保订单信息的安全、透明和可信任。 首先,电子订单溯源系统利用区块链的去中心化和分布式的特性来确保订单信息的完整性和安全性。每一次订单创建、修改、确认或交付的相关信息都被记录在区块链上的区块中,并由多个节点进行验证和共识,防止任何单一节点的篡改或丢失。 其次,该系统利用智能合约来实现订单生命周期的自动化管理。智能合约能够自动执行订单流程中的各种操作,如创建订单、分配供应商、验证货物、确认收货等。通过智能合约,可以减少人工操作的错误和延迟,并提高订单处理的效率和精确性。 此外,基于Hyperledger Fabric的电子订单溯源系统还可以提供实时的订单跟踪和查询功能。参与订单生命周期的各方,如购买者、供应商、物流公司等,都可以通过系统的用户界面或API接口来查看订单的状态、位置和历史记录。这使得订单的整个过程变得透明可见,减少信息的不对称和纠纷的发生。 最后,基于Hyperledger Fabric区块链技术具有可扩展性和灵活性的优势。如果需要扩大系统的规模或对业务流程进行调整,可以通过添加新的节点或智能合约来实现。同时,由于区块链的可编程性,还可以将其他应用程序和数据接入到订单溯源系统中,进一步提升其功能和价值。 总之,基于Hyperledger Fabric区块链技术的电子订单溯源系统可以提供安全、透明和可信任的订单管理和查询功能,为各方参与者带来更高效和可靠的订单体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值