又大又粗又猛免费视频久久_国产理论在线播放_久久男人av资源网站免费软件_99国产精品无码

如何設(shè)計(jì)區(qū)塊鏈應(yīng)用程序架構(gòu)?(如何設(shè)計(jì)區(qū)塊鏈應(yīng)用程序架構(gòu))

本文提出了一種分層的區(qū)塊鏈參考架構(gòu),該架構(gòu)包括應(yīng)用層、智能合約層、集成層、分布式賬本層以及安全層。該架構(gòu)提供了區(qū)塊鏈應(yīng)用程序所必需的組件和服務(wù),并適用于公鏈或私鏈各種應(yīng)用程序的設(shè)計(jì)。

直至今日,區(qū)塊鏈的設(shè)計(jì)已經(jīng)遠(yuǎn)遠(yuǎn)超越了它最初作為加密貨幣技術(shù)的存在。區(qū)塊鏈已經(jīng)發(fā)展成為一個(gè)支持適合公眾和企業(yè)需求的全行業(yè)用例技術(shù)平臺。下面所示的區(qū)塊鏈參考架構(gòu)將作為構(gòu)建或?qū)崿F(xiàn)全行業(yè)用例區(qū)塊鏈應(yīng)用程序的基礎(chǔ)。該參考架構(gòu)描述了一個(gè)分層的體系結(jié)構(gòu),它提供了滿足企業(yè)需求的區(qū)塊鏈應(yīng)用程序所必需的組件和服務(wù)?;诓煌纳虡I(yè)目的和業(yè)務(wù)對象,該架構(gòu)可以用于開發(fā)包含單個(gè)或多個(gè)網(wǎng)絡(luò)(涉及多個(gè)業(yè)務(wù)單元或組織)的區(qū)塊鏈。在該參考架構(gòu)指導(dǎo)下,開發(fā)者既可以實(shí)現(xiàn)許可鏈(即私鏈)應(yīng)用程序的設(shè)計(jì),也可以實(shí)現(xiàn)非許可鏈(即公鏈)的設(shè)計(jì)。

如何設(shè)計(jì)區(qū)塊鏈應(yīng)用程序架構(gòu)?(如何設(shè)計(jì)區(qū)塊鏈應(yīng)用程序架構(gòu))

上圖所示參考架構(gòu)可用于構(gòu)建任何區(qū)塊鏈應(yīng)用程序。該架構(gòu)被劃分為多個(gè)重要的邏輯層。這些層分別是應(yīng)用層、智能合約層、集成層、分布式賬本層以及覆蓋全架構(gòu)的安全層。接下來,讓我們來了解每一層及其所包含的組件:

應(yīng)用層

應(yīng)用層是你的終端用戶或客戶端應(yīng)用程序所在的層次??蛻舳藨?yīng)用程序通常通過觸發(fā)交易來啟動(dòng)整個(gè)業(yè)務(wù)工作流。之后,該交易由節(jié)點(diǎn)調(diào)用智能合約層功能繼續(xù)向下執(zhí)行??蛻舳藨?yīng)用程序可以使用任何軟件編程語言實(shí)現(xiàn),并且可以運(yùn)行在各種操作系統(tǒng)上。應(yīng)用程序既可以使用任何區(qū)塊鏈框架實(shí)現(xiàn)所提供的命令行接口(CLI)工具,也可以使用特定于編程語言的軟件開發(fā)工具包(SDK)與網(wǎng)絡(luò)上的節(jié)點(diǎn)通信。隨著區(qū)塊鏈技術(shù)的演進(jìn)早已超越其傳統(tǒng)的基于數(shù)字加密貨幣的網(wǎng)絡(luò)形象,我們看到越多越多不同類型的客戶端和工具現(xiàn)已支持區(qū)塊鏈框架。如今客戶端應(yīng)用程序還可以偵聽發(fā)生在區(qū)塊鏈網(wǎng)絡(luò)上的各種類型的事件(event),并對這些事件執(zhí)行必要的操作。這些網(wǎng)絡(luò)事件可能是很簡單的事件,比如僅僅是從網(wǎng)絡(luò)向應(yīng)用程序提供狀態(tài)更新。在開發(fā)時(shí),還可以使用一個(gè)單獨(dú)的專用應(yīng)用程序來監(jiān)測區(qū)塊鏈網(wǎng)絡(luò)。

