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