朱建明,張沁楠,高 勝
(中央財經大學 信息學院,北京 100081)
2019年10月24日,中共中央政治局集體學習區塊鏈技術發展現狀和趨勢,習近平總書記強調,要把區塊鏈作為核心技術自主創新的重要突破口,區塊鏈技術要在“促進數據共享、優化業務流程、降低運營成本、提升協同效率、建設可信體系”等方面發揮作用。區塊鏈技術上升為國家重要戰略,并將成為推進社會治理現代化的重要技術。
區塊鏈技術起源于2008年中本聰(Satoshi Nakamoto)發表的關于比特幣的論文[1]。其中比特幣系統底層的區塊鏈技術解決了加密數字貨幣中的雙重支付問題,在去中心化的P2P網絡中,保證了交易記錄的真實有效。經過幾年的發展,區塊鏈技術被認為是價值互聯網的基石,通過分布式計算、密碼學、共識算法、智能合約等多種技術的組合,保障在不通過第三方中介機構信用背書的條件下,實現數據的不可篡改、不易偽造、可追溯、可審計等特性,共同創造了一種低成本高可靠的基礎設施。
近年來,在區塊鏈技術的支持下,比特幣等加密數字貨幣發展迅速,截至目前已有超過5 361種加密數字貨幣,其中比特幣仍占主導地位[1]。在比特幣區塊鏈的基礎上,2013年12月,BUTERIN發布了《以太坊白皮書》[2],致力于提出一種通用加密貨幣。瑞波幣(Ripple)[3]通過有限數量的可信節點構建Ripple網絡,減小交易確認時間。EOS[4]采用并行鏈和委托權益證明實現高性能區塊鏈。IOTA[5]和Byteball[6]采用有向無環圖(DAG)實現并行鏈式結構,不同類型的事務可以在區塊鏈網絡中并行運行,比鏈式模型效率更高。2015年,Linux基金會發起了跨行業區塊鏈開源項目——超級賬本(Hyperledger)。袁勇和王飛躍[7]將區塊鏈定義為去中心化的共享賬本和分布式計算范式。區塊鏈也被認為是在互不信任節點構成的網絡中能夠正確執行的計算機程序[8]。總體而言,區塊鏈是一種具有普適性的底層分布式存儲技術,被認為是新一代互聯網技術,有望重塑社會生產的形態。
區塊鏈因去中心化、難篡改、可追溯和分布式等特點,使其在金融科技、信息存證、能源共享、教育信息化等各領域具有廣闊的應用前景。2019年9月,中國人民銀行印發《金融科技(FinTech)發展規劃(2019-2021年)》和《金融分布式賬本技術安全規范》,未來三年的區塊鏈技術將在金融科技領域率先落地應用。面對各行業日益增長的區塊鏈應用需求,需要構建更加高效、安全、合規、靈活的區塊鏈解決方案。本文將從區塊鏈關鍵技術與應用場景來介紹區塊鏈技術與其應用的研究進展和面臨的問題。
區塊鏈是一種由多方共同維護,使用密碼學保證傳輸和訪問安全,能夠實現數據一致存儲、難以篡改、防止抵賴的記賬技術,也稱為分布式賬本技術。區塊鏈技術通過將區塊數據形成鏈式存儲結構,形成去中心化的信任基礎,成為眾多加密數字貨幣的核心底層技術。區塊數據結構代表一定時期內發生的交易和狀態,是經過共識后形成的交易數據;按時間序列將區塊數據結構串聯形成鏈式存儲結構。比特幣區塊鏈中,礦工負責將一段時間接收到的交易數據打包,并計算滿足條件的隨機數值,形成共識后的區塊結構后追加在當前區塊鏈的結尾,可以避免交易數據的篡改。
現有區塊鏈可以分為三種類型,即公有鏈、聯盟鏈和私有鏈[9],聯盟鏈和私有鏈也被稱為許可鏈,需要提前設定節點的準入規則。目前隨著區塊鏈技術的商業化,區塊鏈技術已經從公鏈形式向聯盟鏈方向發展,私有鏈也有廣泛的應用場景。公有鏈中節點的加入沒有限制,而聯盟鏈中的節點需要經過多組織協商授權才能加入。 Hyperledger Fabric是典型的聯盟鏈項目,具有很強的實用性和可擴展性。私有鏈參與節點的權限被嚴格限制,權限由單個組織或企業控制,類似于現有的分布式存儲系統,例如摩根大通的Quorum項目[10]。目前,聯盟鏈被普遍認為是最具應用前景的區塊鏈類型。
如圖1所示,區塊鏈已經經歷了幾個階段的技術演進歷程[7],區塊鏈技術起源于電子貨幣、密碼學領域,經歷了以數字貨幣為代表的1.0時代,和以智能合約為代表的2.0時代,目前正在進入超越貨幣、并與各行業深度融合的3.0時代。區塊鏈技術正在與大數據、人工智能等新興技術深度融合,未來會出現更加復雜的異構森林結構、神經網絡共識、鏈內鏈外算力共享等新型區塊鏈技術,形成有效支持大規模產業級復雜應用的區塊鏈4.0時代。當前,區塊鏈發展處在大發展、大融合的階段,除區塊鏈基礎技術的研究外,工業界出現了區塊鏈服務提供商的競爭,眾多企業級的PaaS區塊鏈云平臺出現,單一區塊鏈服務正在向區塊鏈服務集成化快速演進。另外,區塊鏈技術的不斷演進和發展,進一步提升了性能和可擴展性,拓寬了應用領域和場景,為各行業帶來深刻技術變革。