智能合約層

智能合約層的軟件代碼實(shí)現(xiàn)了區(qū)塊鏈網(wǎng)絡(luò)中的交易。這些代碼是由區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)調(diào)用的關(guān)于業(yè)務(wù)規(guī)則或條件的一組邏輯集合。智能合約可以有自己的運(yùn)行環(huán)境或虛擬機(jī)環(huán)境。這可以讓它在安全的上下文中運(yùn)行,就像在虛擬容器里一樣。而且智能合約可以用任何一種流行的軟件編程語言來實(shí)現(xiàn),例如(但不僅限于)熱門的語言 Java、Python、Go、JavaScript 和 Scala 等等。也可以將智能合約編寫為一種服務(wù)(service),并將其放在注冊表中,以便客戶端以獨(dú)立于位置的方式來查找相同的服務(wù)。注冊表可以安全地被保護(hù)起來,并且可以控制訪問,這樣只有經(jīng)過授權(quán)的客戶端才能根據(jù)該合約來執(zhí)行操作。還可以使用加密哈希散列算法來保護(hù)智能合約本身,使其內(nèi)容(其形式是軟件代碼和相關(guān)元數(shù)據(jù))成為機(jī)密。智能合約還可以被編寫為事件(event)的形式來進(jìn)行交易狀態(tài)轉(zhuǎn)換的通信或廣播。該事件可以實(shí)現(xiàn)為合同本身的生命周期事件??蛻舳藨?yīng)用程序可以偵聽這些事件并相應(yīng)地對它們進(jìn)行處理。

集成層

當(dāng)今世界,在所有的顛覆性技術(shù)中,應(yīng)用程序的集成和互聯(lián)通信已經(jīng)變得十分重要,因?yàn)楝F(xiàn)在沒有一個(gè)技術(shù)平臺可以孤立存在。區(qū)塊鏈也同樣如此。應(yīng)該保證區(qū)塊鏈網(wǎng)絡(luò)能夠訪問自己網(wǎng)絡(luò)之外的任何數(shù)據(jù)。這些數(shù)據(jù)可以為區(qū)塊鏈工作流提供重要價(jià)值,可能是外部應(yīng)用程序或外部系統(tǒng)的一部分。類似地,也需要保證外部系統(tǒng)能夠與區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行通信。一種實(shí)現(xiàn)方法是設(shè)立一個(gè)外部事件 hub,該 hub 作為媒介,通過事件處理器與外部系統(tǒng)交換數(shù)據(jù)。而外部應(yīng)用程序可以偵聽來自該 hub 上的特定事件,并相應(yīng)地執(zhí)行某些任務(wù)。另一方面,智能合約軟件也可以偵聽來自外部系統(tǒng)的事件,并相應(yīng)地執(zhí)行業(yè)務(wù)功能。下面幾小節(jié)解釋了集成場景中一些有趣的其他用例:

人工智能(AI)集成

正如我們所了解的,區(qū)塊鏈本質(zhì)上是一個(gè)分布式賬本,它采用去中心化和自動(dòng)化的方法來處理基于共識的交易結(jié)算過程。那么,又如何將人工智能應(yīng)用在區(qū)塊鏈中呢?人工智能的應(yīng)用必須基于大量數(shù)據(jù)。而區(qū)塊鏈本身就是一個(gè)包含大量交易的數(shù)據(jù)庫,于是可以將其中的數(shù)據(jù)提供給諸如機(jī)器學(xué)習(xí)(machine learning)的人工智能分支應(yīng)用來完成某些功能,例如,可以對數(shù)據(jù)應(yīng)用復(fù)雜的算法來優(yōu)化特定的業(yè)務(wù)功能。人工智能分支應(yīng)用還可以用來改進(jìn)整個(gè)業(yè)務(wù)流程或工作流。人工智能算法可以檢測出明顯的異常,并進(jìn)行預(yù)測性建?;蚍治?,從而找到能夠降低交易成本和增加區(qū)塊鏈網(wǎng)絡(luò)中各方業(yè)務(wù)收入的那些指標(biāo)。在需要自治工作的系統(tǒng)之間,也可以應(yīng)用人工智能的解決方案來達(dá)成交易共識??傊?,人工智能和區(qū)塊鏈的強(qiáng)強(qiáng)聯(lián)合可能會在未來真正地改變游戲規(guī)則。

