王毛路 葉灝文 李莉莉
摘 要:區(qū)塊鏈作為分布式數(shù)據(jù)存儲、點對點傳輸、共識機制和加密算法等技術的集成應用,近年來已成社會研究討論的熱點。區(qū)塊鏈仍處于發(fā)展階段,還存在很多的技術難點,例如數(shù)據(jù)并發(fā)量低、擴展性較差和各鏈之間無法兼容等,因此如何有效防范這些風險,是急需解決的問題。目前,國家正在提倡加快推進政務數(shù)據(jù)共享交換,也在為區(qū)塊鏈落地應用做試點和探索。因此,論文提出了公鏈和聯(lián)盟鏈的選型關鍵問題,以及對于效率與共識、隱私與透明、分散與集中的綜合權衡考慮的分析和建議。同時,分析了區(qū)塊鏈的難點和對應最新的研究成果及技術,還分析了區(qū)塊鏈產(chǎn)業(yè)發(fā)展的風險與防范思路。
關鍵詞:區(qū)塊鏈;公鏈;聯(lián)盟鏈;共識機制;風險;選型
中圖分類號:TP391 文獻標識碼:B
Abstract: As an integrated application of distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm. Blockchain has become a hot topic in social research in recent years. In the early Etages of Blockchain development, it faces various difficulties of which the low concurrency, poor scalability, and incompatibility between various chains, etc. How to effectively prevent these risks is an urgent problem to be solved. At present, the state is advocating the acceleration of public data exchange and share , and is also piloting and exploring the application landing of blockchain.
This paper advances the key problem that in the selection of the public chain and consortium chain, and analyzes and recommends comprehensive and balanced considerations of efficiency and consensus, privacy and transparency, and decentralization and concentration. Meanwhile we analyze the difficulties of blockchain as well as the latest research results and technologies. It also analyzes the risks and precautions in the blockchain industry.
Key words: blockchain; public blockchain; consortium blockchain; consensus mechanism; risk; selection
1 引言
區(qū)塊鏈作為一種新興的互聯(lián)網(wǎng)技術,將對政務服務模式及數(shù)字經(jīng)濟帶來有想象力的影響。區(qū)塊鏈技術本身的公開、透明、可驗證的技術特質,帶來的新型模式,能夠推動政務和商業(yè)服務模式的轉變,促進互聯(lián)網(wǎng)從信息互聯(lián)網(wǎng)向可信互聯(lián)網(wǎng)乃至價值互聯(lián)網(wǎng)的轉變。另一方面,區(qū)塊鏈技術本身的并發(fā)性、安全體系、兼容性等也面臨一系列挑戰(zhàn),B端機構在實施區(qū)塊鏈落地項目中面臨技術選型問題,場景設計需要和區(qū)塊鏈技術發(fā)展保持適配性,同時要考慮到現(xiàn)階段的技術應用風險,加強對這一新興技術應用的監(jiān)管。
2 背景
區(qū)塊鏈作為分布式數(shù)據(jù)存儲、點對點傳輸、共識機制和加密算法等技術的集成應用,近年來已成許多國家政府和機構研究討論的熱點。目前,區(qū)塊鏈的應用已延伸到物聯(lián)網(wǎng)、大數(shù)據(jù)、供應鏈管理、數(shù)據(jù)共享交換、數(shù)字資產(chǎn)交易等多個領域。區(qū)塊鏈的技術特點可總結為不可篡改、不可刪除、可追溯、分布式同步,這是由區(qū)塊鏈的數(shù)據(jù)結構決定的,無論是公有鏈還是私有鏈,無論采取何種技術選型,區(qū)塊鏈上的數(shù)據(jù)均具有這些特點。
如圖1所示為比特幣的區(qū)塊鏈結構。
區(qū)塊分為區(qū)塊頭和區(qū)塊體。其中具體的交易數(shù)據(jù)存儲在區(qū)塊體中,并通過迭代的哈希算法生成Merkle根存儲在區(qū)塊頭中。一旦任意一筆交易的任何內(nèi)容發(fā)生了任何改變,則會導致Merkle根發(fā)生改變,從而使區(qū)塊頭哈希值發(fā)生改變,而區(qū)塊頭哈希會被包含在下一個區(qū)塊當中。因此,交易的變化最終會導致下一個區(qū)塊無法找到發(fā)生變化的區(qū)塊,致使區(qū)塊鏈的斷裂。由于所有節(jié)點都保存有未發(fā)生改變的區(qū)塊鏈,少數(shù)節(jié)點的交易修改并不會對正常的區(qū)塊鏈網(wǎng)絡產(chǎn)生任何影響,從而保障了數(shù)據(jù)的不可篡改、不可刪除[1]。
由于區(qū)塊里包含了時間戳,嚴格按順序相連的區(qū)塊鏈也成為了嚴格的時間鏈,后一個區(qū)塊的產(chǎn)生一定晚于前一個區(qū)塊,這賦予了區(qū)塊鏈天然的可追溯功能。
然而,區(qū)塊鏈的不可篡改性存在限制,如果一個系統(tǒng)中大部分節(jié)點發(fā)生功能錯誤(不包括宕機),而傳遞錯誤的信息,則區(qū)塊鏈系統(tǒng)會遭到破壞。對于比特幣而言,控制了全網(wǎng)超過50%的計算力就能導致區(qū)塊鏈分叉,雖然全世界沒有一個國家擁有如此強大的計算力,比特幣網(wǎng)絡相對安全,但對于一些節(jié)點數(shù)較少的區(qū)塊鏈,尤其是聯(lián)盟鏈而言,就必須依靠專用網(wǎng)絡及管理制度等外部因素加以保障。
3 區(qū)塊鏈分類以及政務應有的選型考慮
區(qū)塊鏈從應用場景上分為公有鏈和聯(lián)盟鏈(私有鏈和聯(lián)盟鏈是相對的概念,區(qū)別僅在于是否所有的節(jié)點都在“同一個組織”控制下,技術方面并無不同,也有把聯(lián)盟鏈和私有鏈合稱“許可鏈”的說法)。公有鏈主要應用于面向廣泛公眾力圖取得信任的場景,聯(lián)盟鏈主要應用于面向部分企業(yè)力圖取得相互之間信任的場景,它們都解決信任問題,但服務于不同場景的趨勢日益明顯[2]。雖然解決的都是信任問題,但是由于適用范圍不同、組織架構不同、網(wǎng)絡環(huán)境不同、業(yè)務需求不同,公有鏈和聯(lián)盟鏈逐漸發(fā)展成截然不同的兩種架構[3]。公有鏈和聯(lián)盟鏈的最重要區(qū)別在于對三種矛盾的不同權衡方式,即效率與共識的矛盾,隱私與透明的矛盾,分散與集中的矛盾。具體應用在考慮底層區(qū)塊鏈架構時,必須綜合權衡考慮這三種矛盾,以應用平衡的思路來制定解決方案。
3.1 效率與共識的矛盾
因為所有區(qū)塊鏈節(jié)點都要檢驗交易數(shù)據(jù)的合法性,所以區(qū)塊鏈的數(shù)據(jù)處理效率與中心化系統(tǒng)相比尚不能及。采取的共識機制越能對抗單點故障、分叉和惡意節(jié)點,其效率就越低。比特幣實現(xiàn)了最高的50%拜占庭容錯,其代價是最高的能源消耗和最低的效率[4]。
考慮到公有鏈的部署環(huán)境,處于具有極大不確定性的互聯(lián)網(wǎng)環(huán)境,取得互不相識甚至利益沖突的各方的共同信任是它的本質目標。只有極高的拜占庭容錯以及高度甚至完全的去中心化,才能得到各方的廣泛而完全的信任,因此在效率與共識的矛盾當中,公有鏈必須優(yōu)先保證共識。目前的公有鏈效率改進方案,都以犧牲拜占庭容錯或犧牲去中心化程度為代價,實際上與公有鏈的根本目的相悖,是一種妥協(xié),并且無論公有鏈如何提升性能,除非拋棄根本目的,否則其效率與聯(lián)盟鏈相比處于劣勢。
而聯(lián)盟鏈的網(wǎng)絡環(huán)境和參與者是非常確定的。一般都是在專網(wǎng)環(huán)境下,由身份確定的少數(shù)幾個參與者組成聯(lián)盟鏈,其本質目標僅僅是取得這些參與者之間的相互信任。參與者之間本身具有的信任基礎、安全的網(wǎng)絡環(huán)境等要素,使得拜占庭容錯的要求不是特別高,區(qū)塊鏈需要對抗的主要是單點故障和極少數(shù)參與者作弊。在這種情況下,聯(lián)盟鏈能夠更專注于效率的提高。雖然它依然無法與中心化系統(tǒng)的處理效率相媲美,但是足以應對非高頻業(yè)務,且擁有中心化系統(tǒng)所不具備的公信力。
政務鏈應用的參與者是確定的,都是經(jīng)過嚴格審核和驗證的[5]。在網(wǎng)絡環(huán)境方面,采取的是相對安全的專用網(wǎng)絡,因此在效率與共識的矛盾方面,政務鏈傾向于聯(lián)盟鏈。
3.2 隱私與透明的矛盾
匿名性是區(qū)塊鏈的一種設計,公開透明是區(qū)塊鏈的特性。比特幣由于運行在極其危險的互聯(lián)網(wǎng)環(huán)境,實現(xiàn)每個人的資產(chǎn)透明是不合適的,因此比特幣作出了取舍,沒有公開“每個人有多少比特幣”,而是公開“每個地址有多少比特幣”,且個人和地址之間無法通過外部手段發(fā)生聯(lián)系,從而保護了使用者的隱私。事實上,所有公有鏈都需要謹慎處理這個問題,即在多大程度上公開什么數(shù)據(jù)的問題。由于業(yè)務場景眾多,利益關系錯綜復雜,過度保護隱私會減弱信任覆蓋的范圍,而減少隱私保護又會侵害部分參與者的利益,公有鏈上的隱私與透明的矛盾是一個永恒的矛盾。而聯(lián)盟鏈往往是基于某種信任需求建立起來的,它的目標和信任范圍往往非常明確,都是對某些特定的業(yè)務進行特定范圍的相互信任。而聯(lián)盟鏈的參與方往往互相知曉,一般不需要匿名。鏈上數(shù)據(jù)是需要取得共識的數(shù)據(jù),其公開透明有利于聯(lián)盟各方的利益實現(xiàn),所以鏈上數(shù)據(jù)更傾向于透明性。聯(lián)盟鏈對于隱私保護的需求大部分是業(yè)務隔離,通過子鏈的方式,很多聯(lián)盟鏈架構都能解決該問題。
3.3 分散與集中的矛盾
分散與集中的矛盾是去中心化程度的問題。對聯(lián)盟鏈持反對意見者認為,區(qū)塊鏈的核心是去中心化,聯(lián)盟鏈實際上有中心化的機構來維護,不能稱為區(qū)塊鏈。但聯(lián)盟鏈的高速發(fā)展和廣泛認可從事實上駁斥了這個觀點。
從節(jié)點利益的角度考量,去中心化區(qū)塊鏈需要有獎勵機制促使節(jié)點主動維護區(qū)塊鏈網(wǎng)絡,公鏈目前大都通過這種方法維護區(qū)塊鏈。如果獎勵的價值下降,節(jié)點就失去了維護區(qū)塊鏈的最大動力,從而使區(qū)塊鏈的公信力下降,這也是數(shù)字貨幣價格劇烈波動的原因。在聯(lián)盟鏈環(huán)境下,區(qū)塊鏈搭建的本身就是為了解決業(yè)務上多方共同面臨的問題,其存在本身就能為聯(lián)盟鏈參與者實現(xiàn)價值,它們只關心數(shù)據(jù)是否在各節(jié)點一致,而不需要獎勵機制來維持,這使得節(jié)點有維護網(wǎng)絡的動機。
在聯(lián)盟鏈背景下,誰來負責排序和產(chǎn)生新區(qū)塊并不是節(jié)點的關注點,只要所有參與者能夠對區(qū)塊的合法性進行驗證,并能夠達成相互之間的共識,誰來記賬就不是一個重要的問題。一定程度的去中心化是必須的。因為完全集中不利于實現(xiàn)廣泛的共識。通過部分去中心化的方式,依然由分布式節(jié)點處理和存儲數(shù)據(jù),而由類似于中心化的方式進行排序和區(qū)塊分發(fā),兼顧了效率和共識,能夠對抗“超級管理員效應”,實現(xiàn)分布式的公信力,這是聯(lián)盟鏈的突出特點。
3.4 聯(lián)盟鏈選擇
Fabric是聯(lián)盟鏈的一種架構,是Hyperledger的一個子項目,目前是應用最為廣泛的聯(lián)盟鏈架構[6],在金融、保險、供應鏈、文化等各領域都有應用,其穩(wěn)定性和健壯性已在一定程度上得到實踐驗證。聯(lián)盟鏈架構還有其他選擇,比較著名的有以太坊、Hyperledger Sawtooth以及各科技公司對開源代碼進行優(yōu)化修改后開發(fā)的聯(lián)盟鏈架構。在聯(lián)盟鏈技術選型時,應該綜合考慮適用場景、架構成熟度、技術開源程度、可定制化程度。
4 主要技術難點及對策
目前,區(qū)塊鏈仍處于發(fā)展階段,還存在很多的技術難點,例如并發(fā)量低、擴展性較差和各鏈間無法兼容等。
4.1 并發(fā)性
區(qū)塊鏈尚未完全成熟,在區(qū)塊鏈的去中心化特性下,所有交易都點對點進行,追求極致的可靠性,受限于共識算法和現(xiàn)實硬件網(wǎng)絡資源,目前交易的效率并不高,具體體現(xiàn)在交易處理的并發(fā)量較低、并發(fā)能力弱。
為提高效率支持高并發(fā)需求,現(xiàn)出現(xiàn)了很多的研究成果和技術,例如比特幣區(qū)塊鏈中的閃電網(wǎng)絡、將大量小額支付搬移到鏈下處理的雷電網(wǎng)絡、記賬流和信息流分開的技術等。
4.2 隱私性
區(qū)塊鏈重要特點是數(shù)據(jù)共享與透明,這在很多商業(yè)領域都是非常敏感的詞匯,或者是一些非常對立的形容。因此,區(qū)塊鏈在建立這種多中心化技術信任的同時如何滿足商業(yè)隱私的保護和操作權限的控制,是在區(qū)塊鏈商業(yè)應用落地過程中需要重點解決或者面對的問題[7]。
為了解決區(qū)塊鏈的隱私保護問題,區(qū)塊鏈研發(fā)者經(jīng)過大量的研究,目前有幾種方式:零知識證明、環(huán)簽名、混幣、同態(tài)加密等。
4.3 可擴展性
在POW或者說公有鏈里,可擴展性嚴謹?shù)卣f應該叫提高輸出或者叫擴容方案。POW或者比特幣的擴容方案和POS或者以太坊其實大同小異。首先,POW的輸出是受到網(wǎng)速制約的,也就是說,在當前的網(wǎng)速情況下,每秒鐘能達成的共識大小是有限的,過多就不可能保證安全可靠。
因此,只能犧牲可靠性來增加交易量,即不對每筆交易都在全網(wǎng)達成共識,主要分為三種:(1)交易只在部分節(jié)點達成共識,并不是所有節(jié)點,例如選出來的代表達成共識;(2)對某些能夠確保交易記錄無法更改的東西做共識,而不是交易本身,例如交易打包之后的哈希值做共識?;旧纤械膫孺?,多鏈都是這個想法,包括閃電網(wǎng)絡;(3)采用混合的方式,例如以太坊的分片技術。
4.4 系統(tǒng)兼容性
目前,著手研究區(qū)塊鏈的機構、企業(yè)很多,相對應的出現(xiàn)鏈的種類各不相同,采用的技術、共識機制等也存在差異,如需橋接不同鏈,會遇到各種問題,即存在系統(tǒng)的兼容性問題[8]。
為解決上次問題,研究者提出了可插拔共識,所謂可插拔共識是一個可以根據(jù)用戶運行環(huán)境換出共識算法的理念,一切都有關于權衡??刹灏喂沧R類似于一個接口,用戶可以在這個接口之后插入任何東西。研究可插拔共識的機構和社區(qū)除了以太坊外,包括競爭性聯(lián)盟、R3CEV和超級賬本等[9]。
5 區(qū)塊鏈產(chǎn)業(yè)發(fā)展的風險與防范
5.1 數(shù)據(jù)安全
數(shù)據(jù)安全主要包括兩個方面。
(1)用戶私鑰安全。在區(qū)塊鏈中,無論是私鑰泄漏還是丟失,都將給用戶帶來財產(chǎn)損失。為了保護用戶的賬戶與資金安全,應該對私鑰文件進行加密存儲。
(2)區(qū)塊鏈中的數(shù)據(jù)安全。對于不同的場景,要求數(shù)據(jù)的隱私性、完整性等程度各不相同。在存儲、傳輸相應數(shù)據(jù)時,應該使用哈希函數(shù)、同態(tài)加密、數(shù)字簽名等技術保護數(shù)據(jù)。
5.2 網(wǎng)絡層訪問控制
公有鏈允許節(jié)點自由進出網(wǎng)絡,且區(qū)塊鏈的網(wǎng)絡層沒有登記用戶身份。金融行業(yè)的風險和安全性相對更高,未登記身份的節(jié)點自由進出網(wǎng)絡為系統(tǒng)安全帶來很多不可控性[10]。區(qū)塊鏈技術在金融行業(yè)應用時,應結合業(yè)務需求,分析是否有必要使用公有鏈,并登記網(wǎng)絡中節(jié)點的身份。對于聯(lián)盟鏈和私有鏈,建議采用專線來接入?yún)^(qū)塊鏈網(wǎng)絡。此外,還應采用VPN 專網(wǎng)、防火墻、物理隔離等技術對節(jié)點,特別是礦工節(jié)點的物理網(wǎng)絡和主機進行保護。
5.3 共識層安全
共識層安全要體現(xiàn)在兩方面。
(1)共識算法:算法應具有公平性、快速驗證、難度可調整等基本屬性。此外,還應該使用資產(chǎn)抵押、法律和監(jiān)管的形式對礦工節(jié)點進行聯(lián)合管控。對于不誠實、有不當行為的礦工節(jié)點進行懲罰。
(2)軟分叉和硬分叉:由于軟件更新,不同節(jié)點上運行的軟件版本不同,導致其執(zhí)行規(guī)則不同,從而導致分叉(軟分叉和硬分叉)。這兩種分叉作用在區(qū)塊鏈中時,軟分叉可以很好地被老版本軟件的節(jié)點兼容,并促進其更新軟件,但硬分叉會受到排斥。在更新區(qū)塊鏈應用時,應該盡可能使用軟分叉完成,避免硬分叉。
5.4 智能合約層安全
智能合約本質上而言仍然是編程語言,如果它是圖靈完備的,支持循環(huán)指令,攻擊者就可能構造帶有死循環(huán)代碼的交易對網(wǎng)絡中的礦工發(fā)起DoS 攻擊[11]。在區(qū)塊鏈中設計驗證腳本或智能合約時,應預防死循環(huán)導致的DoS 攻擊??梢栽谠O計腳本語言時禁止使用循環(huán)指令,也可為程序執(zhí)行按照執(zhí)行步數(shù)支付費用,并設置費用限額。超過限額后,停止執(zhí)行且不歸還費用。其次,做好充分的容錯機制。
5.5 其他風險控制方法
除了上述內(nèi)容外,還要有相應的風險控制手段。例如,對系統(tǒng)的數(shù)據(jù)訪問、交易頻度以及記錄到區(qū)塊中的交易進行監(jiān)控和檢測,對可疑操作和不當行為進行告警、記錄,并評估損失,進行補救,防止再次出現(xiàn)。對于出現(xiàn)的問題進行分析總結,實現(xiàn)技術的更新迭代[12]。
6 結束語
區(qū)塊鏈被譽為下一代互聯(lián)網(wǎng)技術。2018年,隨著國內(nèi)外政府及業(yè)界對區(qū)塊鏈的高度重視并迅速布局,區(qū)塊鏈確實有成為未來價值互聯(lián)網(wǎng)的潛質。無論是公有鏈還是聯(lián)盟鏈,社會中各組織所掌握的數(shù)據(jù)正不斷嘗試通過區(qū)塊鏈技術提升公信力,而具有高度公信力的數(shù)據(jù)是數(shù)據(jù)跨組織使用的必備條件。
參考文獻
[1] 中本聰(Satoshi Nakamoto). 比特幣白皮書:一種點對點的電子現(xiàn)金系統(tǒng), 2008. http://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system.
[2] 袁勇,王飛躍.區(qū)塊鏈技術發(fā)展現(xiàn)狀與展望[J].自動化學.
[3] 中國電子技術標準化研究院.區(qū)塊鏈參考架構[Z].中國區(qū)塊鏈技術和產(chǎn)業(yè)發(fā)展論壇, 2017.05.16.
[4] 高航,俞學勱,王毛路,編著.區(qū)塊鏈與新經(jīng)濟:數(shù)字貨幣2.0時代[M].北京:電子工業(yè)出版社, 2016.07:P144.
[5] 杭州市金融辦.杭州市區(qū)塊鏈產(chǎn)業(yè)發(fā)展報告[J]. 2017.04.
[6] 張寧,等.能源互聯(lián)網(wǎng)中的區(qū)塊鏈技術: 研究框架與典型應用初探[N].中國電機工程學報, 2016.36 (15) :4011-4022.
[7] 王紹剛,劉海法.基于區(qū)塊鏈的商城積分系統(tǒng)方法研究[J].網(wǎng)絡空間安全,2017.Z5.
[8] 張毅等.區(qū)塊鏈技術對政府治理創(chuàng)新的影響[J].電子政務,2016(12):11-17.
[9] 王毛路,等.區(qū)塊鏈和共享經(jīng)濟的關鍵問題研究[J].電子政務,2018(4):42-48.
[10] 周一波,等.金融信息通信應急保障體系設計[J].網(wǎng)絡空間安全,2017(12).
[11] Botsman R, Rogers R. What's mine is yours: The rise of collaborative consumption[M/OL]. 2010[2018-03-05]. https://www.amazon.com/Whats-Mine-Yours- Collaborative-Consumption-ebook/dp/B003VIWNEO.
[12] Andruss P. What to consider before launching a business in the sharing economy[EB/OL]. 2015[2018-03-05]. https:// www.theglobeandmail.com/report-on-business/small-business/sb-growth/how-to-launch-a-business-in-the-sharing-economy/article22226642/.
作者簡介:
王毛路(1975-),女,漢族,河南許昌人,北京航空航天大學,電子工程博士;主要研究方向和關注領域:區(qū)塊鏈理論、區(qū)塊鏈結構、通信標準、鏈上數(shù)據(jù)流與區(qū)塊鏈應用。
葉灝文(1995-),男,漢族,廣東東莞人,中山大學,信息管理與信息系統(tǒng)本科;主要研究方向和關注領域:區(qū)塊鏈技術及應用方案。
李莉莉(1980-),女,漢族,河南人,北京航空航天大學,本科,上海交通大學,碩士;主要研究方向和關注領域:數(shù)據(jù)模型設計、CRM、會員、積分體系建設、區(qū)塊鏈+數(shù)據(jù)應用。