Hyperledger Fabric已经为企业服务了很长一段时间。实际上,它为区块链用例提供了一种创新平台。但是,随着时间的流逝而无法改进的技术很快就会过时。这就是为什么Hyperledger为我们带来了新的Hyperledger Fabric 2.0版本.
基本上,以前,该公司提供了Fabric版本1.4。但是现在,我们中间有了下一代区块链。如果您对我们这样的新版本不满意,请查看本指南。因为今天我们将讨论新的Hyperledger Fabric 2.0版本及其引入的所有功能.
但是在开始之前,我们将回顾一下Hyperledger Fabric平台是什么以及它最初提供的功能。.
所以,让我们开始吧!
什么是Hyperledger Fabric?
Hyperledger Fabric是用于企业级解决方案的分布式分类帐平台,具有多功能性,模块化和性能。因此,如您所知,也有无许可的平台。但是面料与此不同.
它不允许任何人进入该平台。而是向系统中具有权限的用户提供许可的访问。更重要的是,它还提供数据隐私和智能合约,以实现可扩展和安全的性能.
这就是为什么任何行业都可以将Hyperledger Fabric用于任何解决方案的原因。机会是无限的,企业将始终从分布式分类帐平台获得最佳输出.
即使网络系统内的用户可以一起工作,但是企业确实需要维护某些交互的隐私。这就是行业的基础。例如,某个购买者可能正在以不同的价格范围将产品出售给不同的供应商.
但是购买者需要维护有关它的隐私。这就是Hyperledger Fabric可以提供帮助的地方.
实际上,您可以轻松地在交易中为单独的卖家创建单独的渠道。另外,您可以使用私有数据选项将信息保持在静默级别.
为什么使用Hyperledger Fabric?
实际上,Hyperledger Fabric在开源社区的帮助下随着时间的推移而发展,主要集中于企业级用例。更重要的是,它现在提供了企业经常需要的许多功能。所以,让我们看看它们是什么–
- 模块化和许可的架构.
- 在所有交易组织之间达成共识的非常灵活的认可解决方案.
- 灵活开放的智能合约,可以支持各种数据模型和解决方案,例如结构化数据,帐户模型,非结构化数据,UTXO模型等.
- 用于订购交易和冻结的可插拔共识协议选项.
- 完全的数据保密性,用于隔离事务或使用私有数据模型仅共享需要了解的信息.
- 智能合约支持多种编程语言,例如JavaScript,Java,Go等.
- 智能合约的版本控制.
- 支持团结.
- 对以太坊虚拟机的支持.
- 持续更新,企业运营,非对称版本支持.
- 诸如范围查询,键控查询,链上JSON查询等可遍历数据.
Hyperledger Fabric 2.0:新增功能?
第一个Hyperledger Fabric版本从v1.0开始。现在,我们有了第二个主要的Hyperledger Fabric 2.0版本。这次,它确实为平台中的用户和操作员提供了许多新功能和改进功能.
Hyperledger Fabric 2.0版本包括隐私模式,并支持新应用程序,操作节点的新功能,智能合约的增强型治理系统等。.
但是,如果您还没有准备好,他们将不会强迫您升级到最新的Hyperledger Fabric 2.0。因此,您可以选择在准备就绪或公司准备过渡时进行升级.
这对于Hyperledger Fabric 2.0来说是一个巨大的优势.
让我们来看看新版本的一些亮点–
智能合约去中心化治理
Hyperledger Fabric 2.0现在具有去中心化治理功能,特别是对于智能合约。它还提供了一个新的过程,您可以在该过程中在对等节点上安装一个链码并在通道上启动它。因此,新的链码生命周期管理现在允许多个组织基于链码的参数达成协议.
因此,基本上,您将使用Chaincode认可政策与分类帐进行交互。让我们看看它在先前的链码生命周期过程中提供了哪些其他改进–
同意Chaincode的参数
基本上,在以前的版本中,链码中只有一个组织可以设置参数,即使对于其他渠道成员也是如此。但是其他成员可以拒绝获取链码,而不参与交易过程。因此,调用它.
但是,新的Hyperledger Fabric 2.0为链码提供了更灵活的路由。现在,它既支持集中式链码模型又支持分散式链码模型。在去中心化版本中,公司必须就Chaincode达成协议,以使其可以在渠道上活跃起来.
谨慎的链码升级
以前,只有一个组织可以升级交易。但是,如果其他渠道成员未安装链码,则将使他们处于危险之中。因此,新的Hyperledger Fabric 2.0版仅在足够的成员同意升级而没有任何问题之后才允许链码升级.
私人数据收集和轻松认可政策更新
新的Hyperledger Fabric版本2.0确实提供了新的认可策略,您可以在不重新安装链码的情况下升级私有数据收集或策略配置。更重要的是,用户可以利用背书策略,因为它需要频道上大量用户的同意.
实际上,该政策将在成员每次进入分类帐或离开分类帐时更新.
可检查链码包
现在,Hyperledger Fabric 2.0版附带一个易于阅读的tar文件,用于链码。它将帮助您轻松检查链码文件并确定其他组织中的安装.
通道上有多个链码
在以前的版本中,生命周期用于使用软件包安装期间指定的版本和名称来定义每个链码。但是现在您只能使用一个链代码包,并且每次都在网络上使用多个名称多次部署它。另外,您可以在不同的频道或同一频道上执行此操作.
跨渠道成员的Chaincode软件包
在Hyperledger Fabric 2.0版中,用户可以针对自己的用例扩展链码。例如,组织可以在自己的公司内扩展链码以进行验证。但是组织要求的数量最少。因此,只要有足够的认可,交易就会得到验证并在分类账上占一席之地.
因此,它将帮助您的公司在您自己的时间内自动解决任何问题,而不会损害整个网络.
使用新的Chaincode生命周期
Hyperledger Fabric 2.0版现在提供了一个全新的链码生命周期。但是,如果您还没有准备好进行新的更改,则可以使用Hyperledger Fabric 2.0版继续使用以前的生命周期。.
实际上,只有将功能更新到v2.0时,新生命周期才会生效.
新的Chaincode应用模式
基本上,Hyperledger Fabric 2.0路线图还允许您对自己的链码应用程序使用相同的分散式共识方法。它将确保组织在提交分类帐之前已经同意数据交易.
自动检查
组织可以将自动检查添加到链码中,以便在支持分类账上的交易之前验证更多信息.
分权协议
最好的部分是,Hyperledger Fabric 2.0路线图使您可以对链式代码上的人为决策建模,以跨越多个事务。但是,您将需要组织中的其他用户与协议的条款和条件进行交互.
然后,最后,一个链码提议可以验证是否满足了所有用户条件,并根据该交易来结算交易。.
能力
Hyperledger Fabric 2.0路线图中具有某些功能。让我们看看它们是什么–
应用程序V2_0: 如Chaincode中所述,它为运营商启动了一个新的chaincode生命周期。.
频道V2_0: 基本上,它没有变化,但是您可以使用它来保持与订购的功能级别和应用程序的一致性.
订购者V2_0: 此控件控制UseChannelCreationPolicyAsAdmins,并更改通常验证通道事务的方式。如果将其与-baseProfile选项结合使用,则可以在定购系统中更改以前继承的值.
但是,在更新功能级别时,请始终记住也要更新对等二进制文件。另外,在更新订购者和渠道功能之前,请更新订购者二进制文件.
私人数据增强
Hyperledger Fabric 2.0路线图还提供了一种新模式,用于共享您的所有私有数据,而无需立即收集所有私有数据,然后基于此合并通道成员。更具体地说,无需与一组用户共享私人信息,您就可以与单个组织共享.
但是,在深入了解Hyperledger Fabric 2.0文档之前,让我们看看私有数据在Hyperledger中实际指的是什么。.
什么是私人数据?
在许多情况下,企业可能需要在某些渠道中将其他公司的信息保密。因此,他们必须与只能单独查看信息的组织一起创建一个新渠道。但这意味着它还需要其他管理,策略,成员访问权限以及更多其他功能.
更重要的是,它也不允许渠道参与者在所有用例中各方都能看到部分信息而其他人仍然隐藏的任何用例中使用该系统.
但是,现在Hyperledger Fabric 2.0路线图将帮助您创建私有数据集合。在这里,您可以定义可以查看私有数据而无需为每种情况创建新渠道的公司子集.
什么是私人数据收集?
基本上,集合是两个不同元素的组合–
使用八卦协议在对等方之间广播的实际信息。但是在这里,只有获得授权的企业才能看到它。基本上,这些数据位于该组织的对等方的分类账中的私有状态数据库中.
更重要的是,这里没有订购服务,他们也看不到私人信息。无论如何,随着八卦协议将信息从一个对等方广播到另一个对等方,您需要在通道中设置Anchor节点.
它还包含该私有数据的哈希,该哈希已排序,认可并写入通道中所有对等项的分类帐中。基本上,它用作渠道上交易确认的证据。您也可以将其用于审核目的.
使用集合
在频道内
如果您想对渠道中的一组组织的整个交易保密,则需要使用渠道.
独立频道
根据Hyperledger Fabric 2.0文档,当您只需要对一组企业的分类账的一部分保密时,可以使用集合。.
实际上,一些组织将拥有对分类帐的完全访问权限,而其他组织可能只会看到他们被允许的权限。如果您还希望隐藏订购服务中的交易数据,则可以使用私人数据收集来确保机密性.
一个例子
让我们查看Hyperledger Fabric 2.0文档中的示例以更好地了解情况.
假设在一个交易平台中,一个渠道中有五个企业.
- 卖货的农夫
- 运送这些货物的分销商
- 在两方之间转移货物的托运人
- 从分销商处购买商品的批发商
- 从批发商和托运人处购买商品的零售商
基本上,分销商在每种情况下都可以收取不同的费用。因此,他可能想将与托运人和农民的交易保密,因为他可能会与零售商和批发商进行其他交易.
而且,发行商向批发商收取的费用要比向零售商收取的费用少。因此,他可能想对零售商保密.
另一方面,批发商也可以与托运人和零售商建立私人关系。但是,如果您想为每个私人信息创建一个单独的渠道,那么系统将变得更加复杂。.
除了这样做,您还可以为每个成员拥有不同的私有数据集合或PDC.
如,
私人数据收集1: 托运人,农民和分销商
私人数据收集2: 托运人,零售商和批发商
私人数据收集3: 批发商和分销商
根据Hyperledger Fabric 2.0文档,所有分销商对等方都将拥有私有数据库,其中包含有关托运人,农民和分销商关系以及批发商和分销商关系的私有数据.
数据模式的增强
根据Hyperledger Fabric 2.0文档,实际上进行了一些增强,使得新的私有数据模式可以工作。这些是 –
共享和验证私人数据
接收方可以使用GetPrivateDataHash()API来验证与他们共享的私人数据在两种情况下是否真实–
- 当您与不是集合成员的频道用户共享私人信息时.
- 当您与一个或多个成员附带的另一个收藏共享它时.
馆藏级认可政策
现在,您可以在背书策略的帮助下定义私有数据集合,该策略可以覆盖集合中其他键的其他链码级策略。基本上,您可以使用它来限制其他企业在集合上进行写操作,以及可以启用链码生命周期和应用程序模式的内容.
举例来说,您可能需要背书,如果多数企业同意,则可以启动交易,但是在某些情况下,您可能需要特定组织的同意才能使交易生效.
隐式按组织收集
根据Hyperledger Fabric 2.0文档,无论如何,如果您要使用每个组织的私有数据模式,则可以部署链码而不用在新版本中定义集合。这是Hyperledger Fabric 2.0的主要功能之一.
外部Chaincode启动器
这 外部链码启动器 是超棒的Hyperledger Fabric 2.0功能之一。主要是,它将赋予运营商权力,因为他们现在可以选择启动他们所选择技术的链码。更重要的是,您将无需使用外部启动器或构建器,它将使用Docker API运行chaincode。.
基本上,对等方现在无需访问Docker守护程序即可运行或构建链码。在生产环境中,这绝对不是可取的,这就是为什么对等方现在可以消除对Docker守护程序的依赖.
现在您不必在Docker容器中运行链代码,您可以起诉自己选择的环境来运行链代码.
此外,操作员可以提供外部构建器可执行文件,以覆盖用户启动或构建链码的方式.
以前,同伴启动了一个链码,然后将其重新连接到他们。但是现在您可以将其作为外部服务运行.
改善了CouchDB的性能
以前,当您使用CouchDB状态数据库时,您将面临验证和认可方面的阅读延迟。因此,很难获得尽可能平滑的性能。但是现在,借助Hyperledger Fabric 2.0功能,您将获得一个新的对等缓存,该缓存将用快速的输出代替冗长的查找。此外,您可以使用core.yaml属性cacheSize配置它们.
基于高山的Docker映像
在新的Hyperledger Fabric 2.0中,它将对Alpine Linux使用Docker映像。 Alpine Linux是一种更安全,轻便的Linux发行版,可以轻松提高网络性能.
实际上,这意味着Docker映像的大小会更小,因此下载或启动所需的时间会更少。更重要的是,从现在开始,它也不会占用太多空间.
该公司从头开始设计Alpine Linux,同时牢记安全性,并且此发行版的简约功能消除了所有漏洞.
样品测试网络
现在,您将在fabric-samples存储库中拥有一个新的示例测试网络。这是超酷的Hyperledger Fabric 2.0功能之一。实际上,该测试网络是模块化的且易于使用。因此,在启动解决方案之前,您不会对智能合约或应用程序进行测试.
此外,您还可以使用证书颁发机构和加密货币来部署网络.
如何升级到Fabric v2.0
每次出现主要版本时,都会带来大量的升级注意事项。在许多情况下,您可能必须从头开始安装新版本,但这可能会导致停机。但是,Hyperledger Fabric 2.0的功能之一是,如果您已经在1.4版上,则可以直接升级到2.0版而无需停机.
他们还重新设计并扩展了升级文档,供您签出,并在他们的房屋中拥有独立的房屋 文件资料. 要升级吗?然后看看他们 文件资料 在那.
基本上,升级到最新版本是一个四步过程-
- 首先,您必须备份分类帐和MSP.
- 然后以滚动方式开始将订购程序二进制文件升级到最新版本.
- 之后,对等二进制文件也遵循相同的更新过程.
- 最后,您需要在可用时将应用程序通道和订购者系统通道更新为它们的最新功能。更重要的是,并非所有版本都具有增强的功能,有时它们有时会具有重大的增强功能,而某些时候却不会.
升级教程
在升级任何流程之前,您应该考虑查看其教程。您也可以阅读我们的Fabric教程。无论如何,我们在此给出一个简短的版本–
- 在升级功能之前,应首先升级所有组件。确保它们是最新版本.
- 另外,在更新整个通道之前,请确保将所有节点更新为最新版本.
- 您必须添加特定公司的背书策略才能在系统中启动新的链码生命周期.
该结构现在将节点升级和功能增强视为标准.
笔记: 建议您也将SDK升级到最新版本。即使您的SDK应该能够处理等效版本的Hyperledger Fabric和较低版本,也最好对其进行更新,因为这样您就可以有效地使用最新的Fabric功能。.
如果您仍然对升级过程感到困惑,请查看有关升级过程的文档.
结论
2.0版的最新版本是历史上的一个里程碑。实际上,Fabric 2.0被认为是下一代区块链技术。更重要的是,Hyperledger Fabric 2.0功能众多,提供了很多机会.
截至目前,我们仍然不知道这项技术的性能如何,或者新版本能否最终摆脱区块链的负面影响。即便如此,Hyperledger家庭和社区的新里程碑确实带来了许多新的增强功能,我们只能期望最好的.