FISCO BCOS 憑什麼從聯盟鏈脫穎而出?
一 前言
2008 年 10 月 31 日,中本聰釋出了《 ofollow,noindex">比特幣白皮書 》,至今已超過 10 年的時間。10 年來,從比特幣到區塊鏈,越來越多的人瞭解到區塊鏈,也有越來越多的人加入到區塊鏈行業。當然,無數的人因此盆滿缽滿,也有無數的人傾家蕩產。新興技術和泡沫往往是相輔相成的,網際網路如此,區塊鏈也是如此。如今,網際網路已經深入人心,連菜農都已經熟練地使用微信支付。當新興的區塊鏈淪為眾人炒作的同時,技術卻在有條不紊地推進著。本文探討的 FISCO BCOS 正是眾多專案的代表。
二 區塊鏈分類
區塊鏈技術的分類是隨著各方面的應用而越來越清晰,按照準入機制,區塊鏈目前分為三類:公有鏈、聯盟鏈和私有鏈。
公有鏈(Public BlockChain) 是指世界上任何個體或者團體都可以傳送交易,且交易能夠獲得該區塊鏈的有效確認,任何人都可以參與其共識過程,也就是每個人都可以競爭記賬權。比特幣、以太坊、EOS 是幾大典型的公鏈代表。比特幣公鏈誕生於 2009 年 1 月 3 日,至今已有 9 年多的時間。截止目前,共有 2971 萬個比特幣地址。[1] 以太坊公鏈誕生於 2015 年 7 月 30 日,至今 3 年多。截至目前,共有 4561 萬以太坊地址。[2] EOS 公鏈誕生於 2018 年 6 月 15 日(凌晨 01:50,EOS 主網投票率超過 15%,主網啟用,正式上線),至今才 4 個多月。截至目前,共有 44 萬個賬號。[3] 目前大眾最為關注的,也是公鏈。
聯盟鏈(Consortium BlockChain) 是由某個群體內部指定多個預選的節點為記賬人,每個塊的生成由所有的預選節點共同決定(預選節點參與共識過程),其他接入節點可以參與交易,但不過問記賬過程(本質上還是託管記賬,只是變成分散式記賬,預選節點的多少,如何決定每個塊的記賬者成為該區塊鏈的主要風險點),其他任何人可以通過該區塊鏈開放的 API 進行限定查詢。目前有較大影響力的聯盟鏈有 Hyperledger Fabric、FISCO BCOS、微軟的 Coco、企業以太坊聯盟(EEA)以及 R3 的 Corda。
私有鏈(Private BlockChain) 是指僅僅使用區塊鏈的賬本技術進行記賬,記賬權並不公開,且只記錄內部的交易,可以是一個公司,也可以是個人,獨享該區塊鏈的寫入許可權,與其他的分散式儲存方案沒有太大區別。
由於公有鏈、聯盟鏈大多采用開源社群協作,公開透明的開源精神在區塊鏈世界頗為流行。私有鏈多為公司或者個人內部使用,所以探討意義不大。
三 聯盟鏈對比
目前大眾的關注點基本上在公鏈,無數的使用者都在質疑,聯盟鏈有什麼作用。企業為了解決實際的需求,往往需要尋求新的突破點,聯盟鏈自然而然地成為了落地實踐的熱點。聯盟鏈作為「無幣區塊鏈」,更側重技術。
根據第二節對區塊鏈分類的介紹,目前有較大影響力的聯盟鏈有 Hyperledger Fabric、FISCO BCOS、微軟的 Coco、企業以太坊聯盟(EEA)以及 R3 的 Corda。EEA 只擬定規範而不涉及程式碼,所以採用官方認可的摩根大通 Quorum 平臺作為對比。
(作者注:因有比較完善的聯盟鏈對比文章,本文僅從核心思路對以上聯盟鏈進行對比。)
Hyperledger Fabric 由 Linux 基金會管理,希望改變公鏈的單一通用網路模式,通過建立多個可以互聯的區塊鏈網路覆蓋各類不同的業務場景,實現設計的靈活性,滿足多樣化的要求,並實現網路間的互動,這種思路體現在了其獨特的通道機制設計上。Hyperledger Fabric 旨在打造不分行業的通用區塊鏈開源框架,在聯盟鏈中也擁有最大的共識。[4] 2018 年 7 月 16 日,甲骨文正式推出 Oracle 區塊鏈雲服務,正是基於 Hyperledger Fabric。AWS 區塊鏈雲服務,也選擇了 Hyperledger Fabric。騰訊雲區塊鏈服務(Tencent Blockchain as a Service,TBaaS),最早的底層引擎也是採用 Hyperledger Fabric。
FISCO BCOS 初衷是設計一個國內企業主導研發、自主可控、對外開源的滿足金融行業需求的企業級區塊鏈底層平臺,並逐漸擴充套件至其他領域、適用於廣泛的分散式商業場景,所以進行了自底向上的完整設計,並考慮了較多國內的特殊需求。FISCO BCOS 紮根金融行業,由金鍊盟管理。金鍊盟是由深圳市金融科技協會、深圳前海微眾銀行、深證通、騰訊、華為、中科院等金融機構、科技企業、學術機構等組成的非營利性組織。
Coco 基於保密聯盟環境的假定,重新評估了公鏈的設計,通過將其他區塊鏈協議整合為底層,快速高效地構建區塊鏈應用。在這種思路下 Coco 大膽放鬆了一些關鍵的設計限制,並且最終實現了一個對現有區塊鏈協議的加速機制,可整合的協議已經包括 Hyperledger Fabric、以太坊、Corda、Quorum 等。Coco 由微軟管理,可見一線廠商都在佈局區塊鏈。
EEA 是力求引導一種基於以太坊的標準區塊鏈設計,可根據成員需要定製,但不提供程式碼(Quorum 提供部分開原始碼)。官方承認其技術基礎是摩根大通開發的 Quorum 平臺,該平臺的目標則是提供高速、高吞吐量交易的能力,以解決區塊鏈技術在金融等領域遭遇的挑戰。
Corda 希望提供一個具有唯一性、權威性、可以記錄企業間所有協議的全域性邏輯賬本,核心是實現具有節點間最小信任機制的無中心資料庫,因此,Corda 主張充分考慮與現有業務系統的結合,而非將現有業務系統拆掉重來。Corda 的設計思路對 Hyperledger Fabric 有一定影響,也參與了對後者的建設。Corda 由全球頂尖的銀行構成的名叫 R3 的組織管理。
四 FISCO BCOS 解讀
根據 FISCO BCOS 白皮書,FISCO BCOS 旨在解決傳統行業 IT 基礎設施的不足與痛點,包含操作風險、道德風險、信用風險、資訊保護風險等方面。[5]
4.1 多個特性
FISCO BCOS 引入了多個特性,包含基於區塊鏈網路的訊息通訊協議(AMOP)、合約命名服務(CNS)、並行共識與平行計算、極強維護性和視覺化的瀏覽器與監控。
在監管方面,引入如下標準:
- 風險資料整合
- 風險建模,分析和預測
- 實時交易監控,彙報和攔截
- 身份識別
FISCO BCOS還在安全及隱私保護方面有重大突破,包括支援了多CA認證、國密演算法、同態加密、零知識證明、群簽名環簽名等。同時,FISCO BCOS即將在騰訊雲上線雲服務,向企業及開發者提供便捷易用的區塊鏈雲服務。配合開源運營與生態建設,讓 FISCO BCOS 成為更佳更完備的聯盟鏈系統。
接下來,筆者將會以自己熟悉的角度解讀 FISCO BCOS。
4.2 CNS
網際網路從業者想必對 DNS 非常熟悉。域名系統(英文:Domain Name System,縮寫:DNS)是網際網路的一項服務。它作為將域名和 IP 地址相互對映的一個分散式資料庫,能夠使人更方便地訪問網際網路。[6] 比如輸入域名
fisco.com.cn
,實際上訪問的是 IP 地址
119.29.123.54
。
一個完備的網際網路系統,不管對內部業務還是對外的業務,域名都是不可缺少的。以對內業務為例,域名的存在讓高可用得以輕鬆實現,業務一旦故障,即可快速無感知地將域名切換到正確的指向,極大地提高了運維的健壯性。以對外業務為例,域名對使用者友好,使用者無需記住繁瑣的 IP 地址,即可快速到達自己心儀的網站。當然,短小精悍的域名甚至具有極大的投資價值。域名是通往網際網路的入口,作為網際網路的底層設施,共識已經足夠強大。公司創業也好,個人建站也好,域名是第一考慮要素。
FISCO BCOS 借鑑 DNS 的設計思想,將合約地址和 CNS 進行對映,削弱業務對合約地址的依賴。筆者對智慧合約做一個簡單的介紹,智慧合約(英語:Smart contract )是一種旨在以資訊化方式傳播、驗證或執行合同的計算機協議。智慧合約允許在沒有第三方的情況下進行可信交易。這些交易可追蹤且不可逆轉。智慧合約概念於 1994 年由 Nick Szabo 首次提出。[7] 以太坊是一個開源的有智慧合約功能的公共區塊鏈平臺。在以太坊公鏈上,有普通地址和合約地址。
此處筆者對合約地址進行一個講解。舉個例子,以太坊的合約地址類似
0xB8c77482e45F1F44dE1745F52C74426C631bDD52
,這是一個相當複雜的以 0x 開頭的 42 位字串。這樣的地址是反人性的。當然,從比特幣到以太坊,都是這樣粗暴的地址。石墨烯體系,比如位元股、EOS,有了賬號的概念,讓區塊鏈的體驗提高了一個臺階。回到 CNS,FISCO BCOS 的 CNS 加強了對合約介面的資訊管理,使合約可以將自己的介面資訊在鏈上釋出出去,讓鏈上的所有參與者都可以方便的識別、定位、呼叫合約。在部署智慧合約、升級合約、業務灰度升級等方面都有極大的優勢,提高了靈活性和運維的便捷性。
4.3 雲服務
聯盟鏈作為雲服務,將會是行業的標準之一。對於企業而言,使用雲服務將會大大降低運維成本,從國內外雲服務廠商的經營資料來看,雲服務將是中小型企業首選。雲服務提供了友好的互動介面,較高的 SLA,快捷地客服響應,便捷地自動化流程,將儲存、時間同步伺服器、DNS、軟體更新源、HTTPS、資料庫、CDN、負載均衡等無數的基礎服務打包,企業只需要掌握基本的操作,便可輕鬆自如地運維雲伺服器,釋出更新自家的產品。同樣,聯盟鏈提供對企業友好的雲服務平臺,將會降低准入門檻,提高價值流轉的速度。2018 年 7 月 16 日,甲骨文基於 Hyperledger Fabric 正式推出 Oracle 區塊鏈雲服務。亞馬遜、騰訊也推出基於 Hyperledger Fabric 的雲服務,未來區塊鏈雲服務是各大雲服務廠商必爭的藍海。
FISCO BCOS 白皮書裡也對雲服務進行了規劃,將在雲平臺釋出區塊鏈雲伺服器映象,使用雲平臺介面互動和其他工具,可快速構建區塊鏈服務,進行應用部署和伺服器引數調整。
騰訊雲區塊鏈服務平臺(TBaaS,Tencent Blockchain as a Service)將於 2018 年 11 月支援 FISCO BCOS 底層,提供包括區塊鏈網路管理、合約管理、運營監控等功能,為企業及開發者提供一站式、高安全、簡單易用的區塊鏈服務。基於此,客戶可以降低對區塊鏈底層技術的獲取成本,專注在區塊鏈業務模式創新及業務應用的開發和運營之中。
通過 TBaaS 雲服務,使用 FISCO BCOS 的開發者將獲得全流程運維服務,一體化監控,良好的擴充套件性和豐富的配套工具。效能方面,提供了可在 15 節點的區塊鏈網路中實現單通道超過 3000TPS 的高效能。
FISCO BCOS 的眾多特性,決定了其可以與雲服務進行良好相容,共同為聯盟鏈商業級生產提供 “高安全性、高效能、高可用性、業務落地、合法合規” 解決方案: 1. 在安全性方面,FISCO BCOS 通過節點准入控制、可靠的金鑰管理、靈活的許可權控制,在應用、儲存、網路、主機層實現全面的安全保障。 2. 在效能優化方面, FISCO BCOS 具體實現方案是:優化網路通訊模型,採用拜占庭容錯的共識機制,結合多鏈架構和跨鏈互動方案,可解決併發訪問和熱點帳戶的效能痛點,從而滿足金融級高頻交易場景需求。 3. 在可用性方面,FISCO BCOS 設計為 7×24 小時執行,達到金融級高可用性,通過簡化建鏈過程、適應多種環境的部署方式、全域性配置更新實現了高可用性。 4. 在業務落地方面,FISCO BCOS 提供各種開發介面,方便程式員編寫和呼叫智慧合約。 5. 在監管方面,FISCO BCOS 支援監管和審計機構作為觀察節點加入聯盟鏈,獲取實時資料進行監管審計。
4.4 資料倉庫
根據 FISCO BCOS 白皮書介紹。FISCO BCOS 核心資料模組採用鏈式資料結構,Key-Value 資料元格式,使用高速的檔案資料庫儲存所有資料,適合儲存區塊和交易明細、合約狀態等,但不適合進行關係型查詢、動態範圍查詢,不能直接進行多維度的分析。為此,為區塊鏈設定一個準實時的資料 ETL,快速將鏈上資料轉化為鏈外的資料倉庫。資料倉庫強大的查詢能力、分析能力和資料探勘能力,將會提供更為智慧的資料需求。
資料為何如此重要?舉個例子,阿里巴巴是全球最大的零售平臺,但阿里不是零售公司,是一家資料公司。[11] 馬雲在 2015 杭州雲棲大會宣稱:現在正在進入新能源時代,核心資源已不是石油,而是資料。未來的資料就是生產資料,未來的生產力就是計算能力和創業者的創新能力、企業家精神,有了計算能力、資料,人類會發生天翻地覆的變化,會從向外看轉向向內看。[12] 未來之爭,一定是資料之爭,Google、Amazon、Tencent、Alibaba……等大型網際網路企業目前都有成熟的資料方案。
資料倉庫在大型網際網路行業應用較多,不少公司已經將此列為核心基礎設施。資料倉庫是一個面向主題的、整合的、隨時間變化的、但資訊本身相對穩定的資料集合,用於對管理決策過程的支援。通用的資料倉庫架構包含資料採集層、資料儲存與分析層、資料共享層、資料應用層和任務排程與監控系統。每個 Layer 可配套的元件非常多,沒有銀彈,往往會根據實際的業務選型。
同理,資料倉庫,將會是高效能公鏈、聯盟鏈的基礎設施。以 EOS 公鏈為例,EOS 鏈上資料可以使用各類外掛,比如 SQL/">MySQL、Kafka、MongoDB、Elastic Search 等,將 EOS 鏈上資料轉化為鏈外關係型或非關係型資料,更為方便地為業務提供服務。目前合併到 EOSIO 程式碼的是 MongoDB 外掛,但實際使用過程中,依然有諸多問題。EOSIO 採用外掛化思想,團隊可以根據開源的元件進行改造,以適應自家的業務。隨著 EOS 公鏈資料不斷地增加,後續還會出現更為強大的 ETL 流程,抽取的資料將為商業賦能。FISCO BCOS 作為一個商業的聯盟鏈系統,未來也會參考網際網路行業的資料倉庫架構,制定適合聯盟鏈執行的資料倉庫規則。
五 小結
本文從比特幣的誕生說起,講解了區塊鏈的分類、聯盟鏈的對比,從 FISCO BCOS 多個特性、CNS、雲服務、資料倉庫等多個方面進行解讀。
FISCO BCOS 初衷是設計一個國內企業主導研發、自主可控、對外開源的滿足金融行業需求的企業級區塊鏈底層平臺,並逐漸擴充套件至其他領域、適用於廣泛的分散式商業場景,所以進行了自底向上的完整設計,並考慮了較多國內的特殊需求。FISCO BCOS 為金融行業提供一個靈活合規的聯盟鏈系統,解決金融傳統基礎設施的不足和痛點,在金鍊盟的管理和運營下,將會是國內首屈一指的聯盟鏈專案。
六 參考資料
- [1] blockchain.com . (2018-10-30). Blockchain Wallet Users. Retrieved from https://www.blockchain.com/charts/my-wallet-n-users?timespan=all .
- [2] etherscan.io . (2018-10-29). Ethereum Unique Address Growth Chart. Retrieved from https://etherscan.io/chart/address .
- [3] eosflare.io . (2018-10-30). EOS Accounts. Retrieved from https://eosflare.io .
- [4] 付曉巖. (2018-10-19). 聯盟鏈戰國:五大巨頭橫向對比. Retrieved from http://www.infoq.com/cn/articles/5-consortium-blockchain-comparison .
- [5] FISCO BCOS. (2018-07-12). 金融區塊鏈底層平臺 FISCO BCOS 白皮書. Retrieved from https://github.com/FISCO-BCOS/whitepaper .
- [6] 維基百科. (2018-10-03). 域名系統. Retrieved from https://zh.wikipedia.org/wiki/%E5%9F%9F%E5%90%8D%E7%B3%BB%E7%BB%9F .
- [7] 維基百科. (2018-09-20). 智慧合約. Retrieved from https://zh.wikipedia.org/wiki/%E6%99%BA%E8%83%BD%E5%90%88%E7%BA%A6 .
- [8] 甲骨文. (2018-07-16). 甲骨文正式推出 Oracle 區塊鏈雲服務 助力全球企業迅速安全處理交易. Retrieved from https://www.oracle.com/cn/corporate/pressrelease/oracle-blockchain-service-speed-transactions-securely-2018-07-16.html .
- [9] 海倫. (2018-08-29). 將在騰訊雲上線的 FISCO BCOS,要與 Fabric 來一場正面對決?. Retrieved from https://www.8btc.com/article/263246 .
- [10] 騰訊雲. (2018-09-01). FISCO BCOS 介紹. Retrieved from https://cloud.tencent.com/document/product/663/30125?!preview=true .
- [11] 鈦媒體. (2016-06-15). 馬雲:阿里巴巴不是零售公司,是資料公司. Retrieved from http://www.tmtpost.com/1889759.html .
- [12] 新浪科技. (2015-10-15). 馬雲:資料取代石油成核心資源. Retrieved from 3607541.shtml" target="_blank" rel="nofollow,noindex">http://tech.sina.com.cn/i/2015-10-15/doc-ifxivsch3607541.shtml . *[13]金鍊盟中國區塊鏈應用大賽https://con.geekbang.org/
作者簡介:溫國兵,區塊鏈從業者,區塊鏈技術指北(ChainONE)社群發起⼈,區塊鏈技術佈道者,dbarobin.com 博主,互聯⽹⾏業多年從業經驗。活躍於 GitHub 社群,對區塊鏈技術、資料庫技術、互聯⽹運營等有深⼊研究和實戰。