<span id="fr5dx"><video id="fr5dx"><strike id="fr5dx"></strike></video></span><span id="fr5dx"><video id="fr5dx"><strike id="fr5dx"></strike></video></span><video id="fr5dx"><listing id="fr5dx"><var id="fr5dx"></var></listing></video><th id="fr5dx"></th><video id="fr5dx"><th id="fr5dx"><video id="fr5dx"></video></th></video>
<span id="fr5dx"><video id="fr5dx"></video></span>
<span id="fr5dx"></span>
<th id="fr5dx"></th>
<span id="fr5dx"><video id="fr5dx"></video></span>
<th id="fr5dx"><noframes id="fr5dx">
  |  首頁  |  資訊  |  評測  |  人物  |  活動  |  學院  |  新報  |  專欄  |  專題  |  
您現在的位置:硅谷網> 專欄> 專欄內容>

區塊鏈部署形態聯盟鏈戰國:五大巨頭橫向對比

2018-10-20 23:02 作者:付曉巖 來源:硅谷網 HV: 編輯:GuiGu 【搜索試試

聯盟鏈是目前區塊鏈落地實踐的熱點,也是大家對“殺手級應用”期望最大的區塊鏈部署形態。聯盟鏈的誕生源于對區塊鏈技術的“反思”,是對比特幣、以太坊所體現的技術特點與企業客戶實際需要的融合與折衷,蘊含了大量區塊鏈工作者的智慧與辛勞。

由于對未來價值的“共識”,很多廠商推出了自己的聯盟鏈框架或平臺,本文選擇了Hyperledger Fabric、FISCO BCOS、微軟的Coco、企業以太坊聯盟(EEA)及R3的Corda這五個具有一定影響力的聯盟鏈,擬從設計理念、生態、效率、擴展性、節點管理與權限管理、智能合約、部署與運維友好性、隱私保護八個方面進行比對,以供各位開發者、愛好者參考。

其中,EEA由于只出具規范而不涉及代碼,所以比對中采用了其官方承認的技術基礎——摩根大通的Quorum平臺;Corda并不是區塊鏈,嚴格說與其他四者的比較屬于分布式賬本技術這個層級的比較,但是由于其承認設計上是受到區塊鏈技術啟發,且對其他聯盟鏈也產生了一定的影響,因此,也列入了比較范圍。本文的信息主要來源于公開的技術白皮書、Github中的開源信息,就不在文中一一注明了。

一、設計理念

設計理念其實決定了一個框架或者系統的最佳應用方式,是其設計的出發點,因此,研究每種區塊鏈時,都應當認真關注其如何“看待自己”,以免在應用上出現“硬套”的問題。設計理念上本文分成核心思路與市場定位兩部分進行比較。

(一)核心思路

核心思路體現的是其設計初衷,這個“初心”對其后續技術走向有一定的影響。

Hyperledger Fabric是希望改變公鏈的單一通用網絡模式,通過建立多個可以互聯的區塊鏈網絡覆蓋各類不同的業務場景,實現設計的靈活性,滿足多樣化的要求,并實現網絡間的交互,這種思路體現在了其獨特的通道機制設計上。

FISCO BCOS初衷是設計一個國內企業主導研發、自主可控、對外開源的滿足金融行業需求企業級區塊鏈底層平臺,并逐漸擴展至其他領域、適用于廣泛的分布式商業場景,所以進行了自底向上的完整設計,并考慮了較多國內的特殊需求。

Coco基于保密聯盟環境的假定,重新評估了公鏈的設計,通過將其他區塊鏈協議集成為底層,快速高效地構建區塊鏈應用。在這種思路下Coco大膽放松了一些關鍵的設計限制,并且最終實現了一個對現有區塊鏈協議的加速機制,可集成的協議已經包括Hyperledger Fabric、以太坊、Corda、Quorum等。

EEA是力求引導一種基于以太坊的標準區塊鏈設計,可根據成員需要定制,但不提供代碼(Quorum提供部分開源代碼)。官方承認其技術基礎是摩根大通開發的Quorum平臺,該平臺的目標則是提供高速、高吞吐量交易的能力,以解決區塊鏈技術在金融等領域遭遇的挑戰。

Corda希望提供一個具有唯一性、權威性、可以記錄企業間所有協議的全局邏輯賬本,核心是實現具有節點間最小信任機制的無中心數據庫,因此,Corda主張充分考慮與現有業務系統的結合,而非將現有業務系統拆掉重來。Corda的設計思路對Hyperledger Fabric有一定影響,也參與了對后者的建設。

(二)市場定位

市場定位反映了對自身應用方向的價值主張。五個聯盟鏈都是面向企業級應用的,但是具體的定位略有差異:

Hyperledger Fabric旨在打造不分行業的通用區塊鏈開源框架;

FISCO BCOS源自企業級區塊鏈平臺BCOS,做為一個金融版本分支,保留通用性的同時,更關注于金融行業,并且較多考慮了監管機構的特殊性;

Coco希望提供更高效易用的區塊鏈技術,沒有特殊的行業定位;

EEA比較有趣,它以將所有企業導向一個統一的路線圖(該路線圖以以太坊技術發展為基礎)為目標,但是由于目前的技術代表是摩根大通的Quorum,所以,應用實例上對金融行業更有指導性;

Corda則是針對金融行業的,并且明確提出至少一定時間內不會考慮其他行業。

