
各區(qū)塊鏈架構的橫向比較
時常聽人們談起區(qū)塊鏈,從 2009 年比特幣誕生至今,各式各樣的區(qū)塊鏈系統(tǒng)或基于區(qū)塊鏈的應用不斷被開發(fā)出來,并被應用到大量的場景中,而區(qū)塊鏈技術本身也在不停地變化和改進。
區(qū)塊鏈又被稱為分布式賬本,與之對應的則是中心化賬本,比如銀行。與中心化賬本不同的是,分布式賬本依靠的是將賬本數(shù)據(jù)冗余存儲在所有參與節(jié)點中,來保證賬本的安全性。簡單地說,區(qū)塊鏈會用到三種底層技術:點對點網(wǎng)絡技術、密碼學技術和分布式一致性算法。而通常,區(qū)塊鏈系統(tǒng)還會“免費附贈”一種被稱為智能合約的功能。智能合約雖然不是區(qū)塊鏈系統(tǒng)的必要組成部分,但由于區(qū)塊鏈天生所具備的去中心化特點,使它可以很好地為智能合約提供可信的計算環(huán)境。
為了適應不同場景的需求,區(qū)塊鏈系統(tǒng)在實際應用的過程中往往會需要進行各種改造,以滿足特定業(yè)務的要求,比如身份認證、共識機制、密鑰管理、交易頻次、響應時間、隱私保護、監(jiān)管要求等。而實際應用區(qū)塊鏈系統(tǒng)的公司往往沒有進行這種改造的能力,于是市場上慢慢出現(xiàn)了一些用于定制專用區(qū)塊鏈系統(tǒng)的框架,采用這些框架就可以很方便地定制出適用于企業(yè)自身業(yè)務的區(qū)塊鏈系統(tǒng)。
本文將對目前市場上幾個典型的區(qū)塊鏈框架進行橫向對比,看看它們都有哪些特點,以及它們之間到底有哪些區(qū)別。為了保持對比的公正性,本文將只針對開源的區(qū)塊鏈框架進行討論。
各區(qū)塊鏈架構的簡單介紹
1、比特幣
比特幣(bitcoin)源自一名叫做中本聰(Satoshi Nakamoto)的人在 2008 年發(fā)表的一篇名為《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》(Bitcoin: A Peer-to-PeerElectronic Cash System)的論文,文中描述了一種被他稱為“比特幣”的電子貨幣及其算法。在之后的幾年里,比特幣不斷成長和成熟,而它的底層技術也逐漸被人們認識并抽象出來,這就是區(qū)塊鏈技術。比特幣作為區(qū)塊鏈的鼻祖,在區(qū)塊鏈的大家族中具有舉足輕重的地位,基于比特幣技術開發(fā)出的山寨幣(altcoins)的數(shù)量有如天上繁星,數(shù)不勝數(shù)。
從論文中可以得知,中本聰設計比特幣的目的,就是希望能夠實現(xiàn)一種完全基于點對點網(wǎng)絡的電子現(xiàn)金系統(tǒng),使得在線支付能夠直接由一方發(fā)起并支付給另外一方,中間不需要通過任何的中介機構??偨Y來說,他希望比特幣的設計能夠實現(xiàn)以下這些目標:
● 不需要中央機構就可以發(fā)行貨幣
● 不需要中介機構就可以支付
● 保持使用者的匿名性
● 交易無法被撤銷
從電子現(xiàn)金系統(tǒng)的角度來看,以上這些目標在比特幣中基本都得到了實現(xiàn),但是依然有一些技術問題有待解決,比如延展性攻擊、區(qū)塊容量限制、區(qū)塊分叉、擴展性等。
在應用場景方面,目前大量的數(shù)字貨幣項目都是基于比特幣架構來設計的,此外還有一些比較實際的應用案例,比如彩色幣、t? 等。
彩色幣(coloredcoin),通過仔細跟蹤一些特定比特幣的來龍去脈,可以將它們與其他的比特幣區(qū)分開來,這些特定的比特幣就叫作彩色幣。它們具有一些特殊的屬性,從而具有與比特幣面值無關的價值,利用彩色幣的這種特性,使得開發(fā)者可以在比特幣網(wǎng)絡上創(chuàng)建其它的數(shù)字資產(chǎn)。彩色幣本身就是比特幣,存儲和轉移不需要第三方,可以利用已經(jīng)存在的比特幣的基礎。
t? 是比特幣區(qū)塊鏈在金融領域的應用,是美國在線零售商 Overstock 推出的基于區(qū)塊鏈的私有和公有股權交易平臺。
2、以太坊
以太坊(ethereum) 的目標是提供一個帶有圖靈完備語言的區(qū)塊鏈,用這種語言可以創(chuàng)建合約來編寫任意狀態(tài)轉換功能,用戶只要簡單地用幾行代碼來實現(xiàn)邏輯,就能夠創(chuàng)建一個基于區(qū)塊鏈的應用程序,并應用于貨幣以外的場景。
以太坊的設計思想是不直接“支持”任何應用,但圖靈完備的編程語言意味著理論上任意的合約邏輯和任何類型的應用都可以被創(chuàng)建出來。總結來說,以太坊在比特幣的設計目標之外,還需要實現(xiàn)以下幾個目標:
● 圖靈完備的合約語言
● 內置的持久化狀態(tài)存儲
目前基于以太坊的合約項目已達到數(shù)百個,比較有名的有 Augur、TheDAO、Digix、FirstBlood 等。
Augur 是一個去中心化的預測市場平臺,基于以太坊區(qū)塊鏈技術。用戶可以用數(shù)字貨幣進行預測和下注,依靠群眾的智慧來預判事件的發(fā)展結果,可以有效地消除對手方風險和服務器的中心化風險。
限于篇幅,基于以太坊智能合約平臺的項目就不多介紹了。基于以太坊的代碼進行改造的區(qū)塊鏈項目也有不少,但幾乎都是閉源項目,只能依靠一些公開的特性來推斷,所以就不在本文展開討論了。
3、Fabric
Fabric 是由 IBM 和 DAH 主導開發(fā)的一個區(qū)塊鏈框架,是超級帳本的項目成員之一。它的功能與以太坊類似,也是一個分布式的智能合約平臺。但與以太坊和比特幣不同的是,它從一開始就是一個框架,而不是一個公有鏈,也沒有內置的代幣(token)。
超級賬本(hyperledger)是 Linux 基金會于 2015 年發(fā)起的推進區(qū)塊鏈技術和標準的開源項目,加入成員包括:荷蘭銀行(ABN AMRO)、埃森哲(Accenture)等十幾個不同利益體,目標是讓成員共同合作,共建開放平臺,滿足來自多個不同行業(yè)各種用戶案例,并簡化業(yè)務流程。
作為一個區(qū)塊鏈框架,F(xiàn)abric 采用了松耦合的設計,將共識機制、身份驗證等組件模塊化,使之在應用過程中可以方便地替換成自定義的模塊。除此之外,F(xiàn)abric 還采用了容器技術,將智能合約代碼(chaincode)放在 docker 中運行,從而使得智能合約可以用幾乎任意的高級語言來編寫。
以下是 Fabric 的一些設計目標:
● 模塊化設計,組件可替換
● 運行于 docker 的智能合約
目前已經(jīng)有不少采用 Fabric 架構進行開發(fā)的概念驗證(POC)項目在實施過程中,其中不乏一些金融機構做出的嘗試,不過由于項目剛剛起步,還沒有比較成熟的落地應用。
4、DNA
DNA(Distributed Networks Architecture,分布式網(wǎng)絡架構),是由總部位于上海的區(qū)塊鏈創(chuàng)業(yè)公司“分布科技”開發(fā)的區(qū)塊鏈架構,可以同時支持公有鏈、聯(lián)盟鏈、私有鏈等不同應用類型和場景,并快速與業(yè)務系統(tǒng)集成。
與以太坊、Fabric 不同的是,DNA 在系統(tǒng)底層實現(xiàn)了對多種數(shù)字資產(chǎn)的支持,用戶可以直接在鏈上創(chuàng)建自己的資產(chǎn)類型,并用智能合約來控制它的發(fā)行邏輯。對于絕大部分的區(qū)塊鏈應用場景,數(shù)字資產(chǎn)是必不可少的,而為每一種數(shù)字資產(chǎn)都開發(fā)一套基于智能合約的轉賬、發(fā)行邏輯是非常浪費且低效的。因此,由區(qū)塊鏈底層提供直接的數(shù)字資產(chǎn)功能是十分必要的。而對于那些完全不需要數(shù)字資產(chǎn)的應用場景,同樣可以基于 DNA 提供的智能合約架構來編寫任意的自定義邏輯來實現(xiàn)。
DNA 的設計目標主要有以下幾點:
● 多種數(shù)字資產(chǎn)的底層支持
● 圖靈完備的智能合約和狀態(tài)持久化
● 跨鏈互操作性
● 交易的最終性
目前已有不少金融機構采用 DNA 架構來進行區(qū)塊鏈概念驗證產(chǎn)品的開發(fā)。除此之外,還有一些已經(jīng)落地的區(qū)塊鏈項目,如小蟻區(qū)塊鏈、法鏈等。
小蟻(antshares)是一個定位于資產(chǎn)數(shù)字化的公有鏈,將實體世界的資產(chǎn)和權益進行數(shù)字化,通過點對點網(wǎng)絡進行登記發(fā)行、轉讓交易、清算交割等金融業(yè)務的去中心化網(wǎng)絡協(xié)議。它采用社區(qū)化開發(fā)的模式,在架構上與 DNA 保持一致,從而可以與任何基于DNA 的區(qū)塊鏈系統(tǒng)發(fā)生跨鏈互操作。
法鏈是全球第一個大規(guī)模商用的法律存證區(qū)塊鏈,一個底層基于 DNA區(qū)塊鏈技術,并由多個機構參與建立和運營的證據(jù)記錄和保存系統(tǒng)。該系統(tǒng)沒有中心控制點,且數(shù)據(jù)一旦錄入,單個機構或節(jié)點無法篡改,從而滿足司法存證的要求。
5、Corda
Corda 是由一家總部位于紐約的區(qū)塊鏈創(chuàng)業(yè)公司 R3CEV 開發(fā)的,由其發(fā)起的 R3區(qū)塊鏈聯(lián)盟,至今已吸引了數(shù)十家巨頭銀行的參與,其中包括富國銀行、美國銀行、紐約梅隆銀行、花旗銀行、德國商業(yè)銀行、德意志銀行、匯豐銀行、三菱 UFJ 金融集團、摩根士丹利、澳大利亞國民銀行、加拿大皇家銀行、瑞典北歐斯安銀行(SEB)、法國興業(yè)銀行等。
從 R3 成員的組成上也可以看出,Corda 是一款專門用于銀行與銀行間業(yè)務的區(qū)塊鏈架構。盡管 R3 自己聲稱 Corda 不是區(qū)塊鏈,但從各項特征來看,它具備區(qū)塊鏈的一些特性。
技術對比
1、數(shù)字資產(chǎn)
接下來,將對前文中提到的這些區(qū)塊鏈框架進行一系列的技術對比,并從多個維度展開介紹它們的區(qū)別與相似之處。
區(qū)塊鏈的內置代幣通常是一種經(jīng)濟激勵模型和防止垃圾交易的手段。比特幣天生就有且只有一種內置代幣,所以在比特幣系統(tǒng)中所有的“交易”本質上都是轉賬行為,除非通過外部的協(xié)議層來給比特幣增加額外的數(shù)字資產(chǎn)。
以太坊和 DNA 具有內置代幣,它們的作用除了以上提到的經(jīng)濟激勵和防止垃圾交易之外,還具有為系統(tǒng)內置功能提供一個收費的渠道。比如以太坊的智能合約運行需要消耗 GAS,而 DNA 的數(shù)字資產(chǎn)創(chuàng)建也需要消耗一定的代幣。
以太坊和 Fabric 沒有內置的多種數(shù)字資產(chǎn)支持,而是通過智能合約來實現(xiàn)相應的功能。這種方式的好處在于,系統(tǒng)設計可以做到非常簡潔,而且資產(chǎn)的行為可以任意指定,自由度極高。然而這樣的設計也會帶來一系列的負面影響,比如所有的資產(chǎn)創(chuàng)建者不得不自己編寫重復的業(yè)務邏輯,而用戶也沒有辦法通過統(tǒng)一的方式去操作自己的資產(chǎn)。
相比之下,DNA 和 Corda 采用了在底層支持多種數(shù)字資產(chǎn)的方式,讓資產(chǎn)創(chuàng)建者可以方便地創(chuàng)建自己的資產(chǎn)類型,而用戶也可以在同一個客戶端中管理所有的資產(chǎn)。對于邏輯更加復雜一點的業(yè)務場景來說,他們同樣可以利用智能合約來強化資產(chǎn)的功能,或者創(chuàng)建一種與資產(chǎn)無關的業(yè)務邏輯。
2、賬戶系統(tǒng)
UTXO(Unspent Transaction Output)是這樣一種機制:每一枚數(shù)字貨幣都會被登記在一個賬戶的所有權之下,一枚數(shù)字貨幣有兩種狀態(tài),即要么還沒有被花費,要么已經(jīng)被花費。當需要使用一枚數(shù)字貨幣的時候,就將它的狀態(tài)標記為已經(jīng)花費,并創(chuàng)造一枚新的與之等額的數(shù)字貨幣,將它的所有權登記到新的賬戶之下。在這個過程中,被標記為已花費的數(shù)字貨幣就被稱為交易的輸入,而創(chuàng)造出來的新的數(shù)字貨幣被稱為交易的輸出,在一筆交易中,可以包含多個輸入和多個輸出,但是輸入之和與輸出之和必須相等。要計算一個賬戶的余額時,只要將所有登記在該賬戶下的數(shù)字貨幣的面額相加即可得出。
比特幣和 Corda 就采用了 UTXO 這樣一種賬戶機制,而以太坊則采用了更加直觀的余額機制:每個賬戶有一個狀態(tài),狀態(tài)中直接記錄了賬戶當前的余額,轉賬的邏輯就是從一個賬戶中減去一部分余額,并在另一個賬戶中加上相應的余額,減去的部分和加上的部分必須相等。DNA 在賬戶機制上同時兼容這兩種模式。
那么 UTXO 模式和余額模式,究竟有什么優(yōu)缺點呢?UTXO 最大的好處就是,基于 UTXO 的交易可以并行驗證且任意排序,因為所有的 UTXO 之間都是沒有關聯(lián)的,這對區(qū)塊鏈未來的伸縮性是有很大幫助的,而基于余額的設計就沒有這個優(yōu)勢了;反過來,余額設計的優(yōu)點是設計思想非常簡潔和直覺化,便于程序實現(xiàn),特別是在智能合約中,要處理 UTXO 的狀態(tài)是非常困難的。這也是為什么以智能合約為主要功能的以太坊選擇余額設計的原因,而比特幣、OnchainDNA、Corda 這些以數(shù)字資產(chǎn)為核心的架構則更傾向于 UTXO 設計。
關于身份認證,比特幣和以太坊基本沒有身份認證的設計,原因很簡單,因為這兩者的設計思想都是強調隱私和匿名,而反對監(jiān)管和中心化,而身份認證就勢必要引入一些中心或者弱化的中心機構。Fabric、DNA 和 Corda 不約而同地選擇了采用數(shù)字證書來對用戶身份進行認證,原因在于這三者都有應用于現(xiàn)有金融系統(tǒng)的設計目標,而金融系統(tǒng)必然要考慮合規(guī)化并接受監(jiān)管,此外現(xiàn)有的金融系統(tǒng)已經(jīng)大范圍地采用數(shù)字證書方案,這樣便可以和區(qū)塊鏈系統(tǒng)快速集成。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉換:從基礎用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結構數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結構數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預期算子的內涵、作用與應用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結構數(shù)據(jù)特征價值的專業(yè)核心 表結構數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結構化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應用 在數(shù)據(jù)分析與統(tǒng)計學領域,假設檢驗是驗證研究假設、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結構數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結構數(shù)據(jù)(以 “行 - 列” 存儲的結構化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結構數(shù)據(jù)價值的核心操盤手 表格結構數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務邏輯:從規(guī)則拆解到數(shù)據(jù)把關的實戰(zhàn)指南 在業(yè)務系統(tǒng)落地過程中,“業(yè)務邏輯” 是連接 “需求設計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10