木星链 木星链
Ctrl+D收藏木星链
首页 > BNB > 正文

PEER:超级账本:基本架构及运作机制

作者:

时间:1900/1/1 0:00:00

区块链大致可分为公有链和联盟链。联盟链是现有中心化商业团体联盟之间进行商业活动的手段和渠道。

HyperledgerFabric是由IBM牵头发起的一个代表性的联盟链项目,于15年底移交给Linux基金会维护,成为开源项目。Hyperledger基金会的成员包括IBM,Intel,思科等。

Fabric架构演变

Fabric的架构目前经历了两个版本的演进,最初的0.6版本只能被用来做商业验证,无法被应用于真实场景中。主要原因就是结构简单,基本所有的功能都集中在peer节点,在扩展性、安全性和隔离性方面有着天然的不足,如图1所示。在后来推出的1.0正式版中,将peer节点的功能进行分拆,把共识服务从peer节点剥离,独立为Orderer节点提供可插拔共识服务。更为重要的一个变化就是加入了多通道功能,可实现多业务隔离,因此在0.6版本的基础上有了质的飞跃。

图1Fabricv0.6架构

概念术语

Auditability:在一定权限和许可下,可以对链上的交易进行审计和检查。

数字欧元协会、欧洲区块链协会等6家机构加入超级账本基金会:金色财经报道,Hyperledger Foundation(超级账本基金会)宣布6家新成员加入,包括:3家普通会员(GoLedger、Senofi Inc 和 Spydra)和3家准会员(数字欧元协会、数字英镑基金会和欧洲区块链协会)。据悉,超级账本基金会目前正在开发动态DLT Landscape,旨在将不断发展的区块链和更广泛的分布式账本技术 (DLT) 市场进行动态细分,以跟踪这个新兴市场日益复杂的情况,尤其是核心DLT开发领域之外发生的创新。(prnewswire)[2023/4/26 14:28:05]

CertificateAuthority:负责身份权限管理,又叫MemberService或IdentityService。

Chaincode:区块链上的应用代码,扩展自“智能合约”的概念,支持Go、Node.js等编程语言,运行在隔离的容器环境中。

Orderer:Fabric1.0架构中的共识服务角色,可以对交易进行排序,批量打包,生成区块,发给Peer节点。一个区块链网络中有多个Orderer节点,它们共同提供排序服务。排序服务可以通过不同的方式实现,从一个中心化的服务,到分布式协议。

动态 | IBM官方回应人们对Linux基金会的超级账本结构性能和规模的疑问:近日,IBM官方博客回答了加密货币市场上的一些人对Linux基金会的超级账本结构的性能和规模的疑问。 IBM工程师Christopher Ferris表示,有6个因素可以影响区块链框架本身。

1.应用程序客户端。编写此客户端所用的编程语言将对选择超级账本结构software developer kit (SDK)产生影响。

2.有超分类账结构的同行(背书人/提交人)和分类账数据库的选择,这两个分类数据库是LevelDB和CouchDB。

3.有几个链码实现选择,如Go、JavaScript、Java等。

4.订购服务节点也会影响网络的性能。

5.在区块链网络中,基于创建者如何架构地使用通道或私有事务来交付隐私,工作是有分布的。

6.物理或虚拟基础设施,所有服务都运行在这个基础设施上,这会严重影响性能。[2019/1/30]

Endorser:Fabric1.0架构中的一类peer节点角色,负责检验某个交易是否合法,是否愿意为之签名背书。

动态 | 超级账本区块链集团加入德国电信、阿里巴巴云和另外13家新成员:据bitcoinexchangeguide报道,在瑞士巴塞尔举行的“超级账本全球论坛”(the Hyperledger Global Forum)上,有消息称,超级账本已经为16个新成员提供了服务。根据超级账本团队自己的声明,这些公司包括德国电信(Deutsche Telekom)的中央研究部门、T-Labs、阿里巴巴云(Alibaba Cloud)、花旗(Citi)和We.trade。[2018/12/13]

Committer:Fabric1.0架构中的另一类peer节点角色,负责对orderer排序后的交易进行检查,选择合法的交易执行并写入存储。