圖1 區塊鏈技術演進歷程Fig.1 Evolution of blockchain technology
區塊鏈由密碼學極客創建,密碼學構成了區塊鏈的基石。分布式賬本技術是區塊鏈區別于其他分布式數據存儲的本質,各節點形成的分布式賬本記錄構建了區塊鏈的骨架。傳統有中心的分布式數據庫系統設計了嚴格的用戶權限管理和存取控制,而區塊鏈的分布式賬本數據則完全公開透明,鏈上節點可以隨意讀取查詢數據,因此密碼學極客采用HASH算法、數字簽名、數字證書等密碼學技術保障區塊鏈交易數據的安全性和匿名性。
在比特幣中,橢圓曲線加密算法(elliptic curve cryptography,ECC)用于生成私鑰對應的公鑰,公鑰作為用戶的錢包地址,可以區分不同的用戶ID,每個用戶擁有多個公鑰地址以實現交易的匿名性。為了保障交易的安全授權,比特幣系統將每筆交易數據進行數字簽名,比特幣和以太坊都采用橢圓曲線簽名算法(ECDSA),通過secp256k1的參數確定橢圓形狀,實現非對稱的高效簽名算法。在比特幣中,當一筆交易開始時,用戶的公鑰地址通過SHA256進行雙HASH運算之后作為賬戶地址。驗證交易數據時,使用用戶公鑰驗簽,實現交易的不可抵賴。公鑰還可以用于驗證HASH值是否與前一筆交易輸出腳本的比特幣地址一致,以實現每筆比特幣的來源追蹤。所有交易的完成都基于比特幣系統中的輸入腳本和輸出腳本自動完成。
參與區塊鏈的所有節點共同維護同一份區塊鏈式數據,即分布式賬本。不同于傳統的賬本技術,分布式賬本具有去中心化、不可篡改、可編程等特點,在數字貨幣、電子存證、供應鏈中應用廣泛。在比特幣中,所有礦工在開始挖礦之前先同步賬本數據,每一筆交易生成之后進行交易數據的轉發,節點將接收到的交易數據存入特定存儲區,大約每收集10筆交易打包成一個區塊數據包,開始挖礦計算,挖礦過程中需要監控已經打包的交易是否已經被其他礦工挖礦成功,如有,則替換該筆交易繼續挖礦。如果完成指定條件的HASH運算,則挖礦成功,轉發結果進行節點共識,共識成功后將打包好的區塊數據追加在當前區塊鏈的結尾,所有節點開始更新賬本數據。
由分布式賬本引起的性能和可擴展性問題是當前區塊鏈技術的主要瓶頸。比特幣中,每筆交易需要6個區塊確認,系統最大的交易處理能力僅為7筆/s[11],當前世界主流支付工具VISA,交易處理能力為2 000筆/s,峰值的交易處理能力達56 000筆/s,且每筆交易秒級確認[12]。與現有商業系統巨大的性能差異極大地限制了區塊鏈廣泛的商業應用。高政風等(2019)提出采用有向無環圖(DAG)的分布式賬本可以提升區塊鏈的并發性,有望解決區塊鏈分布式賬本的性能問題[13]。
共識機制是區塊鏈的核心,能保證在無中心控制下,各節點遵循相同的記賬規則,實現分布式數據的一致性。區塊鏈共識機制保證在不同的應用場景下,在決策權高度分散的去中心或多中心化系統中,使各個節點高效地達成一致。最早的共識問題是EISENBERG E和GALE D[14]提出的共識概率分布問題,其核心問題是容錯節點的比例和收斂速度。區塊鏈網絡共識機制的研究目標是如何在節點可用性和一致性之間達成平衡,實現高效率認證。
共識機制主要解決兩個基本問題:第一個是誰寫入數據,另一個是如何同步數據。區塊鏈中,每個節點都獨立維護同一份數據,為了避免數據混亂,必須設計公平的選舉機制和合理的激勵機制。當被選舉的節點寫入數據后,其他節點必須準確及時同步數據,并驗證寫入數據的合法性,避免數據的偽造及非法寫入。不同的共識算法的選舉機制不同,在區塊鏈的一次共識過程中,被選舉的節點先打包交易構造區塊鏈中最小的數據存儲結構“區塊”,并廣播區塊數據。其次,全網所有節點根據共識機制對接收到的區塊數據進行合法性驗證,如果是合法的區塊數據,則將其追加在當前區塊鏈的尾端,完成一次數據更新。
共識機制是區塊鏈的關鍵技術,直接影響區塊鏈系統的性能效率、可擴展性、資源消耗。目前,研究者已經在共識領域完成大量工作,從如何選舉記賬節點角度來看,現有的共識算法可以分為證明類、選舉類、隨機類、聯盟鏈和混合類5種類型。下面分別介紹最常見共識算法類型和相關的研究進展情況。
2.2.1證明類共識
證明類共識需要在每輪共識中有節點證明自己滿足特定條件,通常表示為“Proof of X”,最常見的證明類共識有PoW、PoS和DPoS。PoW依賴算力消耗達成共識,PoS通過幣齡分配記賬權的概率,DPoS[15](delegated proof of stake)通過股份權益選舉記賬節點達成共識。PoA[16](proof of activity)是PoW和PoS相結合的算法。
1993年,DWORK C和NAOR M[17]首次提出了工作量證明思想,用于提高垃圾郵件發送者的成本,其核心是通過消耗節點算力,保證共識過程的公平性。1999年,JAKOBSSON M和JUELS A[18]正式提出了工作量證明(proof of work,PoW),成為比特幣中工作量證明算法的基礎。PoW可以應對拒絕服務攻擊和服務濫用,通常需要掌握全網算力的51%以上才能對比特幣系統進行安全攻擊。但PoW存在因算力消耗引起的資源浪費,并且10 min左右的交易確認時間無法滿足高效的業務需求。比特幣采用的是依賴節點算力的PoW共識機制來保證分布式記賬的一致性和共識的安全性。
隨著區塊鏈技術的不斷進展,研究者陸續提出了一些不過度依賴算力而能達到全網一致的算法,比如權益證明共識(proof of stake,PoS)。SUNNY et al[19]在點點幣中首次實現權益證明PoS的共識機制,通過節點權益對比確定記賬權。PoS共識不需要算力消耗,可以提升共識效率,縮短共識時間。以太坊正逐步使用PoS替代PoW,但是PoS權益證明容易產生馬太效應,存在不完全公平性問題。
為了改進PoW存在算力浪費的問題,現有一些證明類共識算法基于特定的可信執行環境,例如共識節點采用安裝Intel SGX安全硬件的CPU執行共識算法。在超級賬本的Sawtooth項目中采用的消逝時間證明算法[20](proof of elapsed time,PoET)通過每個節點的SGX計算生成區塊和等待的時間證明,并被其他節點的SGX計算驗證,保證了預言機的安全性,從而形成基于硬件安全的共識過程。
2.2.2選舉類共識
選舉類共識中,參與共識節點在每一輪共識過程中通過投票選舉方式選出當前記賬節點,典型的選舉類共識包括PBFT、Paxos和Raft等。PBFT共識機制效率高,支持秒級出塊,而且支持強監管節點參與,具備權限分級能力,在安全性、一致性、可用性等方面有較強優勢。然而,在PBFT系統,無法容忍超過三分之一以上的節點作惡。
1982年,LAMPORT L et al[21]基于分布式計算領域的共識問題首次提出了拜占庭將軍問題,通過簽名消息解決由于硬件、網絡等問題引起的分布式節點故障。1999年,圖靈獎獲得者CASTRO M et al[22]提出了實用拜占庭容錯算法(practical byzantine fault tolerance,PBFT),降低了拜占庭算法復雜度,提高了算法的實用性。PBFT通常分為三階段共識:預備、準備和提交階段。第一階段選定主節點后,由主節點接受請求,并進行簽名驗證,驗證通過后,對請求分配序號,并向全網廣播;第二階段共識節點收到請求后驗證報文,并向全網廣播驗證結果;第三階段,當收到超過三分之二節點的驗證成功消息后,執行請求。PBFT是首先得到廣泛應用的BFT算法, 隨后,業界還提出了若干改進版的BFT共識算法。
文獻[23]提出了一種可伸縮的故障容忍方法,系統可根據需要配置可容忍的故障數量,而不會顯著降低性能。COWLING et al[24]提出了一種混合拜占庭式容錯狀態機副本協議,在沒有爭用的情況下,采用輕量級的基于仲裁的協議,節省了副本間二次通信的成本。KING S和NADAL S[25]提出了一種高吞吐量的拜占庭式容錯架構,它使用特定應用程序的信息來識別和同時執行獨立的請求。該體系結構提供一種通用的方法來利用應用程序間的并行性,在提高吞吐量的同時,還不損害系統工作的正確性。隨后又提出了一種使用推測來降低成本并簡化拜占庭容錯狀態機副本的協議[26]。ONGARO D et al[27]在2013年基于PBFT進行簡化,提出了Raft共識算法,目前已在多個開源語言實現。Raft算法雖然不支持拜占庭容錯,只支持節點宕機等故障性容錯,但可以提高共識過程的性能與可擴展性。
1994年美國科學家尼克·薩博[28](Nick Szabo)首次提出智能合約的概念,將智能合約定義為合同條款的計算機程序實現,在不需要可信第三方情況下,能夠確保合同的正確履行。智能合約提出之后沉寂了很久,因為無法找到一個不存在可信第三方保證合約執行的環境,隨著區塊鏈技術的發展,其去中心化的可信平臺為智能合約提供了天然的分布式可信執行環境,實現了區塊鏈技術應用場景的拓展。
2.3.1比特幣腳本語言
比特幣中沒有智能合約的概念,只是采用一種類似Forth的腳本語言實現簡單的交易控制。該腳本語言有大小限制,不支持圖靈完備,只能支持有限的邏輯,通常只作為賬戶擁有者的身份識別。
比特幣基于未花費交易輸出(UTXO)模式,每筆交易都可以追溯,直到最初的礦工挖礦。比特幣交易的執行主要依賴于兩種腳本:一種是鎖定腳本,一種是解鎖腳本。鎖定腳本控制交易輸出條件,解鎖腳本驗證輸出條件是否滿足,并控制未花費交易輸出。
比特幣的內置腳本是以太坊智能合約的雛形,因腳本不支持圖靈完備,存在諸多限制,無法完成復雜的計算邏輯,但簡單的腳本語言也保證了系統的輕量級并提升了系統的靈活性。目前,很多研究者也已經致力于基于比特幣腳本進行疊加,以滿足在比特幣區塊鏈上構建更為復雜的智能合約需求。
2.3.2以太坊智能合約
以太坊(Ethereum)提供了圖靈完備性的智能合約,使以太坊區塊鏈擁有更廣泛的應用場景。以太坊為智能合約的執行專門構建了以太坊虛擬機(EVM),方便了智能合約的編譯運行。以太坊智能合約開發語言主要是Solidity,可以支持編寫邏輯代碼。以太坊智能合約還提供了專門的瀏覽器開發平臺Remix,無需環境配置即可運行智能合約代碼。
智能合約的安全性一直是人們關心的問題,而由智能合約的漏洞暴露出來的安全性事件也不斷出現。例如2017年6月的以太坊平臺的眾籌智能合約The DAO遭受安全攻擊的事件。The DAO是搭建在以太坊網絡上的智能合約,黑客利用遞歸函數的漏洞將面向公眾籌集的350萬個以太坊代幣轉向自己的地址,造成了巨大的經濟損失。目前有多個公司從事與智能合約的安全性驗證工作,如鏈安、慢霧等。
2.3.3Fabric鏈碼
Hyperledger Fabric采用高級編程語言Go或Java編寫智能合約,被認為是執行在區塊鏈上的代碼,也被稱為鏈碼(Chaincode)。Fabric基于docker容器運行鏈碼可以提升宿主機隔離性和安全性。鏈碼采用Go或Java語言編寫,可以實現各種復雜的商業邏輯,功能強大。在比特幣或以太坊上運行的智能合約可以看作是某個合約模板的多個實例,但是在Fabric中沒有合約的實例,所有對區塊鏈上數據的讀寫都必須經過鏈碼來執行。
Fabric鏈碼基于高級語言開發,支持圖靈完備,降低了開發者的學習門檻,并提升了智能合約的實用性。但是目前對智能合約的定義和實現仍不統一,各區塊鏈平臺的智能合約開發語言也有很大差別,使得公眾對智能合約認識有一些誤差,沒有統一的標準,不利于智能合約技術的長期發展[29]。