云集成

還可以擴(kuò)展區(qū)塊鏈架構(gòu)來實(shí)現(xiàn)在云上的組件托管,云可以提供諸如路由、數(shù)據(jù)轉(zhuǎn)換、協(xié)議轉(zhuǎn)換、擴(kuò)展的證書授權(quán)中心(CA)等應(yīng)用程序的集成服務(wù)。該組件還可以充當(dāng)中間件,在云中提供“區(qū)塊鏈即服務(wù)(blockchain as a service)”功能。在區(qū)塊鏈實(shí)現(xiàn)中可以提供一個(gè)適配器,以便從區(qū)塊鏈網(wǎng)絡(luò)內(nèi)部和外部連接到該中間件組件。區(qū)塊鏈中間件組件可以托管在安全的“沙箱”環(huán)境中,也可以托管在一個(gè)安全的虛擬容器中。而外部應(yīng)用程序可以通過該適配器,在獲取訪問區(qū)塊鏈網(wǎng)絡(luò)的有效證書后,與區(qū)塊鏈中間件進(jìn)行交互通信。

物聯(lián)網(wǎng)(IoT)集成

新的一波關(guān)于技術(shù)集成的浪潮是區(qū)塊鏈網(wǎng)絡(luò)與任意可連接的設(shè)備進(jìn)行通信。不同類型的物聯(lián)網(wǎng)(IoT)設(shè)備或傳感器可以將數(shù)據(jù)注入?yún)^(qū)塊鏈網(wǎng)絡(luò),然后由區(qū)塊鏈節(jié)點(diǎn)進(jìn)行驗(yàn)證??梢詫?shí)現(xiàn)一個(gè)標(biāo)準(zhǔn)化的中間件,它可以從設(shè)備獲取數(shù)據(jù),并根據(jù)區(qū)塊鏈網(wǎng)絡(luò)的需求執(zhí)行必要的數(shù)據(jù)換算和格式轉(zhuǎn)換。之后,區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)可以使用智能合約的特定共識算法來對這些數(shù)據(jù)進(jìn)行驗(yàn)證。

注:有關(guān)區(qū)塊鏈和物聯(lián)網(wǎng)集成的更多細(xì)節(jié),請參閱這篇概述文章。

分布式帳本層

這個(gè)分布式賬本層是區(qū)塊鏈架構(gòu)的核心持久層。它提供了一個(gè)去中心化的分布式數(shù)據(jù)庫,該數(shù)據(jù)庫包含所有的交易條目。這些交易條目按其出現(xiàn)的順序進(jìn)行記錄,并組成哈希散列塊。因此,該數(shù)據(jù)庫,或分類賬,實(shí)際上就是交易的一個(gè)哈希塊鏈,其中每個(gè)塊都指向鏈中的前一個(gè)塊。分類帳在區(qū)塊鏈全網(wǎng)絡(luò)中進(jìn)行共享,這就意味著每個(gè)節(jié)點(diǎn)都有分類帳的副本,所以每個(gè)節(jié)點(diǎn)都能獨(dú)立地對交易進(jìn)行驗(yàn)證。當(dāng)每個(gè)節(jié)點(diǎn)都同意并確認(rèn)交易的真實(shí)性時(shí),此時(shí)就宣告分類帳達(dá)成共識。區(qū)塊鏈網(wǎng)絡(luò)使用不同的共識算法來達(dá)成共識。共識算法是監(jiān)管交易的一組規(guī)則和條件。為公眾實(shí)現(xiàn)的區(qū)塊鏈網(wǎng)絡(luò),即公鏈,有一個(gè)無需許可的分類賬,而在私鏈或聯(lián)盟鏈(半公開,介于公鏈和私鏈之間)中,分類賬可以實(shí)現(xiàn)為需要許可。在訪問和管理交易的方式上,需要許可的分類賬引入了某種形式的訪問控制。

分類帳管道(Conduits)

