Advertisement

《Fabric 介绍》解读

阅读量:

请参阅《Hyperledger Fabric 详细说明

Fabric将区块链网络中的节点命名为peers(peer nodes),这些角色负责记录交易活动。交易活动通过共识机制确保每个peers拥有本地账本副本,并将关键信息打包成块,并利用哈希值连接这些块。每个peers都运行共识算法以维护全局一致性。值得注意的是,Corda采用的是点对点技术而非区块链技术,Corda系统中没有所谓的区块概念,而是基于分布式账本设计,各peers间通过哈希算法建立关联关系形成链式结构

区块链的第一代(比特币)以及第二代(以太坊)主要涉及公链的应用,在这些系统中参与者均为匿名身份,并且无需任何许可即可随时加入并参与。然而,在开发企业级的应用时公链就不再适用了,必须经过严格的许可流程,并且必须完成KYC流程来验证客户身份。

企业级的区块链需要满足几个要求:

  • 必须明确参与者是谁
  • 区块链网络必须具备许可机制
  • 需具备良好的网络效率
  • 交易确认过程需保持极低的时间延迟
  • 确保交易信息及数据的安全性

Fabric 是基于开源理念的企业级区块链开发平台。它是分布式账本技术(DLT)的一种,并源自 Linux 基金会,并且由包括众多组织及开发者在内的社区力量共同维护这一系统。

Fabric 提供多种智能合约开发语言的支持,并包含 Java、Go 和 Node.js 作为主要实现语言。 Fabric 中将智能合约称为 chaincode,并通过其机制确保了数据的私密性和安全性。

为了加入 Fabric 平台必须获得相应的许可;通过建立一套完善的公约制度来保障治理机制的有效性;无需依赖加密货币或 crypto 作为运行基础;因此也无需进行挖矿操作。

Fabric 采用了模块化设计,并支持灵活的功能配置。其中包含共识机制,在网络仅由单一组织管理时表现更为出色;而当多个组织共同参与时采用 Byzantine Fault Tolerance, BFT 更具优势。

Fabric 的核心模块组件有:

支持模块化扩展的 ordering 服务将依据交易产生的顺序达成一致共识,并发送给 peers 节点以实现分布式系统的一致性。
支持模块化扩展的 membership 服务将为每个参与者绑定一个加密的身份标识符以确保身份认证的安全性。
系统将提供一个可选的 peer-to-peer gossip 功能用于传播由 ordering 服务产生的区块信息。
系统将在容器环境中运行智能合约(chaincode),从而保证其高度可用性和可扩展性。
系统将支持不同种类的数据库管理系统(DBMSs)下的账本记录数据以满足多样化的存储需求。
系统将提供灵活配置的选择来独立设置倍增机制与验证策略以适应不同应用场景的需求。

智能合约是区块链中的应用程序,包含了业务逻辑,它有几个特征:

  • 不同的智能合约可以并行运行,并且彼此独立。
  • 不同的智能合约能够自主执行,并且各自独立地完成任务。
  • 为了确保代码的安全性能够得到充分保护,在编写过程中应尽量避免潜在风险,并采用安全可靠的方式对代码进行处理。

Fabric 推出了 novel execute-order-validate 架构方案,在多个关键指标上均有显著提升。该架构在应对弹性能力、灵活配置、扩展性需求以及性能水平等方面表现出色,并将整个交易过程划分为三个关键阶段:初始化阶段、数据处理阶段及结果确认阶段。

基于其背书进行验证以检验交易的正确性。
按照共识协议对交易进行排序。
在提交前对交易进行验证是根据应用程序指定的背书策略完成的。

在公链网络中, 为了达成一个共识模型, 每个节点都可以参与执行交易. 所有交易与智能合约在各个节点之间都是公开透明的, 主要通过基于工作量证明机制(PoW)的方式来实现拜占庭容错共识机制. 然而, 在企业使用的业务场景中, 这种完全透明的方式显然不够实际. 因此, 并非所有的信息都可以自由共享. 为了保护隐私性和保密性需求的不同要求, 区块链平台采用了多种不同的解决方案

Fabric 基于 channel 的架构与 private data 功能协同作用以达成保密目标;其参与者仅能访问本 channel 内的智能合约与交易信息;本 channel 中的 private data 可在更有限范围内实现数据共享

Fabric 将排序事务的工作分配给 ordering 服务进行处理。支持采用 CFT(崩溃容错)或 BFT(拜占庭容错)来进行排序。Fabric 中的 CFT 是基于 Raft 协议实现的。一个 Fabric 网络中允许部署多个 ordering 服务以满足不同需求

Hyperledger Fabric's [Performance and Scalability Working Group](https://wiki.hyperlder.org(display/PSWG/Performance_and_Scale_Working_Group) is currently working on developing a new benchmark framework known as Hyperledger Caliper.

全部评论 (0)

还没有任何评论哟~