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