對于許可鏈(私鏈)的區(qū)塊鏈網(wǎng)絡(luò),開發(fā)者可以實(shí)現(xiàn)一個(gè)名為分類帳管道的模式。在區(qū)塊鏈網(wǎng)絡(luò)中,可以將這樣的管道視為私有通道,這樣甚至能在該網(wǎng)絡(luò)中讓兩個(gè)或多個(gè)節(jié)點(diǎn)更私密地執(zhí)行交易。這種節(jié)點(diǎn)必須是成員節(jié)點(diǎn),并被專門授權(quán)對這些私有管道擁有使用權(quán)??梢詫⑦@些管道視為大型網(wǎng)絡(luò)中的小型網(wǎng)絡(luò)。在企業(yè)中實(shí)現(xiàn)區(qū)塊鏈時(shí),這種模式能進(jìn)一步加強(qiáng)安全性。

共識算法

區(qū)塊鏈網(wǎng)絡(luò)通常由不受信任的匿名實(shí)體或節(jié)點(diǎn)進(jìn)行監(jiān)管。而區(qū)塊鏈中的共識是在網(wǎng)絡(luò)中提供信任機(jī)制的最關(guān)鍵因素。每個(gè)節(jié)點(diǎn)都可以用交易形式的數(shù)據(jù)來對區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行更新,而這些交易最終需要經(jīng)過驗(yàn)證,然后才能作為區(qū)塊鏈的一部分被正式記錄在分類帳中。關(guān)于如何創(chuàng)建和驗(yàn)證交易塊并實(shí)現(xiàn)區(qū)塊鏈的信任機(jī)制,有多種不同的共識算法。