EnrollmentCertificateAuthority:负责成员身份相关证书管理的CA。

TransactionCertificateAuthority:负责维护交易相关证书管理的CA。

WorldState:一个键值数据库,用于存放链码执行过程中涉及到的状态变量。

动态 | 霍尼韦尔(Honeywell)宣布加入超级账本联盟:据rttnews消息,美国互联工业企业霍尼韦尔(Honeywell)宣布加入超级账本联盟。[2018/9/27]

Fabricv1.0架构

Fabricv1.0的架构如图2所示。

图2Fabricv1.0架构

Fabric联盟链中有两种类型的节点:Peer节点和Orderer节点。Chaincode部署在Peer节点上,它对账本进行读写操作。一个Peer节点可以充当多种角色,如背书者endorser,提交者committer。一个区块链网络中会有多个Peer节点。

Orderer提供了通向客户端和Peer节点的共享通信通道。提供了包含交易的消息广播服务。客户端可以通过这个通道向所有的节点广播消息。通道可以向连接到该通道的节点投递(deliver)消息。

Orderer服务支持多通道。客户端和Peer节点可以连接到一个给定的通道,并通过给定的通道发送和接收消息。多通道使得给定的peer集合接收包含相关交易的区块,从而与其他交易完全隔离,实现数据隔离和保密。如图3所示,peer1,peer2和peerN订阅红色通道,共同维护红色账本;peer1和peerN订阅蓝色通道并维护蓝色账本;peer2和peer订阅黑色通道上,共同维护黑色账本。

微软与超级账本宣布加入ID2020:ID2020联盟在世界经济论坛上宣布成立,科技巨头微软和超级账本都宣布加入这个基于区块链技术推出的数字身份倡议——希望通过提供数字身份改善人们的生活。全球约有11亿人无法证明自己的身份,因此很难获得福利和服务,世行认为这样的现状助长了人口贩卖等问题。据悉,该联盟已经收到了来自微软的100万美元捐款,以及来自埃森哲与洛克菲勒基金会的捐款。[2018/1/24]

图3多通道

链码

链码可以认为是Fabric提供的智能合约,是上层应用与底层区块链平台交互的媒介。

所有的链码都继承两个接口,init和invoke。init接口用于初始化合约,在整个链码的生命周期里,该接口仅仅执行一次。invoke接口是编写业务逻辑的唯一入口,虽然只有一个入口,但是可以根据参数传递的不同自由区分不同业务逻辑。合约接口能获得数据分为三类:合约输入参数;与状态数据库和历史数据库交互;与其他合约的交互。

Fabric1.0交易流程

Fabric上的交易交易分两种:部署交易和调用交易。

部署交易:把Chaincode部署到peer节点上并准备好被调用,当一个部署交易成功执行时,Chaincode就被部署到peer节点上。

调用交易:客户端应用程序通过Fabric提供的API调用先前已部署好的某个chaincode中的函数执行交易,并相应地读取和写入K-V数据库,返回成功或者失败。

如下图所示,开发者创建客户端应用和Chaincode,Chaincode被部署到区块链网络的Peer节点上面。通过Chaincode来操作账本,当调用一个交易时,实际上是在调用Chaincode中的一个函数方法,令它实现业务逻辑,并对账本进行get,put,delete操作。客户端应用提供用户交互界面,并提交交易到区块链网络上。Fabric1.0交易流程如下图所示:

图4交易流程

客户端构造交易提案

客户端应用程序利用任意SDK构造交易提案propose。该提案是一个调用智能合约功能函数的请求,用来确认哪些数据可以读取或写入账本。客户端把交易提案发送给一个或多个Peer节点,交易提案中包含本次交易要调用的合约标识、合约方法和参数信息以及客户端签名等。

背书节点模拟执行交易

背书节点endorser收到交易提案后,验证签名并确定提交者是否有权执行操作。背书节点将交易提案的参数作为输入,在当前状态K-V数据库上执行交易,生成包含执行返回值、读操作集合和写操作集合的交易结果,这些值的集合、背书节点的签名和背书结果作为提案的结果返回给客户端SDK,SDK解析这些信息判断是否应用于后续的交易。

