




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Hyperledger
Fabric六月23目錄Hyperledger簡介架構(gòu)設(shè)計(jì)共享賬本共識(shí)算法CA通道智能合約成員管理交易過程主要特點(diǎn)HyperledgerHyperledger
項(xiàng)目是LinuxFoundation托管的一個(gè)開源、協(xié)作式項(xiàng)目,為企業(yè)構(gòu)建開源、通用區(qū)塊鏈結(jié)構(gòu)。作為一個(gè)聯(lián)合項(xiàng)目,超級(jí)賬本由面向不同目的和場景的子項(xiàng)目構(gòu)成。目前主要包括8大頂級(jí)項(xiàng)目,所有項(xiàng)目都遵守Apachev2許可FabricSawtoothIrohaBlockchainExplorerCelloIndyComposerBurrowHyperledgerFabricFabric是Hyperledger的一個(gè)基于社區(qū)的項(xiàng)目是一個(gè)區(qū)塊鏈應(yīng)用支持框架;旨在作為開發(fā)模塊化體系結(jié)構(gòu)的區(qū)塊鏈應(yīng)用程序的基礎(chǔ),以便諸如共識(shí)和會(huì)員服務(wù)等組件可以即插即用;賬本數(shù)據(jù)可以以多種格式存儲(chǔ),一致的機(jī)制可以被轉(zhuǎn)換和輸出,并且支持不同的MSPs;它使用容器技術(shù)來托管構(gòu)成系統(tǒng)應(yīng)用邏輯的智能合約(也稱為鏈代碼)。使用容器技術(shù)來促成“智能合約”,智能合約在“鏈代碼”中實(shí)現(xiàn);如同其它區(qū)塊鏈技術(shù)一樣,它有一個(gè)賬本,使用智能合約,并且是一個(gè)由參與者管理他們的交易的系統(tǒng);Fabric是私有的,而且是被許可的。組織的成員可以通過一個(gè)MSP來注冊(cè);Fabric提供創(chuàng)建通道(channel)的能力,允許一組參與者創(chuàng)建一個(gè)單獨(dú)的共同維護(hù)的交易賬本。Hyperledger定義和術(shù)語Client:
代表由最終用戶操作的實(shí)體,它必須連接到某一個(gè)peer節(jié)點(diǎn)或者orderer節(jié)點(diǎn)上與區(qū)塊鏈網(wǎng)絡(luò)通信;客戶端向endorser提交交易提案,當(dāng)收集到足夠背書后,向排序服務(wù)廣播交易,進(jìn)行排序,生成區(qū)塊;CA節(jié)點(diǎn):證書頒發(fā)機(jī)構(gòu),負(fù)責(zé)對(duì)加入鏈內(nèi)的所有節(jié)點(diǎn)進(jìn)行授權(quán)認(rèn)證,由服務(wù)器(fabric-ca-service)和客戶端組件(fabric-ca-client)組成。CA節(jié)點(diǎn)接收客戶端的注冊(cè)申請(qǐng),返回注冊(cè)密碼用于用戶登入,以便獲取身份證書,在區(qū)塊鏈網(wǎng)絡(luò)上所有的操作都會(huì)驗(yàn)證用戶的身份;Orderers:提供共識(shí)服務(wù)的網(wǎng)絡(luò)節(jié)點(diǎn),負(fù)責(zé)接收包含背書簽名的交易,對(duì)未打包的交易進(jìn)行排序生成區(qū)塊,廣播給peer節(jié)點(diǎn)。例如,使用Kafka或PBFT;通道:Order服務(wù)提供Peer節(jié)點(diǎn)供訂閱的主題(如發(fā)布-訂閱消息隊(duì)列),每個(gè)主題是一個(gè)通道。peer可以訂閱多個(gè)通道,并且只能訪問訂閱通道上的交易;賬本:賬本保存Orders提交經(jīng)節(jié)點(diǎn)確認(rèn)的交易記錄;成員:訪問和使用賬本的網(wǎng)絡(luò)節(jié)點(diǎn);鏈:基本上,一個(gè)鏈由1個(gè)通道+1個(gè)賬本+N個(gè)成員組成。非鏈的成員無法訪問該鏈上的交易。鏈的成員可以由應(yīng)用程序動(dòng)態(tài)指定。Hyperledger定義和術(shù)語Peers:參與交易的主體,可以說是代表每個(gè)參與到鏈上的成員,維護(hù)賬本的網(wǎng)絡(luò)節(jié)點(diǎn),所有的peer節(jié)點(diǎn)都是committer(記賬節(jié)點(diǎn))。通常在HyperledgerFabric架構(gòu)中存在各種角色,如endorser和committer(維護(hù)完整的賬本數(shù)據(jù));所有的peer節(jié)點(diǎn)都是committer(記賬節(jié)點(diǎn)),而又有可能擔(dān)任的角色有endorser(背書節(jié)點(diǎn))、Leader(主節(jié)點(diǎn))、Anchor(錨節(jié)點(diǎn))Committer:記賬節(jié)點(diǎn)使用基于Gossip的p2p數(shù)據(jù)分發(fā),節(jié)點(diǎn)會(huì)定期跟其他節(jié)點(diǎn)交換信息。如果在這個(gè)過程中有節(jié)點(diǎn)發(fā)生故障,則會(huì)從存活的節(jié)點(diǎn)中刪除這個(gè)節(jié)點(diǎn)的信息。對(duì)于故障節(jié)點(diǎn),還會(huì)定時(shí)檢查是否已經(jīng)恢復(fù),恢復(fù)存活的節(jié)點(diǎn)會(huì)更新到存活節(jié)點(diǎn)列表中。如果有新加入的節(jié)點(diǎn),也能通過節(jié)點(diǎn)信息的交換獲取到,添加到存活列表中,廣播給其他節(jié)點(diǎn)Leader:主節(jié)點(diǎn)連接到排序服務(wù),負(fù)責(zé)把接受到的批量區(qū)塊轉(zhuǎn)發(fā)給其他節(jié)點(diǎn)。因此主節(jié)點(diǎn)與排序服務(wù)的穩(wěn)定連接至關(guān)重要??梢詮?qiáng)制設(shè)置為主節(jié)點(diǎn),也可以動(dòng)態(tài)選舉產(chǎn)生Endorser:背書節(jié)點(diǎn)為動(dòng)態(tài)的角色與具體的chaincode綁定,背書節(jié)點(diǎn)的故障對(duì)網(wǎng)絡(luò)的影響取決于chaincode對(duì)應(yīng)的背書策略,例如背書策略指定只要3個(gè)組織其中的2個(gè)組織的成員完成背書,該交易就是有效的,那么只有一個(gè)組織的成員節(jié)點(diǎn)出現(xiàn)故障對(duì)交易完成沒有影響Anchor:錨節(jié)點(diǎn)是在一個(gè)channel上可以被所有其他peer發(fā)現(xiàn)的peer,channel上的每個(gè)成員都有一個(gè)anchorPeer(或多個(gè)anchorpeer來防止單點(diǎn)故障),允許屬于不同成員的peer發(fā)現(xiàn)channel上的所有現(xiàn)有peerFabric0.6到1.0的架構(gòu)圖結(jié)構(gòu)簡單:應(yīng)用-成員管理-Peer的三角形關(guān)系,主要業(yè)務(wù)功能全部集中于Peer節(jié)點(diǎn);架構(gòu)問題:由于peer節(jié)點(diǎn)承擔(dān)了太多的功能,所以帶來擴(kuò)展性、可維護(hù)性、安全性、業(yè)務(wù)隔離等方面的諸多問題0.6版本在推出后,并沒有大規(guī)模被行業(yè)使用,只是在一些零星的案例中進(jìn)行業(yè)務(wù)驗(yàn)證。分拆Peer的功能,將Blockchain的數(shù)據(jù)維護(hù)和共識(shí)服務(wù)進(jìn)行分離,共識(shí)服務(wù)從Peer節(jié)點(diǎn)中完全分離出來,獨(dú)立為Orderer節(jié)點(diǎn)提供共識(shí)服務(wù);基于新的架構(gòu),實(shí)現(xiàn)多通道(channel)的結(jié)構(gòu),實(shí)現(xiàn)了更為靈活的業(yè)務(wù)適應(yīng)性(業(yè)務(wù)隔離、安全性等方面)特性:chaincode信任的靈活性:支持多個(gè)ordering服務(wù)節(jié)點(diǎn),增強(qiáng)共識(shí)的容錯(cuò)能力和對(duì)抗orderer作惡的能力擴(kuò)展性:將endorsement和ordering進(jìn)行分離,實(shí)現(xiàn)多通道(實(shí)際是分區(qū))結(jié)構(gòu),增強(qiáng)系統(tǒng)的擴(kuò)展性;同時(shí)也將chaincode執(zhí)行、ledger、state維護(hù)等非常消耗系統(tǒng)性能的任務(wù)與共識(shí)任務(wù)分離,保證了關(guān)鍵任務(wù)(ordering)的可靠執(zhí)行保密性:新架構(gòu)對(duì)于chaincode在數(shù)據(jù)更新、狀態(tài)維護(hù)等方面提供了新的保密性要求,提高系統(tǒng)的業(yè)務(wù)、安全方面的能力共識(shí)服務(wù)的模塊化:支持可插拔的共識(shí)結(jié)構(gòu),支持多種共識(shí)服務(wù)的接入和服務(wù)實(shí)現(xiàn)Fabric架構(gòu)設(shè)計(jì)超級(jí)賬本包括三大組件:區(qū)塊鏈(Blockchain)鏈碼(Chaincode)成員權(quán)限管理(Membership)區(qū)塊鏈提供一個(gè)分布式賬本平臺(tái)。一般地,多個(gè)交易被打包進(jìn)區(qū)塊中,多個(gè)區(qū)塊構(gòu)成一條區(qū)塊鏈。區(qū)塊鏈代表的是賬本狀態(tài)機(jī)發(fā)生變更的歷史過程。鏈碼包含所有的處理邏輯對(duì)外提供接口,外部通過調(diào)用鏈碼接口來改變世界觀。世界觀是一個(gè)鍵值數(shù)據(jù)庫,用于存放鏈碼執(zhí)行過程中涉及到的狀態(tài)變量。成員權(quán)限管理基于PKI,平臺(tái)可以對(duì)接入的節(jié)點(diǎn)和客戶端的能力進(jìn)行限制。Fabric共享賬本區(qū)塊鏈數(shù)據(jù),這是用文件系統(tǒng)存儲(chǔ)在Committer節(jié)點(diǎn)上的。區(qū)塊鏈中存儲(chǔ)了Transaction的讀寫集;每個(gè)參與者都有一份賬本的副本到他們所屬的每一個(gè)Fabric的網(wǎng)絡(luò)上;包括兩個(gè)組成部分:世界狀態(tài)(worldstate)、事務(wù)日志(transactionlog)在給定的時(shí)間點(diǎn)上,世界狀態(tài)組件描述了總賬的狀態(tài),它是賬本的數(shù)據(jù)庫事務(wù)日志組件記錄所有導(dǎo)致當(dāng)前世界狀態(tài)值的事務(wù),這是世界狀態(tài)的更新歷史,記錄了區(qū)塊鏈網(wǎng)絡(luò)使用的賬本數(shù)據(jù)庫之前和之后的值賬本是世界狀態(tài)數(shù)據(jù)庫和事務(wù)日志歷史的組合該賬本為世界狀態(tài)提供了可替換的數(shù)據(jù)存儲(chǔ)方案默認(rèn)情況下,是一個(gè)LevelDB鍵值存儲(chǔ)數(shù)據(jù)庫,也支持使用CouchDB事務(wù)日志不需要是可插拔的為了檢索區(qū)塊鏈的方便,用LevelDB對(duì)其中的Transaction進(jìn)行了索引。Fabric智能合約超級(jí)賬本支持基于主流編程語言的智能合約(鏈碼)設(shè)計(jì),極大地方便了應(yīng)用開發(fā)人員快速開發(fā)新型的分布式應(yīng)用,或?qū)⒁延袘?yīng)用遷移到區(qū)塊鏈系統(tǒng)上。區(qū)塊鏈應(yīng)用,一般由若干部署在區(qū)塊鏈網(wǎng)絡(luò)中的智能合約,以及調(diào)用這些智能合約的應(yīng)用程序組成。用戶專注于與業(yè)務(wù)本身相關(guān)的應(yīng)用程序;智能合約則封裝了與區(qū)塊賬本直接交互的相關(guān)過程,被應(yīng)用程序調(diào)用智能合約直接與賬本結(jié)構(gòu)打交道,處于十分核心的位置。智能合約代碼本質(zhì)上是為了對(duì)上層業(yè)務(wù)邏輯進(jìn)行支持;智能合約最終會(huì)部署在區(qū)塊鏈網(wǎng)絡(luò)中與賬本進(jìn)行交互。應(yīng)用程序通過調(diào)用智能合約提供的方法接口來實(shí)現(xiàn)業(yè)務(wù)邏輯。由于離用戶側(cè)更貼近,應(yīng)用程序的開發(fā)更為靈活,可以采用已有的主流開發(fā)語言進(jìn)行開發(fā),包括Javascript、Python、Go、Java等。在運(yùn)行位置上,應(yīng)用程序可以運(yùn)行在區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點(diǎn)上;又可以運(yùn)行在中心化的服務(wù)器上,但必須保證可以訪問到智能合約暴露的服務(wù)接口。典型的區(qū)塊鏈應(yīng)用程序的工作過程Fabric成員管理MembershipServiceProviders(MSP)在劃分成員結(jié)構(gòu)的時(shí)候Fabric用MSP來定義一個(gè)成員,在最佳實(shí)例推薦中,一個(gè)企業(yè)或者機(jī)構(gòu)可以是一個(gè)單獨(dú)的MSP例如供應(yīng)鏈案例中,核心企業(yè)便是一個(gè)MSP,銀行和供應(yīng)商各代表一個(gè)MSP,那么在一個(gè)MSP下可以有多個(gè)Peer節(jié)點(diǎn),而不同的授權(quán)便有不同的功能MSP具體應(yīng)用場景在部署智能合約或者初始化時(shí)需要擁有對(duì)應(yīng)CA賦權(quán)的證書才可執(zhí)行(默認(rèn)為PeerAdmin用戶)。為新節(jié)點(diǎn)或用戶注冊(cè)證書時(shí),需要CA對(duì)該操作證書賦予權(quán)限(一般為Admin用戶)。在背書策略中可通過MSP來代表背書成員,可設(shè)定單個(gè)Peer節(jié)點(diǎn)代表其MSP達(dá)成協(xié)議(也可以要求全部Peer節(jié)點(diǎn)通過才達(dá)成協(xié)議)。在跨MSP間的Peer節(jié)點(diǎn)通信,先通過各MSP內(nèi)指定的AnchorPeer收集MSP內(nèi)的Peer列表,然后通過各MSP下的AnchorPeer交互其Peer列表,將其他MSP下的Peer列表同步到內(nèi)部Peer后,便通過Gossip協(xié)議Peer節(jié)點(diǎn)間隨機(jī)通信。每個(gè)MSP都有自己獨(dú)立的CA節(jié)點(diǎn),為其提供所有的證書需求,各MSP共享其CA節(jié)點(diǎn)的ROOT證書達(dá)到互相認(rèn)證。匿名交易。在一筆交易中,包含著每一個(gè)參與背書的用戶證書,這可以認(rèn)為是公開實(shí)名制的交易,所有鏈內(nèi)成員都可以看見每一筆交易是由誰參與的,但是如果我們希望匿名交易該如何實(shí)現(xiàn)呢?在Fabric0.6版本內(nèi)有Ecert和Tcert的概念,Ecert即為用戶的證書,而Tcert則是用于匿名交易,用戶可以通過向CA申請(qǐng)一批Tcert用于交易,而該Tcert不包含用戶的信息,當(dāng)需要驗(yàn)證查驗(yàn)信息時(shí)可通過CA來認(rèn)證該用戶的身份。(此功能在1.0版本尚未實(shí)現(xiàn))Revoke,廢除證書。在PKI體系中,其最大的優(yōu)勢(shì)便是Offline的,即在證書頒發(fā)后,不需要CA節(jié)點(diǎn)的存在也可以在本地進(jìn)行認(rèn)證,而遇到很大的問題是類似于廢除證書時(shí)如果希望能即時(shí)將廢除證書的消息通知到各個(gè)節(jié)點(diǎn),目前的做法是需要CA節(jié)點(diǎn)保持在線并與各節(jié)點(diǎn)保持通信。(獲取Tcert也需要CA節(jié)點(diǎn)在線)Fabric通道數(shù)據(jù)隔離和保密在共識(shí)服務(wù)上支持多通道消息傳遞,使得Peer節(jié)點(diǎn)可以基于應(yīng)用訪問控制策略來訂閱任意數(shù)量的通道;也就是說,應(yīng)用程序指定Peer節(jié)點(diǎn)的子集中架設(shè)通道。這些peer組成提交到該通道交易的相關(guān)者集合,而且只有這些peer可以接收包含相關(guān)交易的區(qū)塊,與其他交易完全隔離此外,peers的子集將這些私有塊提交到不同的賬本上,允許它們保護(hù)這些私有交易,與其他peers子集的賬本隔離開來。應(yīng)用程序根據(jù)業(yè)務(wù)邏輯決定將交易發(fā)送到1個(gè)或多個(gè)通道。這不是內(nèi)置的限制,區(qū)塊鏈網(wǎng)絡(luò)不知道并假設(shè)不同通道上的交易之間沒有關(guān)系通道和賬本的組合是一個(gè)虛擬鏈,因此一個(gè)區(qū)塊鏈網(wǎng)絡(luò)可以具有1個(gè)共識(shí)服務(wù)的多個(gè)鏈。系統(tǒng)通道和全賬本構(gòu)成系統(tǒng)鏈。每個(gè)區(qū)塊鏈網(wǎng)絡(luò)只有1個(gè)系統(tǒng)鏈。如果交易是公開的,區(qū)塊鏈網(wǎng)絡(luò)可能永遠(yuǎn)不需要多個(gè)鏈;所有的交易對(duì)所有Peers成員都可見。然而,在成員間進(jìn)行私密交易(例如雙邊合同),單獨(dú)的鏈?zhǔn)歉綦x數(shù)據(jù)、提供保密的方式注意:共識(shí)服務(wù)接收所有鏈的所有交易,因此保密性僅與peer而不是Orderers相關(guān)。當(dāng)共識(shí)服務(wù)由被許可網(wǎng)絡(luò)中的可信方和監(jiān)管機(jī)構(gòu)組成時(shí),這樣是合理的,也就是說,這些交易作為業(yè)務(wù)需求僅對(duì)他們可見。另一方面,如果應(yīng)用程序不希望Orderers知道交易的內(nèi)容,它必須利用其他技術(shù)來隱藏敏感數(shù)據(jù),例如哈希散列或加密。共識(shí)服務(wù)作為一個(gè)信任方存在,如果是由拜占庭容錯(cuò)(BFT)共識(shí)協(xié)議實(shí)現(xiàn)(例如PBFT),可以防止不可信的Orderers破壞賬本的一致性和阻礙系統(tǒng)可用性。然而,現(xiàn)在還沒有一種協(xié)議可以在有不可信的Orderers存在的情況下,提供多通道設(shè)計(jì)的同時(shí)提供數(shù)據(jù)保密性。FabricCACA主要功能身份注冊(cè),或者將連接到LDAP作為用戶注冊(cè);頒發(fā)登錄證書(ECerts);頒發(fā)交易證書(TCerts),保證鏈上交易的匿名性與不可連接性;證書續(xù)期與撤銷。Fabric共識(shí)機(jī)制目前包括SOLO,Kafka,未來可能要使用的PBFT(實(shí)踐拜占庭容錯(cuò))、SBFT(簡化拜占庭容錯(cuò))solo、kafka和bft,分別可以認(rèn)為是中心化、半中心化和去中心化。solo模式指整個(gè)fabric網(wǎng)絡(luò)依賴于一個(gè)orderer節(jié)點(diǎn)kafka模式依賴于一個(gè)kafka集群bft模式則是去中心化的orderer集群,但目前bft模式并沒有在fabric-1.0中實(shí)現(xiàn)Fabric共識(shí)機(jī)制SOLO機(jī)制是一個(gè)非常容易部署的非生產(chǎn)環(huán)境的共識(shí)排序節(jié)點(diǎn)。它由一個(gè)為所有客戶服務(wù)的單一節(jié)點(diǎn)組成,所以不需要“共識(shí)”,因?yàn)橛幸粋€(gè)中央權(quán)威機(jī)構(gòu)。相應(yīng)地沒有高可用性或可擴(kuò)展性。這使得獨(dú)立開發(fā)和測(cè)試很理想,但不適合生產(chǎn)環(huán)境部署。order-solo模式作為單節(jié)點(diǎn)通信模式,所有從peer收到的消息都在本節(jié)點(diǎn)進(jìn)行排序與生成數(shù)據(jù)塊。Fabric共識(shí)機(jī)制Kafka是一種支持多通道分區(qū)的集群時(shí)序服務(wù),可以有序地管理消息并在多個(gè)冗余副本間保證數(shù)據(jù)一致性kafka集群的狀態(tài)由zookeeper管理,選舉leader節(jié)點(diǎn)kafka集群至少要四個(gè)節(jié)點(diǎn),可保證在一個(gè)節(jié)點(diǎn)宕機(jī)后還能繼續(xù)提交交易和排序,并且創(chuàng)建新的通道zookeeper集群將會(huì)是3個(gè)、5個(gè)或7個(gè),它的值需要是一個(gè)奇數(shù)避免split-brain情況,同時(shí)選擇大于1的值為了避免單點(diǎn)故障。超過7個(gè)zookeeperservers會(huì)被認(rèn)為overkill可以容忍部分節(jié)點(diǎn)失效(crash),但不能容忍惡意節(jié)點(diǎn)基于zookeeper進(jìn)行Paxos算法選舉,支持2f+1節(jié)點(diǎn)集群,f代表失效節(jié)點(diǎn)個(gè)數(shù)。即kafka可以容忍少于半數(shù)的共識(shí)節(jié)點(diǎn)失效Kafka模式的Orderer服務(wù)包含Kafka集群及相關(guān)聯(lián)的Zookeeper集群,以及許多OSN(orderingservicenode)ordering服務(wù)使用一個(gè)單Partition(每channel)接收客戶端的交易消息和TTC-X消息,在本地存儲(chǔ)區(qū)塊(每channel),這種解決方案能夠在性能和復(fù)雜度之間取得較好的平衡不用擔(dān)心排序服務(wù)里插入數(shù)據(jù)帶來的安全問題,因?yàn)樽罱K記賬還需要經(jīng)過多重檢查,比如消息類型的檢查和簽名驗(yàn)證、記賬節(jié)點(diǎn)對(duì)背書策略的驗(yàn)證和交易內(nèi)容的驗(yàn)證。但是其他的惡意節(jié)點(diǎn)攻擊的問題還是無法避免的,比如拒絕服務(wù)(丟掉交易)值得一提的是,官方的example的在kafka集群和orderer之間都是沒有安全傳輸?shù)?,切不可直接投入生產(chǎn)環(huán)境??梢酝ㄟ^使用openssl為kafka集群生成秘鑰,增加orderer和kafka的配置以使用基于TLS的安全傳輸Fabric共識(shí)機(jī)制PBFT算法拜占庭算法支持(3f+1)的節(jié)點(diǎn)集群,f代表惡意節(jié)點(diǎn)的數(shù)量。惡意節(jié)點(diǎn)可能會(huì)做一些惡意偽造時(shí)序或者返回相反的錯(cuò)誤的結(jié)果等三個(gè)階段:預(yù)準(zhǔn)備(pre-prepare)、準(zhǔn)備(prepare)、和確認(rèn)(commit)從全網(wǎng)節(jié)點(diǎn)選舉出一個(gè)主節(jié)點(diǎn)(Leader),新區(qū)塊由主節(jié)點(diǎn)負(fù)責(zé)生成Pre-Prepare:每個(gè)節(jié)點(diǎn)把客戶端發(fā)來的交易向全網(wǎng)廣播,主節(jié)點(diǎn)0將從網(wǎng)絡(luò)收集到需放在新區(qū)塊內(nèi)的多個(gè)交易排序后存入列表,并將該列表向全網(wǎng)廣播,擴(kuò)散至123Prepare:每個(gè)節(jié)點(diǎn)接收到交易列表后,根據(jù)排序模擬執(zhí)行這些交易。所有交易執(zhí)行完后,基于交易結(jié)果計(jì)算新區(qū)塊的哈希摘要,并向全網(wǎng)廣播,1->023,2->013,3因?yàn)殄礄C(jī)無法廣播Commit:如果一個(gè)節(jié)點(diǎn)收到的2f(f為可容忍的拜占庭節(jié)點(diǎn)數(shù))個(gè)其它節(jié)點(diǎn)發(fā)來的摘要都和自己相等,就向全網(wǎng)廣播一條commit消息Reply:如果一個(gè)節(jié)點(diǎn)收到2f+1條commit消息,即可提交新區(qū)塊及其交易到本地的區(qū)塊鏈和狀態(tài)數(shù)據(jù)庫Fabric交易過程Fabric交易過程Hyperledger主要特點(diǎn)-1獲得許可的成員HyperledgerFabric因作為許可網(wǎng)絡(luò)的平臺(tái)而聞名,其中的所有參與者都有已知的身份??紤]許可網(wǎng)絡(luò)時(shí),應(yīng)該考慮自己的區(qū)塊鏈用例是否需要遵守?cái)?shù)據(jù)保護(hù)法規(guī)。許多用例(具體來講,是在金融領(lǐng)域和醫(yī)療行業(yè)中的許多用例)都需要遵守?cái)?shù)據(jù)保護(hù)法律,要求知道網(wǎng)絡(luò)成員和訪問特定數(shù)據(jù)的人的身份。例如,假設(shè)有一家私募股權(quán)公司。根據(jù)定義,私募股權(quán)不在證券交易所公開交易,而且它的投資者通常是風(fēng)險(xiǎn)投資公司、私募股權(quán)公司或天使投資者。此網(wǎng)絡(luò)的參與者需要是已知的,而且在資本投資方面具有可信度,然后才能參與區(qū)塊鏈。Hyperledger主要特點(diǎn)-2性能、可伸縮性和信任水平HyperledgerFabric構(gòu)建于一種模塊化架構(gòu)之上,該架構(gòu)將交易處理分為3個(gè)階段:分布式邏輯處理和協(xié)商(“鏈代碼”)交易訂購交易驗(yàn)證和提交這種分離提供了一些優(yōu)勢(shì):不同節(jié)點(diǎn)類型之間需要的信任和驗(yàn)證水平更低,網(wǎng)絡(luò)可伸縮性和性能得到了優(yōu)化。Hyperledger主要特點(diǎn)-2在新的v1.0架構(gòu)中,僅在網(wǎng)絡(luò)上發(fā)送簽名和讀/寫集,所以可伸縮性和性能得到了優(yōu)化。此外,因?yàn)閮H背書者和提交者能夠真正看到該交易,所以區(qū)塊鏈系統(tǒng)的不同部分中需要的信任水平更低,提供了更高的安全性。例如,在資本市場中,購買和銷售基于股權(quán)的證券或債務(wù),由于參與者數(shù)量增多,所以交易量也在增加。更多的交易要求更高的可伸縮性和性能,HyperledgerFabricv1.0提供了這一優(yōu)勢(shì),該優(yōu)勢(shì)從某種程度上講歸功于鏈代碼執(zhí)行過程的拆分。拆分鏈代碼執(zhí)行還在網(wǎng)絡(luò)中實(shí)現(xiàn)了動(dòng)態(tài)增長在HyperledgerFabricv1.0中,可以動(dòng)態(tài)地或以編程方式添加對(duì)等節(jié)點(diǎn),而不是像v0.6中一樣靜態(tài)添加。例如,假設(shè)一家管理外匯匯率的公司要向網(wǎng)絡(luò)中添加一家新銀行。在HyperledgerFabricv1.0中,他們能夠以編程方式完成此操作。Hyperledger主要特點(diǎn)-3以“需要知道”為原則來公開數(shù)據(jù)由于競爭形勢(shì)、保護(hù)法律和有關(guān)個(gè)人數(shù)據(jù)機(jī)密性的法規(guī),企業(yè)規(guī)定需要確保某些數(shù)據(jù)元素的隱私,這可以通過區(qū)塊鏈上的數(shù)據(jù)分區(qū)來實(shí)現(xiàn)。HyperledgerFabric中支持的通道允許僅將數(shù)據(jù)傳遞給需要知道的相關(guān)方。例如,許多金融實(shí)體表明擔(dān)憂競爭對(duì)手看到所處理的交易數(shù)量。一些金融機(jī)構(gòu)沒有考慮通過“足夠”的加密來保護(hù)其數(shù)據(jù)??紤]到這種情況,一些金融工具可能需要10年或更長時(shí)間才
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國海棉制品家具項(xiàng)目投資可行性研究分析報(bào)告
- 2024-2030年中國黑色金屬行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資戰(zhàn)略規(guī)劃報(bào)告
- 2025年中國氣體阻尼器市場運(yùn)營態(tài)勢(shì)及發(fā)展前景預(yù)測(cè)報(bào)告
- 2025年中國靜丙行業(yè)發(fā)展趨勢(shì)及投資前景預(yù)測(cè)報(bào)告
- 2025至2030年中國雙空濾叉車數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 中國建筑節(jié)能服務(wù)行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2025至2030年中國壓力平衡陶瓷閥芯行業(yè)投資前景及策略咨詢研究報(bào)告
- 中國食用菌菌種行業(yè)市場調(diào)查研究及投資戰(zhàn)略研究報(bào)告
- 2025年中國海水養(yǎng)殖行業(yè)市場發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 2025年中國智能液晶電視行業(yè)發(fā)展前景及投資戰(zhàn)略咨詢報(bào)告
- 2024年電子商務(wù)師真題試題及答案
- 撬裝式承壓設(shè)備系統(tǒng)安全技術(shù)規(guī)范
- 園藝植物遺傳育種 課件全套 第1-10章 緒論-新品種的審定與推廣繁育+實(shí)訓(xùn)
- 2025-2030中國免洗護(hù)發(fā)素行業(yè)市場發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 《智能優(yōu)化算法解析》 課件 第6章-基于群智能的智能優(yōu)化算法
- 《紅巖》中考試題(截至2024年)
- 華為IAD132E(T)開局指導(dǎo)書
- (2025)二十大知識(shí)競賽題庫(含答案)
- 2025年華北電力大學(xué)輔導(dǎo)員及其他崗位招考聘用54人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2022《信訪工作條例》學(xué)習(xí)課件
- 2025年高考政治一輪復(fù)習(xí)知識(shí)清單選擇性必修一《當(dāng)代國際政治與經(jīng)濟(jì)》重難點(diǎn)知識(shí)
評(píng)論
0/150
提交評(píng)論