實(shí)用拜占庭容錯(cuò)算法(PBFT)這是基于多數(shù)表決的共識。網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)根據(jù)給定的規(guī)則或條件集更新和驗(yàn)證區(qū)塊鏈網(wǎng)絡(luò)。如果網(wǎng)絡(luò)中的大多數(shù)節(jié)點(diǎn)在更新時(shí)反映了相同的結(jié)果,則宣告網(wǎng)絡(luò)達(dá)成共識??赡軙猩贁?shù)流氓節(jié)點(diǎn)(Rogue Nodes)違反網(wǎng)絡(luò)規(guī)則,但它們的表決結(jié)果不被接受,因?yàn)樗`反了該算法給出的結(jié)果。該共識算法應(yīng)該滿足所有必要條件,并且所有的節(jié)點(diǎn)必須同意并執(zhí)行相同的條件才能得到所期望的輸出。

工作量證明算法(Proof-of-work,PoW)工作量證明是最早設(shè)計(jì)出來的傳統(tǒng)算法之一。比特幣的區(qū)塊鏈網(wǎng)絡(luò)和以太坊網(wǎng)絡(luò)都使用了這種算法。與上面的實(shí)用拜占庭容錯(cuò)算法不同,工作量證明算法并不依賴于多數(shù)表決來達(dá)成共識,它是一個(gè)需要消耗大量計(jì)算資源的算法。只有計(jì)算能力更強(qiáng)的節(jié)點(diǎn)才能爭得工作量證明算法的記賬權(quán)。第一個(gè)完成指定任務(wù)并有正確輸出的節(jié)點(diǎn)會贏得創(chuàng)建塊的記賬權(quán)利,并得到相應(yīng)的報(bào)酬。工作量證明算法通常涉及到某種加密哈希散列算法,以實(shí)現(xiàn)所需的目標(biāo)或結(jié)果。在我的免費(fèi)教程中,第 2 章對工作量證明算法有詳細(xì)討論。

股權(quán)證明算法(Proof-of-Stake,PoS)前面提到,使用工作量證明算法需要巨大的計(jì)算能力,從而導(dǎo)致較高的能量消耗。這種情況可能并不適用。而股權(quán)證明算法通過提供一種稱為用戶權(quán)益的替代方法來克服這個(gè)問題。那些占據(jù)或擁有最高數(shù)字貨幣量(或某些資產(chǎn))的用戶會贏得在區(qū)塊鏈網(wǎng)絡(luò)中創(chuàng)建塊的記賬權(quán)利。因此,在這種算法機(jī)制下,并不用需要花錢在升級節(jié)點(diǎn)的算力上,而是直接買下加密貨幣(或其他資產(chǎn))來增持用戶權(quán)益并爭得記賬權(quán),從而取得對一個(gè)交易塊的驗(yàn)證和創(chuàng)建的權(quán)利。

安全層

我們在前面的區(qū)塊鏈其他組件部分也涉及了一些安全性的討論。安全層是區(qū)塊鏈架構(gòu)中的重要組件之一。無論是公鏈還是私鏈,基于區(qū)塊鏈的實(shí)施都需要保證安全性和共識策略。在公鏈中,每個(gè)節(jié)點(diǎn)都可以參與交易,而在私鏈中,由于有某種形式的訪問控制,只允許被許可的節(jié)點(diǎn)參與交易。

區(qū)塊鏈網(wǎng)絡(luò)中的每個(gè)實(shí)體都必須進(jìn)行身份綁定。在公鏈網(wǎng)絡(luò)中,通常會限制只有參與交易的用戶才能成為這樣的實(shí)體,而在私鏈網(wǎng)絡(luò)中,實(shí)體可能由組織、節(jié)點(diǎn)、用戶以及在區(qū)塊鏈網(wǎng)絡(luò)中可以發(fā)揮作用的任何東西所構(gòu)成。

對于私鏈網(wǎng)絡(luò)而言,可以使用公鑰基礎(chǔ)設(shè)施(PKI)平臺,在這個(gè)平臺里,受信任的證書授權(quán)中心(CA)可以頒發(fā)加密證書。而這些加密證書可以采用證書和密鑰的形式。私鑰可用于數(shù)字簽名,而公鑰可用于驗(yàn)證。這種機(jī)制實(shí)現(xiàn)了一個(gè)可信網(wǎng)絡(luò),在該網(wǎng)絡(luò)中所有參與者都知道他們是誰,也知道他們可信度的來源。既然現(xiàn)在區(qū)塊鏈網(wǎng)絡(luò)種的各方參與者都可以使用自己的加密證書,還有可能建立自己的證書授權(quán)中心(CA),所以至關(guān)重要的是,區(qū)塊鏈的實(shí)現(xiàn)需要提供一種即插即用式的服務(wù),或者是一個(gè)抽象的邏輯層,來有效地管理、測試和驗(yàn)證在網(wǎng)絡(luò)中采用不同安全機(jī)制的各種實(shí)體。

簡而言之,區(qū)塊鏈安全層需要具備鑒權(quán)、訪問控制、完整性、保密性、不可篡改性五大有效措施。

結(jié)語

區(qū)塊鏈被認(rèn)為是繼互聯(lián)網(wǎng)之后的下一波網(wǎng)絡(luò)技術(shù)革命,在商業(yè)領(lǐng)域的潛力尤其巨大。區(qū)塊鏈這種自我監(jiān)管的環(huán)境,在身份管理方面提供共識和來源的支持,在安全性方面提供密碼學(xué)和策略支持,這將為產(chǎn)生眾多新一代應(yīng)用程序鋪平道路,而這些應(yīng)用程序又會在未來為區(qū)塊鏈網(wǎng)絡(luò)提供更健壯的基礎(chǔ)設(shè)施支持。如今已經(jīng)有許多不同風(fēng)格的區(qū)塊鏈問世,從諸如以太坊這樣的非許可分類賬到諸如 IBM 超級分類賬(HyperLedger)這樣的許可分類賬。而區(qū)塊鏈的行業(yè)用例已經(jīng)從以加密貨幣為中心的金融領(lǐng)域延伸到各行各業(yè),如保險(xiǎn)、供應(yīng)鏈、醫(yī)療、物聯(lián)網(wǎng)等。根據(jù)用例的類型,你可以選用非許可的區(qū)塊鏈(公鏈)或許可的區(qū)塊鏈(私鏈),甚至是二者的組合技術(shù),即使用公共的共識機(jī)制來驅(qū)動(dòng)私有的業(yè)務(wù)交易。

區(qū)塊鏈?zhǔn)剿季S已經(jīng)拉開帷幕,云、大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)和分布式賬本的組合力量將在未來帶來更多創(chuàng)新的業(yè)務(wù)解決方案。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
在線咨詢
分享本頁
返回頂部