客户端把交易发送到共识服务节点

应用程序验证背书节点签名,并比较各节点返回的提案结果,判断提案结果是否一致以及是否参照指定的背书策略执行。客户端收到各个背书节点的应答后,打包到一起组成一个交易并签名,发送给Orderers。

共识排序,生成新区块,提交交易

Orderers对接收到的交易进行共识排序,然后按照区块生成策略,将一批交易打包到一起,生成新的区块,调用deliverAPI投递消息,发送给提交节点。Committer收到区块后,会对区块中的每笔交易进行校验,检查交易依赖的输入输出是否符合当前区块链的状态,完成后将区块追加到本地的区块链,并修改K-V状态数据库。

补充说明

超级账本V1.0将执行链码的节点与决定出块顺序的节点相分离。每个peer维护分布式账本的一个copy,orderers则仅提供共识排序服务,而不必维护账本的copy。

clients首先要将交易提交给peers的一个子集执行chaincode。必须有足够多的endorsers背书一致后,clients才将更新后的状态以及背书签名等提交给orderers。orderers通过共识协议输出block的排序。最后,所有的peers再对背书进行验证。从而:链码的执行可以在共识排序前完成;不需要所有的peers都执行所有的链码。

clients判断提案结果是否一致主要是为了消除非确定性的影响。这主要是因为交易的执行可能因为种种原因而分叉,如果client发现大多数endorsers的执行结果不一致时,它就会认为该交易的结果是非确定性的,这笔交易也就作废了。

Fabric的优势

Fabric采用模块化架构把交易处理划分为3个阶段:通过Chaincode进行分布式业务逻辑处理和协商;交易排序(orderders);交易的验证和提交(committers)。这样划分带来的好处:不同的阶段由不同的节点参与,不需要全网的节点都参与。网络的性能和扩展性得到优化。Peer节点和Orderder节点可以独立扩展,并可以动态增加。此外,Fabric提供可插拔架构,其共识机制和加密算法均是可插拔的,可以根据实际情况选择替换。

标签:PEEREERFABRICABRusepeerethereumBEERSFABRIC价格FABRIC币

BNB热门资讯
TEL:外媒:一开发者伪造11个假身份,Solana TVL疑似造假超70%

8月5日消息,据知情人士报道,Saber首席架构师IanMacalinao拥有11个假身份,其中包括Solana生态DeFi收益聚合器协议Sunny的开发者SuryaKhosla、Solana算.

1900/1/1 0:00:00
FLO:FLOW凭什么超越Ape和BCH?一跃三门?

由于FLOW其价格的惊人反弹,在单次增长超过100%之后,数字资产已经从阴影中变成了加密投资者的关注点。然而,鲜为人知的是这次反弹背后的原因.

1900/1/1 0:00:00
以太坊:以太坊达到 1800 美元,比特币价格目标为 8 周高点

随着即将公布的美国通胀数据提振市场情绪,比特币有望在8月8日华尔街开盘时瞄准8月新高。25,000美元的下一个主要BTC阻力位在撰写本文时,该货币对距离自6月中旬以来的最高点不远,而交易员和分析.

1900/1/1 0:00:00
CELO:冷风说币:日线7连阴,即将反转,BTC本月看到25000!

市场消息周二中币交易所突然发布公告称遭遇故障,现停止充币、提币服务,且未告知恢复时间。自2022年5月以来,包括AEX、虎符等一批中小型币圈交易所都已出现资金危机,或被清算或在跑路,如今这串名单.

1900/1/1 0:00:00
ETF:ETF代幣福利來襲——交易即享 4,500 USDT 獎池,先到先得!

親愛的用戶:????自平台ETF專區開啟永免交易手續費以來,ETF產品得到平台廣大用戶的一致好評,8月.

1900/1/1 0:00:00
BAT:Battle Glory代币BMG上线CoinW交易所

BattleGlory代币BMG重磅上来袭BattleGlory原生代币BMG于8月8日晚7点上线CoinW交易所.

1900/1/1 0:00:00