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