區(qū)塊鏈商業(yè)技術(shù)架構(gòu)全面解讀
商業(yè)場景應用之下的底層技術(shù)架構(gòu),大多數(shù)人是接觸不到的。但是,所有的商業(yè)應用,在區(qū)塊鏈上獲取的服務,都離不開底層技術(shù)架構(gòu)的支持。
今天我們就來說說,區(qū)塊鏈商業(yè)的技術(shù)架構(gòu),到底包含了什么。
區(qū)塊鏈商業(yè)的技術(shù)架構(gòu)解讀(一)
總體來看,區(qū)塊鏈的基礎(chǔ)架構(gòu)可以分為五層,包括網(wǎng)絡層、共識層、數(shù)據(jù)層、 智能合約層和應用層,如下圖所示。每一層分別完成一項核心的功能,各層之間 互相配合,從而實現(xiàn)了去中心化的信任機制。
區(qū)塊鏈應用體系架構(gòu)圖 a
1.網(wǎng)絡層
網(wǎng)絡層的主要目的是實現(xiàn)區(qū)塊鏈網(wǎng)絡節(jié)點之間的信息交互。區(qū)塊鏈的本質(zhì)是一 個點對點(P2P)網(wǎng)絡,每一個節(jié)點既能夠接收信息,也能夠生產(chǎn)信息,節(jié)點之間 通過維護一個共同的區(qū)塊鏈來保持通信。
在區(qū)塊鏈的網(wǎng)絡中,每一個節(jié)點都可以創(chuàng)造出新的區(qū)塊,新區(qū)塊被創(chuàng)造出以后, 會通過廣播的形式通知其他的節(jié)點,而其他節(jié)點反過來會對這個節(jié)點進行驗證。當 區(qū)塊鏈網(wǎng)絡中超過 51% 的用戶對其驗證通過以后,這個新的區(qū)塊就會被添加到主 鏈上。
2.共識層
共識層能夠讓高度分散的節(jié)點在去中心化的系統(tǒng)中針對區(qū)塊數(shù)據(jù)的有效性達成 共識。區(qū)塊鏈中比較常用的共識機制包括工作量證明、權(quán)益證明和股份授權(quán)證明等 多種,這部分內(nèi)容筆者在前面的章節(jié)已經(jīng)做了詳細解讀。
共識機制的作用主要有兩個,一個是獎勵,另一個是懲罰。比特幣和以太坊用 的是 PoW 工作量證明機制。此機制根據(jù)算力進行獎勵和懲罰,如有節(jié)點作弊,算 力會受到損失。
Bitshares、Steemit、EOS 采用 DPoS 股份授權(quán)證明機制,擁有代幣的人可以參與 節(jié)點的投票,被大家選出來的節(jié)點參與記賬,一旦作弊就會被系統(tǒng)投出。
其中的激勵功能主要是指給予代幣獎勵,鼓勵節(jié)點參與區(qū)塊鏈的安全驗證。例 如,在比特幣總量達到 2100 萬枚之前,比特幣的獎勵機制有兩種 :新區(qū)快產(chǎn)生后 系統(tǒng)獎勵的比特幣 ;每筆交易扣除的比特幣(手續(xù)費)。而當比特幣的總量達到 2100 萬枚時,新產(chǎn)生的區(qū)塊將不再生產(chǎn)比特幣,此時的獎勵主要是每筆交易所扣除 的手續(xù)費。
3.數(shù)據(jù)層
數(shù)據(jù)層是最底層的技術(shù),主要的功能為數(shù)據(jù)存儲、賬戶和交易的實現(xiàn)與安全。數(shù)據(jù)存儲主要基于 Merkle 樹,通過區(qū)塊的方式和鏈式結(jié)構(gòu)實現(xiàn),大多以 KV 數(shù)據(jù)庫 的方式實現(xiàn)持久化,如比特幣和以太坊采用的 LevelDB。
基于數(shù)字簽名、散列函數(shù)、非對稱加密技術(shù)等多種密碼學算法和技術(shù),以及賬 戶和交易的實現(xiàn)與安全功能,保證了交易能夠在去中心化的情況下安全進行。
設(shè)計區(qū)塊鏈系統(tǒng)的技術(shù)人員們首先建立的起始節(jié)點,被稱作是“創(chuàng)世區(qū)塊”, 之后在同樣的規(guī)則之下,創(chuàng)建規(guī)格相同的區(qū)塊,通過一個鏈式結(jié)構(gòu)依次相連組成一 條主鏈。隨著運行時間的增加,新的區(qū)塊通過驗證后,被不斷添加到主鏈上,主鏈 會不斷延長。
每一個區(qū)塊中同時也包含了許多技術(shù),如時間戳技術(shù),它的作用在于確保每一 個區(qū)塊都可以按時間的順序相連接,比如散列函數(shù),它是一種將任意長度的消息通 過散列算法壓縮到某一固定長度的消息摘要的函數(shù),它主要用于信息安全領(lǐng)域中加 密算法、文件檢驗、數(shù)字簽名和鑒權(quán)協(xié)議等。
4.合約層
所謂合約層主要是指各種腳本代碼、算法機制及智能合約等。智能合約是運行 在區(qū)塊鏈上的一段無須干預即可自動執(zhí)行的代碼,EVM 是智能合約運行的虛擬機, 人類通過智能合約,無須任何中介干預即可實現(xiàn)資產(chǎn)的轉(zhuǎn)移,同時也可以開發(fā)出一 些有價值的去中心化應用。
以比特幣為例,它是一種可編程的數(shù)字貨幣,合約層封裝的腳本中規(guī)定了比特 幣的交易方式和交易過程中所涉及的各種細節(jié)。
基于智能合約還可以構(gòu)建區(qū)塊鏈應用,不需要從零學習區(qū)塊鏈技術(shù)就可以方便 地開發(fā)自己的區(qū)塊鏈應用(DAPP)。如基于以太坊公鏈,開發(fā)者可以使用 Solidity 語言開發(fā)智能合約,構(gòu)建去中心化應用 ;基于 EOS,開發(fā)者可以使用 C++ 語言, 編寫自己的智能合約。
5.應用層
應用層封裝了區(qū)塊鏈的各種應用場景和案例,如基于區(qū)塊鏈的跨境支付平臺等, 它也是去中心化應用 DAPP。一個完整的 DAPP 包含智能合約和 Web 系統(tǒng),Web 系 統(tǒng)通過接口調(diào)用智能合約。
本層類似于計算機中的各種軟件程序,是普通人可以真正直接使用的產(chǎn)品,也 可以理解為 B/S 架構(gòu)的產(chǎn)品中的瀏覽器端(Browser)。
從目前的情況看,對于眾多用戶來講,除數(shù)字貨幣外,還找不到現(xiàn)成的區(qū)塊鏈 應用。如果想讓區(qū)塊鏈技術(shù)快速走進尋常百姓,服務于大眾,必須出現(xiàn)大量跟人們 生活、娛樂工具相結(jié)合的應用。
區(qū)塊鏈商業(yè)的技術(shù)架構(gòu)解讀(二)
中國信息通信研究院和可信區(qū)塊鏈推進計劃共同編寫了《區(qū)塊鏈白皮書(2018 年)》,對區(qū)塊鏈的技術(shù)體系做了總結(jié),也提出了一套參考架構(gòu),包括基礎(chǔ)設(shè)施、基 礎(chǔ)組件、賬本、共識、智能合約、接口、應用、操作運維和系統(tǒng)管理 9 部分。以下 內(nèi)容值得深入研究。
1.基礎(chǔ)組件層
基礎(chǔ)組件層可以實現(xiàn)區(qū)塊鏈系統(tǒng)網(wǎng)絡中信息的記錄、驗證和傳播。
在基礎(chǔ)組件層之中,區(qū)塊鏈是建立在傳播機制、驗證機制和存儲機制基礎(chǔ)上的 一個分布式系統(tǒng)。
2.賬本層
賬本層負責區(qū)塊鏈系統(tǒng)的信息存儲,包括收集交易數(shù)據(jù),生成數(shù)據(jù)區(qū)塊,對本 地數(shù)據(jù)進行合法性校驗,以及將校驗通過的區(qū)塊添加到鏈上。
賬本層有以下兩種數(shù)據(jù)記錄方式。
① 在基于資產(chǎn)的模型中,首先以資產(chǎn)為核心進行建模,然后記錄資產(chǎn)的所有權(quán), 即所有權(quán)是資產(chǎn)的一個字段。
② 在基于賬戶的模型中,建立賬戶作為資產(chǎn)和交易的對象,資產(chǎn)是賬戶下的一 個字段。
3.共識層
共識層負責綜合協(xié)調(diào)以保證全網(wǎng)各節(jié)點數(shù)據(jù)記錄的一致性。常見的共識機制可以分為兩大類。
(1) 概率性的共識機制
先寫入數(shù)據(jù),之后再達成共識,如 PoW、PoS、DPoS,大概率一致就達成共識, 計算的復雜度較高。如果一次共識出現(xiàn)多個記賬節(jié)點,就產(chǎn)生分叉,最終以最長鏈 為準。節(jié)點數(shù)量可以隨意改變,節(jié)點數(shù)越多,系統(tǒng)越穩(wěn)定。
(2) 確定性的共識機制?
先達成共識,之后再寫入,確認一致之后再達成共識,共識即確認,網(wǎng)絡復雜度高;它要求法定人數(shù)投票,各節(jié)點之間采用 P2P 廣播溝通,沒有分叉,如 PBFT、BFT 變種等; 隨著節(jié)點數(shù)增加,性能下降,節(jié)點數(shù)量不能隨意改變。
從應用來看,為提升效率,在共識機制的使用上,需在安全性、可靠性、開放 性等方面進行取舍,而且共識機制正在從單一向混合方向演進。
4.智能合約層
負責將區(qū)塊鏈系統(tǒng)的業(yè)務邏輯以代碼的形式實現(xiàn)、編譯并部署,完成既定規(guī)則 的條件觸發(fā)和自動執(zhí)行,最大限度地減少人工干預。
根據(jù)圖靈完備與否,智能合約層分為以下兩類。
① 圖靈完備的智能合約有較強的適應性,可以對邏輯較復雜的業(yè)務操作進行編 程,但有陷入死循環(huán)的可能。
② 圖靈不完備的智能合約,不能進行復雜的邏輯操作,但更加簡單、高效和 安全。
智能合約是區(qū)塊鏈安全風險的高發(fā)領(lǐng)域,在提升安全性能方面,有幾種參考思 維 :形式化驗證、智能合約加密及規(guī)范合約語言的語法格式。
5.應用層
作為最終呈現(xiàn)給用戶的部分,主要作用是調(diào)取智能合約層的接口,適配區(qū)塊鏈 的各類應用場景,為用戶提供服務。這份白皮書將應用劃成 3 種類型 :價值轉(zhuǎn)移、 存證及授權(quán)管理。
(1) 價值轉(zhuǎn)移類?
數(shù)字資產(chǎn)在不同賬戶之間轉(zhuǎn)移。
(2) 存證類?
將信息記錄到區(qū)塊鏈上,但沒有資產(chǎn)轉(zhuǎn)移。
(3) 授權(quán)管理類?利用智能合約控制數(shù)據(jù)訪問,如數(shù)據(jù)共享??偨Y(jié)起來就是,區(qū)塊是數(shù)據(jù)存儲的容器,而 P2P 網(wǎng)絡是保證區(qū)塊鏈運行的基礎(chǔ)協(xié)議,共識機制確保參與記賬的節(jié)點在沒有人干預的情況下可正常工作。應用層則 讓人們有了成熟的產(chǎn)品可以使用。
目前,一些公司搭建的區(qū)塊鏈平臺,如超級賬本(Hyperledger Fabric)、R3 區(qū) 塊鏈聯(lián)盟(R3CEV)、以太坊企業(yè)版等,均有獨到之處。例如,以太坊經(jīng)過數(shù)年的 發(fā)展,應用場景已經(jīng)多達 500 多個。
國內(nèi)金融機構(gòu)的區(qū)塊鏈應用仍以國外的 Fabric 平臺為主。不過,規(guī)模較大的參 與者先后開源底層技術(shù),這類似于當年安卓、iOS、黑莓等智能手機曾經(jīng)走過的路。例如,深圳前海微眾銀行股份有限公司、上海萬向區(qū)塊鏈股份公司、矩陣元技術(shù)(深 圳)有限公司聯(lián)合宣布,開源三方共同搭建的區(qū)塊鏈底層平臺 BCOS(Block Chain Open Source),進一步推動分布式商業(yè)生態(tài)系統(tǒng)的形成,區(qū)塊鏈底層平臺的格局初步顯現(xiàn)。