表1 現有區塊鏈平臺智能合約對比Table 1 Comparison of smart contracts in existing blockchain platform
可擴展性[30]是指區塊鏈系統處理交易以及適應交易增長而擴展的能力。區塊鏈中,每個節點都要處理系統中的所有交易,隨著交易數量快速增長,區塊鏈的可擴展性問題日益凸顯。以比特幣和以太坊為例,比特幣區塊鏈平均每10 min產生一個區塊,每個區塊大小上限為1 MB,每筆交易大小為0.25 kB,因此交易頻率為6.67筆/s;為抵抗雙花攻擊,完成一筆交易至少需要6個區塊確認,全網確認一筆交易至少需要1 h.與比特幣區塊鏈不同,以太坊的區塊gas限制值決定區塊容量,進而影響以太坊區塊鏈交易性能。以太坊區塊鏈產生一個區塊需要10~20 s,為抵抗“雙花”攻擊,達到與比特幣區塊鏈相似的安全性,完成一筆交易至少需要12個區塊的確定,全網確認一筆交易至少需要3 min.然而,以Visa,Mastercard等為代表的中心化支付平臺可實現2 000筆/s~56 000筆/s[12]。可見,現有區塊鏈可擴展性已成為阻礙區塊鏈規模化應用的重要障礙。
為解決區塊鏈的擴展性問題,提出了高效共識算法、分片技術、鏈上擴容、鏈下擴容等可擴展性方法。
2.4.1分片技術
2015年,LUU L et al[31]將分片技術引入區塊鏈領域,將節點劃分成若干相對獨立的分片,每個分片獨立并行處理規模較小的片內交易,最后將分片摘要匯總給主鏈并由其生成新區塊。根據處理層次不同,區塊鏈分片技術可分為:網絡分片、交易分片、狀態分片。網絡分片是指根據一定規則選取網絡節點形成分片,是分片技術的基礎;交易分片是指根據區塊鏈數據模型按照一定規則將交易分配到不同分片,如基于賬戶模型可根據賬戶地址分片交易,典型技術如以太坊分片技術[35],ZILLIQA[32]等;狀態分片是指特定的分片只存儲部分狀態,而不是完整的區塊鏈狀態,典型技術如OMNILEDGER[33],RAPID[34]等。
2018年,VITALIK[35]提出了一種基于雙層設計的以太坊分片方案。以太坊區塊鏈分為主鏈和分片鏈,主鏈通過驗證管理合約(validator manager contract,VMC)來管理分片鏈,分片鏈采用PoS共識機制打包交易數據生成驗證塊,通過這些驗證塊最終生成主鏈上的區塊。每筆交易都獨立運行在其中一個分片,驗證節點只校驗所在分片的交易。為保證驗證選擇過程是強抗預測性,VMC采用隨機抽樣方式將驗證節點分配到分片鏈上,同時校驗所有分片提交的驗證塊頭,并將校驗通過的驗證塊頭哈希記錄到鏈上。此外,VMC采用UTXO模型和收據樹實現跨片通信。
2.4.2鏈上擴容
鏈上擴容是通過改變區塊鏈底層結構,使得單位時間內每個區塊能容納更多數量的交易,從而提高區塊鏈吞吐量,例如增加區塊容量、縮短出塊時間等。
比特幣改進提案(BIP)中有關擴容方案大致分為:根據比特幣社區共識調整,如BIP-105;根據先前區塊大小調整,如BIP-104、BIP-106、BIP-107中第二階段;根據時間調整,如BIP-102、BIP-103、BIP-107中第一階段。然而,區塊大小的增加將延長網絡傳輸效率,造成網絡擁塞,同時加重存儲設備負載,導致普通節點或小礦池退出,降低全節點運行比例,加劇區塊鏈算力中心化風險;縮短出塊時間將增加區塊鏈分叉概率,造成有效算力分散,加劇雙重支付[36]、自私挖礦[37]等風險。
2017年8月,BCH在比特幣區塊高度478558執行硬分叉,刪除了隔離見證,將區塊擴容到8M,期望通過該鏈上擴容解決比特幣系統中區塊擁堵和手續費高等問題。在此之后,BCH 通過硬分叉的方式進行了4次升級。
2.4.3鏈下擴容
鏈下擴容是將交易過程放在鏈下完成,鏈上只記錄最終交易結果或仲裁分歧交易。現有主要的鏈下交易方法有:隔離見證、狀態通道、側鏈等[38]。隔離見證通過將簽名數據放到見證數據結構中,使得區塊可以容納更多數量的交易,提高了交易的延展性[39]。狀態通道是通過在鏈下形成支付通道實現將大量交易帶離鏈上,而區塊鏈僅作為記錄交易或處理支付過程中沖突或爭議問題,從而極大提高區塊鏈系統吞吐量。
側鏈/中繼(sidechains/relays)以輕客戶端驗證技術為基礎,在側鏈上執行輕客戶端功能的智能合約,通過驗證鏈加密哈希樹和區塊頭驗證交易。Blockstream公司提出了楔入式側鏈[40]概念,實現不同區塊鏈系統間的資產轉移,并進行多種跨鏈技術創新研究,提出了強聯邦側鏈[41]概念,引入多重簽名,提升資產交換的安全性。ONELEDGER[42]是側鏈應用的代表,通過側鏈接入企業區塊鏈,實現與企業級區塊鏈系統的通訊。
區塊鏈技術創建了去中心化的信任實體,具有分布式、去中心、難篡改、可編程、時序性和集體維護等特性,使區塊鏈不僅能夠應用于加密數字貨幣領域,同時在數字金融、電子存證、能源共享、電子醫療、農產品追溯方面也有廣泛應用場景。
區塊鏈技術最早應用起源于加密數字貨幣,其目的是解決數字貨幣的支付問題。區塊鏈去中心化的特性對依賴第三方機構的電子支付和資金托管等領域有顛覆性變革。傳統的金融交易需要經過中央結算機構,銀行證券及交易所等多家中心機構的協調工作,利用區塊鏈技術可以降低交易成本,簡化金融業務流程。
區塊鏈技術在數字貨幣中已有廣泛應用,現有的大多私人數字貨幣都基于區塊鏈底層技術。Facebook基于聯盟鏈打造了服務數十億用戶的數字貨幣Libra,并實現了Move智能合約語言,共識機制采用了康奈爾大學提出的BFT改進算法,并將其命名為LibraBFT,實現了高性能的共識機制。為應對世界數字貨幣的挑戰,人民銀行從2014年開始研究法定數字貨幣,目前處于研究測試過程中。
在跨境支付場景中,Ripple Lab基于區塊鏈創建了Ripple數字競爭幣以降低跨境支付的成本。初創企業Circle公司推出跨界支付應用,并發布白皮書[43],利用比特幣充當跨幣種交易的中介貨幣,提升跨境支付的效率,降低交易成本。現有的SWIFT系統交易成本高,速度慢,基于區塊鏈的加密貨幣可以實現方便的跨境支付,比SWIFT系統更加安全便利[44]。
在供應鏈金融場景中,區塊鏈技術從效率、成本、信任三個維度解決了企業融資過程中的痛點。區塊鏈為供應鏈各參與方提供了平等協作的平臺,大大降低機構間信用寫作風險和成本。實現數據的實時同步和對賬,防止數據的篡改和偽造。
區塊鏈數據的不可篡改,時間戳記錄可以永久保存各類證明文件,并對證明文件的記錄進行時間序列存證,實現去中心化的驗證。目前區塊鏈技術已經應用于知識產權保護、校園信息存證、互聯網法院存證等領域。
區塊鏈電子存證在教育領域應用前景突出。例如倫敦大學建立了基于區塊鏈的學歷認證平臺Gradbase用于存儲畢業學生的學歷信息,企業單位可以通過掃描平臺形成的二維碼,驗證求職者的學歷信息。
在電子資源產權保護方面,區塊鏈+數字證書是存儲、驗證、共享資源權限的理想方案。電子資源的發布者、接受者、所有者、發布時間可以存儲在區塊鏈系統中,每次資源使用記錄的增加都經過區塊鏈節點的共識,從而保護電子資源所有者的產權。
未來的區塊鏈的發展趨勢是有效支持大規模產業級復雜應用。當前,以“區塊鏈即服務”理念為基礎的區塊鏈服務平臺已具有提供規模化區塊鏈應用的雛形。
區塊鏈服務平臺旨在為使用者提供集成化、可定制的區塊鏈服務。在此之前,區塊鏈服務是單一化、割裂化的,用戶難以自定義區塊鏈配置。區塊鏈服務平臺是基于主流區塊鏈技術構建企業級PaaS(platform as a service)平臺服務,可以幫助使用者快速構建安全穩定的生產級區塊鏈環境,減少在區塊鏈部署、運維、管理、應用開發的工作量,提供業務創新的便利。當前常見的區塊鏈服務平臺有騰訊TrustSQL、百度Xuper鏈、阿里云區塊鏈BaaS平臺等。
2016年,工信部發表《中國區塊鏈技術和應用發展白皮書》,其中提到區塊鏈技術在教育過程中涉及的檔案管理、學生征信、學歷證明、成績證明、產學合作中可發揮作用。
2018年,倫敦大學學院(University College London)宣布其區塊鏈技術中心將開展一項試點項目,該項目的目的是讓金融風險管理專業的學生能夠通過區塊鏈技術驗證簡歷中學歷信息的真偽。2018年,基于區塊鏈的去中心化全球教育服務平臺EduCoin面世。該平臺通過區塊鏈的分布式特征為多個教育節點建立連接,以執行與教育相關的服務或共享內容。EduCoin平臺擁有自身的加密貨幣EDU,區塊鏈節點之間可以通過EDU交換教育資源。在EduCoin平臺上,資源提供者可以確定共享的教學內容的價格,而消費者可根據資源所提供的價格信息支付EDU以獲得資源,其過程中無第三方機構參與而是通過智能合約保證交易的真實和可信。
因此,區塊鏈技術不僅可以為教育數據共享與隱私保護問題、教學資源的知識產權保護與交易提供幫助,還可以為構建新的教學模式提供支持。區塊鏈技術與人工智能、大數據、云計算結合將為教育信息化發展發揮更大的作用。
區塊鏈采用去中心化的分布式記賬技術,為解決數據共享管理提供了新的思路。現有的數據共享存在權限不清晰、不方便管理等問題,數據的所有者并不能完全掌握數據的所有權。目前區塊鏈可以用于解決不可信環境下的數據管理問題。
作為分布式賬本技術的代表,區塊鏈可用于智能供應鏈管理,實現貨物流轉、產品登記等信息的可追溯化管理,增強信息的透明度,提升整個供應鏈處理效率。區塊鏈上數據保存在分布式的節點中,任何節點都不能隨意操控數據,IBM已推出了一項使用區塊鏈技術改善供應鏈的案例,將其命名為“信任你的供應商”。
區塊鏈交易的匿名性可以保障交易用戶的隱私。在電子健康領域,SWAN[45]認為區塊鏈可以保護個人健康數據的隱私性。LAZAROVICH[46]以醫療數據隱私保護為例闡述區塊鏈在個人隱私保護方面的應用。ROEHRS et al[47]提出的OmniPHR系統利用區塊鏈實現個人電子醫療健康數據保存和訪問,確保數據的安全和防篡改。MEDSHARE[48]系統解決無信任環境下醫療數據安全共享問題,為電子醫療數據溯源審計提供了解決方案。
在能源共享領域,區塊鏈的去中心化與分布式能源供給有較強的耦合性,使用區塊鏈實現能源共享有助于實現智能充電樁之間的信息共享,降低能源交易成本。KANG et al[49]提出了一種點對點電力交易系統,構建了安全交易的聯盟鏈系統,實現雙重拍賣機制,實現了去中心化的電力交易。國內外已有基于區塊鏈的微電網項目落地,增強了用電穩定性,降低了區域間用電的依賴性。
區塊鏈在物聯網領域也有廣泛應用,包括在車聯網領域中利用區塊鏈保護用戶隱私,利用區塊鏈實現車聯網中的聯邦學習的安全數據共享[50]。
區塊鏈技術正處于快速發展過程中,還面臨許多挑戰。概況起來,主要表現在以下三個方面:
第一,區塊鏈技術自身面臨的挑戰。
區塊鏈融合了密碼學、計算機科學、經濟學、社會學等學科知識,是一種在不可信環境中構建信任的新型協作模式和計算范式。然而,其發展還處于非常早期的階段,技術本身所存在的問題仍待進一步突破。
1) 可擴展性問題:區塊容量、節點規模、共識效率、通信時延等因素使得單位時間確認交易數量受限,成為區塊鏈可擴展性提升的主要瓶頸。高性能、高可擴展等技術瓶頸阻礙了區塊鏈大規模商業落地應用。
2) 互操作性問題:當前,區塊鏈技術平臺呈現“百鏈競發”態勢,相較于信息互聯網實現的泛在信息交互需求,不同技術底層的區塊鏈之間缺乏統一的互聯互通的機制,難以滿足價值自由流轉需求,極大阻礙了區塊鏈應用生態形成。
3) 安全性問題:區塊鏈安全研究分散在密碼安全、網絡安全、共識安全、智能合約安全、應用安全等不同維度,木桶原理表明區塊鏈系統的安全性取決于最薄弱維度的安全性,單一維度的安全難以保障整個區塊鏈系統安全,構建縱深防御的一體化的安全架構已成為區塊鏈安全亟待突破的關鍵問題。
4) 隱私保護問題:區塊鏈隱私大都采用密碼學保護不同交易主體的身份隱私和不同交易的內容隱私等,距離大規模實用化有一定距離。此外,難以在保障區塊鏈隱私條件下,實現準確高效監管。實用化、條件化隱私保護方法仍待進一步突破。
5) 可監管性問題:當前,大多采用被動監管方式,即由金融機構定期向監管機構報備,存在時效性差、數據易被篡改等問題。因此,如何利用區塊鏈技術構建透明、動態、高效、精準、可視化的監管體系有待完善。
第二,區塊鏈技術與人工智能、大數據等技術相結合面臨的挑戰。
目前,從技術成熟度來講,大數據、云計算等技術趨于成熟,人工智能、物聯網技術應用范圍和領域不斷擴大,而區塊鏈受限于技術發展及投入產出比等緣由,仍處于發展的初級階段。隨著區塊鏈技術的完善,人工智能、大數據等技術也會隨之融合,出現新的技術局面,對于區塊鏈產業來講,將來想象空間會很大。 區塊鏈與人工智能、大數據相結合具備顛覆傳統行業的可能,使得相關業務公開化、透明化、公正化。但是,區塊鏈技術如何與人工智能、大數據相結合還面臨許多挑戰。
第三,區塊鏈技術應用面臨的挑戰。
目前,區塊鏈的價值已經得到全社會的肯定和重視。截至目前,全國已有22個省(自治區、直轄市)將區塊鏈寫入2020年政府工作報告。大多數地方政府將區塊鏈視作當地產業優化升級的技術助力、數字經濟產業的新增長點,并對當地區塊鏈發展提出了更為具體細化的目標。
區塊鏈技術的應用始于數字貨幣和金融領域,區塊鏈作為數字經濟的重要組成部分,正在向其他應用領域迅速擴展,成為加快傳統實體產業和現代服務業高質量發展的重要技術。區塊鏈技術應用面臨的挑戰主要有:
1) 區塊鏈與已有應用相結合面臨的挑戰。區塊鏈技術作為底層技術,如何與應用領域的現有系統相結合是一個需要研究的問題。以電子政務為例,是以區塊鏈為基礎設計新的電子政務應用,還是在原來系統的基礎上進行改造,目前還沒有形成好的應用模式。
2) 區塊鏈應用帶來管理模式與制度的變化。區塊鏈技術的主要特點之一是去中心化,通過共識機制自動達成共識。這與目前中心化的管理體系存在一定的矛盾。
3) 區塊鏈應用創新的難度大。截至目前,最成功的區塊鏈應用就是數字貨幣。除此之外,其他應用還沒有形成與數字貨幣類似的影響,區塊鏈應用創新任重道遠。
區塊鏈作為新一代互聯網技術已經引起產學界的廣泛關注,區塊鏈技術在數據共享、協同工作、業務流程優化、可信體系建設等方面具備特有的優勢。隨著區塊鏈技術的普及,區塊鏈技術將廣泛應用于當前數字經濟時代的各類應用中,成為一種分布式可信數據存儲的基礎設施,通過其去中心化的信任基礎重塑新的社會形態。
本文通過對區塊鏈相關核心技術和應用領域研究進展的詳細闡述,梳理了當前區塊鏈核心技術的現有研究成果及挑戰,并分析了區塊鏈應用項目的落地瓶頸。現有制約區塊鏈系統發展的技術挑戰主要包括分布式賬本的可擴展性、共識算法性能、尚未標準化的智能合約、鏈上數據擴容、數據源安全性及鏈上數據隱私等。區塊鏈應用落地的瓶頸主要在于交易延時與大規模請求的執行效率。雖然當前的區塊鏈技術還存在很多性能和應用的挑戰,但不可否認區塊鏈技術正在促進各領域的技術創新。大多區塊鏈關鍵技術仍需要進一步的研究和探索才能產生變革影響,國內外學者已經開展了多項區塊鏈技術的探索和應用實踐,需要更多的科研人員加入到區塊鏈技術及應用的研究工作中,實現區塊鏈核心技術瓶頸的突破。
當前,區塊鏈技術的去中心化可信體系已經引起了各行業的廣泛關注。整個區塊鏈行業正處于快速變化和演進過程中,未來的區塊鏈行業將構建一個完善的生態系統,為人類生活創造新的可能。未來區塊鏈生態系統的發展趨勢包括:混合跨鏈交易和異構區塊鏈實現高性能交易、非鏈式區塊數據模型實現區塊數據并行存儲、混合網絡協議提升共識通信效率、成立世界范圍的可信區塊鏈聯盟組織等。區塊鏈作為一種平等互信的互聯網技術,需要有更優的互聯網底層協議,進一步提升系統性能、優化共識算法、改進體系架構,探索更廣闊的應用場景。