首页 > 编程知识 正文

联盟链应用场景(hyperledger是联盟链吗)

时间:2023-05-04 09:32:05 阅读:85833 作者:3719

背景

目前,区块链技术的发展存在两大方向。 也就是说,是联盟和公共连锁。 两者之间最大的区别是是否存在“准入机制”。 这里的“准入机制”是指访问权限的管理机制。 联盟有“加入机制”,并非任何个人或组织都可以参加,数据只在联盟内部公开、共享。 另一方面,公开链完全公开,没有任何准入门槛,所有个人或组织都可以参加,数据向所有人公开。

以下从技术方面对联盟链与公共链的不同点进行了粗略的比较。

种类

联盟号链条

奥斯链

DLT分散帐簿

防止数据篡改

采用共识算法

准入机制

是否发行货币

节点数

很少

很多

信任的基础

总体而言,联盟链除了实现了分布式账本、共识算法、防篡改等区块链的象征能力外,还重点实现了准入机制。 联盟链具有区块链的数据透明性、防篡改性,将数据互联限制在一定范围内,具有支撑业务的良好性能。 企业和组织在选择过程中,大多选择联盟链技术。

国家十四五计划中也明确指出:“以联盟链为重点发展区块链服务平台和金融科技、供应链管理、政务服务等领域的应用方案。”

联盟链现状

目前联盟链的现状可以用一句话来总结:

“超级账本Hyperledger旗下的结构一家独大”

Hyperledger是Linux黄金于2015年12月启动的开源区块链项目,提供了支持各种用途组件的模块化框架,集中开展并开放了许多独立工作目的是推动跨行业区块链技术的发展,使企业更容易构建企业级的区块链解决方案。

照片: Hyperledger旗下的项目,来源Hyperledger官网

Hyperledger目前拥有8个创始会员、122个以上普通会员和48个准会员机构。 其中,不仅包括IBM、微软、J.P.Morgan、Accenture等海外科技、金融巨头,还包括阿里、百度、腾讯、京东、小米、平安银行等国内互联网和金融巨头。

照片: Hyperledger社区会员,来源Hyperledger官网

结构是Hyperledger的联盟链项目,目前在git上获得了11.7k颗以上的星星,拥有270多名开发者贡献代码。 主要的云服务供应商提供了结构的BaaS区块链服务平台。 稍后将详细介绍结构的“准入机制”。

Fabric准入机制

下图是典型的结构区块链网络,由三个成员组织(

RG2,ORG3)和1个排序组织(ORG4)。

图:Fabric网络拓扑,来源:https://medium.com/coinmonks/designing-a-hyperledger-fabric-network

这里提到了两种类型的组织,即成员组织和排序组织。

成员组织即Member Org可以理解为联盟链网络中的参与方,是有数据上链需求的实体,一般会在网络中维护一个或多个Peer节点。排序组织即Orderer Org,负责Fabric中的交易排序以及区块创建,往往由网络的发起者或监管机构运行维护。Orderer是Fabric一个独特的设计,不同的底层区块链网络虽然采用不同的共识算法来生成区块,但出块节点一般都具有随机性.而Fabric为了提升出块效率以及提升联盟内部的数据监管,将网络的出块权完全赋予了单个组织,即Orderer Organization,该组织采用RAFT共识算法,维护了一个由多个orderer节点组成的排序节点集群,负责接收交易、生成区块、发送区块。

这两个组织构成了Fabric网络的主体,而每个组织都会包含一个成员身份(以下简称MSP),MSP可以理解为组织的identity,在网络中完全代表一个组织参与网络共识。Fabric的“准入机制”正是围绕以MSP成员身份为中心的Channel成员管理来实现的。下面,详细介绍下MSP成员身份、Channel通道和Channel成员管理。

MSP成员身份

Fabric中的成员身份采用的是传统的PKI体系,如下图所示:

图: PKI体系,来源:Fabric文档

