摘要:比特幣和以太幣屬于一類區塊鏈,我們將其歸類為公共無許可的區塊鏈技術。例如,在單個企業中部署時,或由受信任的權威機構運作,完全拜占庭容錯的共識可能被認為是不必要的,并且對性能和吞吐量造成過度的拖累。
介紹
一般而言,區塊鏈是一個不可變的交易分類賬,維護在一個分布式對等節點網絡中。這些節點通過應用已經由共識協議驗證的交易來維護分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊中。
區塊鏈的第一個也是最廣為人知的應用是比特幣加密貨幣,盡管其他人也追隨了它的腳步。以太幣,另一種加密貨幣,采取了不同的方法,集成了許多與比特幣相同的特性,但添加了智能合約為分布式應用程序創建了一個平臺。比特幣和以太幣屬于一類區塊鏈,我們將其歸類為公共無許可的區塊鏈技術。基本上,這些都是公共網絡,開放給任何人,參與者匿名互動。
隨著比特幣,以太幣和其他一些衍生技術的普及,對將區塊鏈、分布式分類賬和分布式應用平臺的底層技術應用于更具創新性的企業用例的興趣也在增長。然而,許多企業用例需要的性能特性是無許可的區塊鏈技術無法(目前)交付的。此外,在許多使用案例中,參與者的身份是一項硬性要求,例如在必須遵循Know-Your-Customer(KYC)和 Anti-Money Laundering(AML)法規的金融交易中。
對于企業使用,我們需要考慮以下要求:
參與者必須可被識別或可識別
網絡需要得到許可
高交易吞吐量性能
交易確認的低延遲
與商業交易有關的交易和數據的隱私和機密性
雖然許多早期的區塊鏈平臺目前正在適應企業使用,Hyperledger Fabric從一開始就為企業使用而設計。以下部分描述了Hyperledger Fabric(Fabric)如何與其他區塊鏈平臺區分開來,并描述了其架構決策的一些動機。
Hyperledger FabricHyperledger Fabric是一個開源的企業級許可分布式分類賬技術(DLT)平臺,專為在企業環境中使用而設計,與其他流行的分布式分類帳或區塊鏈平臺相比,可提供一些關鍵的差異化功能。
一個關鍵的區別是Hyperledger是在Linux基金會下建立的,該基金會本身在開放式治理下培育開源項目的歷史悠久且非常成功,使其成長為強大的可持續社區和繁榮的生態系統。Hyperledger由多元化的技術指導委員會和Hyperledger Fabric項目管理,來自多個組織的各種維護人員。它擁有一個開發社區,自最早提交以來已經發展到超過35個組織和近200個開發人員。
Fabric具有高度模塊化和可配置的體系結構,為廣泛的行業用例提供創新、多功能性和優化,包括銀行、金融、保險、醫療保健、人力資源、供應鏈,甚至數字音樂交付。
Fabric是第一個支持用通用編程語言(如Java,Go和Node.js)編寫智能合約的分布式分類賬平臺,而不是受限制的特定于域的語言(DSL),這意味著大多數企業已經擁有開發智能合約所需的技能,并且不需要額外的培訓來學習新的語言或DSL。
Fabric平臺也是許可的,這意味著,不像公開無許可的網絡,參與者彼此了解,而不是匿名的并且因此完全不可信。這意味著雖然參與者可能彼此不完全信任(例如,他們可能是同一行業中的競爭者),網絡可以在基于參與者之間存在的信任的治理模型下運行,例如 處理糾紛的法律協議或框架。
平臺最重要的區別之一是它支持可插拔的共識協議,這使得平臺能夠更有效地定制以適應特定的用例和信任模型。例如,在單個企業中部署時,或由受信任的權威機構運作,完全拜占庭容錯的共識可能被認為是不必要的,并且對性能和吞吐量造成過度的拖累。在這種情況下,崩潰容錯(CFT)共識協議可能就綽綽有余了,而在多方、分散的用例中,可能需要更傳統的拜占庭容錯(BFT)共識協議。
Fabric可以利用不需要原生加密貨幣的共識協議來刺激昂貴的挖掘或推動智能合約執行,避免加密貨幣會減少一些重要的風險/攻擊向量,并且無加密挖掘操作意味著可以使用與任何其他分布式系統大致相同的運營成本來部署平臺。
這些差異化設計功能的結合使Fabric成為目前性能更好的平臺之一,無論是在交易處理還是交易確認延遲方面,并且它實現了交易以及實現它們的智能合約(Fabric稱之為“鏈碼”)的隱私和機密性。
讓我們更詳細地探索這些差異化的功能。
模塊化Hyperledger Fabric經過特別的設計以具有模塊化架構。無論是可插拔的共識,可插拔的身份管理協議(如LDAP或OpenID Connect),密鑰管理協議還是加密庫,平臺的核心設計旨在滿足企業用例需求的多樣性。
在高層次上,Fabric由以下模塊化組件組成:
可插拔的排序服務就交易順序建立共識,然后向對等點廣播塊。
可插拔的成員資格服務提供商負責將網絡中的實體與加密身份相關聯。
可選的點對點八卦服務通過排序服務向其他對等點來傳播塊輸出。
智能合約(“鏈碼”)在容器環境(例如Docker)內運行以進行隔離,它們可以用標準編程語言編寫,但不能直接訪問分類賬狀態。
分類賬可以配置為支持各種DBMS。
可插拔的認可和驗證策略實施,可以在每個應用程序中獨立配置。
業界公認沒有“一個區塊鏈可以治理它們所有”,Hyperledger Fabric可以通過多種方式進行配置,以滿足多個行業用例的各種解決方案要求。
許可和無許可區塊鏈在一個無許可的區塊鏈中,幾乎任何人都可以參與,每個參與者都是匿名的。在這種環境下,除了區塊鏈的狀態之外沒有任何信任,在一定深度之前,是不可改變的。為了減輕這種信任的缺失,無許可的區塊鏈通常采用一種“挖掘”的原生加密貨幣或交易費用來提供經濟激勵,以抵消參與基于“proof of work”(PoW)的拜占庭容錯共識形式的特殊成本。
許可的區塊鏈,另一方面,在一組已知的集合中操作區塊鏈,識別并經常審查在產生一定程度信任的治理模型下操作的參與者。許可的區塊鏈提供了一種方法來保護具有共同目標但可能無法完全相互信任的一組實體之間的交互。通過依賴參與者的身份,許可的區塊鏈可以使用更傳統的崩潰容錯(CFT)或拜占庭容錯(BFT)共識協議,這些協議不需要昂貴的挖掘。
另外,在這種許可的情況下,參與者通過智能合約故意引入惡意代碼的風險降低。首先,參與者彼此了解和所有行動,無論提交應用程序事務,修改網絡配置還是部署智能合約,都會根據為網絡和相關交易類型建立的認可策略記錄在區塊鏈中。而不是完全匿名,可以很容易地識別有罪方,并根據治理模式的條款處理事件。
智能合約智能合約或Fabric稱之為“鏈碼”,功能作為受信任的分布式應用程序,從區塊鏈中獲得安全性/信任以及對等點之間的基本共識。它是區塊鏈應用程序的業務邏輯。
有三個關鍵點應用于智能合約,尤其是應用于平臺時:
許多智能合約在網絡中同時運行
它們可以動態部署(在很多情況下由任何人)
應用程序代碼應視為不受信任,甚至可能是惡意的
大多數現有的具有智能合約能力的區塊鏈平臺遵循共識協議的排序-執行架構:
驗證并排序交易然后將它們傳播到所有對等節點
每個對等點然后依次執行交易
幾乎所有現有的區塊鏈系統都可以找到排序-執行架構,范圍從公共/無許可平臺,如以太幣(基于PoW的共識)到許可的平臺,如Tendermint、Chain和Quorum。
在使用排序-執行架構運行的區塊鏈中執行的智能合約必須是確定性的;否則,可能永遠不會達成共識。為解決非確定性問題,許多平臺都要求智能合約使用非標準的或特定于領域的語言(如Solidity)編寫,以便消除非確定性操作。這阻礙了廣泛采用,因為它要求開發人員學習新語言來編寫智能合約并可能導致編程錯誤。
此外,由于所有節點都順序執行所有交易,因此性能和規模有限。智能合約代碼在系統中的每個節點上執行的事實要求采取復雜措施來保護整個系統免受潛在惡意合約的影響,以確保整個系統的彈性。
一種新方法Fabric為交易引入了一種新的體系結構,我們稱之為執行-排序-驗證。它通過將交易流分為三個步驟來解決排序-執行模型所面臨的彈性、靈活性、可伸縮性、性能和機密性方面的挑戰:
執行交易并檢查其正確性,從而認可它
通過(可插拔的)共識協議排序交易
在將交易提交到分類賬之前,根據特定于應用程序的認可策略驗證交易
這種設計與排序-執行范例完全不同,因為Fabric在就排序達成最終協議之前執行交易。
在Fabric中,特定于應用程序的認可策略指定哪些對等節點,或它們中的多少,需要保證給定智能合約的正確執行。因此,每個交易只需要由滿足交易認可策略所需的對等節點的子集執行(認可),這允許并行執行,從而提高系統的整體性能和規模。第一階段也消除了任何非確定性,因為在排序之前可以過濾不一致的結果。
因為我們已經消除了非確定性,所以Fabric是第一個能夠使用標準編程語言的區塊鏈技術,在1.1.0版本中,智能合約可以用Go或Node.js編寫,而有計劃在后續版本中支持其他流行語言,包括Java。
隱私和機密性正如我們所討論的那樣,在一個公共的,無許可的區塊鏈網絡中,利用PoW作為其共識模型,交易被在每個節點上執行。這意味著合約本身和他們處理的交易數據都不存在機密性,每個交易以及實現它的代碼對于網絡中的每個節點都是可見的。在這個案例中,我們用合約和數據的機密性換取了PoW提供的拜占庭容錯共識。
對于許多商業/企業用例而言,這種缺乏機密性可能會有問題。例如,在供應鏈合作伙伴網絡中,某些消費者可能會獲得優惠利率,作為鞏固關系或促進額外銷售的一種手段。如果每個參與者都可以看到每個合約和交易,那么就無法在完全透明的網絡中維持這種業務關系 - 每個人都希望獲得優惠費率!
作為第二個例子,考慮證券行業,一個交易員建立頭寸(或處理其中一個)不希望她的競爭對手知道這一點,否則他們將尋求進入游戲,削弱交易員的策略。
為了滿足企業用例要求的目的,解決缺乏隱私和機密性的問題,區塊鏈平臺采用了多種方法,所有的都有自己的權衡。
加密數據是提供機密性的一種方法;然而,在利用PoW達成共識的無許可網絡中,加密數據位于每個節點上,如果有足夠的時間和計算資源,加密可能會被破解。對于許多企業用例,其信息可能被泄露的風險是不可接受的。
Zero knowledge proofs(ZKP)是另一個正在研究解決這個問題的研究領域,這里的權衡是,目前計算ZKP需要大量的時間和計算資源,因此,在這種情況下的權衡是保密性的性能。
在許可的環境下,可以利用其他形式的共識,可以探索將機密信息僅分發給授權節點的方法。
Hyperledger Fabric是一個經過許可的平臺,通過其通道架構實現機密性。基本上,Fabric網絡上的參與者可以在參與者子集之間建立一個“通道”,該通道應該被授予對特定交易集合的可見性,將此視為網絡覆蓋。因此,只有那些參與通道的節點才能訪問智能合約(鏈碼)和交易數據,從而保護兩者的隱私和機密性。
為了提高其隱私和機密性能力,Fabric增加了對私有數據的支持,并且正在研究未來可用的zero knowledge proofs(ZKP),更多關于這一點,因為它變得可用。
可插拔的共識交易的排序委托給一個模塊化組件以達成共識,該組件在邏輯上與執行交易和維護分類賬的對等點分離。具體地說,排序服務。由于共識是模塊化的,其實現可以根據特定的部署或解決方案的信任假設進行定制,這種模塊化架構允許平臺依賴完善的工具包進行CFT(崩潰容錯)或BFT(拜占庭容錯)排序。
在目前可用的版本中,Fabric提供一個使用Kafka和Zookeeper實現的CFT排序服務,在隨后的版本中,Fabric將提供使用etcd/Raft實現的Raft共識排序服務以及完全分散的BFT排序服務。
還要注意這些并不相互排斥,Fabric網絡可以具有多個排序服務,支持不同的應用程序或應用程序需求。
性能和可伸縮性區塊鏈平臺的性能可能會受到許多變量的影響,例如交易大小,區塊大小,網絡大小以及硬件限制等,Hyperledger社區目前正在開發性能和規模工作組中的一套度量草案,以及一個名為Hyperledger Caliper的基準測試框架的相應實現。
雖然這項工作仍在繼續開發,應被視為區塊鏈平臺性能和規模特征的明確衡量標準,但IBM Research的一個團隊發表了一份對等點評審論文,評估了Hyperledger Fabric的架構和性能。此論文提供了對Fabric架構的深入討論,然后使用Hyperledger Fabric v1.1的初步版本報告團隊對平臺的性能評估。
研究團隊所做的基準測試工作為Fabric v1.1.0版本帶來了大量的性能改進,使v1.0.0版本的整體性能提高了一倍以上。
結論對區塊鏈平臺的任何認真評估都應該在其短名單中包含Hyperledger Fabric。
結合,Fabric的差異化功能使其成為一個高度可擴展的系統,用于支持靈活的信任假設的許可區塊鏈,使該平臺能夠支持從政府,金融,供應鏈物流到醫療保健等廣泛的行業用例。
更重要的是,Hyperledger Fabric是(目前)十個Hyperledger項目中最活躍的,平臺周圍的社區建設正在穩步增長,每個連續版本提供的創新遠遠超過任何其他企業區塊鏈平臺。
致謝前面的內容來自對等點評估的“Hyperledger Fabric:許可區塊鏈的分布式操作系統” - Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, Yacov Manevich, Srinivasan Muralidharan, Chet Murthy, Binh Nguyen, Manish Sethi, Gari Singh, Keith Smith, Alessandro Sorniotti, Chrysoula Stathakopoulou, Marko Vukolic, Sharon Weed Cocco, Jason Yellick
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24186.html
摘要:企業區塊鏈平臺企業級許可的分布式分類賬平臺,為廣泛的行業用例提供模塊化和多功能性。這些節點通過應用已經由共識協議驗證的交易來維護分類帳的副本,該交易被分組為包括將每個塊綁定到前一個塊的散列的塊中。 企業區塊鏈平臺 企業級許可的分布式分類賬平臺,為廣泛的行業用例提供模塊化和多功能性。 介紹 一般而言,區塊鏈是一個不可變的交易分類賬,維護在一個分布式對等節點網絡中。這些節點通過應用已經由共...
摘要:還提供創建通道的功能,允許一組參與者創建單獨的交易分類賬。共識交易必須按照發生的順序寫入分類賬,即使它們可能位于網絡中不同的參與者組之間。 介紹 Hyperledger Fabric是分布式分類賬解決方案的平臺,采用模塊化架構,提供高度機密性,彈性,靈活性和可擴展性,它旨在支持不同組件的可插拔實現,并適應整個經濟生態系統中存在的錯綜復雜的事物和復雜性。 我們建議首次使用的用戶首先閱讀下...
摘要:在她的幫助下,原型發布順利完成。節點收到一個交易后,會根據判斷標準對該交易進行有效性校驗,無效的交易會被廢棄。負責權限管理,成員身份相關證書管理和維護交易相關證書管理等等。 今天的文章來自Wen Aviva, 坐Jerry面對面的程序媛。 Jerry在之前的公眾號文章《在SAP UI中使用純JavaScript顯示產品主數據的3D模型視圖》已經介紹過Aviva了,SAP成都C4C開發團...
摘要:私有通道是受限制的消息傳遞路徑,可用于為網絡成員的特定子集提供交易隱私和機密性。所有數據,包括交易,成員和通道信息,在通道上是不可見的,并且任何未明確授予對通頻道的訪問權限的網絡成員都無法訪問。 Hyperledger Fabric功能 Hyperledger Fabric是分布式分類賬技術(DLT)的一種實現,可在模塊化區塊鏈架構中提供企業級網絡安全性,可擴展性,機密性和性能,Hyp...
摘要:阿里云容器服務區塊鏈解決方案第一時間同步升級,在新功能的基礎上,提供了彈性裸金屬服務器神龍內置容器化集成阿里云日志服務等方面的增強。 摘要: 全球開源區塊鏈領域影響最為廣泛的Hyperledger Fabric日前宣布了1.1版本的正式發布,帶來了一系列豐富的新功能以及在安全性、性能與擴展性等方面的顯著提升。阿里云容器服務區塊鏈解決方案第一時間同步升級,在v1.1新功能的基礎上,提供了...
閱讀 2825·2021-10-13 09:48
閱讀 3787·2021-10-13 09:39
閱讀 3601·2021-09-22 16:04
閱讀 1831·2021-09-03 10:48
閱讀 845·2021-08-03 14:04
閱讀 2364·2019-08-29 15:18
閱讀 3407·2019-08-26 12:19
閱讀 2873·2019-08-26 12:08