黃廷磊,鄧 松,張 姿,韓嘯宇,蔣建輝,宗云兵
(1.中國科學(xué)院軟件研究所,北京 100080;2.南京郵電大學(xué),江蘇南京 210003;3.桂林電子科技大學(xué),廣西桂林 541004;4.廣西科學(xué)院,廣西南寧 530007;5.山東產(chǎn)業(yè)技術(shù)研究院,山東濟(jì)南 250102)
當(dāng)前,國內(nèi)外工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)體系已基本構(gòu)建,全球工業(yè)互聯(lián)網(wǎng)平臺市場持續(xù)高速增長,行業(yè)應(yīng)用水平持續(xù)提升,工業(yè)互聯(lián)網(wǎng)取得重大發(fā)展成效。工業(yè)互聯(lián)網(wǎng)的本質(zhì)是設(shè)備、生產(chǎn)線、工廠、供應(yīng)商、產(chǎn)品和客戶緊密連接起來,共享各生產(chǎn)數(shù)據(jù)要素,通過自動化、智能化的高效生產(chǎn)方式降低經(jīng)營和生產(chǎn)成本,推動工業(yè)轉(zhuǎn)型發(fā)展[1]。工業(yè)互聯(lián)網(wǎng)是全球工業(yè)系統(tǒng)與高級計算、分析、傳感技術(shù)以及互聯(lián)網(wǎng)的高度融合,它通過智能機(jī)器間的連接最終將人機(jī)連接,結(jié)合軟件和大數(shù)據(jù)分析,重構(gòu)全球工業(yè)、激發(fā)生產(chǎn)率,讓世界更快速、更安全、更清潔且更經(jīng)濟(jì)[2]。
然而,隨著工業(yè)互聯(lián)網(wǎng)不斷深入發(fā)展,數(shù)據(jù)隱私泄露、數(shù)據(jù)確權(quán)、數(shù)據(jù)安全、數(shù)據(jù)追溯等不少問題逐步凸顯。在工業(yè)互聯(lián)網(wǎng)中,數(shù)據(jù)作為一種新型生產(chǎn)資料要素,缺乏有效管理,直接制約不同參與方之間的可信協(xié)作。區(qū)塊鏈采用一種分布式技術(shù),其多方共治共管架構(gòu)、密碼學(xué)加密運算和共識合約機(jī)制,能夠?qū)崿F(xiàn)數(shù)據(jù)的多方維護(hù)、交叉驗證、全網(wǎng)一致、防篡改、可追溯等,為工業(yè)互聯(lián)網(wǎng)中數(shù)據(jù)要素的配置管理提供新的解決方案。作為七大新基建技術(shù)之一的區(qū)塊鏈技術(shù),必將成為數(shù)字時代和信息社會的信任基石,對各行各業(yè)影響深遠(yuǎn)[3]。區(qū)塊鏈被稱為第四次工業(yè)革命的支柱,將其與引發(fā)前幾次工業(yè)革命的蒸汽機(jī)和互聯(lián)網(wǎng)等技術(shù)進(jìn)行比較,它有能力破壞現(xiàn)有的經(jīng)濟(jì)和商業(yè)模式,且已證明其在新興市場經(jīng)濟(jì)體特別有價值。
工業(yè)互聯(lián)網(wǎng)作為工業(yè)全要素、全產(chǎn)業(yè)鏈、全價值鏈連接的樞紐,旨在實現(xiàn)設(shè)備、企業(yè)、人、機(jī)構(gòu)之間的可信互聯(lián)。而工業(yè)互聯(lián)網(wǎng)中不同參與方之間的可信協(xié)作,需要對工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)要素進(jìn)行有效管理。區(qū)塊鏈作為數(shù)字加密技術(shù)、網(wǎng)絡(luò)技術(shù)、計算技術(shù)、可信共享等多種信息技術(shù)交織融合的產(chǎn)物,能夠利用密碼學(xué)技術(shù)和分布式共識協(xié)議來保證網(wǎng)絡(luò)傳輸與訪問安全,實現(xiàn)數(shù)據(jù)多方維護(hù)、交叉驗證、全網(wǎng)一致、不易篡改。區(qū)塊鏈作為面向數(shù)據(jù)要素管理的新一代信息基礎(chǔ)設(shè)施類技術(shù)[4],為工業(yè)互聯(lián)網(wǎng)中數(shù)據(jù)要素的配置管理提供了新的解決方案。
工業(yè)區(qū)塊鏈即是將區(qū)塊鏈原理和技術(shù)運用于工業(yè)互聯(lián)網(wǎng)領(lǐng)域,賦能工業(yè)互聯(lián)網(wǎng)中的數(shù)據(jù)流通、數(shù)據(jù)安全和促進(jìn)價值相關(guān)轉(zhuǎn)換環(huán)節(jié),為工業(yè)互聯(lián)網(wǎng)上數(shù)據(jù)交換共享、確權(quán)、確責(zé)以及海量設(shè)備接入認(rèn)證與安全管控等方面注入新的安全能力。區(qū)塊鏈賦予數(shù)據(jù)難以篡改的特性,進(jìn)而保障數(shù)據(jù)傳輸和信息交互的可信和透明,有效提升各制造環(huán)節(jié)生產(chǎn)要素的優(yōu)化配置能力, 加強(qiáng)不同制造主體之間的協(xié)作共享,以低成本建立互信的“機(jī)器共識”和 “算法透明”,加速重構(gòu)現(xiàn)有的業(yè)務(wù)和商業(yè)模式。
工業(yè)區(qū)塊鏈的概念初見萌芽但尚未引起業(yè)內(nèi)廣泛研討和充分重視。區(qū)塊鏈作為信息技術(shù)時代新型基礎(chǔ)設(shè)施建設(shè)的信任基石,無論從安全角度還是改善運營效率和降低成本的角度,其應(yīng)用空間勢必從虛擬貨幣、金融領(lǐng)域向工業(yè)互聯(lián)網(wǎng)等影響人類生產(chǎn)生活更廣泛的領(lǐng)域滲透。
目前,區(qū)塊鏈技術(shù)已經(jīng)發(fā)展到第四代,如圖1所示[5]。前三代主要是做橫向擴(kuò)展,解決加密數(shù)字貨幣、超級賬本和去中心化應(yīng)用問題。隨著工業(yè)4.0的推進(jìn),區(qū)塊鏈將在性能和隱私方面深耕。與傳統(tǒng)的區(qū)塊鏈相比,工業(yè)區(qū)塊鏈的四大核心技術(shù)依然是分布式賬本、共識機(jī)制、密碼學(xué)以及智能合約,它們分別起到數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)安全以及數(shù)據(jù)應(yīng)用的作用,但工業(yè)區(qū)塊鏈對公用賬本和分布式數(shù)據(jù)庫的實時性能、大數(shù)據(jù)存儲、隱私計算問題有更高要求。
圖1 區(qū)塊鏈發(fā)展路線示意Fig.1 Diagram of blockchain development
分布式賬本構(gòu)建了區(qū)塊鏈的框架,其本質(zhì)是一個分布式數(shù)據(jù)庫,在區(qū)塊鏈中起數(shù)據(jù)儲存的作用。跟傳統(tǒng)分布式存儲有所不同,區(qū)塊鏈分布式存儲的獨特性主要體現(xiàn)在2個方面:一是區(qū)塊鏈每個節(jié)點都按照塊鏈?zhǔn)浇Y(jié)構(gòu)存儲完整的數(shù)據(jù),而傳統(tǒng)分布式存儲一般是將數(shù)據(jù)按照一定的規(guī)則分成多份進(jìn)行存儲。二是區(qū)塊鏈每個節(jié)點存儲都是獨立的、地位等同的,依靠共識機(jī)制保證存儲的一致性,而傳統(tǒng)分布式存儲一般是通過中心節(jié)點往其他備份節(jié)點同步數(shù)據(jù)。區(qū)塊鏈作為一種IO敏感的分布式數(shù)據(jù)庫,底層存儲通常首選效率較高的NoSQL數(shù)據(jù)庫,例如LevelDB、CouchDB、RocksDB等。同時,鑒于應(yīng)用層多使用關(guān)系型數(shù)據(jù)庫的現(xiàn)實,鏈系統(tǒng)提供了靈活可插拔的多種數(shù)據(jù)庫支持。
共識機(jī)制在區(qū)塊鏈中起統(tǒng)籌節(jié)點行為、明確數(shù)據(jù)處理的作用。因為分布式賬本去中心化的特點,決定了區(qū)塊鏈網(wǎng)絡(luò)是一個分布式的結(jié)構(gòu),每個節(jié)點都可以自由地加入其中,共同參與數(shù)據(jù)的記錄。但與此同時,衍生出令人頭疼的“拜占庭將軍問題”,即網(wǎng)絡(luò)中參與的節(jié)點數(shù)越多,全網(wǎng)就越難以達(dá)成統(tǒng)一,需要一套機(jī)制來協(xié)調(diào)全節(jié)點賬目保持一致。區(qū)塊鏈提出了4種不同的共識機(jī)制:工作量證明、權(quán)益證明、委托權(quán)益證明和重要性證明,適用于不同的應(yīng)用場景,在效率和安全性之間取得平衡。目前主流的聯(lián)盟鏈偏好高效、確定性的共識機(jī)制,多共識支持趨勢凸顯。相對于公鏈希望“全民公投”的共識,聯(lián)盟鏈注重共識效率和共識確定性,例如類 BFT共識、Raft 共識等。此外,為適應(yīng)不同應(yīng)用場景,聯(lián)盟鏈產(chǎn)品已提供可插拔多種共識機(jī)制的支持,多共識支持逐漸成為主流。
非對稱加密和授權(quán)技術(shù),保證了數(shù)據(jù)的安全,驗證了數(shù)據(jù)的歸屬。存儲在區(qū)塊鏈上的交易信息是公開的,但是賬戶身份信息是高度加密的,只有在數(shù)據(jù)擁有者授權(quán)的情況下才能訪問,從而保證數(shù)據(jù)的安全和個人的隱私。數(shù)據(jù)進(jìn)入分布式數(shù)據(jù)庫中,也不是單純地打包,底層的數(shù)據(jù)構(gòu)架則是由區(qū)塊鏈密碼學(xué)來決定的。打包好的數(shù)據(jù)塊,會通過密碼學(xué)中的哈希函數(shù)處理成一個鏈?zhǔn)降慕Y(jié)構(gòu),后一個區(qū)塊包含前一個區(qū)塊的哈希值。因為哈希算法具備單向性、抗篡改等特點,所以在區(qū)塊鏈網(wǎng)絡(luò)中,數(shù)據(jù)一旦上鏈就不可篡改且可追溯。目前多數(shù)聯(lián)盟鏈支持國密SM2、SM3、SM4配置,逐漸成為聯(lián)盟鏈的標(biāo)準(zhǔn)配置。
智能合約在區(qū)塊鏈中起數(shù)據(jù)執(zhí)行與應(yīng)用的功能,可以自動化地執(zhí)行一些預(yù)先定義好的規(guī)則和條款。在分布式賬本的基礎(chǔ)上,可以通過智能合約,將用戶之間的約定由代碼的形式把條件羅列清楚,并通過程序來執(zhí)行,而區(qū)塊鏈中的數(shù)據(jù),則可以通過智能合約調(diào)用。依托Hyperledger Fabric和以太坊的強(qiáng)大生態(tài),Chaincode合約和EVM合約備受歡迎,成為多數(shù)聯(lián)盟鏈都支持的合約類型。此外,WASM合約憑借移植性好、加載快、效率高、社區(qū)生態(tài)好的特點,成為區(qū)塊鏈合約體系的新寵。
總的來說,四大核心技術(shù)在區(qū)塊鏈中各盡其職,它們共同構(gòu)建了區(qū)塊鏈的基礎(chǔ)。
區(qū)塊鏈價值的前景很吸引人,但區(qū)塊鏈在工業(yè)應(yīng)用中的適應(yīng)和部署面臨著許多挑戰(zhàn)。一些關(guān)鍵挑戰(zhàn),既是技術(shù)性的,也是非技術(shù)性的。技術(shù)性的挑戰(zhàn)與安全、性能和多鏈融合有關(guān),而非技術(shù)性的挑戰(zhàn)與隱私和政府法規(guī)有關(guān)。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,企業(yè)原來的層級式組織、集中管控模式朝著自組織、生態(tài)組織發(fā)展演化。市場競爭格局以組建生態(tài)聯(lián)盟為主,聯(lián)盟內(nèi)企業(yè)越來越多地依賴與外界進(jìn)行交互和協(xié)同。企業(yè)在系統(tǒng)內(nèi)部容易建立信任,但系統(tǒng)之間的信任卻難以實現(xiàn)。以區(qū)塊鏈為代表的新一代信息技術(shù),基于密碼學(xué)原理而無需第三方信任中介參與,實現(xiàn)互聯(lián)網(wǎng)上的企業(yè)可信價值傳遞。由多個區(qū)塊鏈系統(tǒng)信任鏈接形成多方協(xié)作的平臺,這就是聯(lián)盟鏈的基礎(chǔ)。
面對工業(yè)互聯(lián)網(wǎng)的發(fā)展問題,區(qū)塊鏈應(yīng)用面臨著交易性能不足、跨鏈交互難以實現(xiàn)及隱私保護(hù)薄弱等多個主要問題。在交易性能方面,目前研究熱點主要是采用分片、鏈下存儲和鏈下支付網(wǎng)絡(luò)等技術(shù);在跨鏈交互方面,主要研究熱點是公證人機(jī)制、側(cè)鏈、哈希鎖定和分布式密鑰控制技術(shù);在隱私保護(hù)方面,主要研究熱點是支持最新國密算法、二級證書、訪問控制等技術(shù)。
交易性能通常用每秒交易數(shù)量來表征。傳統(tǒng)比特幣項目中,比特幣的交易性能為7,以太坊為15,遠(yuǎn)低于中心化交易系統(tǒng)Visa的1 700,不能和天貓50多萬的交易吞吐能力相比。分片是為了解決交易性能的不足,許多研究者提出了分片、鏈下存儲、鏈下支付網(wǎng)絡(luò)等技術(shù)。
3.1.1 分片
分片技術(shù)的思想源自傳統(tǒng)中心化系統(tǒng)的分布式架構(gòu),例如谷歌BigTable和MapReduce,Apache基金會的Hadoop和Cassandra等系統(tǒng)。分布式架構(gòu)通過增加節(jié)點數(shù)量實現(xiàn)系統(tǒng)性能的線性增加,該過程的核心技術(shù)之一就是分片。分片是先將整個系統(tǒng)的狀態(tài)劃分為多個獨立的子狀態(tài),之后構(gòu)建節(jié)點集群并行處理各子狀態(tài)。因此,分片實現(xiàn)了由單路串行到多路并行的跨越,從而實現(xiàn)交易吞吐量的提升??梢赃@樣理解分片:分片涉及將一個數(shù)據(jù)表拆分為可以用作新表的行,這些行稱為分區(qū),并且包含不依賴于其他表中存儲的數(shù)據(jù)。這些分區(qū)有助于降低每個節(jié)點上數(shù)據(jù)庫的大小,從而改進(jìn)數(shù)據(jù)庫的性能。
2016年,Elastico協(xié)議被提出,被認(rèn)為是對區(qū)塊鏈分片的早期探索。作為第一代分片擴(kuò)容方案,Elastico采用PoW進(jìn)行節(jié)點身份建立,并采用BFT達(dá)成共識,對后續(xù)多個項目起到了很好的指導(dǎo)作用。值得一提的是,分片在一定程度上降低了區(qū)塊鏈系統(tǒng)的安全性,為此需要對所有分片進(jìn)行拜占庭校驗,以限制惡意節(jié)點的最大數(shù)量。楊耀東等[6]在區(qū)塊鏈性能提升技術(shù)研究中提到,在設(shè)計分片時要考慮分區(qū)狀態(tài)的選擇、確保操作語義完整性、負(fù)載均衡和重新分片等問題;并以QuarkChain為例,介紹了分片方案的總體設(shè)計、系統(tǒng)狀態(tài)的分割、QuarkChain轉(zhuǎn)賬和再分片等內(nèi)容。潘晨等[7]介紹了區(qū)塊鏈可擴(kuò)展性的研究。
上海交大、國防科大等團(tuán)隊在區(qū)塊鏈擴(kuò)容相關(guān)研究中,詳細(xì)介紹了典型區(qū)塊鏈項目Elastico和Zilliqa[7,8]。Elastico和Zilliqa都采用PoW作為分片算法,片內(nèi)的共識過程則采用PBFT算法。為了抵御女巫攻擊[9],在共識之初,進(jìn)行簡單的工作量證明以建立參與PBFT共識的身份。將全網(wǎng)節(jié)點劃分為不同子集的判據(jù)主要基于PoW的結(jié)果。通過建立一個隨機(jī)模型可以獲得這樣的結(jié)論:當(dāng)分片大小超過600時,即使攻擊者掌握1/3以上的算力,其控制一個分片的概率可以忽略不計。Elastico方案主要基于UTXO模型[10],用戶在鏈上進(jìn)行交易時需要創(chuàng)建一個收據(jù),這樣就可以允許用戶將數(shù)據(jù)存儲到一個特定的分片中,并且分片上的用戶可以創(chuàng)建一個消費收據(jù)的交易。因此,在交易過程中Elastico能夠有效抵御雙花攻擊[11]。Zilliqa主要基于賬戶模型,交易進(jìn)行時,通過發(fā)送者的身份作為基準(zhǔn)來映射到不同的分片。在共識過程中,不同發(fā)送者的交易可能會映射到不同的分片中,但同一發(fā)送者的交易會映射到同一分片,因此也能夠抵御雙花攻擊。Hafid等[12]就區(qū)塊鏈的擴(kuò)容性進(jìn)行了全面研究,并按照共識算法的不同將主要的分片方案進(jìn)行綜述,分為(1)基于PoW和PFT的分片方案,(2)基于PoS和PFT的分片方案,(3)基于其他共識算法的分片方案。
3.1.2 鏈下存儲
在實際商務(wù)和工業(yè)互聯(lián)網(wǎng)環(huán)境中,多種設(shè)備和系統(tǒng)會產(chǎn)生大量數(shù)據(jù)。由于區(qū)塊鏈特性,每一個節(jié)點必須保存和處理上鏈的完整交易數(shù)據(jù),以實現(xiàn)去中心化要求。在這種情況下,工業(yè)區(qū)塊鏈幾乎無法滿足正常的存儲和計算要求,因此必須研究鏈下存儲方案,釋放鏈上存儲和計算壓力。
Zyskind等[13]采用分布式哈希表設(shè)計了鏈下存儲方案。原始全量數(shù)據(jù)存儲在鏈下的哈希表里,鏈上只存儲原始數(shù)據(jù)的引用。數(shù)據(jù)引用一般通過SHA-256哈希處理獲得。分布式哈希表(Distributed Hash Table,DHT)是一種分布式存儲技術(shù),無需中心服務(wù)器,每個區(qū)塊鏈節(jié)點負(fù)責(zé)局部路由并存儲小部分?jǐn)?shù)據(jù),從而實現(xiàn)網(wǎng)絡(luò)尋址和存儲[14]。星際文件系統(tǒng)(Inter Planetary File System,IFPS)是一種分布式文件系統(tǒng)[15,16],具有內(nèi)容尋址特性,即內(nèi)容本身決定了內(nèi)容位置。文件存儲后,經(jīng)過哈希處理會得到一個文件引用。文件引用可以作為文件索引,也可以檢驗文件內(nèi)容是否被篡改。Xie等[17]還提及,IPFS內(nèi)置了激勵層Filecion和新的共識協(xié)議存儲證明(Proof of Storage,PoS)。
此外,基于美國SLAC國家加速器實驗室,研究者還搭建了聯(lián)合DHT和IPFS的融合鏈下存儲框架[18,19]。Ali[20]和He等[21]團(tuán)隊提出了基于云模式的鏈下存儲方案。
3.1.3 鏈下支付網(wǎng)絡(luò)
網(wǎng)絡(luò)是影響區(qū)塊鏈交易性能的又一重要因素。傳統(tǒng)區(qū)塊鏈網(wǎng)絡(luò)是一種廣播機(jī)制,要求每一個節(jié)點對所有交易進(jìn)行中繼轉(zhuǎn)播。當(dāng)面臨大量、頻繁交易時,傳統(tǒng)區(qū)塊鏈網(wǎng)絡(luò)往往由于帶寬不足而導(dǎo)致嚴(yán)重?fù)矶拢罱K導(dǎo)致交易性能下降。采用鏈下支付網(wǎng)絡(luò),可以將大量頻繁的交易遷移到鏈下進(jìn)行,即采用鏈下支付網(wǎng)絡(luò)的方式降低鏈上數(shù)據(jù)存儲、傳輸、計算的壓力,從而提升交易性能。需要注意的是,鏈下支付網(wǎng)絡(luò)降低了區(qū)塊鏈系統(tǒng)的去中心化程度,這在公鏈(非許可鏈)中有一定的安全隱患,但在工業(yè)區(qū)塊鏈(許可鏈)的場景下,特別是對節(jié)點用戶有一定準(zhǔn)入門檻要求的情況下,影響較小。鏈下支付網(wǎng)絡(luò)比較經(jīng)典的有比特幣的閃電網(wǎng)絡(luò)[22]和以太坊的雷電網(wǎng)絡(luò)[23]。這2種網(wǎng)絡(luò)在保證區(qū)塊鏈底層協(xié)議不變的同時,將交易搬運至鏈下進(jìn)行??梢岳斫鉃椋灰走^程中,只有粗粒度的交易目錄記錄在鏈上,交易詳情則記錄在鏈下。
閃電網(wǎng)絡(luò)是最早通過鏈下支付通道形成支付網(wǎng)絡(luò),實現(xiàn)交易吞吐量提升的方案。閃電網(wǎng)絡(luò)本質(zhì)上是一種狀態(tài)通道,它使用智能合約技術(shù)來實現(xiàn)鏈下安全交易,包括可撤銷順序完備合約(Recoverable Sequence Maturity Contract,RSMC)和哈希時間鎖合約(Hashed Time-Lock Contract,HTLC)[24]。RSMC實現(xiàn)了雙人雙向交易通道。它通過押金機(jī)制建立資金池,每次交易涉及對資金池分配方案的調(diào)整和簽名驗證。交易結(jié)束時,智能合約按照最新資金分配方案在鏈上廣播,并由節(jié)點確認(rèn)。HTLC通過資金凍結(jié)、哈希運算、哈希驗證等實現(xiàn)交易。基于哈希時間鎖合約,可以將RSMC中的資金池連成網(wǎng)絡(luò),進(jìn)而可以為網(wǎng)絡(luò)中的任意2個節(jié)點間搭建交易通道。
雷電網(wǎng)絡(luò)的提出,主要是為了解決閃電網(wǎng)絡(luò)方案中效率、可用性不足的問題。雷電網(wǎng)絡(luò)承接了閃電網(wǎng)絡(luò)的基本架構(gòu)[25],但在腳本系統(tǒng)方面完全突破了比特幣網(wǎng)絡(luò)的限制,可以實現(xiàn)靈活的智能合約,完善了支付通道懲罰交易的存儲策略。雷電網(wǎng)絡(luò)中,懲罰交易基于交易雙方的交易輪數(shù)的簽名,只要一方出示更高交易輪數(shù)的簽名,即可判定另一方存在作惡[26]。
其他常見鏈下支付網(wǎng)絡(luò)技術(shù)還有Sprites[27]、微雷電網(wǎng)絡(luò)、Trinity[28]等。
區(qū)塊鏈在設(shè)計之初并未考慮不同鏈之間的信息交互需求,導(dǎo)致在不同企業(yè)或企業(yè)不同部門分別部署區(qū)塊鏈后,無法進(jìn)行鏈間數(shù)據(jù)資產(chǎn)交換,從而無法實現(xiàn)價值傳輸??珂溨饕譃?個階段:資產(chǎn)在A鏈上的鎖定和相應(yīng)資產(chǎn)在B鏈上的解鎖。如何確保鎖定與解鎖以及確保鎖定與解鎖成功或失敗的原子性,是跨鏈技術(shù)的主要問題。為解決這些問題,目前研究的主流技術(shù)包括公證人機(jī)制、側(cè)鏈/中繼、哈希鎖定和分布式密鑰控制技術(shù)等。
3.2.1 公證人機(jī)制
在工業(yè)區(qū)塊鏈中,如果需要交易的2條區(qū)塊鏈沒有形成非常信任的關(guān)系,則需要找第三方中介作為公證人,由這個公證人作為中介進(jìn)行跨鏈消息的驗證和轉(zhuǎn)發(fā)。公證人機(jī)制主要包括3種類型:單簽名公證人、多簽名公證人和分布式簽名公證人。單簽名公證人通常由單一指定的獨立節(jié)點或者機(jī)構(gòu)充當(dāng),同時承擔(dān)數(shù)據(jù)收集、交易確認(rèn)和驗證等任務(wù)。多簽名公證人通常由多節(jié)點或機(jī)構(gòu)充當(dāng)。他們在各自賬本上共同簽名達(dá)成共識后才能完成交易。分布式簽名公證人類似多簽名公證人機(jī)制,但不同的是它采用了多方計算技術(shù),安全性更高。
3.2.2 側(cè)鏈/中繼
與公證人機(jī)制不同,側(cè)鏈更加強(qiáng)調(diào)通過去中心化的方式實現(xiàn)跨鏈溝通。側(cè)鏈的實現(xiàn)基于某種通用證書在主鏈上的錨定。側(cè)鏈通過簡易支付驗證(Simplified Payment Verification,SPV)楔入技術(shù)實現(xiàn)主鏈資產(chǎn)向側(cè)鏈轉(zhuǎn)移,側(cè)鏈上的功能操作僅對被轉(zhuǎn)移資產(chǎn)有效,而不會對主鏈造成影響。
BTC-Relay是一種代表性側(cè)鏈技術(shù)。作為最早的側(cè)鏈技術(shù),通過使用以太坊的智能合約,BTC-Relay連接了以太坊和比特幣的網(wǎng)絡(luò),并最終實現(xiàn)了用戶在以太坊網(wǎng)絡(luò)上驗證比特幣上的交易。一定程度上,可以說BTC-Relay創(chuàng)造了另一個比特幣子網(wǎng)絡(luò)。
Cosmos是另一種側(cè)鏈技術(shù)。該技術(shù)是Tendermint團(tuán)隊研發(fā)的一種異質(zhì)跨鏈網(wǎng)絡(luò)[29]。Cosmos采用了Tendermint共識協(xié)議[30],它具有類似拜占庭容錯共識引擎的高性能、一致性特點,同時嚴(yán)格限制了分叉。Cosmos使用中繼技術(shù)實現(xiàn)不同區(qū)塊鏈之間的通信。在Cosmos中,通過Hub連接所有區(qū)塊鏈并實現(xiàn)中繼功能。任何連接的區(qū)塊鏈需實時將更新狀態(tài)告知Hub。
3.2.3 哈希鎖定
哈希鎖定的主要特點是用戶雙方共用一個密鑰完成資產(chǎn)交換,并采用時間鎖和智能合約來保證交易的原子性[31]。哈希鎖定的主要原理如下:在不同鏈之間設(shè)定相互操作的觸發(fā)器,該觸發(fā)器通常為某個待披露明文隨機(jī)數(shù)的哈希值。該哈希值作為一個通信密鑰,只有獲得密鑰的用戶,才能獲得資產(chǎn)。同時,哈希鎖定中還構(gòu)造了2個贖回合約,需要在有限時間內(nèi)完成雙重簽名。
3.2.4 分布式密鑰控制技術(shù)
分布式密鑰控制技術(shù)由Fusion提出,通過分布式密鑰生成算法和門限簽名技術(shù)保證了跨鏈資產(chǎn)的鎖定和解鎖[32]。該技術(shù)的核心在于分布式控制權(quán)的管理,即將資產(chǎn)的所有權(quán)和使用權(quán)分離,將原鏈上數(shù)字資產(chǎn)的控制權(quán)安全地轉(zhuǎn)移至非中心化系統(tǒng)中,規(guī)定參與共識的所有節(jié)點通過分布式密鑰控制技術(shù)才可完成鎖定和解鎖,從而避免了少數(shù)節(jié)點作惡的發(fā)生。
每種類型的區(qū)塊鏈都有不同的隱私問題。全部參與者的公共區(qū)塊鏈都可以查看,因此很難維護(hù)任何參與的行業(yè)實體的隱私,以及在此類區(qū)塊鏈中進(jìn)行一些交易。對于財團(tuán)區(qū)塊鏈,隱私不能完全維護(hù),因為有一些被選擇的參與者可以查看所有事務(wù)。私有區(qū)塊鏈可以提供相對更好的隱私程度,但只由單個實體控制[33],通常被認(rèn)為是一個不安全的環(huán)境。
區(qū)塊鏈針對網(wǎng)絡(luò)層和數(shù)據(jù)層分別有不同的隱私保護(hù)策略。網(wǎng)絡(luò)層防御機(jī)制的重點是增加攻擊者搜索網(wǎng)絡(luò)層數(shù)據(jù)的難度,主要包括限制接入、惡意節(jié)點檢測、數(shù)據(jù)混淆等具體技術(shù);數(shù)據(jù)層保護(hù)機(jī)制的側(cè)重點是在滿足區(qū)塊鏈正常運行的技術(shù)上,防止惡意節(jié)點獲得準(zhǔn)確的交易數(shù)據(jù),主要包括數(shù)據(jù)失真、數(shù)據(jù)加密、限制發(fā)布等具體技術(shù)。
3.3.1 國密算法
作為一種顛覆性的革命技術(shù),區(qū)塊鏈的發(fā)展尤為迅速,我國對于區(qū)塊鏈的研究更是處于世界前列。但是,也如我國在某些科研領(lǐng)域存在“卡脖子”問題一樣,在區(qū)塊鏈技術(shù)中也因為其采用國際通用密碼算法作為安全模塊,使得當(dāng)前的區(qū)塊鏈架構(gòu)缺乏自主可控性,制約了區(qū)塊鏈技術(shù)在我國的發(fā)展。國產(chǎn)密碼算法的安全性、穩(wěn)定性、自主可控性可彌補(bǔ)區(qū)塊鏈在密碼算法方面的缺陷。因此,Frage-lamas等[34]提出基于國密算法的區(qū)塊鏈架構(gòu)——“國密鏈”,以國密算法SM2、SM3替換國際通用密碼算法的ECC、SHA-256。同時,針對當(dāng)前區(qū)塊鏈架構(gòu)面臨的共識算法妥協(xié)的現(xiàn)狀,設(shè)計“可插拔共識”協(xié)議,解決當(dāng)前區(qū)塊鏈架構(gòu)面臨的共識算法不可更改的問題。實驗結(jié)果表明,“國密鏈”與普通區(qū)塊鏈架構(gòu)在一致性、有效性相近的情況下,擁有更高的共識效率、更低的資源開銷?!盎趪芩惴ǖ膮^(qū)塊鏈架構(gòu)研究”是一套以區(qū)塊鏈作為存儲媒介及基礎(chǔ)網(wǎng)絡(luò)架構(gòu),并將區(qū)塊鏈核心密碼算法替換為國產(chǎn)商密算法的新型通用區(qū)塊鏈架構(gòu)模型,其主要目的為通過以國密算法替換比特幣中通用密碼算法的方式,在保證區(qū)塊鏈功能簡潔高效的同時,實現(xiàn)區(qū)塊鏈的安全并自主可控,是一次將區(qū)塊鏈技術(shù)與國產(chǎn)密碼技術(shù)相結(jié)合的科技創(chuàng)新。
3.3.2 二級證書
二級證書機(jī)制由開源聯(lián)盟鏈Hyperledger Fabric設(shè)計并提出。二級證書指的是注冊證書(Ecert)和交易證書(Tcert)。Fabric中的成員管理服務(wù)為區(qū)塊鏈網(wǎng)絡(luò)提供了基于PKI的身份管理機(jī)制,實施交易的權(quán)限管制。成員管理服務(wù)利用注冊-交易兩級安全證書體系實現(xiàn)前臺匿名、后臺可監(jiān)管的需求。
3.3.3 訪問控制
訪問控制是改善工業(yè)物聯(lián)網(wǎng)系統(tǒng)隱私和安全性的一個關(guān)鍵方面。聯(lián)盟是一個由2個或2個以上的機(jī)構(gòu)、企業(yè)和公司組成的團(tuán)體,它們合作實現(xiàn)共同目標(biāo)或形成資源庫,以實現(xiàn)共享經(jīng)濟(jì)。然而,大多數(shù)訪問控制方法都基于集中式解決方案,這可能導(dǎo)致數(shù)據(jù)泄漏和單點故障等問題。區(qū)塊鏈技術(shù)具有其固有的分布式特征,可以解決傳統(tǒng)訪問控制方案的集中式問題。然而,區(qū)塊鏈本身也有一些局限性,比如缺乏可擴(kuò)展性和性能差。為了彌補(bǔ)這些局限,F(xiàn)ortuna等[36]提出一種基于分散能力的訪問控制體系結(jié)構(gòu),該體系結(jié)構(gòu)設(shè)計用于工業(yè)物聯(lián)網(wǎng)聯(lián)盟網(wǎng)絡(luò)。該解決方案使用基于區(qū)塊鏈的數(shù)據(jù)庫,以獲得更好的性能,顯示了區(qū)塊鏈和傳統(tǒng)數(shù)據(jù)庫的良好特性,可滿足企業(yè)和業(yè)務(wù)的需求,并適用于不同的工業(yè)物聯(lián)網(wǎng)互操作性場景。
在工業(yè)區(qū)塊鏈應(yīng)用方面,已有國內(nèi)外許多學(xué)者和研究團(tuán)隊針對工業(yè)區(qū)塊鏈的應(yīng)用現(xiàn)狀作了綜述性觀察分析和研究,應(yīng)用領(lǐng)域包括智能制造、物聯(lián)網(wǎng)、能源、教育、供應(yīng)鏈、電子商務(wù)、知識產(chǎn)權(quán)確權(quán)、醫(yī)療等[5,37-45]。在細(xì)分領(lǐng)域方面,已有不同團(tuán)隊針對汽車、水運、食品等領(lǐng)域就如何結(jié)合工業(yè)區(qū)塊鏈開展場景應(yīng)用作了研究[46]。
工業(yè)互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟等發(fā)布的《工業(yè)區(qū)塊鏈應(yīng)用白皮書》(以下簡稱《白皮書》)也著重探討了工業(yè)區(qū)塊鏈的應(yīng)用原理、應(yīng)用架構(gòu)、應(yīng)用場景、應(yīng)用價值、應(yīng)用案例等[47]?;趨^(qū)塊鏈的高安全可信、多方驗證、無需第三方中介等優(yōu)勢,工業(yè)區(qū)塊鏈的應(yīng)用主要分為兩方面:一是企業(yè)層區(qū)塊鏈應(yīng)用,包括企業(yè)內(nèi)數(shù)據(jù)安全共享和企業(yè)內(nèi)設(shè)備安全管理;二是產(chǎn)業(yè)層區(qū)塊鏈應(yīng)用,包括產(chǎn)業(yè)鏈協(xié)同和產(chǎn)融協(xié)同。企業(yè)層應(yīng)用方面,主要解決設(shè)備身份管理、設(shè)備訪問控制和設(shè)備生產(chǎn)流程管理。產(chǎn)業(yè)鏈協(xié)同應(yīng)用方面,《白皮書》指出,產(chǎn)業(yè)鏈協(xié)同網(wǎng)絡(luò)由多方構(gòu)成,從產(chǎn)品生產(chǎn)端到消費端。產(chǎn)業(yè)鏈主體地理位置分散、難以交互,提高了多方協(xié)同的門檻和復(fù)雜度。通過工業(yè)區(qū)塊鏈技術(shù),可以實現(xiàn)信息資源共享,從而提升透明度和協(xié)同性。例如,通過工業(yè)區(qū)塊鏈實現(xiàn)供應(yīng)鏈可視化、工業(yè)物流管理、分布式生產(chǎn)和工業(yè)品回收利用等。產(chǎn)融協(xié)同應(yīng)用方面,基于產(chǎn)業(yè)體系內(nèi)部可信業(yè)務(wù)信息,金融業(yè)務(wù)可以嵌入開展,形成產(chǎn)融協(xié)同新模式。通過工業(yè)區(qū)塊鏈平臺的共享賬本,可以實現(xiàn)產(chǎn)業(yè)運作真實過程數(shù)據(jù)的共享,實現(xiàn)對目標(biāo)客戶提供多樣化、定制化金融服務(wù)的目的。例如開展工業(yè)企業(yè)供應(yīng)鏈金融、工業(yè)設(shè)備融資租賃、工業(yè)設(shè)備二手交易、新能源消納等場景應(yīng)用。
區(qū)塊鏈在許多領(lǐng)域仍處于起步階段,需要進(jìn)一步研究和開發(fā)。區(qū)塊鏈?zhǔn)找娴那熬笆菑?qiáng)大的,但目前仍難以充分挖掘這些收益的潛力,其中很多問題是由前面討論的要求決定的。任何工業(yè)應(yīng)用的主要問題是安全和隱私引入使可能的解決方案進(jìn)一步復(fù)雜化。盡管已做出了相當(dāng)大的努力,但仍然難以在所有類型的區(qū)塊鏈工業(yè)應(yīng)用程序的可接受水平上實現(xiàn)安全性,必須解決各種限制條件和問題,例如資源的可用性、性能和所需的保護(hù)水平。
另一個需要考慮的領(lǐng)域是使用區(qū)塊鏈來啟用以前不可能實現(xiàn)的新業(yè)務(wù)模型。在這種情況下,考慮如何開發(fā)、部署和測量這些新模型很重要,必須考慮各種不確定性。由于目前沒有模型來衡量,許多行業(yè)不愿進(jìn)入新的商業(yè)模式。而研究人員和工業(yè)社區(qū)需要在管理、控制、測量和質(zhì)量等方面仔細(xì)分析,以獲得區(qū)塊鏈支持的新的商業(yè)模型。
此外,部署區(qū)塊鏈工業(yè)應(yīng)用程序必將涉及到與當(dāng)前操作系統(tǒng)的集成。其中一些系統(tǒng)是現(xiàn)代的,很容易與新的應(yīng)用程序集成,然而在許多組織和行業(yè)中仍有諸多遺留應(yīng)用程序在使用。當(dāng)新應(yīng)用程序需要使用或與這些遺留系統(tǒng)交互時,將產(chǎn)生另一個問題。在很大程度上,不同類型的應(yīng)用程序和系統(tǒng)之間的有效集成是有問題的,需要仔細(xì)地分析并使用有效的方法促進(jìn)集成,同時保留遺留系統(tǒng)的原始操作標(biāo)準(zhǔn)。
當(dāng)前,工業(yè)區(qū)塊鏈尚未實現(xiàn)大規(guī)模應(yīng)用,甚至小規(guī)模應(yīng)用也無從談起。拋開政策、法規(guī)和行業(yè)標(biāo)準(zhǔn)等因素,其主要原因仍在于工業(yè)區(qū)塊鏈自身技術(shù)并不成熟,不能夠有力支撐工業(yè)互聯(lián)網(wǎng)的全面應(yīng)用,導(dǎo)致業(yè)界對工業(yè)區(qū)塊鏈的認(rèn)知度和重視度不高。因此,未來工業(yè)區(qū)塊鏈發(fā)展的主要突破口在于相關(guān)技術(shù)的發(fā)展,尤其要在貼近工業(yè)互聯(lián)網(wǎng)應(yīng)用場景,在交易性能效率、跨鏈數(shù)據(jù)通信等方面著重發(fā)力。
在區(qū)塊鏈“不可能三角”的約束下,要結(jié)合工業(yè)互聯(lián)網(wǎng)的場景特點。例如上鏈用戶一般是工商登記后可信的用戶,那么在安全性方面可以稍作放松,從而把重點放在性能改進(jìn)上。又如,根據(jù)企業(yè)業(yè)務(wù)特點,在利用區(qū)塊鏈時,可能僅有2個節(jié)點或少數(shù)節(jié)點上鏈,此時可以考慮區(qū)塊容量的擴(kuò)大或縮小區(qū)塊的生成間隔??傊?,要結(jié)合工業(yè)區(qū)塊鏈的具體應(yīng)用場景進(jìn)行技術(shù)選型的優(yōu)化。可以從鏈上和鏈下兩方面出發(fā)開展多目標(biāo)優(yōu)化研究,搭建性能優(yōu)化模型??傮w來看,可以從以下幾個方面開展技術(shù)研究和技術(shù)方案優(yōu)化:(1)開展區(qū)塊參數(shù)、數(shù)據(jù)隔離見證、DAG 數(shù)據(jù)存儲等研究,實現(xiàn)區(qū)塊鏈基礎(chǔ)鏈上性能優(yōu)化;(2)開展分布式并行計算分片、多共識機(jī)制融合研究,在分片中引入激勵機(jī)制,在共識中引入隨機(jī)算法,在提高性能和安全性的同時為鏈下擴(kuò)容打好可行性、安全性基礎(chǔ);(3)融合狀態(tài)通道、側(cè)鏈等鏈下方案技術(shù)優(yōu)勢,研究適配的智能合約、網(wǎng)絡(luò)通信技術(shù),完成鏈下性能優(yōu)化。綜合 TPS 交易性能和去中心化安全要求等,搭建高效可用的區(qū)塊鏈模型,支撐區(qū)塊鏈開展廣泛的行業(yè)應(yīng)用。另外,云服務(wù)模式下的區(qū)塊鏈服務(wù),把區(qū)塊鏈作為基礎(chǔ)設(shè)施來滿足不同用戶的需求,即區(qū)塊鏈即服務(wù)的模式(Blockchain as a Service,BaaS)將會是一個重要發(fā)展方向。
當(dāng)前,仍有許多有待解決的問題需進(jìn)一步研究和分析,以創(chuàng)建更可行和有效的工業(yè)應(yīng)用程序,以充分受益于區(qū)塊鏈,并實現(xiàn)預(yù)期的目標(biāo)。這些開放問題的例子包括安全性、隱私、可伸縮性、與其他系統(tǒng)的集成(更具體地說是與遺留系統(tǒng)的集成),以及法規(guī)和接受問題。該領(lǐng)域未來的工作需要解決這些問題,并縮小更高效、可擴(kuò)展和安全的區(qū)塊鏈工業(yè)應(yīng)用程序的差距。