從設計理念的角度來講,選用Hyperledger Fabric時,應當善用其通道機制,通過通道機制降低業務或者環境的復雜度,但是要注意其跨通道能力的一些技術限制;FISCO BCOS則應關注其對國內市場特殊需求的適應性設計,這些設計會帶來很多部署上的優勢;Coco和EEA(Quorum)設計理念上都屬于基于現有協議的優化加速機制,只是前者“博愛”,兼容的協議更多,后者“專一”,只針對以太坊;選用Corda則要先明確,它不是區塊鏈,不要帶著區塊鏈的價值假定去應用。

二、生態

大家常說建聯盟鏈就是建生態,所以本文就比較下要幫著別人建生態的聯盟鏈,其自身的生態建的如何。生態考察主要包括管理方、社區和商業應用這三個方面。

(一)管理方

從管理方看,各家都是“實力派”。

Hyperledger Fabric的管理方是Linux基金會,基金會管理下的Hyperledger其實是一個項目系列,包括Cello、Swatooth、Burrow、Iroha等;

FISCO BCOS管理方是金鏈盟,金鏈盟是由深圳市金融科技協會、深圳前海微眾銀行、深證通、騰訊、華為、中科院等金融機構、科技企業、學術機構等組成的非營利性組織;(參考https://www.fisco.com.cn/views/member.html)

Coco的管理方是微軟;

EEA是由芝加哥交易所、因特爾、ING、摩根大通和微軟等三十幾家創始成員組成的;

Corda的管理方R3是以銀行為主的組織,至少已經吸收了42家金融巨頭,包括富國銀行、美國銀行、花旗銀行、德意志銀行、加拿大皇家銀行等,我國的平安、招行等也是其成員,不過R3麻煩不斷,也有些重量級成員已經退出。

(二)社區

現今科技發展比較流行開源,五大聯盟鏈也都是開源的,開源意味著要搞好社區建設,通過社區推廣和改進設計,凝聚更多智慧。

Hyperledger Fabric已經打造了國際化的社區,除了在GitHub上比較活躍外,大量的線下Meetup、技術推廣活動也比較多,加上IBM的有力推動,使其有了大量的活躍用戶;

FISCO BCOS社區建設初現規模,已有了千級成員、百級機構參與,除了GitHub外,還有官方微信群。FISCO BCOS在不斷迭代源碼和文檔的基礎上,陸續推出了線上線下多種形式的系列運營活動,包括技術培訓、高校開課、線上線下講座沙龍、包括近期舉辦的金鏈盟中國區塊鏈大賽,影響力逐漸擴散。作為國內開源項目,相信未來發展上會有一定的“天時地利人和”;

Coco社區不是很活躍;

Quorum在GitHub上已經有了551個話題,有一定活躍度;

Corda也不是很活躍。

(三)商業應用

商業應用是大家打造區塊鏈平臺的目的,也是一個聯盟鏈最重要的人氣所在。

Hyperledger Fabric得益于IBM的大力推廣,加上技術框架比較成熟、推出較早,目前已有較多商業應用,據IBM披露有400多個落地項目,其中不乏馬士基、沃爾瑪、聯想、郵儲銀行這類大型客戶,也有統計稱,所有聯盟鏈項目中Hyperledger Fabric已占據半壁江山;

FISCO BCOS從金融出發,攜本土優勢,落地項目也有數十個,包括微眾銀行的機構間對賬平臺、網易的競猜游戲,四方精創的供應鏈金融、城商行旅游金融聯盟的旅游金融、仲裁鏈、安妮股份的版權存證平臺、樂尋坊的人才活動平臺、鏈動時代的不動產登記系統等;

Coco目前在項目方面乏善可陳,除了其白皮書中提到的Mojix將其供應鏈Dapp轉移到Coco平臺上之外,沒有更多公開的項目信息;

Quorum上,比較有影響的應該算是2017年10月摩根大通開發的IIN(Interbank Information Network)平臺,實現跨行信息交互,摩根大通、加拿大皇家銀行、澳大利亞ANZ銀行、新西蘭銀行等相繼加入該平臺;

Corda也是同樣的境地,雷大雨小,耗費巨資,但是測試的多,落地的少。

從生態角度看,Hyperledger Fabric啟動的比較早,目前領先一步,但是 FISCO BCOS 奮起直追,已經初見規模,Coco、Quorum、Corda 還需要做很大努力。

三、效率

區塊鏈目前最差強人意的指標莫過于效率,雖然現在也有些人開始反思也許不應當苛求區塊鏈的效率,但是商業應用總是回避不了這個問題。效率方面,本文從共識協議、出塊速度、TPS和存儲消耗這四點加以比對。

(一)共識協議

聯盟鏈為了提升交易速度,往往是先從共識協議“下手”。POW和POS都無法滿足商業應用的需要,“挖礦”對聯盟鏈來講也是沒必要的,因此,各家都采用了替代的共識方案。

Hyperledger Fabric在0.6版中應用了PBFT,而在1.0版中放棄了PBFT,轉而采用效率更高的Kafka,支持單點和集群兩種方式,由Kafka直接給交易排序和出塊;

FISCO BCOS支持并行計算的PBFT和標準RAFT兩種方式,前者是將通常的PBFT中議長節點和投票節點分步驗證的方式優化為并發驗證,從而進一步提高共識效率;

Coco支持Paxos和Caesar兩種協議。由于Coco節點是建立在基于硬件的TEEs(可信執行環境)上,因此就假定了節點充分可信,所以在Paxos中,leader節點處理過的事務,follwer節點簡單跟隨即可,這體現了其對公鏈假定的改變;Caesar支持靈活的容錯模型,可以與Paxos共同使用以防范leader節點由于TEEs遭到破壞產生的安全威脅,該協議支持在follwer節點發現leader節點不可靠時將其驅逐,從而保證全網的安全;

Quorum支持Raft和Istanbul BFT兩種協議。后者是由來自臺灣的AMIS帳聯網公司在2017年研發的,可以大幅提升現有的以太坊架構的訊息交換效率;

Corda比較特殊,它借鑒“礦工”角色設計了公證人模塊來提供交易公證(也即簽名)服務,整個網絡不依賴于任何特定的共識算法。但公證人是一個集群概念,一般使用BFT或Raft在公證人間達成一致,因此,公證人是存在效率問題,可能成為效率瓶頸。

與傳統分布式系統的共識設計相比,Hyperledger Fabric并沒有什么改進,其共識方式與中心化共識的分布式數據庫一致;FISCO BCOS支持PBFT共識算法,具備拜占庭容錯功能,也提供RAFT共識算法,適用于在節點可信度比較樂觀的場景;Coco是通過TEEs提高節點可信性,以降低共識協議的復雜度;Quorum也沒做多少調整,尤其是在引入Istanbul BFT之前;Corda應該說是在傳統設計中引入了“礦工”理念。

(二)出塊速度

由于替換了共識機制,因此相比使用POW的比特幣、以太坊,聯盟鏈出塊速度要提高很多。Hyperledger Fabric、FISCO BCOS、Coco都是秒級出塊;Quorum則稱是毫秒級,默認設定是50毫秒,可以調整;Corda沒有塊,所以也沒有出塊速度可以考量。

(三)TPS

TPS相當于區塊鏈世界中的“網紅”,很多新出現的鏈都把TPS貼在“腦門”上。這五大聯盟鏈雖然TPS遠高于比特幣、以太坊,但還是比現有的分布式系統遜色:

Hyperledger Fabric通常實測的TPS在300-500之間;

FISCO BCOS 實測單鏈可以達到 1000 以上。并且支持多鏈架構下的并行計算,可靈活擴展,理論上無上限。

Coco官方數據是1600;

Quorum在Istanbul BFT協議下可以達到400-800,Raft下缺少數據;

Corda由于其網絡結構的原因,沒有全局吞吐量可以衡量。

其實TPS方面如果沒有達到一個數量級以上的差異,是不用特殊關注的,因為在實際應用中,節點數量、網絡環境、硬件配置、軟件設計等都會對TPS產生影響,而現有的聯盟鏈在吞吐量上已經可以滿足相當一部分商業場景的要求,畢竟Visa在2016年每秒實際處理的交易也只有1,667筆,盡管Visanet據稱有每秒處理56,000筆交易的能力。

(四)存儲消耗

區塊鏈可以說是以“浪費”存儲來換取信任的技術。雖然存儲設備的價格越來越低廉,但這不代表“浪費”就沒毛病,存儲的快速膨脹一定會帶來效率、成本、可用性等諸多問題,甚至會要求改變設計架構,尤其是在大家都想追求“殺手級應用”的時候。

Hyperledger Fabric方面,螞蟻金服倒是給出了一個詳細的計算公式,Fabric數據容量估算(GB) = 每種業務每天平均交易筆數 * (Fabric每筆交易基本開銷 + 每筆交易平均業務數據大小 KB * 2 ) * 業務Channel數量 * (365 * 年數 *(Peer節點數量 * 2~1之間 + Orderer 節點數量)+ Kafka Retention天數 * Kafka Replica數量) / (1024* 1024),其計算示例中,在業務筆數每天10萬、4節點、2通道、單筆交易容量1K的情況(其他因素不詳細列出了)下,年存儲消耗4619G;

FISCO BCOS支持歷史數據快速追蹤,對接數據庫,實現分布式存儲,能夠支持海量服務的存儲需求,提高存儲訪問速率,節省存儲消耗。

Coco由于設計上需要集成區塊鏈協議做底層,因此其消耗就取決于集成的區塊鏈協議,比如集成了Hyperledger Fabric,那加上Coco自身的消耗,其存儲消耗量至少應該是比肩Fabric的;

Quorum也沒有針對存儲的特殊優化,至少應當按照大于以太坊消耗來估算;

Corda倒是不同于其他聯盟鏈,因為它基本上就是傳統的分布式數據庫,而且沒有任何節點保存全局數據,每個節點都只保存跟自己有關的數據,所以,其存儲消耗應該與傳統分布式系統設計類似,沒有過多的冗余消耗。

綜上,從效率方面看,在Hyperledger Fabric之后推出或開源的其他聯盟鏈,效率高于它也屬正常。FISCO BCOS、Quorum本就是面向金融的設計,所以效率要求自然要高于一開始就希望做通用框架Hyperledger Fabric;Coco設計理念上就是希望做成“加速器”的,它的效率理應高于任何它可以集成的區塊鏈;而Corda的設計模式決定了很難全面評價其效率,只能去單獨觀察每個實例。

四、擴展性

聯盟鏈的用戶都希望自己能發展成生態圈,比如海爾的供應鏈、中化的原油進出口貿易平臺、馬士基的全球交易平臺等,因此,擴展性是聯盟鏈設計必須要考慮的問題。這方面本文關注了節點數量擴展、共識擴展、單多鏈模式、加密算法擴展、第三方認證證書支持這五點。

(一)節點數量擴展

Hyperledger Fabric在節點數量擴展方面是弱項,已落地項目多是個位數節點,但是可以支持較多的客戶端,算是一種彌補,不過節點數少其實意味著參與方的獨立性是會有所下降的;

FISCO BCOS的分組模式支持根據節點數量進行水平擴容,因此理論上節點數量是不受限制的;

Coco在這方面有些“投機取巧”,可支持的節點數量取決于其集成的區塊鏈協議,如果集成的是公鏈協議,在理論上也不受限制;

Quorum是基于以太坊的,因此理論上也沒有限制;

Corda同樣也沒有節點數限制。

雖然除了Hyperledger Fabric,其他聯盟鏈似乎都沒有節點數量問題,但是節點數量其實還受共識協議的影響,BFT類共識協議在節點數量超過一定水平時會出現吞吐量下降,設計時應當考慮這點。

(二)共識協議擴展

共識協議的擴展能力對聯盟鏈的穩定性有很大影響,能否根據節點數量、網絡平衡情況、吞吐量進行調整決定了其網絡的擴展能力。

Hyperledger Fabric雖然很早在設計上就稱其共識模塊可插拔,但是目前實際應用上看是不具備插拔能力的,每個版本僅支持一種共識模式;

FISCO BCOS支持共識協議的插件式實現,允許切換共識機制;

Coco、Quorum目前也具備了這種能力;

Corda實現的應該說不是共識協議的直接插拔,而是公證人模塊的可插拔,可以通過切換公證人模塊來選擇公證人的共識模式。

(三)單多鏈模式

多鏈模式目前被很多新出現的鏈用于性能擴展,不過多鏈模式有利有弊,提升性能的同時也增加了設計復雜度。

Hyperledger Fabric的通道機制其實可以算是早期的多鏈設計,但是通道在Hyperledger Fabric中并不是出于提升效率的目的設計的,而是為了滿足業務多樣性要求,以降低業務復雜度,因此,通道機制目前在性能擴展方面沒有顯著貢獻;

FISCO BCOS是明確的并行計算多鏈設計,設計上要求開發者盡可能保持多鏈的同構特征以減少沖突,多鏈設計被直接應用在系統擴展方面;

Coco的模式仍然取決于其集成的區塊鏈協議;

Quorum是單鏈模式的,底層的性能擴展要跟隨以太坊的技術路線,可能要依賴以太坊的分片等技術進行擴展;

Corda設計上是多網絡模式,沒有單多鏈的概念,但是可以建立兩個網絡節點的雙向連接,配置雙方信任的公正和認證機構進行網絡融合,融合算是其擴展的一種方式。

(四)加密算法擴展

對于國內的應用,加密算法的擴展也即國密替換是一個強烈需求,尤其是在金融領域。

Hyperledger Fabric不支持國密替換,目前已有的應用凡實現國密的基本上是自行替換或者依賴第三方服務;

FISCO BCOS是支持國密的;

Coco未對加密算法的選擇有明確說明,因為這對Coco而言屬于底層,取決于其集成區塊鏈協議,但目前它所集成的協議中還沒有支持國密的;

Quorum、Corda都沒有對國密的支持方案。

(五)第三方認證證書支持

這一點對國內的應用也很重要。

Hyperledger Fabric目前不支持第三方CA;

FISCO BCOS支持第三方證書,支持證書的撤銷,支持多CA;

Coco由于私鑰都保管在本地業務系統且允許自己生成,網絡上只存公鑰集,因此技術上看應該可以支持第三方CA;

Quorum、Corda都未見有此類支持。

綜上,Hyperledger Fabric在擴展性上有一定的限制; FISCO BCOS的可擴展性是很有優勢的,尤其是面向國內應用時;Coco擴展性取決于其集成的協議;Quorum的擴展性與以太坊關系密切;Corda除了在加密算法和第三方認證證書方面外,擴展的自由度有可能是最高的。

五、節點管理與權限管理

除了共識之外,聯盟鏈與公鏈的顯著區別當屬在節點和權限上的設計了。本文從節點類型、作用、成員準入控制、角色和權限管理這幾個方面比較下各聯盟鏈之間的差異。

(一)節點類型

Hyperledger Fabric網絡中的節點主要分為排序節點、背書節點和記賬節點三類,實際應用中還可以加入只有同步賬本能力的二級節點;

FISCO BCOS中包含核心節點、全節點、輕節點;

Coco是一個可信驗證節點(VN)分布式網絡,也即,它只有一類節點就是VN;

Quorum中的節點是基于的以太坊Golang版本實現的,因此節點之間是對等的,沒有節點類型的區分,節點之間可以有白名單管理;

Corda也不區分節點類型。

(二)節點作用

Hyperledger Fabric網絡中背書節點負責提供簽名服務,經背書節點簽名且滿足簽名策略的交易提案會提交給排序節點進行交易排序和出塊,再由記賬節點完成賬本更新;

FISCO BCOS中核心節點負責共識和記賬,共識節點參與記賬共識, 觀察節點同步賬本;

Coco、Quorum、Corda中節點都是對等的。

(三)準入控制

Hyperledger Fabric中有專門的CA模塊提供用戶信息注冊、數字證書發行、延期和吊銷等服務,成員管理采用MSP方式,同一個組織內的成員通過共用同一個MSP標識進行識別

FISCO BCOS中,成員加入網絡采用管理員認證的方式,提供合法有效的成員信息與CA證書,由管理員審核通過后,加入網絡

Coco網絡中的角色分為成員和參與者兩種,成員是網絡的集體管理者,擁有投票權,投票決定其他機構的加入或刪除;

Quorum網絡中節點通過授權才能加入網絡,授權是集中式的,通過Java控制臺操作;

Corda中節點也是需要授權加入的,節點選擇加入一個或多個網絡地圖,網絡地圖相當于網絡成員及其地址列表,節點只能與所在地圖中的成員進行交易。

(四)角色

Hyperledger Fabric中雖然成員沒有明確的角色劃分,但是基于其運維或對應的節點的差異會自然形成不同的角色;

FISCO BCOS網絡中的角色包含超級管理員、鏈或權限管理員、運維、交易、監管等;

Coco網絡中的角色分為成員和參與者兩種,但不是必須同時具有兩類參加者,也可以只有成員類型;

Quorum網絡中沒有角色的區分;

Corda網絡中的角色分為公證人和參與者兩種,公證人提供公證服務,參與者進行交易。

(五)權限管理

Hyperledger Fabric中權限主要通過策略進行管理,策略實際上是成員通過節點進行某種操作,比如提交交易提案等,所需要滿足的簽名數量要求。

FISCO BCOS權限管理采用系統合約的方式,并可以通過自定義合約的方式進行權限管理功能的擴展,權限管理模型為ARPI(賬戶——角色——權限——接口)模式,多個賬戶可以對應同一個角色,角色有明確的權限列表,每個權限對應一個接口,接口指向智能合約,權限列表按照系統合約方式維護。業務中的權限管理則采用交易權限鏈的方式,一個交易相當于一組權限鏈,包含多個Filter,交易處理是逐個Filter進行權限判斷,一個交易完成相當于一組Filter審核都通過。

Coco網絡有成員負責治理,參與者是沒有投票權的,不能參加網絡管理。成員和參與者都可以擁有VN。成員對網絡的管理通過共同維護一個可編程的網絡章程來進行,章程內容至少包括成員列表、VN列表、代碼清單、TEE清單和投票策略。

Quorum、Corda沒有明顯的權限管理內容。

綜合比較,FISCO BCOS的設計比較周全,也有一定的復雜性,但這也意味著它能夠支持更復雜的場景; Hyperledger Fabric 、Coco帶有一定中心化因素;相較之下,Quorum、Corda更接近公鏈思路。帶有中心化因素本就是聯盟鏈對其應用的商業環境的體現,這也無可厚非。

六、智能合約

為了提升效率,支持更加友好的設計,各聯盟鏈在智能合約上也出現了不同的發展思路。

Hyperledger Fabric中的智能合約稱為“鏈碼”。鏈碼分為系統鏈碼和普通鏈碼,前者包括生命周期管理、配置管理等,屬于系統控制層面的鏈碼;普通鏈碼則是用于實現業務邏輯的鏈碼,智能合約開發通常指的就是這部分鏈碼。鏈碼的業務模型為“MCV-B”,即,在傳統的MVC(模型、控制器、視圖)模式中嵌入B(區塊鏈),強調鏈碼是業務邏輯的加強。鏈碼的生命周期包括打包、安裝、實例化、升級、停止和啟動,運行在Docker中,由背書節點進行調用,目前主要支持的是Go語言。Hyperledger Fabric雖然提供了跨通道機制,允許跨通道調用鏈碼,但是跨通道調用只支持讀而不支持寫。

FISCO BCOS 中除了通常用于業務邏輯的智能合約外,將系統管理也智能合約化了,統稱為系統合約,包含系統代理、節點管理、機構證書、權限管理、全網配置五類。上述合約原則上由區塊鏈管理員在網絡啟動時部署,網絡運行期間的變更則需要在去全網所有節點許可的情況下由管理員操作。FISCO BCOS主要支持EVM引擎的智能合約。

Coco由于其節點運行在可信執行環境中,因此,與其他聯盟鏈不同的是智能合約只需單個節點運行,不必多次驗證。更與眾不同的是,因為可以單點只運行一次,所以Coco的智能合約支持不確定交易。此外,允許智能合約直接連接外部可信數據源。

Quorum是基于以太坊智能合約的,智能合約本身沒有特別之處,合約運行結果方面,節點只對公開交易和節點涉及的私有交易進行驗證,而不必驗證所有交易。

Corda的智能合約設計思路也比較獨特,首先,它主張智能合約的業務數據和業務邏輯要能關聯到明確的法律依據上,這相當于要智能合約跟業務憑證之間具有強聯系;其次,Corda主張純函數式設計,力推金融合約的標準化,提供小型類庫,以減少對低層次邏輯的重新開發;再次,單純看智能合約的話,Corda的智能合約是“碎片化”的小段程序,而且只能做為起流轉控制作用的“驗證程序”,做不到一般智能合約那種價值轉移功能,在Corda中,“交易”、“智能合約”和“流式架構”加起來才能與其他平臺的智能合約相當。

總結一下,Hyperledger Fabric的鏈碼設計給了智能合約一個新的設計框架,這方面它是開創性的;FISCO BCOS則將智能合約應用擴展到了系統管理方面;Coco采取了改變公鏈設計假定的思路,不僅不對智能合約進行重復驗證,還支持不確定交易;Quorum 的智能合約基本沿襲公鏈思路;Corda的思路也比較另類,但是智能合約本身卻更弱化了。

智能合約是隨著以太坊火起來的,成了區塊鏈的標志性技術,但其實目前的智能合約還遠不夠“智能”,這個名字容易引起誤解。以太坊創始人Vitalik最近在推特上發文稱對使用智能合約這個術語表示“十分遺憾”,應該使用更專業或更無聊的名字,比如,“持續的腳本”之類的東西,想來也有此意。

七、部署與運維友好性

聯盟鏈常被稱為是個“坑”,這個“坑”主要是在部署和運維方面。

(一)部署

Hyperledger Fabric雖然已經是個成熟框架了,有良好的社區環境,市面上還有若干不錯的教材,但是部署方面依然讓很多新人不知就里,筆者所在的微信群里大部分時間都在交流部署問題而非設計問題;

FISCO BCOSFISCO BCOS提供一鍵安裝/step-by-step/docker等搭鏈方式,同時還未企業生產部署提供物料包的打包工具,簡化部署復雜度。

Coco的部署特點是增加了一次對其他區塊鏈協議的集成,要先有底層區塊鏈協議,才能部署Coco,這其實要設計人員對Coco和其集成的區塊鏈協議都有一定了解才好,學習成本較大,此外,Coco需要部署TEE硬件設備來支持可信執行環境構建,這是其他聯盟鏈通常不需要的,TEE因此也成為一個安全隱患;

Quorum需要在以太坊之上部署,依賴以太坊,與Coco相同,設計人員最好也要了解以太坊;

Corda的部署目前缺乏實例來做比較。

(二)運維

Fabric目前沒有提供多少支持工具,多數需要設計者自己開發;

FISCO BCOS提供了方便運維的合約命名服務,提供區塊鏈瀏覽器和監控,并且有上帝模式用于處理節點崩潰問題,運維友好度有一定改善;

Coco目前未見提供多少運維工具;

Quorum有一些第三方支持工具;

Corda與其他聯盟鏈相比,運維方面最大的特色莫過于支持受限形式的數據庫回滾。

聯盟鏈的部署和運維都有一定的學習曲線,其復雜度遠高于公鏈,一個新手部署一條以太坊要不了多少時間,但是運轉起一個聯盟鏈,還是需要打聽不少“小伙伴”的。

八、隱私保護

聯盟鏈有一個讓大家糾結的問題是,明明要上鏈一起共建生態、共享信息,卻紛紛要求隱私保護,要上鏈又不能隨意公開,不僅希望身份保密,還希望交易信息保密,這與公鏈信息公開、身份保密的設計理念有很大不同,但這是合理要求,尤其是在金融領域。本文從可見范圍、加密措施兩方面對各鏈加以比較。

(一)可見范圍

Hyperledger Fabric的通道可以用來隔離數據,只有在同一通道內的節點才可以共享同一套賬本信息,而通過組織設計,基于MSP標識可以在同一通道內進一步控制數據可見范圍,1.2版中加入了私有數據模式,允許指定的節點間共享信息,這比組織更加靈活;

FISCO BCOS 設計了AMOP協議,以提供機構間的點對點通信,通信信息屬于鏈下信息,不在全網共享,鏈上部分在引入中央對手方提供信用背書的情況下,數據也僅在交易方和中央對手方之間共享,多鏈方式也可用于數據隔離,必要時通過跨連互通;

Coco支持兩個或多個交易者的機密交易,通過TEE控制可見性,但要求集成的區塊鏈協議最好也提供一定支持;

Quorum區分公開數據和私有數據,私有數據只允許限定的交易方可見;

Corda數據僅在交易方之間可見,節點之間提供一個交易依賴關系圖,數據根據需要發送,而不在全局廣播,任何參與方都無法見到包含全部數據的全局賬本。

(二)加密措施

Hyperledger Fabric 1.1開始支持賬本數據加密,1.2版引入私有數據后,設計上允許只給Kafka提供交易Hash用于排序而不向Kafka提供交易信息,以防排序節點泄露數據;

FISCO BCOS允許采用高強度的加密數據信封進行保護,未參與交易的機構只能接收到密文,此外,建議對敏感數據采用脫敏上鏈、Hash上鏈等方式進行保密處理;支持零知識證明組件,群簽名,環簽名,同態加密等方式進行各種場景的數據隱私保護。

Coco允許應用程序先進行數據加密再提交事務,公網數據采用加密傳播的方式,以對不受信任的host保密;

Quorum有獨立的Constellation模塊,對私有事務的交易數據進行加密保護,還提供了獨立的零知識證明(ZSL)模塊以防止驗證用戶身份時發生信息泄露;

Corda也使用enclave進行數據保護,并考慮使用安全硬件。

在隱私保護上,各鏈都下了很大力氣,這方面與其一較短長,不如考慮互相借鑒。

九、選型建議

通過以上九個方面,本文粗略比較了五大聯盟鏈的設計與差異,如果非要從技術角度給各家打個分、排個名,實在有些“霸王硬上弓”之嫌,各家原本思路和焦點就不同,都有自己的“小目標”,非要不管人家自己的想法去論個短長,有些不太“科學”,也不是應用的合理“姿勢”。各聯盟鏈畢竟都是為了解決實際問題、為了落地區塊鏈項目而設計的,所以,本文最后從大家都會關心的技術選型角度做個總結。

整體而言,Hyperledger Fabric的綜合實力依然最強,推出時間早、框架完整且比較成熟,有國際化應用和國際化社區加持,案例和技術支持對于仍屬早期發展階段的區塊鏈而言非常重要,Hyperledger Fabric在這方面可以說優勢極大。但是,它也有些不能回避的問題,比如基礎研發進展緩慢,研發主體不明確,一些應用者關心的關鍵問題遲遲不見解決。隨著百度、阿里、騰訊、京東等一眾國內大廠的強勢加入,Hyperledger Fabric的優勢地位也會受到越來越多的挑戰,對此,它急需合適的應對措施。

FISCO BCOS應該說是本土化設計的代表,其在底層研究上的投入、關鍵技術上的改進、對國內需要的適應性調整、對社區建設和運維的重視,都有可圈點之處,平臺在各行業的通用性也在加強,隨著開源工作的推進和案例的不斷增加,其本土化優勢會逐步顯現。在國家政策的鼓勵下,國內大廠如今紛紛高調殺入聯盟鏈市場,如果這些大廠真的“傾情”加入,那與Hyperledger Fabric相較,其開發主體、資金投入的穩定性要更有優勢,而且,大廠們基本自帶生態和流量,案例的增長、生態的發展也是可以預期的,是很多項目可以借力之處。

Coco、Quorum、Corda都存在支持能力不足、缺乏有效案例的問題,雖然微軟目前在Coco以及其他基于Azure的區塊鏈平臺和應用上投入了一定力量,但是對國內應用者而言,仍顯不足。

因此,從技術選型角度來講,應用者,尤其是新入局的應用者,最好還是在Hyperledger Fabric這種影響廣泛的成熟框架或者FISCO BCOS這種有實力且能提供較強本土支持的平臺上做選擇,而在開發過程中借鑒下Coco、Quorum、Corda中的優秀設計理念。

區塊鏈仍屬于技術的早期階段,這個階段必然要求應用者具備較強的學習能力,多做基礎研究,敢于對所選擇的技術平臺進行改良,積極與平臺提供商合作進行技術探索,區塊鏈還沒到像主流操作系統那樣可以“坐享其成”的階段,仍然需要所有參與者秉持“開源”思想,不辭辛苦、熱情奉獻、共同進步。

作者按:文章大部分是晚上寫的,是“夜話”;挑來選去,最后寫了五個鏈,想起了“春秋”。春秋之后是戰國,估計是隨著BATJ積極加入后的戰國。“天下大勢,合久必分,分久必合”,聯盟鏈乃至區塊鏈會否如此,可能要“久”到下一代技術來決定了。近期有文章稱當前的基礎研究越來越難以支撐技術的創新發展了,區塊鏈也有此憂慮。作為早期形態,刻意“浪費”算力和存儲換取信任,可以;作為未來的成熟形態,不妥。五大聯盟鏈中也有對此問題的些許思考,但現有方案乃是當下之技術或認知所能達到的較高水平了。今日“鏈人”之努力乃是前進的必經之路,足以啟發天下之想象。沒有今日的“痛苦”,就沒有未來理想的區塊鏈世界,愿大家廣發宏愿,持續努力。

附:作者已對本文整理成圖表,有需要的伙伴請關注微信公眾號“區塊鏈前哨”,回復“金鏈盟大賽”即可獲取。

作者簡介:

付曉巖:原中國建設銀行資深業務架構師,負責業務架構設計、項目管理,熱衷新技術探索與實踐,具有豐富的銀行業務經驗和企業級項目業務架構設計經驗。2000年加入建行,曾長期參加建行“新一代核心業務系統”建設,主導客戶關系、金融市場、同業、資管、養老金等多個領域核心系統的業務架構設計。從2017年開始探索區塊鏈技術及其應用,并發表《關于使用區塊鏈技術建設行業級同業交易平臺的探討》、《數字貨幣可能誘發的現金社會經濟活動的模擬與思考》等多篇文章。

【對“區塊鏈部署形態聯盟鏈戰國:五大巨頭橫向對比”發布評論】

版權及免責聲明:
① 本網站部分投稿來源于“網友”,涉及投資、理財、消費等內容,請親們反復甄別,切勿輕信。本網站部分由贊助商提供的內容屬于【廣告】性質,僅供閱讀,不構成具體實施建議,請謹慎對待。據此操作,風險自擔。
② 內容來源注明“硅谷網”及其相關稱謂的文字、圖片和音視頻,版權均屬本網站所有,任何媒體、網站或個人需經本網站許可方可復制或轉載,并在使用時必須注明來源【硅谷網】或對應來源,違者本網站將依法追究責任。
③ 注明來源為各大報紙、雜志、網站及其他媒體的文章,文章原作者享有著作權,本網站轉載其他媒體稿件是為傳播更多的信息,并不代表贊同其觀點和對其真實性負責,本網站不承擔此類稿件侵權行為的連帶責任。
④ 本網站不對非自身發布內容的真實性、合法性、準確性作擔保。若硅谷網因為自身和轉載內容,涉及到侵權、違法等問題,請有關單位或個人速與本網站取得聯系(聯系電話:01057255600),我們將第一時間核實處理。
相關推薦
·起“底”聯盟鏈:FISCO BCOS 與 Fabric的比較
·BC:以數據科技,構建與區塊鏈融合的數字貨幣
·區塊鏈革命已經到來,挖易成功搶占發展先機
廣告推薦
頭條推薦
科大訊飛造假AI市值蒸發近500億 被批科技屆恥辱 科大訊飛造假AI市值蒸發近500億 被批科技屆恥
前段時間,專業同傳人員Bell Wang在知乎上發表了一篇揭露科大訊飛AI造假的文章。揭露……
·科大訊飛造假AI市值蒸發近500億 被批科技屆恥
·iPhone 8 發布新消息!王思聰笑了,陳歐哭了
圖文推薦
哈羅單車已經走向困局,哈啰出行正在走向敗局
哈羅單車已經走向困局,哈啰出行正在走向敗
科大訊飛造假AI市值蒸發近500億 被批科技屆恥辱
科大訊飛造假AI市值蒸發近500億 被批科技屆
拼多多急上市:感覺昨兒還在涉黃,今天就上市了?
拼多多急上市:感覺昨兒還在涉黃,今天就上
這個援交網站在國外臭名昭著 卻在中國落地了
這個援交網站在國外臭名昭著 卻在中國落地
最新推薦
·區塊鏈部署形態聯盟鏈戰國:五大巨頭橫向對比
·探索AI+X 云付通集團云智硬件構建多種運用場景
·哈羅單車已經走向困局,哈啰出行正在走向敗局
·科大訊飛造假AI市值蒸發近500億 被批科技屆恥辱
·對比藍凌與釘釘融合,泛微騰訊等連接就不夠看了
熱點推薦
·拼多多急上市:感覺昨兒還在涉黃,今天就上市
·這個援交網站在國外臭名昭著 卻在中國落地了
·拼多多:一個讓品牌“斷子絕孫”的電商平臺
·微商集團“物物地圖”出事,10萬微商血本無歸
·網貸平臺存在陰陽合同,玖富違規亂象何時能終
廣告推薦
舊聞推薦
·拼多多:一個讓品牌“斷子絕孫”的電商平臺
·實時競價模式RTB對于手游和App意味著什么?
·網絡直播進入整合期,這三大模式值得你關注
·過年年味:過年沒有年味,怎么過年才有年味?
·瓜子變味 瓜子二手車沒有中間商只是文字游戲
廣告推薦
硅谷影像
哈羅單車已經走向困局,哈啰出行正在走向敗局
哈羅單車已經走向困局,哈啰出行正在走向敗局
科大訊飛造假AI市值蒸發近500億 被批科技屆恥辱
科大訊飛造假AI市值蒸發近500億 被批科技屆恥辱
京東劉強東:我是誰?我從哪里來?我到哪里去?
京東劉強東:我是誰?我從哪里來?我到哪里去?
蘋果新品價格跳空高開 我們不需要這樣的iPhone
蘋果新品價格跳空高開 我們不需要這樣的iPhone
作業幫、掌門1對1、海風教育這三個金主竟然這樣
作業幫、掌門1對1、海風教育這三個金主竟然這樣
去品牌化風靡中美,是消費降級還是另有原因?
去品牌化風靡中美,是消費降級還是另有原因?
AboutUs | 關于我們 | 聯系我們 | 加入我們 | 贊助我們 | 投稿爆料 | 廣告投放 | 網站地圖 | TAGS標簽 | RSS訂閱
Copyright © 2007-2018 硅谷網 版權所有 網站熱線:(+86)010-57255600
電腦版 移動版 WAP版 www.pvird.icu All rights reserved. 備案號:京ICP備12003855號-2
时时彩后三乘以0.618
<span id="fr5dx"><video id="fr5dx"><strike id="fr5dx"></strike></video></span><span id="fr5dx"><video id="fr5dx"><strike id="fr5dx"></strike></video></span><video id="fr5dx"><listing id="fr5dx"><var id="fr5dx"></var></listing></video><th id="fr5dx"></th><video id="fr5dx"><th id="fr5dx"><video id="fr5dx"></video></th></video>
<span id="fr5dx"><video id="fr5dx"></video></span>
<span id="fr5dx"></span>
<th id="fr5dx"></th>
<span id="fr5dx"><video id="fr5dx"></video></span>
<th id="fr5dx"><noframes id="fr5dx">
<span id="fr5dx"><video id="fr5dx"><strike id="fr5dx"></strike></video></span><span id="fr5dx"><video id="fr5dx"><strike id="fr5dx"></strike></video></span><video id="fr5dx"><listing id="fr5dx"><var id="fr5dx"></var></listing></video><th id="fr5dx"></th><video id="fr5dx"><th id="fr5dx"><video id="fr5dx"></video></th></video>
<span id="fr5dx"><video id="fr5dx"></video></span>
<span id="fr5dx"></span>
<th id="fr5dx"></th>
<span id="fr5dx"><video id="fr5dx"></video></span>
<th id="fr5dx"><noframes id="fr5dx">