首页 > 其他 > 详细

Hyperledger Fabric 二三事 - 介绍

时间:2021-03-27 16:37:10      阅读:19      评论:0      收藏:0      [点我收藏+]

介绍


首先,我们需要知道,对于企业应用,开发者们需要了解以下几个要求,这也是我们所要学习的Hyperledger Fabric的特点:

  1. 参与者必须是已认证的或者可识别的
  2. 网络需要获得许可
  3. 高交易吞吐量性能
  4. 交易确认低延迟
  5. 与商业交易有关的交易和数据的隐私和机密性

该平台最重要的区别之一是它支持可插拔的共识协议,使得平台能够更有效地进行定制,以适应特定的业务场景和信任模型。例如,当部署在单个企业内或由可信任的权威机构管理时,完全拜占庭容错的共识可能是不必要的,并且大大降低了性能和吞吐量。在这种的情况下,崩溃容错(Crash Fault-Tolerant,CFT)共识协议可能就够了,而在去中心化的场景中,可能需要更传统的拜占庭容错(Byzantine Fault Tolerant,BFT)共识协议。

A. 模块化

总体来看,Fabric由以下模块化的组件组成:

  • 可插拔的排序服务
    用于对交易顺序建立共识,然后向节点广播区块
  • 可插拔的成员服务提供者
    负责将网络中的实体与加密身份相关联
  • 可选的P2P gossip服务提供者
    通过排序服务将区块发送到其他节点
  • 智能合约(链码)
    隔离运行在容器环境(例如 Docker)中。它们可以用标准编程语言编写,但不能直接访问账本状态
  • 账本
  • 可插拔的背书和验证策略

B. 智能合约与执行

智能合约在应用于平台的时候,一般满足以下三个特点:

  • 多个智能合约在网络中同时运行,
  • 它们可以动态部署(很多情况下任何人都可以部署),
  • 应用代码应视为不被信任的,甚至可能是恶意的。

为了保证众多智能合约在执行的时候不出错,有些区块链平台(比如以太坊),设置了顺序执行架构,以达到共识的目的:

  • 验证并将交易排序,然后将它们传播到所有的节点,
  • 每个节点按顺序执行交易。

在Fabric中,引入了一种新的架构:执行-排序-验证,它将流程分为了三个步骤:

  • 执行一个交易并检查其正确性,从而给它背书
  • 通过共识协议将交易排序
  • 提交交易到账本前,先根据特定应用程序的背书策略验证交易

可以看到,Fabric是先执行再排序。比如在第一阶段,有背书策略指定的几个节点并行执行智能合约,这样就能检查交易会不会出错,消除了非确定性,从而实现背书。

C. 隐私和保密性
非许可链中的数据和交易对于网络中的每一个节点可见的,所以不保密。Fabric通过通道机制,让数据和交易在通道外不可见,通道内可见。个人认为这是一种局部的隐私保密。

D. 可插拔共识
即排序服务。Fabric目前提供了一种基于etcd 库 中 Raft 协议 的 CFT 排序服务的实现

Hyperledger Fabric 二三事 - 介绍

原文:https://www.cnblogs.com/starqjh/p/14585445.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!