每个组织在加入到网络之前,会首先维护一个属于自己的CA(Certificate Authority)证书颁发机构,用于用户身份的注册以及用户证书的签发、注销。一个CA证书主要包括

Subject: 主体身份信息Subject Public Key:主体的公钥Issuer:颁发者即CA的信息Signature:颁发者即CA的数字签名

图: PKI证书,来源:Fabric文档

MSP身份的验证流程如下:

ORG1的某身份账户向ORG2展示自己的证书(证书由ORG1的CA颁发)ORG2可向ORG1的CA机构获取Root CA证书,并提取Subject Public Key借助ORG1 CA机构的Subject Public Key来验证该身份账户提供的证书签名签名验证通过,该身份账户为ORG1合法账户

Fabric中每个组织首先会创建一个Admin用户,并在本地维护一个msp目录,目录主要包含:

组织CA的root证书(./msp/cacerts)组织Admin账户的公私钥(./msp/keystore)组织Admin账户的签名证书(./msp/signcerts)

图:MSP身份,来源:Fabric文档

至此,我们知道了Fabric中的MSP身份体系,那么:

组织的MSP身份是如何在网络中发挥作用的?Fabric网络是如何通过组织的MSP身份来限制网络成员的呢?

简单来说,Fabric是借助可配置的channel来限制成员身份,只有包含在channel内的成员组织身份才允许加入网络、参与共识、同步数据。下面详细介绍下Channel的概念以及以Channel为基础实现的成员身份管理。

Channel通道

Channel同样是Fabric的一个独特设计,在Fabric中,存在着两种类型的channel,即:

system channel:系统级channel,在联盟链网络组建时创建,用于定义联盟链网络的创始成员等信息,由排序组织负责管理。application channel:应用级channel,联盟链网络中更细粒度的划分,可以由网络中的部分组织组建而成,一个application channel代表一个真正意义上的区块链,拥有着一套独立的账本数据,application channel由网络的成员组织管理。

一个Fabric联盟链网络只有一个system channel,但可以包含多个application channel。可以理解为一个联盟中,由于组织之间有着不同的利益关系往来,不同的组织之间会建立不同的链(即不同的application channel)。

也就是说,Fabric联盟链的“准入机制”是以一个application channel为基础进行的,成员管理也就是一个channel的管理。

Channel成员管理

Channel的成员组织会在创建channel的时候指定,并将各个成员组织的MSP包含在创始区块(genesis block)中,主要是包含成员组织的CA证书和Admin账户证书,并以此管理成员。具体过程如下:

配置并生成genesis block配置成员组织,重要内容:ID:成员组织在网络中的标识MSPDir:成员组织的MSP本地目录,用于加载msp的相关证书Policies:用于定义成员组织内部的读、写、审计权限

图: 成员组织定义

配置application channel,重要内容:Orderer: 排序组织的配置信息,包含MSP以及共识算法的选择Applicatoin: application channel的定义Organizations: 定义application channel中包含的成员组织,如下图,包含Org1和Org2

图:application channel的定义

3) 以上述两个配置为基础创建genesis block

发起者用genesis block在网络中启动这个application channel成员组织申请将节点peer加入到application channel中,申请信息中将包含成员组织的身份证书通过genesis block中的各个成员组织CA证书来验证申请者的身份是否为application channel中的成员组织颁发。如果是,则成员组织节点加入成功并开始同步账本数据;如果不是,则会被拒绝。

由此,Fabric实现了对授权组织节点的准入以及对非授权节点的拒绝。

总结

联盟链技术借助准入机制实现了对区块链网络成员的可控,使得企业中的利益相关方能够在相对可控的范围内实现数据的共享、防篡改以及可追溯,促进了企业在区块链落地场景的探索。鉴于联盟链技术在企业级区块链领域的优势以及国家十四五规划中的背书,笔者认为,联盟链技术在未来几年会持续发展,在各个领域也会出现一些区块链技术的优秀落地场景,非常值得研究与探索。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。