區塊鏈與分布式賬本技術(上)
區塊鏈是一種分布式賬本的技術,但它又不完全等同于分布式賬本技術。它們有什么區別?本文作者Brent Xu 通過比較以太坊、Hyperledger Fabric和R3 Corda來闡述這個問題,對于我們認識區塊鏈和分布式賬本技術有幫助。
與分布式賬本技術(如Hyperledger Fabric或R3 Corda)相比,以太坊區塊鏈保持了相似性但也有差異。在對區塊鏈和分布式賬本技術平臺及其帶給企業的價值進行合理評估時,對其核心功能和特性進行系統梳理是很有必要的。 由于區塊鏈源于密碼學和數據配置原則,某些功能在協同數據庫系統中已經得到了很好的應用,而其他一些功能只有在真正的區塊鏈技術中才能實現。
在本文中,我們將評估面向企業平臺(包括Ethereum,Hyperledger Fabric和R3 Corda)的基礎業務功能,包括軟件如何獲取其影響以及整個系統是如何整體優化的,無論它是通過傳統的分布式系統還是通過區塊鏈系統。
特別是,我們將重點關注三個關鍵功能:
- 數據協調 – 系統中的信息和信任是如何更好地在利益相關者之間分發和分配;
- 加密經濟內部激勵層 – 系統機制如何構建,以便不同的利益相關者和用戶基于經濟激勵來確保系統的有效運行,例如博弈論和機制設計;
- 數字資產整合 – 系統如何融入數字商品經濟,也就是所謂的代幣經濟學。
區塊鏈的主要目標:企業想通過這項技術實現什么目標?
像Ethereum這樣的區塊鏈與其他分布式帳本技術類似,有著相似的目標。然而想知道企業希望利用區塊鏈技術實現什么樣的目標很難,就像20世紀90年代的互聯網剛剛誕生時一樣,當時企業也不知道如何使用這種強大的工具。與現在的情況類似,目前我們都知道區塊鏈技術能夠實現很多功能,但如何將這些功能架構到商業業務邏輯上還需要進一步了解和評估其底層功能。
有三個主要的評估維度:數據的處理和協調,可信及不可變的記錄以及資產的數字化。
這三大維度足以涵蓋區塊鏈的主要用途,同時允許將這些功能進一步外推到其他商業業務場景中。通過這三個方面的討論,可以揭示實體企業使用該技術的背后邏輯。
有效處理及協調信息
如果以改進分布式系統設計或數據庫協調性作為唯一目的,那么區塊鏈不一定是必需的。在傳統的宣傳上,區塊鏈是基于技術促進平臺中數據傳輸,達到更好的數據協調和分布式共識機制。
雖然有用,但這些所需功能特性的重要部分也可通過更好協調中央數據庫或分布式系統設計進行優化。在評估當中,有必要確定平臺和協議試圖優化現有數據協調功能與實施新的區塊鏈功能程度。區塊鏈不僅只適用于更高級的數據協調。
產品和交易記錄的不可變/可信記錄
關于為什么我們需要區塊鏈的原始論文圍繞著“數字化信任”的概念展開。如ConsenSys的Andrew Keys所說“互聯網導致信息數字化,而區塊鏈導致信任和協議的數字化?!?/p>
這個論點體現了區塊鏈希望實現的精神,同時為我們的社會及商業提供了另一條路。額外的變量將是價值的數字化。當信任價值被錨定到系統時,某些聯盟結構和激勵機制將影響和激勵系統內的正確行為,從而形成強大的平臺。
在設計一個系統時,不可更改(不變性)常常被用作信任的同義詞,即因為系統是不可變的,所以人們相信系統不變性機制能確保做壞事會受到懲罰。在我們的平臺協議評估中,重要的是要評估可信系統實施背后的機制,以確保商業模式機制(通過密碼經濟學進一步探索)會對平臺用戶有益。
資產數字化
商品和資產的數字化被視為大多數區塊鏈或分布式賬本技術的主要目標。如果企業正在嘗試資產數字化,分布式賬本的數據庫協調能夠提供一些功能,但更應該考慮這些數字產品的可用性。
由于數據庫協調實質上是集中運行或通過傳統軟件模式分布在一個或多個交易小組之間,因此數字化水平可能會受限于數字化平臺提供的自由度。
雖然數字化商品的概念聽起來像一個簡單的過程,但圍繞房地產,甚至人類注意力及電力等商品如何數字化在經濟激勵動力和經濟推理的不同方面,我們要重新考慮,哪個平臺負責數字化,哪個供應商平臺在哪種情況下出現“供應商鎖定”程度以及對哪個管理平臺的依賴。
記錄和注冊管理機構(如權證系統和供應鏈)也可以通過分布式賬本系統實現,但如果依賴封閉的專有系統,數字資產與經濟激勵層的互動水平相當有限,并且在擴散到數字生態系統或市場時會嚴重受阻。利用開放市場提供的自由市場系統對于在不斷發展的數字生態系統中起促進作用。
評估數據協調特性
數據庫協調:特征
當深入分析了這些平臺的功能特性時,如不可變性,安全性,可擴展性,可管理性和性能,但通過了解構建體系結構的基礎,可以了解更多內容。
在分布式系統中進行數據協調,已經有許多工具了。其中重要的例子就是Hadoop 及其生態系統集成的Spark,Hive和Zookeeper等工具。對這些產品的依賴顯示了分布式系統工具和協議的大量集成。
進一步的相似性可以在協議中顯示出來,例如Tendermint,BPFT共識引擎被設計為具有與Apache Zookeeper等工具類似的功能。在內部,也有研究沿著事件排序數據庫的方向發展,可以從協調的數據共享系統中復制所需的多種功能。
通過評估Apache Kafka及數據流服務如何在企業環境中實現高水平吞吐量,我們可以根據對這些數據庫協調和優化的不同級別的依賴關系區分區塊鏈和分布式分類賬之間的功能差異。
包括Plasma在內的以太坊實現正在利用像MapReduce這樣的工具來增強UTXO和基于賬戶的模型之上的某些映射功能,同時也將組件減少到Merkle證明中,盡管協議的基礎層依然依賴以太坊區塊鏈。通過了解這些細節,可以進一步了解如何最好地評估這些軟件平臺的技術特性。
數據協調:平臺比較
(1)IBM Fabric
通過深入了解Fabric體系結構,該平臺創建了一個復雜的開發環境,專注于軟件體系結構的詳細配置實現出色的吞吐量,從而在分布式節點環境中實現最佳性能。客戶端和分布式背書節點網絡之間的鏈碼的移動,以及滿足認可政策的交易機制和收據傳輸在封閉系統中是有效的。
而在專用信道內傳播交易的Gossip 協議允許協調大型數據集。雖然基礎設施強大且有能力,但在思考如何設計架構以允許多邊協調結構的過程中,要考慮最終可能存在一個難以管理的網絡涉及的因素。
圖2:Hyperledger Fabric架構
該圖展示了Fabric的一些架構配置以及組件如何組織到為高級信息處理和最大交易吞吐量而設計的系統中。
主要思想是渠道提供了在平臺內移動交易的機會。在查看體系結構時,OSN(ordering service nodes)的功能用于記錄Apache Kafka交易排序的功能。在數據流生態系統中,Kafka是一個功能強大的工具,具有將各種交易排序附加到單獨的Kafka集群并最終分區的功能。
這種設置中,數據能夠分布在集群中以形成分布式存儲平臺,該分布式存儲平臺可以記錄數據結構,影射在區塊上或有時記錄在“狀態”的結構定義內被稱為“塊”或Blob的數據結構,價值儲存配置。在此軟件框架中承認的是,該生態系統中的所有參與者和數據結構都是本地的,因為它們主要與該軟件生態系統中的其他用戶一起工作。
圖3:Apache Kafka
盡管應該認識到哈希的配置并不遵循與來自比特幣或以太坊的區塊鏈系統相關聯的原始架構設計,但實際上Fabric采用了分布式帳本的子結構來部署某些哈希鏈接的數據存儲。
雖然數據blob被批量處理并經歷交付事件以最終創建交易的散列鏈接,但必須了解,此過程不一定會將數據轉換為系統狀態的修改。相反,這些塊的配置方式是將信息存儲在具有不同散列實例的數據庫類型結構中。
在Fabric生態系統中,交付事件稱為塊,而鏈代碼通過部署事件最終將數據保護在排序服務結構的鏈接部分中。該系統的數據結構和模塊的配置能夠允許分布式數據庫體系結構預期的交易吞吐量,盡管應該承認,資產代碼協調仍然是一個尚未完全解決的挑戰,作為資產和價值的Fabric生態系統不一定具有可以在賬簿中進行協調的數字表達。
(2)R3 Corda
R3 Corda聲稱不建立區塊鏈的環境之上,而是一個分布式的數據庫,利用各種形式的結構重新配置來構建,它主要由銀行和其他機構用于其流程的系統。該平臺大量借鑒了比特幣交易中使用的UTXO模型,其中狀態由一系列輸入和輸出定義,并且輸入的不同重新配置可以決定輸出的狀態。
R3 Corda架構框架依賴于被稱為公證的子模塊的節點結構,該架構有助于保持其他平臺中驗證器結構的網絡有效性,該結構有抽象共識功能。節點由附加在數據結構中的關系數據庫組成,允許使用SQL進行查詢。交易通信中受制于子協議。
這些流程與IBM Fabric中看到的渠道體系結構相當,只有與交易相關的各方才能訪問信息。類經過轉換,變成稱為Fibers或協同例程的狀態機。該體系結構與子流進行通信,并與在平臺范圍內具有預定義功能的流庫進行交互。此外,Corda內還有一個自包含的身份層,允許在整個網絡中進行不同程度的訪問控制。
R3 Corda公開聲明不打算成為區塊鏈,因為考慮到將分布式數據庫的概念重新配置到分布式數據庫確實非常依賴傳統數據庫系統。雖然系統圍繞新型數據結構和分布式系統組織方式的不同構成進行架構,但該平臺確實具有數據分配的功能,并找到了各種優化數據分配系統功能的方法。
需要記住的是,由于系統僅限于特定架構范圍內的數據協調,因此,由于模塊化和互操作性未在原始設計中實施,所以已經犧牲了與實際區塊鏈系統的集成。
圖4:R3 Corda工作流程
(3)Ethereum
以太坊生態系統由私有鏈和公有鏈生態系統組合而成。公有鏈沒有在數據協調環境中描述的吞吐量和數據處理能力,因此不應根據這些能力進行評估。在評估以太坊的這一方面時,最有意義的是綜合以太坊私有鏈的網絡拓撲的不同細微差別。
以太坊黃皮書頒布了關于以太坊的規范以及代碼庫的技術細節。由于嚴格遵守此協議,以太坊的分支以及聯盟實施方案確實與原有的技術基礎相類似。事實上,無論是在工作證明(Proof of Work, PoW ),權威證明(Proof of Authority)或利益證明(Proof of Stake, PoS)實施方面,相同的規范都是連續的,因為協議被認為是相同的以太坊虛擬機(EVM)規范的后代。
改進的體系結構仍然指定與原始EVM對齊。像Quorum這樣的平臺的關鍵變化包括改變共識機制,修改全球根狀態以適應私有和公有狀態,Patricia Merkle嘗試以及處理私人交易的附加模塊。
該架構允許該軟件從原來的以太坊配置中維護系統和數據結構,同時通過改進實現更高的交易吞吐量。除了Quorum提供的改進的數據交易優化之外,通過諸如Plasma,Truebit和Cosmos等工具協調和集成公共以太坊環境的功能為協議提供了額外的可擴展性。
通過對Plasma等工具的技術評估以及在Casper中獲得一致意見的形式,數據庫管理工具(如MapReduce和Abstract Rewrite Systems)將在Ethereum中實施。在Plasma體系統中,MapReduce是匯集基于賬戶的系統的協調和多重設置的位圖 – UTXO承諾結構的組成部分。
通過結合防欺詐機制設計(Fraud-proof mechanism designs)和權益激勵結構(Fidelitybond incentive structures),利用根鏈,Plasma鏈和子鏈之間的相互作用,精心策劃的交易處理范例有助于滿足Block-withholding和Mass withdrawalsurfaces之間的動態。
它還允許使用來自Casper或Truebit等系統的機制來填充更多的加密經濟結構,以便根據空間中普遍存在的數據可用性問題鏡像擦除編碼中使用的概念。對于多連接體系結構,以太坊將能夠將分布式數據庫系統的數據庫協調和吞吐量功能與實際區塊鏈的公有鏈兼容功能相結合。
數據庫協調:結論
關于數據庫協調能力的一個可行結論是,由于依賴傳統數據庫和分布式系統軟件架構,IBM基于整體單一設計和大量資源密集型過程,構建了Fabric,IBM擁有卓越的數據庫管理工具集。
R3 Corda仍在進一步定義其功能,同時為銀行和金融機構提供多種協調服務,對比特幣協議中的細微差別進行私人重新配置。以太坊雖然設計用于公有鏈的兼容性,它沒有IBM Fabric的原始數據庫處理能力,但和Fabric相比,在企業案例中具有很好的可用性和可伸縮性。
遵循基于unix理念的模塊化設計,以太坊和互補客戶的私人實例可以作為構建大型系統的構件。與Ethereum相關的代碼庫旨在與Fabric等數據庫平臺的事務吞吐量功能相媲美,同時允許Corda和Fabric中不存在的功能,但互補關系也可跨平臺進行探索。主要的區分因素可能會從后續因素的評估中進一步闡明。
—未完待續—
原文作者:Brent Xu
原文地址:media.consensys.net
譯者:由藍狐筆記社群“Anthony”翻譯
本文由 @藍狐筆記社群“Anthony” 翻譯發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Pixabay,基于 CC0 協議
- 目前還沒評論,等你發揮!