2019-11-27 09:21
來源: ccfvoice
CCF于2019年10月出版了新一期《中國計算機科學技術發展報告》,對互聯網、體系結構、大數據、區塊鏈等超多前沿研究進展做了詳細的介紹和討論。我們將分期分享報告中的精彩內容。請加入CCF,登錄CCF數字圖書館下載和瀏覽。
區塊鏈是一種由多方共同維護,使用密碼學保證傳輸和訪問安全,能夠實現數據一致存儲、難以篡改、防止抵賴的記賬技術,也稱為分布式賬本技術。近年來,區塊鏈技術的發展對社會產生了重要的影響。本文介紹近年來區塊鏈關鍵技術的發展現狀和研究進展。首先從共識機制、互操作性、安全性、隱私保護和可監管性等方面介紹了區塊鏈技術的現狀和面臨的挑戰。然后重點從跨鏈通信技術、區塊鏈智能合約、區塊鏈安全性、區塊鏈監管與隱私保護、區塊鏈技術應用等方面分析當前國內外研究現狀,并指出了相關技術的發展趨勢和展望。作為金融科技的重要技術、數字經濟的重要基礎,區塊鏈技術在未來將發揮重要的作用。
關鍵詞:區塊鏈,智能合約,數字貨幣,安全,監管
1.引言
2008年10月,中本聰(Satoshi Nakamoto)在論文《比特幣:一種點對點式的電子現金系統》(Bitcoin: A Peer-to-Peer Electronic Cash System)中基于區塊鏈技術描述了一種稱為比特幣(Bitcoin)的電子現金系統。2009年1月,比特幣系統正式運行,產生了第一個比特幣。十年來,比特幣給整個社會帶來了巨大的影響。與此同時,區塊鏈技術也從發行比特幣到應用于社會的許多領域,為解決現實問題提供了一種新的選擇,被稱為“創造信任的機器”、“將顛覆互聯網的新技術”。2019年6月,Facebook加密貨幣項目Libra白皮書正式公布,引起世界各國的高度關注,再一次將數字貨幣與區塊鏈技術推向一個新的階段。
區塊鏈是一種由多方共同維護,使用密碼學保證傳輸和訪問安全,能夠實現數據一致存儲、難以篡改、防止抵賴的記賬技術,也稱為分布式賬本技術。區塊鏈技術為進一步解決互聯網中的信任問題、安全問題和效率問題,提供了新的解決方案,也為金融等行業的發展帶來了新的機遇和挑戰。為應對區塊鏈技術所帶來的機遇和挑戰,產業界和學術界紛紛開展了區塊鏈技術應用探索和理論研究,為深入推進區塊鏈技術與實際業務的融合提供了強大的動力。同時,近年來,區塊鏈技術發展與政策監管相向而行的趨勢愈發明顯,也為區塊鏈技術與金融等行業的深入融合提供了重要的推動力。
本文介紹近年來區塊鏈關鍵技術的發展現狀和研究進展。重點從可擴展性、跨鏈通信技術、區塊鏈智能合約、區塊鏈安全性、區塊鏈監管與隱私保護、區塊鏈技術應用等方面分析當前國內外研究現狀,并指出了相關技術的發展趨勢和展望。
2.區塊鏈關鍵技術
及其面臨的挑戰
現階段,雖然區塊鏈的行業生態已初步成形,但區塊鏈技術仍面臨諸多技術瓶頸,具體表現在體系架構、共識機制、互操作性、系統安全等多個方面。因此,必須對區塊鏈關鍵技術給予高度重視,并集多方力量突破技術瓶頸,從而為區塊鏈應用的全方面落地掃清障礙。
2.1共識機制
共識機制是區塊鏈系統能夠穩定、可靠運行的核心關鍵技術。不同于傳統的中心化系統,區塊鏈系統中所有網絡節點是自由參與、自主維護的,不存在一個可信的中心節點承擔網絡維護、數據存儲等任務。因此,如何使眾多地理位置分散、信任關系薄弱的區塊鏈節點維持一致性的可信數據副本,并實現系統穩定運行,是區塊鏈共識機制必須解決的難題。
共識機制的主要功能是解決兩個基本問題:
(1)誰有權寫入數據。區塊鏈系統中,每一個骨干網絡節點都將各自獨立維護一份區塊鏈賬本(即區塊鏈系統中的數據庫)。為了避免不同的區塊鏈賬本出現數據混亂的問題,必須要設計公平的挑選機制,每次只挑選一個網絡節點負責寫入數據;
(2)其他人如何同步數據。當被挑選的網絡節點寫入數據后,其他網絡節點必須能夠準確及時的同步這些數據。為了避免網絡中出現偽造、篡改新增數據的情況,必須設計可靠的驗證機制,使所有網絡節點能夠快速驗證接收到的數據是由被挑選的網絡節點寫入的數據。
一旦解決這兩個問題,區塊鏈分布式網絡中的節點就可以自發的建立一致性的可信數據副本。首先,每隔一定時間,經過共識機制挑選的節點將挑選待入庫的交易,構造最小的區塊鏈數據存儲結構“區塊”,然后將區塊數據廣播到區塊鏈網絡。其次,全網所有節點將對接收到的區塊數據進行檢測,根據共識機制判斷區塊數據是否是由合法的授權節點發布。如果區塊數據滿足共識機制和其他格式需求,將會被節點追加在各自維護的區塊鏈賬本中,完成一次數據同步。通過重復這兩項過程,區塊鏈賬本就可以穩定、可靠的實現更新和同步,避免數據混亂、數據偽造等問題。
共識機制是區塊鏈的核心技術,與區塊鏈系統的安全性、可擴展性、性能效率、資源消耗密切相關。迄今為止,研究者已經在共識相關領域做了大量研究工作,提出了眾多不同的共識機制。從如何選取記賬節點的角度,現有的區塊鏈共識機制可以分為選舉類、證明類、隨機類、聯盟類和混合類共5種類型:
選舉類共識是指礦工節點在每一輪共識過程中通過“投票選舉”的方式選出當前輪次的記賬節點,首先獲得半數以上選票的礦工節點將會獲得記賬權。例如PBFT、Paxos和Raft等。PBFT共識機制效率高,支持秒級出塊,而且支持強監管節點參與,具備權限分級能力,在安全性、一致性、可用性方面有較強優勢。然而,在PBFT系統,一旦有1/3或以上記賬人停止工作,系統將無法提供服務,當有1/3或以上記賬人聯合作惡,且其他所有的記賬人被恰好分割為兩個網絡孤島時,惡意記賬人可以使系統出現分叉。
證明類共識被稱為“Proof of X”類共識,即礦工節點在每一輪共識過程中必須證明自己具有某種特定的能力,證明方式通常是競爭性地完成某項難以解決但易于驗證的任務,在競爭中勝出的礦工節點將獲得記賬權。例如PoW和PoS共識算法等。PoW(工作量證明機制)的核心思想是通過分布式節點的算力競爭來保證數據的一致性和共識的安全性。PoS(權益證明機制)的目的是解決PoW中資源浪費的問題。PoS是由具有最高權益的節點獲得新區塊的記賬權和收益獎勵,不需要進行大量的算力競賽。PoS一定程度上解決了PoW算力浪費的問題,但是PoS共識機制導致擁有權益的參與者可以持幣獲得利息,容易產生壟斷。
隨機類共識是指礦工節點根據某種隨機方式直接確定每一輪的記賬節點,例如Algorand和PoET共識算法等。Algorand共識是為了解決PoW共識協議存在的算力浪費、擴展性弱、易分叉、確認時間長等不足。Algorand共識的優點包括:能耗低,不管系統中有多用戶,大約每1500名用戶中只有1名會被系統隨機挑中執行長達幾秒鐘的計算;民主化,不會出現類似比特幣區塊鏈系統的“礦工”群體;出現分叉的概率低于10-18。
聯盟類共識是指礦工節點基于某種特定方式首先選舉出一組代表節點,而后由代表節點以輪流或者選舉的方式依次取得記賬權。這是一種以“代議制”為特點的共識算法,例如DPoS等。DPoS不僅能夠很好地解決PoW浪費能源和聯合挖礦對系統的去中心化構成威脅的問題,也能夠彌補PoS中擁有記賬權益的參與者未必希望參與記賬的缺點。
混合類共識是指礦工節點采取多種共識算法的混合體來選擇記賬節點,例如PoW+PoS混合共識、DPoS+BFT共識等。通過結合多種共識算法,能夠取長補短,解決單一共識機制存在的能源消耗與安全風險問題。
當前現有的共識機制很難做到性能和擴展性的平衡。比特幣、以太坊等公有鏈使用的共識機制(如PoW,PoS等)雖然支持大規模節點網絡,但共識性能較低,如比特幣的TPS(每秒處理的交易數)大約只有7。而以Fabric為首的聯盟鏈共識機制(如PBFT等)雖然有較高的TPS,如PBFT的TPS能達到1000,但這些共識算法的擴展性較差,只支持小規模的網絡,當節點數量過多時共識機制就會崩潰,且很多聯盟鏈共識算法的共識節點是預置的,不支持節點的動態加入與退出。目前區塊鏈系統的共識效率仍是區塊鏈技術的瓶頸之一,在一定程度上限制著區塊鏈技術的發展和相關應用的落地。未來區塊鏈共識算法的研究方向將主要側重于共識機制的性能提升、擴展性提升、安全性提升和新型區塊鏈架構下的共識創新。
2.2互操作性
區塊鏈技術已經滲透至金融、供應鏈等不同的行業與場景,有效打破了同一場景下不同參與方間的價值孤島。但現階段價值難以在不同行業、不同場景之間流動。這使得不同區塊鏈的參與方成為了一個個封閉的小團體,這顯然不利于價值的社會化流通。因而,實現區塊鏈的互操作性勢在必行。目前,區塊鏈的互操作性主要通過跨鏈技術實現。依據具體的技術路線,跨鏈技術可分為公證人技術、側鏈技術、原子交換技術以及分布式私鑰控制技術四類。
(1)公證人技術
在公證人技術中,交易參與方事先選擇一組可信的公證人,以確保交易的有效執行。由Ripple公司提出的InterLedger協議,是公證人技術的一個典型案例。InterLedger實現了跨區塊鏈轉賬,在A鏈發送方在向B鏈接收方轉賬前,需找到一組連接者(Connectors),由連接者逐跳地把資金發送至接收方。各連接者需指定一組公證人(notaries),由公證人監督這一組交易的有效性。
公證人技術的主要問題在于需要信任特定的公證人群體,這違背了區塊鏈去中心化的設計初衷,并引入一定的安全性隱患。
(2)側鏈技術
借助側鏈技術,一條區塊鏈可以讀取并驗證其他區塊鏈的事件和狀態。目前,側鏈技術可分為一對一側鏈和星形側鏈兩大類。一對一側鏈技術包括以BTC Relay、RSK為代表的新型區塊鏈。此類區塊鏈能夠和一條已有的區塊鏈(如比特幣)交互,主要目的是實現已有區塊鏈的功能拓展。而星形側鏈技術主要包括以Polkadot、Cosmos為代表的跨鏈基礎設施,其通過構建一條新區塊鏈連接多條其他區塊鏈,進而形成一個星形拓撲結構,實現不同區塊鏈間的價值與信息流通。
(3)原子交換
原子交換的基本思想是,當位于兩條鏈上的雙方互換資產時,交易雙方通過智能合約等技術,維護一個相互制約的觸發器(trigger)以保證資產交換的原子性。即A與B之間的資產交換或者同時發生,或者同時不發生,而不會發生A向B轉賬完成,而B未向A轉賬的情況。
此類跨鏈方案的典型案例是Blocknet。在原子交換的基礎上,Blocknet增加了訂單匹配、交易撮合等功能,以實現去中心化跨鏈貨幣兌換。然而,原子交換技術的應用范圍較為狹窄,僅限于跨鏈轉賬領域,無法滿足其他跨鏈需求。
(4)分布式私鑰控制技術
分布式私鑰控制技術旨在通過分布式私鑰生成與控制技術,將各種數字資產映射到一條新的區塊鏈上,從而在同一條區塊鏈上實現不同數字資產的自由交換。
Fusion是分布式私鑰控制技術的代表性項目。其核心思想將各條區塊鏈上的數字資產映射到Fusion構建的公共區塊鏈上。簡單來說,就像不同區塊鏈用戶將數字資產存入“銀行”,銀行內的數字資產可以進行自由的流通與兌換,并實時更新用戶賬戶余額,用戶從“銀行”提款時以最后的賬戶余額為準。
分布式私鑰控制技術與原子交換技術類似,僅能完成跨鏈資產轉移,尚不能進行更復雜的跨鏈互操作。如果后續無法對其功能完成進一步的拓展,那么分布式私鑰控制技術的應用范圍將遠達不到預期的效果。
可以看到,已有區塊鏈互操作性方案存在明顯不足。首先,應用范圍窄。例如,BTC Relay只能完成比特幣到以太坊的單向操作,而InterLedger和Fusion等僅能完成跨鏈轉賬,無法進行其他類型的操作。其次,兼容性差。例如,Cosmos等系統僅支持結構相同區塊鏈的互聯互通。總之,現有各種跨鏈與互操作性方案仍處在起步階段,距離實際應用還有很長一段距離。針對此類問題進行優化,也是區塊鏈互操作性的未來演進方向。此外,區塊鏈的互操作性研究直接關系到區塊鏈通信的接口標準。然而,目前最具影響力的跨鏈方案均由國外的企業和研究機構提出。相關實體在設計跨鏈方案時,首先考慮的將是自身經濟利益。因此,我國應盡快推動區塊鏈互操作性研究,積極參與跨鏈標準的制定,從而為國內的區塊鏈產業爭取更多話語權。
2.3安全性
目前,區塊鏈技術已在金融、政務甚至國防領域獲得初步應用。這些場景對安全性的要求極高,然而很多區塊鏈均發生過嚴重的安全問題。截至2018年4月,區塊鏈已發生超過200起重大安全事件,造成的經濟損失已超過36億美元。因此,對區塊鏈安全性的研究勢在必行。
現階段,業界側重于從不同角度提出針對區塊鏈系統的攻防措施,進而對區塊鏈安全性進行全方位探索。研究表明,任何違反區塊鏈安全性的行為,都可以歸結為從算法安全、協議安全、實現安全、使用安全和系統安全等五個層面進行的破壞、更改和泄露。
(1)算法安全
算法安全通常是指密碼算法安全,既包括用于檢驗交易的哈希算法、簽名算法,也包括用于某些智能合約中的復雜密碼算法。
一般來說多數區塊鏈中使用的通用標準密碼算法在目前是安全的,但是這些算法從間接和未來看也存在安全隱患。首先從間接來看,SHA256算法對應的ASIC礦機以及礦池的出現,打破了原有“一CPU一票”的理念,使得全網節點減少,權力日趨集中,51%攻擊難度變小,對應的區塊鏈系統受到安全性威脅。其次從未來發展看,隨著量子計算的興起,實用的密碼體制均存在被攻破的威脅。
此外,對于新型密碼,由于其沒有經過足夠的時間檢驗和充分的攻防考驗,其在實際應用中更容易成為短板。比如麻省理工學院發現新興區塊鏈IOTA的哈希算法中存在致命漏洞,使得IOTA團隊緊急更換算法。某些未經檢驗的隨機數生成器也可能存在漏洞,利用生日攻擊會產生相同隨機數,進而威脅區塊鏈安全。
為了防止ASIC過度使用造成區塊鏈中心化問題,設計不利于并行計算的哈希算法勢在必行。目前,萊特幣的scrypt算法和暗黑幣X11算法均從增加內存消耗方面提高了ASIC開發難度。為防范量子計算威脅,傳統密碼算法需要盡早替換為抗量子密碼算法,目前業界已提出了基于格上困難問題的密碼算法和基于糾錯碼的密碼算法等。為了防范不成熟密碼造成的安全漏洞,必須對于未經驗證的密碼算法謹慎使用。另外隨機數生成器也必須從偽隨機向真隨機過渡,如采用基于混沌的隨機數發生器129J和基于量子的隨機數發生器等。
(2)協議安全
協議是通信雙方為了實現通信而設計的約定或通話規則,包括網絡層面的通信協議和上層的區塊鏈共識協議。
協議安全在網絡層面表現為P2P協議設計安全。攻擊者利用網絡協議漏洞可以進行日蝕攻擊(Eclipse Attack)和路由攻擊(Routing Attack)。攻擊者利用網絡節點的連接數限制可以用日蝕攻擊將節點從主網中隔離,而路由攻擊則是通過控制路由基礎設施將區塊鏈網絡分區而進行的攻擊。攻擊者還可以發起DDoS攻擊,目前對于DDoS攻擊只能依靠收取交易費和浪費算力來控制。
協議安全在區塊鏈共識層面表現為共識協議安全。首先各類共識協議均有容錯能力限制,如PoW存在51%算力攻擊,PoS存在51%幣天攻擊,而DPoS還存在著中心化風險。其次,共識協議容易受到外部攻擊影響。例如,針對PoW共識已出現了自私挖礦(Selfish Mining)和頑固挖礦(Stubborn Minging)等多種攻擊。自私挖礦可以使攻擊者獲得多出自身算力占比的收益;而頑固挖礦是對自私挖礦的拓展,可以使攻擊者收益率比自私挖礦提高13.94%。PoS共識則存在“無利害關系(Nothing at Stake)”問題,即區塊鏈發生分叉時,礦工可能會在多個分叉上同時下注,以謀取不當利益。
針對協議安全性問題,為防止網絡層面的攻擊,需要開發者謹慎選擇區塊鏈的網絡協議。而為了防止區塊鏈共識層面的攻擊,則需設計適當的激勵與懲罰措施,從而降低攻擊者獲得的收益。
(3)實現安全
在區塊鏈系統的實現過程中,程序員可能會有意或無意留下漏洞,從而導致區塊鏈的安全性受到損害。具體表現在以下兩個方面。
首先,眾多區塊鏈引入了圖靈完備的智能合約機制。用戶可以利用智能合約編寫自動化程序,完成資產分配等操作。然而,在編寫智能合約時很可能會引入安全性漏洞。例如,某些合約可能會錯誤地把資產發送到不受控的地址,或者資產無限期鎖死,導致全網可用代幣減少等。
其次,區塊鏈的底層源碼也可能存在整數溢出漏洞、短地址漏洞和公開函數漏洞等各種漏洞。例如,比特幣0.3.11之前版本可以違規生成大量比特幣,而以太坊的短地址漏洞可以使交易者從交易所違規獲得256倍甚至更多的利益。
針對智能合約等程序在實現上的安全問題,業界已提出一系列的形式化驗證和安全測試技術,從而在產品上線之前發現其可能存在的漏洞。此外,諸多區塊鏈的產品開發者已開始定期進行代碼審計,包括交易安全審查和訪問控制審查等,從而爭取在攻擊者發現漏洞之前修復安全問題。
(4)使用安全
在區塊鏈中,“使用安全”特指用戶私鑰的安全。私鑰代表了用戶的資產所有權,是資產安全的前提。然而在傳統的區塊鏈中,私鑰均由用戶自己生產并保管,沒有第三方的參與,所以私鑰一旦丟失或被盜,用戶就會遭受資產損失。
在現實使用中,某些交易平臺會代替用戶管理私鑰,但是很多平臺往往采用聯網的“熱錢包”管理私鑰,一旦“熱錢包”被黑客破解,用戶的資產就會被盜取。此外,由于沒有完善的風險隔離措施和人員監督機制,導致部分擁有權限的員工利用監管機會盜取信息或代幣。
針對使用安全性問題,用戶需要更加謹慎保管私鑰,盡量使用與網絡隔離的冷錢包存儲私鑰。而交易平臺需嚴格進行權限管理,謹慎開放服務器端口,定期進行安全監測,建立完善的應急處理措施。
(5)系統安全
系統安全是一個整體性概念,它受到各級安全因素的共同影響。攻擊者可以綜合運用網絡攻擊手段,對算法漏洞、協議漏洞、使用漏洞、實現漏洞、系統漏洞等各個方面綜合利用,從而達成攻擊目的。另外社會工程學攻擊的引入也使區塊鏈變得更加脆弱。為此,業界需還要關注用戶自身系統安全性,包括定期更新補丁、啟用設備防火墻、禁用路由器中不必要的組件等。
區塊鏈技術已開始獲得廣泛應用。然而,現有區塊鏈的安全問題曾出不窮,因此必須對安全性問題高度重視。目前對區塊鏈安全性的研究主要從“攻”與“防”兩個角度進行。業界分別從從算法、協議、實現、使用和系統等五個層面發現安全隱患,并提出彌補措施。然而,現階段并從根本上解決安全問題。因此在未來,必須從區塊鏈體系架構進行創新,從本質上找到單一漏洞影響系統安全的原因,得到應對區塊鏈安全問題的有效機制。
3.核心技術研究進展
針對當前區塊鏈技術發展面臨的問題,本節可擴展性、從跨鏈通信技術、區塊鏈智能合約優化、區塊鏈安全性、區塊鏈監管與隱私保護、區塊鏈技術應用等六個方面分析當前國內外研究進展。
3.1可擴展性
可擴展性[1]是指區塊鏈系統處理交易以及適應交易增長而擴展的能力。現有提升區塊鏈可擴展性方法主要可分為:高效共識算法、分片技術、鏈上擴容、鏈下擴容等。其中高效共識機制已經2.1節進行了介紹,這里重點從分片技術、鏈上擴容、鏈下擴容等部分介紹區塊鏈可擴展性研究進展。
3.1.1分片技術
2016年,Luu等[2]最先將數據庫中分片技術引入區塊鏈中,提出了一種面向公有鏈的安全分片協議Elastico,可提供近似線性的擴展性,同時容忍1/4惡意節點。具體地,Elastico首先使用PoW方式生成節點身份,然后根據節點身份中后幾個比特位將區塊鏈節點劃分到不同分片中,同一分片中節點身份后幾個比特位相同。為保證每個分片中至少有一定數量節點同時減少廣播消息數量,Elastico建立分片目錄,由其管理每個分片;若每個分片節點數量滿足要求則將節點身份廣播給全網節點。最后,每個分片內部獨立運行BFT共識算法,并將各自產生的區塊頭發送給裁決分片,由其驗證所有簽名并產生全局區塊廣播給每個分片。可見,隨著網絡節點數量不斷增多,Elastico可實現區塊鏈吞吐量近似線性增加。
2017年,基于分片技術的公有鏈Zilliqa被提出[4]。首先,Zilliqa采用Elastico中驗證節點分片方法,即同樣采用PoW選出驗證節點,并根據哈希后幾位比特進行分片,增強分片中驗證節點可靠性,以抵御女巫攻擊。為確定每個分片節點數量,實驗發現當每個分片節點數量大于600時,出現1/3壞節點的概率抵御百萬分之一。為此,Zilliqa按照600個一組將驗證節點分配到每個分片。然后,在片內進行BFT共識。考慮到PBFT在節點數量較多時性能較差,Zilliqa采用多重簽名算法優化PBFT共識算法,從而降低通信復雜度。
2018年,Kokoris-Kogias等[5]指出Elastico存在節點數量較少的分片具有高損害概率,分片劃分不具有強抗預測性,不能保障跨分片交易的原子性,驗證節點頻繁切換分片帶來性能下降等問題。為此,利用分片技術提出了第一個可與中心化支付系統(如Visa)競爭,具有橫向擴展交易處理能力的區塊鏈OmniLedger。具體地,OmniLedger通過一條身份鏈將生成的驗證者身份分配給不同分片。為保證驗證者選擇過程是可擴展和強抗預測性,OmniLedger使用公共隨機協議或加密抽簽協議選擇驗證者分組,并利用RandHound協議安全地將驗證者分組分配到不同的分片上。其次,為了保障跨分片交易的原子性,OmniLedger提出一種拜占庭分片原子提交協議Atomix,保證每個交易被完全提交或最終取消,實現跨分片交易的一致性,從而阻止雙重支付或資金永久鎖定問題。最后,OmniLedger利用狀態區塊匯總一個周期內所有分片狀態,為驗證者較少存儲和啟動開銷,同時利用信任但檢查方式實現小額支付的實時性。
隨后,Zamani等[6]指出OmniLedger同Elastico一樣只能容忍1/4惡意節點,并且只有當惡意節點數低于1/8時,才可達到低于10秒延時。其次,共識過程中節點之間通信復雜度較高,并且需要一個可信初始化過程來產生隨機參數。此外,容易遭受利用Atomix鎖定任意交易惡意用戶的DoS攻擊。為此,提出了一種抵御拜占庭的公有鏈RapidChain,提升Elastico、OmniLedger等區塊鏈的安全性和可擴展性。具體地,RapidChain包含啟動、共識、重配置等階段,其中啟動階段主要利用選舉協議從網絡節點中選出根群組,用來產生建立分片的隨機比特。共識階段主要采用實用同步化拜占庭共識算法[14],實現片內容忍1/2惡意節點,總體容忍1/3惡意節點。重配置階段主要利用Cuckoo規則[15]保障新節點加入分片后不影響所有分片1/2拜占庭容忍。
2018年,Vitalik提出了一種基于雙層設計的以太坊分片方案[3]。具體地,以太坊區塊鏈被分為主鏈和分片鏈,其中主鏈通過驗證管理合約(Validator Manager Contract, VMC)來管理分片鏈,分片鏈采用PoS共識機制打包交易數據生成驗證塊,通過這些驗證塊最終生成主鏈上的區塊。每筆交易都獨立運行在其中一個分片,驗證節點只校驗所在分片的交易。為保證驗證選擇過程是強抗預測性,VMC采用隨機抽樣方式將驗證節點分配到分片鏈上,同時校驗所有分片提交的驗證塊頭,并將校驗通過的驗證塊頭哈希記錄到鏈上。此外,VMC采用UTXO模型和收據樹實現跨片通信。
3.1.2 鏈上擴容
鏈上擴容通過改變區塊鏈底層結構,如增加區塊大小、縮短出塊時間等,提升區塊鏈可擴展性。現有研究一部分研究高效的共識機制,如Bitcoin-NG,PBFT等,通過縮短出塊時間來提升區塊鏈可擴展性。一部分研究通過增加區塊容量,涉及BIP-102、BIP-103、BIP-104、BIP-106、BIP-107。2016年2月達成的香港共識指出,比特幣核心將在隔離見證之后通過硬分叉將區塊擴容到2M。然而,該共識并沒有被實施。2016年10月,比特大陸投資的新礦池ViaBTC提出Bitcoin Unlimited中,區塊容量上限不再是固定值,而可以由礦工投票改變。然而,最后由于技術原因導致Bitcoin Unlimited以失敗告終。2017年5月達成的紐約共識指出,將準備實施SegWit2X擴容方案,即SegWit軟分叉和2M擴容硬分叉。然而,該共識最終也以失敗告終。2017年8月,BCH 在比特幣區塊高度478558執行硬分叉,刪除了隔離見證,將區塊擴容到8M,期望通過該鏈上擴容解決比特幣系統中區塊擁堵和手續費高等問題。在此之后,BCH 通過硬分叉的方式進行了4次升級。
3.1.3鏈下擴容
鏈下擴容是將交易轉移到鏈下完成,鏈上只作為交易記錄或仲裁平臺。通過將區塊鏈從結算平臺變為清算平臺,從而降低區塊鏈的交易數量,提升區塊鏈的交易能力,主要包括隔離見證、狀態通道、側鏈等方案。
2015年,Poon等[16]首次提出閃電網絡的概念,通過在鏈下建立交易的微支付通道,將比特幣網絡中的小額交易帶離。在閃電網絡中,主要包括序列到期可撤銷合約(Revocable Sequence Maturity Contract,RSMC)和哈希時間鎖定合約(Hashed Timelock Contract,HTLC)兩個協議。RSMC機制通過設置時間鎖和引入懲罰機制來實現支付通道的雙向支付,而HTLC則是利用條件支付的方法,實現不同節點跨通道支付問題。閃電網絡的具體流程大致分為起始階段、交易階段和結束階段。交易雙方在起始階段創建交易通道并將各自的押金放入創建的資金池中,廣播彼此的初始狀態;交易階段通過更新每一輪的承諾來進行交易;交易完成后,交易雙方廣播承諾,通道關閉。為保證支付通道雙向支付,RSMC利用時間鎖機制來延遲通道中交易一方取回資產的時間,同時通過懲罰機制來保證通道雙方的承諾是最新的狀態。若交易一方存在虛假交易,另一方可以通過時間鎖的延遲內發現,并將通道內的資產收回,以對虛假交易的懲罰。
然而,為解決閃電網絡效率及可用性不足等問題,Raiden網絡[17]的支付通道中的懲罰交易是基于交易雙方對交易輪數的簽名,這使得支付通道不再受限于比特幣系統腳本的限制,有效的避免了因高頻交易的持續發生而帶來交易代價越來越大的問題。Miller等[18]定義了一種新的支付通道Sprites,解決了用戶如果跨鏈不成功,所要消耗的時間過大的問題。Sprites利用以太坊平臺中的智能合約,設計基于哈希原象的管理合約,使用戶可以通過調用合約的狀態獲取交易是否成功的信息,從而減少了時間成本。為了保證交易通道的可持久性,Decker等[19]提出的Duplex利用比特幣系統中的時間鎖機制設計了無效樹的結構來保證通道的可持久性,同時保證客戶間安全及時的交易。Khalil等[20]提出的Revive通過交易通道所有者的偏好,允許交易通道中的任意一組用戶安全地重新平衡他們的交易通道,保證支付網絡的可持久化。
Poon等[21]提出的Plasma是基于以太坊網絡,通過建立側鏈機制來盡可能的減少在根鏈上的交易量,從而降低根鏈的交易負荷的側鏈技術。Plasma區塊鏈為樹狀結構,有多個分支,每個分支為一條子鏈,一般子區塊的區塊頭哈希值存儲在根鏈中,其目的是用來對區塊的有效性進行驗證。為了防止子鏈和根鏈之間交流發生欺詐,Plasma設計了欺詐證明(Fraud proofs)機制,主要由根鏈負責保證網絡環境的安全和對欺詐行為的處理。每個子鏈可以有自己的欺詐證明,可以構建在不同的共識算法之上。當發生欺詐行為時,用戶可以將欺詐證明提交到根鏈來保證用戶的權益不受傷害。MapReduce 作為跨多個數據庫組織和計算數據的分布式運算規則,被應用于Plasma中。在MapReduce機制中,將每個子鏈看作是一個數據庫,實現了數據的快速處理。最后,Plasma這種通過樹狀結構創建多條子鏈來減輕主鏈的工作方式,使主鏈可以每秒處理更多的事務,提高以太坊網絡的整體性能。
3.2跨鏈通信技術
區塊鏈跨鏈技術的研究可以追溯到2012年,Ripple發布Interledger協議(ILP)首次提出了跨區塊鏈的互操作方案;2014年Blockstream推出Sidechain,提出了雙向錨定的側鏈技術方案,該技術方案直至今天都是研究的重點;2015年提出閃電網絡的設計思路,開創了使用哈希鎖定技術進行跨鏈的技術路線;2017年Fusion正式啟動,提出了分布式私鑰控制技術方案。區塊鏈跨鏈技術經過不斷的發展創新,大致可以分為四類:公證人技術、側鏈技術、哈希鎖技術以及分布式私鑰控制技術。
3.2.1 公證人技術
公證人技術是指利用可信的公證人保證交易執行的原子性從而完成跨鏈交易的技術,這種技術的主要代表是Ripple實驗室提出來的Interledger協議(ILP)。
(1)Ripple
Ripple是世界上第一個開放支付系統,也是第一個利用區塊鏈技術實現跨系統轉賬的技術,其本質是一個開源、分布式的支付協議,其主要應用領域是跨境轉賬。現在銀行的跨境轉賬、清算等操作依賴于SWIFT網絡,存在手續費高、效率較低等問題。通過Ripple協議實現跨境轉賬,將大大降低所需的手續費,統計Ripple網絡事實清算將大大提高交易處理效率。Ripple設計了Interledger Protocol(ILP)實現跨鏈交易:利用多跳連接者連接跨鏈交易的發送者和接收者,通過發送者、多跳連接者與接收者之間的一組交易達到目的交易需要實現的效果,同時通過公證人保證這一組交易執行的原子性。
Ripple早在2012年就成立了,其提供了三種解決方案:協助銀行處理全球支付的xCurrent、為支付服務商提供流動性的xRapid以、協助普通公司接入瑞波網進行支付的xVia。2014年開始,Fidor銀行、Cross River 銀行、CBW 銀行等金融機構接入Ripple協議。現在Ripple生態已較為成熟了,越來越多的金融機構與Ripple保持合作關系,但是由于Ripple主要解決跨境轉賬的問題,而且ILP需要公證人,Ripple在跨鏈通信上沒有更多的進展。
(2)PalletOne
PalletOne是一個區塊鏈跨鏈平臺,其目標不僅僅是設計跨鏈協議、實現價值流通的公鏈跨鏈載體,還包括實現處理高并發、構建高性能的“超級公鏈”、實現區塊鏈網絡價值最大化。PalletOne 架構包括:對接底層區塊鏈的適配器、使用DAG的分布式存儲、負責網絡安全型的陪審團及調停中介、通證抽象層、保證合約安全穩定運行的虛擬機層以及為軟件開發者提供的SDK,PalletOne要實現的是一個完整的跨鏈生態。PaalletOne跨鏈通過通過一個輕量型,與區塊鏈分離的高階合約執行層實現,具體交易通過陪審團的多簽名執行,陪審團相當于跨鏈交易的公證人。
PalletOne項目概念誕生于2017年9月,2018年5月發布項目白皮書以及黃皮書。根據團隊的Git更新以及公布的開發進度,2018年9月底,PalletOne完成了BTC和ETH適配器的開發,實現了BTC與ETH基于PalletOne的跨鏈交換,目前在還不斷對適配器進行更新、完善。根據官網顯示的開發團隊計劃,2018年第四季度將上線測試網絡,2019年第2季度將上線主網。
3.2.2 側鏈技術
側鏈技術根據其實現方式和主要用途可以分為狹義和廣義兩類。狹義上的側鏈技術指以BTC Relay、Sidechain、Drivechain以及RSK為代表的以錨定某種原鏈(主要是比特幣區塊鏈)為基礎的新型區塊鏈。廣義上的側鏈技術還包括以Polkadot、Cosmos為代表的跨鏈基礎設施,其主要目的是解決現有區塊鏈可拓展性問題、延伸性問題以及互操作性問題。
(1)BTC Relay
2016年ConsenSys團隊推出的BTC Relay使用以太坊智能合約以一種去中心化的方式連接了現在受眾最廣的兩條區塊鏈——比特幣區塊鏈和以太坊區塊鏈,實現了以太坊用戶在以太坊區塊鏈上驗證比特幣交易。BTC Relay利用Relayers提供的比特幣區塊頭建立起一個輕量版的比特幣“區塊鏈”,從而實現對比特幣網絡活動的驗證。
BTC Relay自推出就獲得了廣泛的認可,被認為是第一種跨區塊鏈通信的產品,同時也被寄托了幫助完善以太坊基礎設施,幫助以太坊完成更大的創新的愿望。2017年一家建立在以太坊上的去中心平臺EtherEx與BTC Relay合作,將BTC交易引入EtherEx,探索對不在以太坊上的加密貨幣的處理。
由于該項目實現的僅僅是以太坊區塊鏈和比特幣區塊鏈之間單方向的跨鏈操作,應用范圍較為狹窄,同時Relayer提交區塊頭需要支付一定的手續費,Relayer活躍度不夠高,該項目沒有被廣泛的接受。根據BTC Relay官網上的信息,現在已經沒有活躍的Relayer在工作了,同步的最后一個比特幣區塊高度是501329,該區塊打包的時間是2017年12月份,也就是說BTC Relay主網有快一年的時間沒有工作了。目前該項目沒有其他更新的有價值的消息。
(2)Liquid
Liquid是Blockstream推出的錨定在比特幣區塊鏈上的一條側鏈,其目標是幫助交易所、經紀商以及金融機構等組織快速且安全地轉移大量比特幣,提高資金使用效率以及市場流動性。Liquid作為比特幣區塊鏈的側鏈通過Sidechain雙向錨定技術錨定在比特幣區塊鏈上從而實現與比特幣區塊鏈的互操作。Liquid區塊鏈底層采用利用強聯盟改進的區塊鏈,利用強聯盟充當主鏈與側鏈之間的協議適配者以提供更有效率的跨鏈。
人們對Liquid存在不同看法:不看好Liquid的人們認為強聯盟區塊鏈是對比特幣區塊鏈的一種破壞,多重簽名技術存在的缺陷會帶來安全隱患,同時他們還認為雙向錨定技術會導致區塊鏈的獨立安全性受影響;信任Liquid的人們則認為由23家交易所組成的聯盟是值得信任的,高效的交易可以最大限度的減少利差,增加流動性。
Blockstream2016年公布Liquid。經過近兩年的開發研究與內測,Blockstream在2017年5月舉行的Consensus 2017大會上進行了展示,Liquid區塊鏈進入公測階段。2018年9月27日,Liquid區塊鏈正式上線,參加上線的成員有數字貨幣行業內23家最大的公司。
(3)RSK
RSK是一個通過雙向錨定技術錨定在比特幣區塊鏈上的一個開源智能合約平臺,其目標是將智能合約以可操作的形式帶入比特幣系統,實現即時支付以及高擴展性,從而為比特幣生態系統增加價值和功能。由于比特幣系統目前不支持驗證外部SPV,比特幣區塊鏈與根鏈無法實現完全可信和無需第三方的的雙向錨定,因此RSK引入了一個由多個半可信第三方組成的聯邦,由聯邦成員共同決定比特幣的鎖定與釋放。具體的錨定方案是:根鏈側使用Sidechain的錨定方案,比特幣區塊鏈側使用Drivichain錨定與聯邦投票結合的方案。RSK通過聯合挖礦保證網絡算力從而保證系統的安全性。
由于RSK不是比特幣區塊鏈的競爭鏈而是錨定在比特幣區塊鏈上完善比特幣區塊鏈生態系統的側鏈,它爭取到了比特幣社區以及礦工的支持。據統計,RSK測試網絡發布是50%的比特幣礦工表示愿意進行聯合挖礦支持RSK,但是目前RSK主網上進行維護的礦工遠達不到這個比例。對于普通用戶而言,RSK的提出將實現快速支付并為比特幣增加新功能,提高使用體驗。
早在2015年RSK Lab就提出了RSK。2016年RSK智能合約測試網絡Turmeric正式上線,此時大多數礦工對RSK的聯合挖礦表示支持。2017年底RSK主網正式上線,2018年1月4日,RSK挖出了初始區塊。目前RSK主網上有超過88萬個區塊,共有16個節點進行挖礦和網絡維護,平均33S出一個區塊。雖然目前RSK主網節點較少,打包的交易也較少,但是可以說是側鏈技術一次較為成功的嘗試,公司目前也在積極的開發配套的錢包工具。
(4)Cosmos
與其他跨鏈項目不同,Cosmos不是某一條區塊鏈的側鏈,而是一種支持跨鏈交易的網絡架構,其目標不是解決某一區塊鏈存在的問題,而是解決數字貨幣于區塊鏈系統長久存在的互通性、擴展性以及可升級性等問題。Cosmos網絡涵蓋多條基于Tendermint Core運行的獨立區塊鏈,這些獨立區塊鏈被稱作“Zone”。Cosmos上的第一個空間叫做"Cosmos Hub"。Cosmos Hub及各個Zone可以通過區塊鏈間通信(IBC)協議進行溝通,可以說Cosmos使用IBC協議實現了區塊鏈中繼功能,具體來說IBC協議允許區塊鏈讀取和驗證其他區塊鏈中的交易。
Cosmos目標長遠、愿景龐大,為了保證構建的網絡足夠安全,提供的服務足夠優質,開發團隊在軟件迭代時都進行了徹底的迭代測試。2017年10月Cosmos公共測試網絡gaia-1發布,在該測試網上用戶可以在Hub上發送和接受代幣;2018年1月gaia-2發布,該測試網實現了動態節點發現功能;2018年4月至8月,每個月都進行了一些更新從而不斷完善測試網絡功能,同時啟動對應的新測試網絡,當前測試網絡版本是gaia-8001,SDK版本是v0.24.1,如圖1所示。
圖1 Cosmos測試網信息
據了解Cosmos主網發布前需要實現的7個主要功能:手續費、協議內權益罰沒、多簽名功能、ABC(Application Blockchain Interface)更新、Gas定價以及治理v2,大部分已經實現了,但是Cosmos主網具體上線時間還是不能確定。
(5)Polkadot
Polkadot也是一種支持跨鏈交易的網絡結構,其目標是重構區塊鏈架構,將區塊鏈共識的規范性和有效性分開,從根本上解決區塊鏈系統存在的擴展性及伸縮性問題。Polkadot與Cosmos不同的是,Cosmos網絡是必須給予Tendermint的同構系統,而Polkadot預計構建成異構的多鏈系統。Polkadot由一個中繼鏈以及若干平行鏈做成,同時根據節點在網絡中承擔的功能將網絡節點分成了四種角色,分別是:收集者、漁夫、提名者以及驗證者。其中,驗證者負責網絡維護的主要工作,其他角色協助、監督驗證者工作,具體的相互關系見圖2。四種角色協同工作維護網絡,可以實現安全有效的跨鏈交易。
圖2 Polkadot角色交互
為了更好的構建Polkadot生態系統,開發團隊在開發過程中抽象出了Substrate框架,使用該框架可以方便的構建一條可直接接入Polkadot的平行鏈,當然該框架也可以用于獨立區塊鏈的開發。Substrate框架的已經實現了共識機制、出塊投票邏輯、P2P網絡、Wasm虛擬機、智能合約原生執行等功能,目前已經有其他團隊基于Substrate構建區塊鏈,例如國內的ChinaX。
Polkadot的進度比Cosmos稍慢一步,目前處于PoC-3階段,其第一個概念證明已經可以驗證區塊并實現狀態轉換,同時還實現了通過測試網發送Dot代幣等功能。Polkadot團隊計劃于2019年第三季度發布主網。
3.2.3哈希鎖技術
哈希鎖技術的基本思想是交易雙方維護一個設定相互操作的觸發器(trigger)以保證雙方操作的原子性,其典型代表就是閃電網絡(Lightning network)以及雷電網絡(Raiden Network),這兩者都是狀態通道技術的典型應用。
(1)閃電網絡
閃電網絡是狀態通道的典型應用,是一個通過智能合約實現即時、高容量支付的分布式網絡。其目的是實現安全的鏈下交易,但是其核心技術——哈希鎖定技術使得它可以進行原子級的跨鏈交換。但是為了運行原子級的跨鏈交換,需要進行跨鏈交換的兩條區塊鏈上均支持閃電網絡。交換雙方在兩條區塊鏈上都開通閃電支付通道,形成環路通道;交換雙方使用哈希時間鎖定契約(HTLC)實現原子交換,具體來說就是交換雙方將交換資產暫存至臨時賬戶,通過相同的哈希原象以及設定的時間差達到兩筆“付款”交易要么同時發生要么均不發生的效果。當然,并不是所有的跨鏈交換都需要建立新的通道,也可以通過已有的中間人通道來實現。
閃電網絡最初并不是用來進行跨鏈通信的,但是由于其技術特性,可以很好的適用于跨鏈交易。2017年11月,閃電網絡實驗室完成了比特幣到萊特幣的跨鏈交換,證實了閃電網絡原子級跨鏈交易的能力。2018年初,BitUN正式上線,它定義了閃電網絡2.0,構建了一個數字貨幣清算網絡,試圖實現更高效、安全的跨鏈資產管理。
(2)雷電網絡
雷電網絡與閃電網絡一樣,也是狀態通道的應用,只不過閃電網絡是針對比特幣的,而雷電網絡是以太坊上的鏈下擴容方案。其目的是利用鏈下狀態網絡對以太坊的交易能力進行擴展。其基本原理與閃電網絡類似,但是具體實現上有所差別:雷電網絡的支付通道由智能合約控制而非多簽名地址、雷電網絡使用智能合約可以實現更多復雜的交換條件。
2017年雷電網絡團隊在以太坊測試網絡上發布一個早期版本后由發布了一款簡潔版的測試版本——μRaiden(微雷電)。2017年11月底,μRaiden正式在以太坊主鏈上線,可以支持每秒100萬筆交易。2018年3月Liquidity.Network正式加入了雷電網絡,其作為最新的以太坊項目,試圖將交易從世界上第二大的最有價值的區塊鏈轉移到支付渠道上,從而允許網絡可以支持被更多的采用和使用。此外,雷電網絡還與Share & Change,Smart Mesh,Grid+,Tobalaba等公司建立了合作關系,將在多個領域探索應用。
(3)Blocknet
Blocknet是提供分布式應用程序和智能合約的鏈間基礎設施,其目的是實現不同區塊鏈之間的通信,讓不同區塊鏈用戶之間的互操作及相應服務成為可能,簡單來說,Blocknet致力于構建“區塊鏈互聯網”。為了實現這個目標,Blocknet設計了相應的分布式網絡架構以及協議,Blocknet包含三個核心組件:Xbridge——鏈間網絡覆蓋層、Xname——區塊鏈路由、Xchat——P2P數據傳輸 ;實現貨幣化的鏈間服務則需要三項核心基礎設施服務:服務查找、鏈間消息傳輸以及分散交換。基礎設施服務是核心組件的編排,如下圖所示。
Blocknet早在2014年就被提了出來,當時想實現的是一種虛擬貨幣為另一種虛擬貨幣提供服務,其在原子交換的基礎上,增加了訂單匹配、交易撮合等功能,實現去中心化跨鏈貨幣兌換。在經過功能拓展后,可用于跨鏈購買服務等。但是進度緩慢,最近透露的信息比較少。
3.2.4 分布式私鑰控制技術
分布式私鑰控制技術旨在通過分布式私鑰生成與控制技術將各種數字資產映射到一條新的區塊鏈上,從而在同一條區塊鏈上實現不同數字資產的自由交換,其主要代表包括Fusion以及萬維鏈。
(1)Fusion
Fusion是一個加密金融層級的應用,其目的是構建一套區塊鏈基礎設施平臺運行加密金融應用,在該平臺上將通過智能合約自由的互相作用實現價值互操作,從而達到“銀行”的效果。其核心技術是分布式簽名技術,通過該技術用戶可以將其擁有的各種數字資產映射到Fusion構建的公共區塊鏈上,映射了諸多數字資產的Fusion公共區塊鏈可以自由的進行不同數字資產的交換,并在用戶申請提現時給予相應的支持。簡單來說,就像不同區塊鏈用戶將不同數字資產存入“銀行“,”銀行“內的數字資產自由流通影響用戶賬戶余額,用戶從“銀行”提款時以最后的賬戶余額為準。
Fusion項目2017年開始啟動,預計在2019年實現平臺的建設。根據開發團隊的規劃,2018年前三個季度應該完成合規劃工作、核心團隊建設、核心協議開發、智能瀏覽器以及核心錢包開發并完成協議安全性和效率的不斷提升。按照計劃團隊應該在2018年第二季度就上線了測試鏈和主鏈,但是現在查閱不到更多的相關內容,還需要繼續跟蹤。
(2)萬維鏈
萬維鏈時資產跨鏈、隱私保護以及智能合約三大特性結合的數字資產基礎設施平臺,其目的與Fusion類似:以去中心化的方式完成不同區塊鏈網絡的鏈接和價值交換,建立一個分布式的未來“銀行”。其終極目標是建立一個分布式的數字資產金融基礎設施。萬維鏈通過分布式的方式完成不同區塊鏈賬本的鏈接及價值交換。它提出通用的跨鏈協議以及記錄跨鏈交易、鏈內交易的分布式賬本。公有鏈、私有鏈、聯盟鏈均可以低成本地接入萬維鏈,實現不同區塊鏈賬本的連接及資產的跨賬本轉移。任何機構和個人都可以再萬維鏈中開設自己的業務窗口、提供基于數字資產的存貸、兌換、支付、結算等服務。通過萬維鏈提供的基于區塊鏈的基礎設施的保障,更多人能夠享受更加豐富的基于數字資產的金融服務
萬維鏈項目啟動于2016年,同年進行了概念證明,2017年9余額完成了ICO。2017年11月,萬維鏈發布Alpha測試網,并在社區公開召集志愿者參與測試,此時已完成了交易隱私保護的核心開發工作,還進行了部分共識算法及錢包的開發;同年12月發布萬維鏈Bate測試網。2018年1月,萬維鏈主網1.0宣布正式上線,該版本的萬維鏈包含了以太坊的智能合約機制和Monero式的隱私交易功能;2018年7月,萬維鏈2.0對接以太坊宣布正式上線,該版本的萬維鏈實現了跨鏈功能,開發團隊還將進一步完善以實現良好的跨鏈生態。2018年9月發布萬維鏈3.0 Aloha測試網絡,同年10月發布萬維鏈3.0beta測試網絡,開發團隊表示最終實現萬維鏈3.0將打破以太坊系列項目與比特幣網絡項目之間的壁壘,具體情況還需要繼續跟進。
3.2.5 跨鏈技術比較
公證人技術的主要問題在于需要信任特定的公證人群體,這違背了區塊鏈的設計初衷,而信任問題也將帶來一系列的安全問題。這可能就是除了單獨使用公證人技術的跨鏈項目較少的原因。但是公證人技術作為技術點被運用在各種跨鏈交易方案中,例如在屬于側鏈技術的Rootstock(RSK)項目中,由于使用聯合挖礦,前期RSK區塊鏈的算力很有可能會低于比特幣全網算力的一半,為了防止其他算力對RSK區塊鏈的51%攻擊,RSK區塊鏈的區塊打包借助公證人技術。
錨定某一特定區塊鏈的側鏈技術均是通過SPV證明驗證跨鏈交易的有效性,理論上支持所有區塊鏈的跨鏈交換以及跨鏈資產轉移,但是需要為每一條主鏈、側鏈的組合設計實現中繼,實現復雜且難度巨大,可拓展性較差。不錨定特定區塊鏈的側鏈技術則是基于側鏈技術的理念建立跨鏈基礎設施,可以解決狹義側鏈技術存在的諸多問題,但是實現復雜,目前沒有真正上線的項目可以參考。
哈希鎖技術是保證跨鏈交易原子性的理想方案,但是僅使用哈希鎖技術的跨鏈方案應用范圍較為狹窄僅限于跨鏈轉賬領域,無法滿足其他的跨鏈需求。與公證人技術一樣,哈希鎖技術也可以被用在其他跨鏈方案中以保證跨鏈交易的原子性。
分布式私鑰控制技術提出的將不同區塊鏈的資產映射到同一條區塊鏈上后實現的多幣種智能合約,目前實現的與哈希鎖技術一樣,還只是單純的進行資產交換的交易出發,還不能完成更加復雜的跨鏈互操作。如果后續無法進一步增強多幣種智能合約的設計,那么分布式私鑰控制技術的應用范圍將遠達不到預期的效果。表1為當前主要跨鏈技術的比較。
表1 跨鏈技術比較
3.3區塊鏈智能合約
智能合約是運行于區塊鏈上,并通過交易觸發執行的程序。智能合約研究主要包括合約編碼、合約性能、合約安全性以及合約隱私問題。
3.3.1 智能合約性能與安全
Loi Luu[32]等研究了在類似于加密貨幣的分布式網絡中運行基于以太坊智能合約的安全性問題,通過理解底層架構的平臺的分布式語義方面存在細微的差距提出增強以太坊操作語義的方法,列舉以太坊智能合約運行過程中的可能出現的漏洞,構建了名為Oyente的執行工具來發現潛在的安全漏洞。Stefano Bistarelli[33]等人通過收集了大量使用Solidity語言編寫的驗證智能合約,并分析了他們的代碼;對Solidity編譯器進行了類似的研究以確定操作碼在實踐中所發揮的重要作用。Atzei,Bartoletti和Cimoli提供了對以太坊智能合約的攻擊調查[34],他們定義了可能導致不同漏洞的常見編程錯誤,并對其進行分類。這項研究工作為程序員提供了有用的指導,以避免由于程序員由于缺乏對區塊鏈的了解而導致的安全問題。Delmolino等人提出了按部就班編寫智能合約的步驟[35]。Anderson[36]等人提供2015年8月至2016年4月以太坊區塊鏈交易的定量分析。他們的調查側重于智能合約,特別關注僵尸合同。他們對合同執行安全分析,以檢查未受保護的命令(如SUICIDE)的使用情況,同時還檢查了協議代碼中的相似之處,分析了智能合約代碼部分相似的原因。Maurice Herlihy在[37]文中探討了由于并發控制等因素引起的智能合約的問題,Bhargavan等人[38]利用形式方法來分析和驗證智能合同的正確性,而Bigi等人[39]則更進一步,將形式方法與博弈論技術相結合來驗證智能合同。在文章[40]中,作者做出了系統的映射研究;從技術角度收集所有與智能合同相關的研究,得出未來的研究方向。由于區塊鏈的不變性,智能合同在部署到區塊鏈后不能更改或終止,為了解決這一問題,Marino等人[41]提出了一套允許更改或終止智能合同的標準。當前的智能合同是基于程序語言,如Solidity。在過程語言中,代碼是作為一系列步驟來執行的,因此,程序員必須指定應該做什么以及如何做。這使得用這些語言寫智能合同的任務既麻煩又容易出錯。為了解決這個問題,Idelberger等人[42]建議使用基于邏輯的語言,而不是過程語言。一些智能合同需要來自區塊鏈以外的信息,問題是不能保證外部來源提供的信息是可信的。為了解決這個問題,F. Zhang 等人[43]構建了一個Town crier解決方案,作為外部和智能合同之間的可信第三方,為智能合同提供經過認證的傳送數據。
3.3.2 智能合約的優化
針對智能合約存在的隱私、安全、性能以及統一標準等問題,隨著區塊鏈技術的研究進展和突破,國內越來越多的學者也在關注著智能合約的優化研究。如王璞巍等人[44]通過對現有智能合約的實現進行分析和對比,提出了一種面向合同的智能合約的形式化定義方法,并且給出了參考實現。在構建智能合約的研究中文獻[45]使用領域特定語言(DSL)和區塊鏈技術構建去中心化的點對點分布式模型,實現智能合約的可編程性和執行環境的可信性。在區塊鏈技術應用中,文獻[46]實現了Fabric 的跨境匯款追蹤平臺,并詳細給出了其智能合約的主體結構以及方法級權限控制,是技術與應用的真正結合。為提高智能合約的魯棒性以及抗擊打能力,文獻[47]通過提出基于安全多方計算(SMPC)的智能合約框架、面向線性秘密共享的公平 SMPC 算法設計、以及非阻塞信息傳遞接口技術明確定義了基于多方計算的智能合約模型,通過規范基于SMPC的智能合約執行流程、語言結構,增強了智能合約的安全執行。針對市面上的智能合約大多是面向開發者且過分依賴開發平臺以及開發技術的不友好問題,文獻[48]開發了通過安卓端即可接入合約網絡的智能合約平臺。為便于檔案數據的記錄和有效保存,使得檔案數據不被篡改,文獻[49]通過智能合約和數字簽名技術實現了數字檔案館的身份認證和檔案所有權的確定來實現基于區塊鏈的檔案數據保護與共享方法。文獻[50]通過定義新的操作碼表示字節壓縮,進行部署后有效地節省智能合約的存儲空間。為了保障智能合約的隱私性,文獻[51]中,引入盲簽名技術和改進PBFT算法來提高智能合約的隱私保護。對于智能合約的管理和查找,文章[52]引入代碼分類思想來對智能合約進行分類管理并在此基礎上提出基于語義嵌入模型與交易信息的智能合約自動分類系統。針對區塊鏈性能的研究,以及區塊鏈的吞吐量的研究,文獻[53]提出了以太坊平臺上基于智能合約的可信存證系統,提高了數據存儲的安全性和效率,保障數據不被篡改和丟失。
總體來看,有關智能合約的研究還處于起步階段,特別是智能合約的優化方面,還沒有形成有效的方法。
3.4區塊鏈安全性保障
國際上,NEC歐洲實驗室、美國康奈爾大學、羅馬尼亞巴比什-波雅依大學、德國明斯特大學、美國波士頓大學、以色列希伯來大學、美國麻省理工學院、新加坡國立大學、澳大利亞紐卡索大學、美國普林斯頓大學、西班牙巴塞羅那自治大學、英國愛丁堡大學等團隊在區塊鏈安全性方面進行了一定的研究。這些學者主要關注于數據安全、網絡安全、共識安全、智能合約安全等角度研究區塊鏈技術的安全性和穩定性。在國內,區塊鏈安全的工作主要體現在區塊鏈相關標準研制工作,推出了一系列相關標準。區塊鏈標準化能打通應用通道,防范應用風險,提升應用效果,對于解決區塊鏈安全發展問題、推進區塊鏈安全應用起到重要作用。我國相關標準化組織、聯盟協會、研究機構等已將區塊鏈標準化提上議事日程,開展了組織建設、標準預研等一系列工作,并取得了一定進展。
3.4.1 數據安全方面
區塊鏈的數據存儲結構決定了區塊鏈難以篡改的特性,同時也從客觀上增加了有害信息上鏈的風險,以及敏感數據上鏈后的隱私保護問題。
(1)有害信息上鏈問題
區塊鏈數據的難以篡改特性使得區塊鏈上的數據難以通過傳統的方式進行修改和刪除,增加了有害信息上鏈的監管難度,為信息管理提出新的挑戰。因此,一旦暴恐、色情等有害信息被寫入區塊鏈中,不但可利用其同步機制快速擴散, 也難以進行修改、刪除。盡管理論上可采取攻擊手段制造硬分叉、回滾等,但實施代價高、難度大,給信息內容管理帶來新的挑戰。在2018年3月,德國研究人員就曾在比特幣區塊鏈中發現超過274份兒童色情網站的鏈接和圖片,經查證,為惡意用戶通過將有害信息編碼為比特幣交易信息,注入區塊鏈中的行為。
對于公有鏈,例如比特幣區塊鏈,應對策略主要是通過Reid、Meiklejohn等學者提出的比特幣地址之間的關聯關系追蹤有害信息的來源。對于聯盟鏈或私有鏈,應對策略主要是增加審核機制,探索對鏈上違法信息審核與用戶隱私保護需求間的平衡。
(2)隱私數據保護問題
區塊鏈中開源的共享協議可使數據在所有用戶側同步記錄和存儲,對攻擊者來說,能夠在更多的位置獲取數據副本,分析區塊鏈應用、用戶、網絡結構等有用信息。例如區塊鏈的典型應用之一比特幣,其每一筆交易都會公開記錄在區塊鏈賬本上,任何人都可以查閱。Reid、Meiklejohn等學者研究發現歷史交易中輸入地址、輸出地址和找零地址之間的關聯關系可以推測比特幣用戶之間的關聯關系。區塊鏈的應用尤其是金融行業對隱私保護會更加注重。隱私問題成為區塊鏈應用落地的主要保障之一。
隱私數據鏈外存儲,可以公開的部分數據存放在分布式賬本上。根據不同隱私需求的數據分別存放在不同的分布式賬本上。隱私數據加密保護,只有相關方才能夠解密查看。使用群簽名對身份匿名,將區塊鏈上交易用戶的身份隱匿起來。
3.4.2 網絡安全
(1)P2P 網絡安全漏洞
P2P 網絡為對等網絡環境中的節點提供一種分布式、自組織的連接模式,缺少身份認證、數據驗證、網絡安全管理等機制。攻擊者可以自由發布非法內容,傳播蠕蟲、木馬、病毒,甚至實施分布式拒絕服務攻擊(DDoS)、路由攻擊等,具有不易檢測、傳播迅速等特點。Donet等學者研究指出,弱連接和不正確的協議將會增加IP網絡中的傳播延遲,并致使某些系統中的區塊鏈分叉。盡管區塊鏈是一個完全分散的系統,但在實際中很難建立均勻的節點間連接。Gervais等學者的研究結果表明,攻擊者通過控制多個區塊鏈節點阻止礦工挖礦,從而獲取更多收益。
P2P網絡的安全漏洞是一個系統工程,而且DDoS等網絡攻擊越來越智能化,從而導致網絡安全漏洞引發的攻擊難于應對。可以通過安裝專門的抵御DDoS防火墻等安全設備來增加攻擊者的攻擊成本,從而降低此類攻擊發生的概率。
(2)節點的網絡拓撲
節點的網絡拓撲結構會為攻擊者尋找攻擊目標并實施攻擊創造便利。攻擊者可以采用主動式注入報文或者被動式監聽路由間傳輸的數據包來監測網絡拓撲結構,很容易獲得目標節點的路由信息并控制其鄰居節點,進而實施攻擊。Francisco等學者研究發現“日蝕攻擊”就是攻擊者利用節點間的拓撲關系實現網絡隔離的一種典型攻擊方式。其基本思想是攻擊者通過網絡拓撲控制目標節點的數據傳入傳出節點,限制目標節點與外界的數據交互,甚至將目標節點與區塊鏈主網絡隔離,使目標節點僅能接收到攻擊者傳輸的消息,導致目標節點保存的區塊鏈視圖與主網區塊鏈視圖不一致,破壞局部的一致性。“日蝕攻擊”可作為其他攻擊的基礎。當網絡出現階段性區塊鏈分叉競賽時,攻擊者利用日蝕攻擊迫使目標節點將計算資源浪費在無效的區塊鏈上。攻擊者還可以針對算力優勢節點實施“日蝕攻擊”,實現算力的分離,影響挖礦獎勵的分配,降低網絡中的有效算力,進一步降低自私挖礦和雙重支付等攻擊的難度。
區塊鏈網絡用戶通過建立唯一標識的、可驗證的數字身份,合理設置對等網絡節點的鏈接數目、連接時長、地址列表大小、更新頻率、更新機制、鏈接選擇機制、異常檢測機制等。提供區塊鏈服務的平臺應具備基本的網絡邊界防護、網絡入侵檢測與病毒防御機制。
3.4.3 共識安全
共識機制就是區塊鏈交易達到分布式共識的算法,它用來使得區塊鏈達到一致的狀態,它實現了駐留在網絡的每個節點上的許多副本。共識機制應該將一個狀態與其余狀態分開,以便該狀態可被整個網絡所接受。共識機制是保障區塊鏈系統不斷運行并不斷發展的關鍵。良好的共識機制有助于提高區塊鏈系統的性能效率, 提供強有力的安全性保障,支持功能復雜的應用場景,促進區塊鏈技術的拓展與延伸,各種典型的區塊鏈共識機制對比如表2所示。
表2 典型的區塊鏈共識機制對比表
(1)雙重花費攻擊
2012年,Ghassan等學者提出雙重花費攻擊,它是針對比特幣系統的一種特有攻擊。該攻擊分為兩種類型:
第一種攻擊:攻擊者使用一筆金額,同時和多個對象進行交易。若這些交易對象在這筆交易未被記錄進合法區塊鏈的情況下,完成了交易,則攻擊者達到了雙重消費甚至多重消費的目的。盡管在攻擊者發起的多筆交易中, 最終只會有一筆交易認定為合法并記錄入區塊鏈中,但交易對象完成了交易(如已經把攻擊者購買的貨物發給攻擊者),攻擊者已經從這次攻擊中受益。
第二種攻擊:攻擊者利用自身的算力發起雙重花費攻擊。攻擊者利用同一筆金額,同時和兩個交易對象進行交易,如交易A和交易B。其中一筆交易A被確認記錄進區塊鏈,使得交易A完成。由于攻擊者擁有強大的算力,他將交易B記錄在私人區塊鏈里,并挖出一條比合法連更長的鏈,促使交易B也得到了確認,并完成交易B。
在雙重花費攻擊中,第二種類型攻擊的危害性更大。這是由于,對于第一種類型攻擊,交易者只需要在交易得到確認6次以上,再完成交易就可以避免;對于第二種攻擊,由于攻擊者將“非法”交易加入私人區塊鏈,并且最終這條鏈被認定為合法,相當于更改了區塊鏈中的這筆交易(將交易A更改為交易B),這種對區塊鏈數據進行篡改的行為嚴重影響了區塊鏈的完整性。
(2)51%攻擊
在PoW共識算法中,系統同時允許存在多條分叉鏈,在PoW的設計理念中有一個最長有效原理:“無論在什么時候,最長的鏈會被認為是擁有最多工作的主鏈。”中本聰在發明比特幣時就提及了51%攻擊。51%攻擊是指在攻擊者擁有超過整個網絡一半能力的情況下,就有能力推翻原有確認過的交易,重新計算已經確認過的區塊,使區塊產生分叉,完成雙花并獲得利益。攻擊者實施51%算力攻擊的動機一是可以完成對自己交易的雙花,騙取交易接收方的利益;二是可以控制最長鏈的生成過程,從而獲得區塊獎勵。51%算力攻擊曾一度被認為是難以達到的。然而隨著礦池的出現,一個名為GHash.IO的礦池就曾經在2014年6月擁有全網51%的算力;因此51%算力攻擊的威脅始終存在,并且是可能發生的。
(3)自私采礦攻擊
Eyal和Sirer學者認為如果存在一群自私的礦工(礦池),采用自私的采礦戰略并獲得成功,就可能會使誠實礦工的工作無效。這種自私采礦攻擊表現為: 一個惡意的采礦池決定不發布它發現的塊,進而創建一個分叉,因此網絡中就存在由誠實礦工維護的公共鏈和惡意采礦池的私人分叉,惡意采礦池在此私人分叉下繼續進行挖掘,當私人分叉比公共鏈長的時候,惡意采礦池就發布該私人分叉, 由于該分叉是當前網絡中最長的鏈,因此會被誠實的礦工認定為合法鏈,所以原公共鏈及其包含的誠實數據將被丟棄。研究結果表明,一般情況下惡意采礦池采用自私采礦策略將獲得更多的收益。
(4)扣塊攻擊
Courtois和Bahack學者通過實際的實例分析,發現惡意礦工也可以從“扣塊攻擊”中獲利。在扣塊攻擊中,某些已加入聯合采礦池的惡意成員不布任何挖到的區塊,從而降低了采礦池的收益,浪費了其他成員提供的算力。這種攻擊也被稱為“破壞(Sabotage)”攻擊,通常惡意礦工不會有任何收益,但“扣塊攻擊”的主要危害是浪費礦池算力資源,減少礦池收入。
從上面的分析可以看出,“扣塊攻擊”會使礦工和采礦池都受不同程度的損失,相對于礦工很低的成本,采礦池的損失則比較大。從利益方面考慮,發起“扣塊攻擊”多為互相競爭的采礦池,一般礦工則較少。盡管“扣塊攻擊”理論上成立,但是實際上實施該攻擊卻很難。這是因為“扣塊攻擊”的代價非常大,這一點與比特幣的51%攻擊相似,即發起該攻擊必要的基礎是需要掌握巨大的算力,所以基本上“扣塊攻擊”在現實中極少發生。
(5)賄賂攻擊
Chepurnoy學者提出攻擊者可以通過高額獎勵的方式鼓勵礦工在包含攻擊者發起的交易鏈上進行挖礦。首先,攻擊者購買某個商品或服務,商戶開始等待網絡確認這筆交易;若此時攻擊者開始在網絡中首次宣稱,對目前相對最長的不包含這次交易的主鏈進行獎勵;當主鏈足夠長時,攻擊者開始放出更大的獎勵,獎勵那些在包含此次交易的鏈條中挖礦的礦工;當六次確認達成后,放棄獎勵;最后當獎勵到手時,放棄攻擊者選中的鏈條。因此,只要此次賄賂攻擊的成本小于獎勵或者服務費用,此次攻擊就是成功的。值得注意的是該攻擊對PoW機制基本無效,因為在PoW 機制中,賄賂攻擊就需要賄賂大多數礦工,因此成本極高,難以實現。
3.4.4 智能合約安全
智能合約是合約層的核心,是一種可自動執行的數字化協議,包含相關代碼和數據集,部署在區塊鏈上,也是可按照預設合約條款自動執行的計算機程序。智能合約最早由學者Nick Szabo提出,后經以太坊重新定義,并建立完整的開發架構。智能合約大多數操作的對象為數字資產,因此智能合約具有高風險性。本部分從編寫安全和運行安全兩部分進行安全問題和解決方案。
(1)編寫安全
側重智能合約的文本安全和代碼安全兩方面。文本安全是實現智能合約穩定運行的第一步。智能合約開發人員在編寫智能合約之前,需要根據實際功能設計完善的合約文本,避免由合約文本錯誤導致智能合約執行異常甚至出現死鎖等情況。代碼安全要求智能合約開發人員使用安全成熟的語言,嚴格按照合約文本進行編寫,確保合約代碼與合約文本的一致性,且代碼編譯后沒有漏洞。
(2)運行安全
涉及智能合約在實際運行過程中的安全保護機制,是智能合約在不可信的區塊鏈環境中安全運行的重要目標。運行安全指智能合約在執行過程中一旦出現漏洞甚至被攻擊,不會對節點本地系統設備造成影響,也不會使調用該合約的其他合約或程序執行異常,包括模塊化和隔離運行兩方面。模塊化要求智能合約標準化管理,具有高內聚低耦合的特點,可移植,可通過接口實現智能合約的安全調用。遭受攻擊后的異常結果并不會通過合約調用的方式繼續蔓延,保證了智能合約的可用性。隔離運行要求智能合約在虛擬機等隔離環境中運行,不能直接運行在參與區塊鏈的節點本地系統上,防止運行智能合約的本地操作系統遭受攻擊。
(3)虛擬機的安全漏洞
目前大多數智能合約語言屬于虛擬機語言,由其實現的智能合約需要運行在特定的語言虛擬機中,虛擬機本身的安全性一方面可以保證智能合約運行結果的正確性,另一方面也可以防止運行其上的智能合約免受其他惡意合約的攻擊。考慮到一個區塊鏈系統的大量節點往往部署同樣版本或類似實現的虛擬機,單個虛擬機漏洞的影響很可能影響到整個系統。
3.4.5 安全相關標準
在密碼算法和簽名標準方面,我國研究基礎較好,據賽迪區塊鏈研究院統計,截至2018年6月底,我國已出臺包括SM2橢圓密碼算法、SM3雜湊算法、SM9標識密碼算法在內的19項密碼算法和數字簽名方案、PKI組件最小互操作規范、電子簽名格式規范等20項簽名方案。在底層框架技術標準研制方面,相關工作已經有序展開,目前在區塊鏈基礎標準、可信和互操作標準、過程和方法標準等方面有一些初步成果,如2017年5月,中國電子技術標準化研究院發布區塊鏈標準《區塊鏈和分布式賬本技術參考架構》,對區塊鏈的概念、主要參與者、核心功能組件等進行了詳細規定。2017年12月,中國區塊鏈生態聯盟發布了《中國區塊鏈生態聯盟團體標準管理辦法(試行)》。2018年3月,工業和信息化部宣布籌建全國區塊鏈和分布式記賬技術標準化技術委員會。2018年4月,中國區塊鏈生態聯盟宣布成立《區塊鏈平臺一般技術要求(暫定名)》和《區塊鏈企業服務能力一般要求(暫定名)》標準起草工作組,推動標準研制工作,這些標準中均有對區塊鏈安全的描述。2018年4月,全國信息安全標準化技術委員會開展了對《區塊鏈安全技術標準研究》項目立項評審工作。據賽迪區塊鏈研究院統計,截至2018年6月,有20多項底層平臺測評標準處于在研狀態。
3.5區塊鏈監管與隱私保護
3.5.1區塊鏈監管
國內外,對區塊鏈可監管性的研究主要基于對公有鏈的監管,主要針對以比特幣、以太坊等為首的數字貨幣。數字貨幣作為區塊鏈中最典型的應用,有著較大的市場價值和潛力。因此,對數字貨幣的監管引起了國內外政府機構和研究人員的廣泛關注。本部分從政策角度和技術角度進行分析國際上區塊鏈監管的現狀。
(1)政策角度
對于以比特幣為代表的匿名數字貨幣,很多國家都制定了較為嚴厲的禁令,防止相關的違法活動的發生。2015年美國商品交易期貨委員會并沒有承認比特幣等數字加密貨幣的貨幣地位,而是將它們定義為商品。日本、加拿大等國家將一些比特幣交易活動定為非法。2016年美國區塊鏈公司R3發起了同名區塊鏈聯盟,包括高盛、匯豐等80多家銀行、金融機構和監管機構加入其中。R3最新的研究報告指出金融機構需要的是一個自主可控的系統,要在保障交易隱私的基礎上對監管可見。2018年歐盟計劃發布區塊鏈技術標準和眾籌法規等特定草案,建立區塊鏈技術的共同標準。
2019年1月10日,國家互聯網信息辦公室發布了《區塊鏈信息服務管理規定》,要求區塊鏈信息服務提供者事前設立監管平臺;事中及時發現問題源、處理違法違規信息、控制事態發展、消除不良影響;事后根據監管體系追溯違法來源。由于比特幣、以太坊等公有鏈自組織、跨國界等特點,使得很難從法律層面對這些公有鏈進行監管。
(2)技術角度
對于區塊鏈技術各國都以規范和監管為主。國外的研究人員對以比特幣為首的數字貨幣的匿名性和區塊鏈隱私保護展開研究,取得了許多研究成果。這些研究為實現區塊鏈監管提供了一些技術上的指導和支持。公有鏈的賬號匿名性使得人人都能生成大量的賬號地址,而這些地址的生成并不需要提供和個人信息相關的內容。然而,盧森堡大學等高校的研究人員指出,攻擊者可以利用網絡上公開的背景知識,或對比特幣網絡層的交易傳播信息進行監聽,可以找到地址背后的用戶身份及其對應的IP地址。倫敦大學學院的研究人員提出了基于匿名數字貨幣Zcash的啟發式聚類方法,并以Shadow Broker為例,介紹了如何利用上述技術,結合網絡上的公開信息,實現對Zcash中違法犯罪行為的監管。英國、新加坡、日本和加拿大推廣監管沙盒,將區塊鏈風險防控在一定的范圍內。
3.5.2區塊鏈隱私保護
根據保護隱私的對象分類,主要可以分為3類:網絡層隱私保護、交易層隱私保護和應用層的隱私保護。網絡層的隱私保護,涵蓋數據在網絡中傳輸的過程,包括區塊鏈節點設置模式、節點通信機制、數據傳輸的協議機制等;交易層的隱私保護,包含區塊鏈中數據產生、驗證、存儲和使用的整個過程,交易層隱私保護的側重點是滿足區塊鏈基本共識機制和數據存儲不變的條件下,盡可能隱藏數據信息和數據背后的知識,防止攻擊者通過分析區塊數據提取用戶畫像;應用層的隱私保護場景,包含區塊鏈數據被外部應用使用的過程等,區塊鏈被外部使用的過程存在泄露交易隱私和身份隱私的威脅,因此,應用層隱私保護的側重點包括提升用戶的安全意識、提高區塊鏈服務商的安全防護水平,例如合理的公私鑰保存、構建無漏洞的區塊鏈服務等。
(1)網絡層的隱私保護機制
通過分析網絡層的報文數據和攻擊手段,可以得出攻擊者主要是通過監聽網絡層信息來搜集交易隱私和身份隱私。因此,網絡層防御機制的重點是增加攻擊者搜集網絡層數據的難度,讓攻擊者不能從網絡層中提取到有用的信息,現有的防御機制可以分為3類:
1)限制網絡接入。對區塊鏈中的節點進行授權控制,沒有得到授權的節點無法接人網絡,不能獲得交易信息和區塊信息,這將從根本上增加網絡層攻擊的難度。但是,這種方法需要修改區塊鏈的本身運行機制,目前主要運用在私有鏈或者聯盟鏈的架構中,例如超級賬本聯盟鏈的架構就是需要CA認證的節點接入機制,而公有鏈中,如以太坊和比特幣等知名區塊鏈項目,不適合做身份認證形式的網絡限制。
2)惡意節點的檢測和屏蔽。限制接入的方式不適合在公有鏈系統中,那么在公有鏈架構中,不能直接限制節點接人網絡,但是可以采取檢測采樣的機制,發現惡意節點并加入黑名單,阻止惡意節點繼續搜集敏感信息。研究人員曾提出一種基于行為模式聚類的惡意節點檢測方法,能夠快速定位惡意節點,消除惡意節點帶來的隱私泄露隱患。
3)數據混淆。為了阻止攻擊者通過發現網絡拓撲獲得身份隱私信息,一些研究人員提出可以將區塊鏈運行在具有隱私保護特性的網絡上,保證攻擊者很難發現發送者的真實IP,從而無法從網絡層面分析用戶的行為和地理位置。
(2)交易層面的隱私保護機制
通過分析交易層的攻擊方法,可以得到攻擊者主要是通過分析公開的區塊鏈交易數據獲得隱私信息。因此,交易層保護機制的側重點是在滿足區塊鏈正常運行的基礎上,防止惡意節點獲得準確的交易數據,或者限制其無法在少量的數據中分析得到有價值的信息。目前,學術界研究人員已經提出多種交易層的隱私保護方案,此處,我們將不同的保護機制按照分布式數據庫隱私保護的分類方法進行3種主要的分類:
1)數據存儲失真。在數據存儲時,通過將交易內容的部分數據進行混淆,使攻擊者無法獲得準確的數據,增加分析難度。這種方案的難點混淆方法的效率,必須保證在不破壞交易結果的條件下,防止攻擊者發現不同地址之間的交易關系。
2)數據加密。通過將交易信息加密,使攻擊者無法獲得具體的交易信息,從而無法開展分析。這種方案的難點在于實現加密的同時,必須保證原有的驗證機制不受影響,例如加密數據在鏈上存儲時如何保證雙方的交易信息能夠被礦工或其他人員確認并驗證有效性。
3)限制發布。通過發布少量或者不發布交易數據,減少攻擊者能夠獲取到的信息數量,從而增加攻擊難度,本方法難度在于如何保證在限制發布的同時,保證數據本身的完整性和一致性不被破壞。
(3)應用層面的隱私保護機制
通過分析應用層面的攻擊方法,可知看出攻擊者主要是利用用戶不規范的操作和區塊鏈服務商的漏洞搜集交易隱私和身份隱私。因此應用層防御機制的重點是從用戶的角度提升保護能力。用戶可以采用的防御方法通常有2種:
1)區塊鏈應用中引入隱私保護方案。比特幣是區塊鏈技術在數字貨幣領域的第一個應用,在隱私保護方面存在明顯缺陷。攻擊者可以從交易和網絡兩個層面分析用戶身份。在這種背景下,出現了許多隱私保護效果更好的貨幣,例如零幣(Zcash)等。Zcash是目前隱私保護效果最好的數字貨幣,通過采用zk-SNARKs(簡潔的非互動性零知識證明)技術,能夠在滿足驗證和共識機制的條件下隱藏區塊鏈交易的發送方、收款方乃至交易的金額,其設計中有不同級別的隱匿方案,最高級別的方案既可以保證收款方身份不可見,也可以保證接收方身份的不可信,同時隱藏交互的金額。新型的數字貨幣采用密碼學技術保護交易數據,相對比特幣能夠更好地保護用戶的身份隱私和交易隱私。
2)使用具有隱私保護機制的區塊鏈程序。不同的區塊鏈程序在隱私保護方面具有不同的特點,需要采用針對性的保護方法。以比特幣為例,冷錢包通過將秘鑰離線保存,能夠有效防止黑客攻擊,但是有可能出現存儲介質丟失和被盜帶來的安全風險,隱私保護的關鍵是保護存儲介質的安全性,可以采用多重備份、加密存儲等機制保護存儲介質的安全。同時,需要提高用戶對應用層面安全操作的意識,例如不隨意授權、離線保存、不隨意暴露私鑰等,應用程序也應該做到不收集用戶隱私信息。
3.6區塊鏈技術應用
區塊鏈技術的應用主要表現在金融行業、供應鏈管理、物聯網、版權保護、醫療行業等。區塊鏈技術應用國際研究現狀呈現出以傳統大公司為主,初創企業為輔的趨勢,大公司布局整個生態鏈及基礎平臺,其在物聯網、供應鏈、版權保護、醫療等多個行業都有涉及,而小公司注重某個行業的具體應用,以不同角度切入區塊鏈領域。傳統企業與初創型企業雙向發力,不斷促進區塊鏈在行業內的廣泛普及和加速融合。
3.6.1 金融行業
在金融領域,區塊鏈已應用于股權眾籌、P2P網絡借貸和互聯網保險等商業模式。證券和銀行業務也是區塊鏈的重要應用領域,傳統證券交易需要經過中央結算機構、銀行、證券公司和交易所等中心機構的多重協調, 而利用區塊鏈自動化智能合約和可編程的特點, 能夠極大地降低成本和提高效率,避免繁瑣的中心化清算交割過程,實現方便快捷的金融產品交易。為了促進區塊鏈技術及其應用的發展,各種類型的區塊鏈產業聯盟出現。其中最有影響力的是R3區塊鏈聯盟,其匯集了40多家世界領先的金融機構,包括美國銀行、花旗銀行、摩根士丹利投資公司、德意志銀行和Barclays銀行[61]。
Barclays銀行和一家以色列公司完成了世界上第一筆基于區塊鏈的交易,這筆交易保證了從愛爾蘭公司Ornua出口到塞舌爾貿易公司的價值約10萬美元的奶酪和黃油產品。這筆交易是在Barclays銀行合作公司Wave設立的一個平臺上完成的。使用區塊鏈技術,一筆交易的處理時間可以從7-10天降低到4小時。
瑞士聯合銀行(United Bank of Switzerland,UBS)還計劃建立一個使用分布式賬本的貿易金融系統,可以簡化全球進出口貿易。在當前的大型交易中,當產品仍在運輸的過程中時,買方銀行可以使用信用來排查賣方的信用風險。區塊鏈技術可以將這一過程編程到智能合約當中,降低信用處理時間,降低操作風險。
3.6.2 供應鏈管理
供應鏈由多個節點構成,其運行過程中,不同節點間需要進行大量信息交互。供應鏈運行過程中產生的數據零散地保存在各節點的私有系統內,無法保證數據公開透明,這會導致多方面問題:①節點信息無法實現共享,導致上游節點維持過多庫存以應對下游節點需求,使生產、庫存管理和營銷風險大幅增加,反之則可能導致供應商風險增大;②信息流動不暢導致供應鏈上的各節點無法第一時間掌握相關情況,從而影響供應鏈效率;③當供應鏈各節點出現糾紛時,生產信息的低可追溯性將導致調查追責過程遇到的困難大大增加;④中小物流企業面臨的融資難問題。
區塊鏈能使供應鏈上的信息保持互通,各成員節點能第一時間掌握相關情況,由此提升供應鏈管理的整體效率。同時,各節點能獲取準確的交易信息,所有成員節點都是供應鏈上全部信息的所有者,在此基礎上開展生產活動,可降低供應商風險,提升供應鏈穩定性。區塊鏈的可追溯、不可篡改性,不僅保證數據準確,還能保證交易可溯源。區塊鏈可解決信息不對稱問題,完善信用評價體系,助力中小物流企業走出融資難困境[57]。
在各國政府及相關企業的推動下,不少區塊鏈在物流供應鏈領域的應用項目得以開展。IBM采用區塊鏈技術來追蹤卡車位置跟貨物來源可提高運輸過的程透明度,通過IBM區塊鏈技術和IBM Watson來追蹤卡車及其貨物的來源和位置,IBM區塊鏈技術解決方案記錄了處理貨物的交易和信息,物聯網傳感器將跟蹤貨物的行程,以及卡車上可用的空間,并將這些數據記錄在所有相關方面的區塊上。該區塊鏈技術解決方案與IBM Watson物聯網系統集成,以檢查天氣和溫度等因素,從而估算行程和估計交貨時間[59]。
由阿里巴巴、IBM等來自全球9個核心國家的核心研發團隊率先提出了區塊鏈即服務(Blockchain-As- A-Service)的設想和理念,旗下產品唯鏈致力于貨運資產追蹤管理,其提供的物流行業解決方案利用區塊鏈技術和IoT技術,在物流關鍵環節中,由各個參與方采集關鍵數據并在唯鏈雷神區塊鏈上存證。該方案支持將物資管理的維度精確到每一件貨品,記錄每一件貨品的信息和流轉過程,為新型的物流、商業模式提供了可能。此外,根據區塊鏈上的存證信息,還能夠提供各種數字化增值服務[73]。
雀巢聯合區塊鏈平臺OpenSC,開展新區塊鏈供應鏈追蹤試點,雀巢將與區塊鏈平臺OpenSC合作,共同開發分布式分類賬系統。該項目首先將追蹤新西蘭農場運往中東雀巢公司的牛奶,然后擴大到美洲棕櫚油生產。收集價值鏈上每個步驟的數據記錄在開放平臺,為消費者提供可獨立核實的數據,推動市場透明化。同時,該機制將提高食品安全性并改善質量控制[75]。
3.6.3 物聯網
許多國際知名公司如IBM已經在物聯網領域投入了海量資源,區塊鏈技術被用來解決其中一些核心問題。傳統的中心化機制對于潛在數量在百億級的物聯網設備而言是低效甚至不可用的。在解決節點間信任問題方面,中心化的解決方案并不現實。區塊鏈技術提供了一種無需依賴某個單個節點的情況下創建共識網絡的解決方案。基于區塊鏈的物聯網應用,每個物聯網設備都能夠自我管理,無需人工維護。只要物聯網設備還存在,整個網絡的生命周期就可以很長,并且運行開銷可以明顯降低。例如智能家居,所有智能家居的聯網設備都能夠自動地和其他設備或外界進行活動,只能電報能夠通過調節用電量和使用頻率來控制電費等[57]。
國內眾多企業開展了物聯網和區塊鏈融合的行業應用,比如在漁業、食品溯源、能源等領域,表明區塊鏈作為物聯網應用的基礎技術已經廣受認可。如在漁業領域,慶漁堂公司采用物聯網和區塊鏈技術幫助農民進行水質監控,降低種養過程中的風險,提高生產效率,實現農業科技授信貸款、農業科技保險、供應鏈溯源、農產品溯源及品牌營銷等。在食品安全溯源領域,食品安全區塊鏈實驗室Akte致力于打造基于物聯網和區塊鏈技術的食品防偽溯源生態,通過打通物聯網智能終端的信息采集與區塊鏈的數據鏈路,保障食品可溯源和信息真實可信。
騰訊基于TBaaS基礎平臺已經在物聯網領域率先提出多個應用案例,比如智能制造,智能電網等方面。針對智能制造行業的痛點問題,區塊鏈與物聯網結合,使得智能設備以更加安全可靠的形式進行管理,并實現物聯網的高級目標,即支付與費用的結算,形成價值流通的網絡。
3.6.4 版權保護
以“視覺中國”為主的網絡版權侵權事件引起了公眾的關注,網絡版權保護成為大家關注的重點。網絡媒體、自媒體數量每天產生海量的內容,那么,原創者如何保護自己的版權,如何證明作品是自己的,并且如何授權其他人合法使用自己的作品,這都是難以解決的問題[63]。
從目前來看,網絡版權保護中最大的難點就在于用戶取證困難、取證成本高,且取證周期長,這也正是阻礙網絡版權保護發展的痛點之一。基于這些網絡維權中常見的問題,華智博通就設計推出了自主研發的網絡維權工具“版權寶”。基于比原鏈開發在原創新聞的自證(原創上鏈)和侵權證據的獲取(證據上鏈)兩個業務流程中使用了區塊鏈技術,保證用戶在網絡侵權行為發生之時及時取證、固證,解決取證難、取證貴、取證周期長的難題。
微軟與國際知名咨詢機構安永聯合推出保護版權的區塊鏈工具,即利用區塊鏈技術為作者、軟件開發人員和其他創意制作人收取版稅,該項目旨在簡化目前追蹤和收取版稅的流程。數字版權和版稅交易的規模、復雜性和數量,使得這成為區塊鏈技術的完美應用場景。區塊鏈可以處理數字版權所有者和許可證頒發者之間的每一份具有特殊性的合同,可以通過可擴展、高效的方式為參與者提供查賬系統[71]。
3.6.5 醫療行業
目前醫療數據領域數據收集無統一標準,無法形成患者完整畫像。網絡安全壓力大,獲取信息成本降低。數據分類模糊,缺乏價值數據等級。醫療數據行業完全能夠利用區塊鏈技術的優點,把不準確和存在差異影響的醫療數據記錄上鏈[78]。
2017年4月左右,IBM推出了自己的區塊鏈即服務BaaS,該項目關注醫療等方面。2019年1月,IBM宣布一項與Aetna、Anthem、HCSC(Health Care Service Corporation)和PNC Bank的新合作,通過使用區塊鏈技術設計和構建網絡,提高醫療保健行業的透明度和互操作性[58]。這項合作的目的是創建一個具有包容性的區塊鏈網絡,使醫療生態系統中的大部分成員都能夠在一個高度安全的共享環境中受益[80]。
2018年8月17日,阿里健康與常州市合作“醫聯體+區塊鏈”試點項目。該項目是國內首個基于醫療場景的落地應用,運用區塊鏈技術,應用于常州市醫聯體底層技術架構體系中,并已實現當地部分醫療機構之間安全、可控的數據互聯互通,用低成本、高安全的方式,解決長期困擾醫療機構的“信息孤島”和數據安全問題[84-85]。目前該項目已經取得了一定成效,以分級診療就醫為例,居民在就近衛生院體檢,通過在區塊鏈上的體檢報告分析,篩查出心腦血管慢性病高危患者,5%左右的需要轉診患者可以由社區醫生通過區塊鏈實現病例向上級醫院的授權和流轉,上級醫院的醫生在被授權后能夠迅速了解病人的過往病史和體檢信息,病人無需做不必要的二次基礎性檢查,提升效率,降低成本。
4.發展趨勢與展望
區塊鏈目前已經應用到多個領域,用來解決一些實際問題,保證上鏈數據的防篡改、可追溯。但是區塊鏈本身存在的一些問題仍需考慮,例如:性能瓶頸、數據存儲、資源消耗等問題。針對不同的應用場景,需設計不同的區塊鏈架構和業務模式來滿足當前場景的需求,助力區塊鏈在各個垂直行業發揮作用。
4.1 可擴展性
盡管當前國內外研究在區塊鏈可擴展性方面做了大量努力,但現有各種性能優化方案在提升區塊鏈性能方面都有一定的局限性,使得區塊鏈大規模商業應用存在較大距離。
(1)軟硬件一體化區塊鏈可擴展架構有待研究。現有研究大多從數據結構、傳輸協議、共識層、應用層等方面提升區塊鏈可擴展性,大多是軟件系統架構層面研究。構建軟硬件一體化系統架構,從軟硬件協同創新方面提升區塊鏈可擴展有待研究。
(2)分片技術的實際規模化應用有待提高。分片技術使得隨著網絡規模化增長,區塊鏈處理越來越多的交易將成為可能。理論上,分片技術可以實現區塊鏈系統處理能力的規模化擴展,是提高區塊鏈可擴展性的重要方向。然而,現有網絡分片、交易分片、狀態分片等分片技術總體上仍然處于初級發展階段,存在安全性、數據有效性和可用性問題。例如,網絡分片使得單個分片算力低于整個網絡算力,容易遭受雙重支付或女巫攻擊;針對UTXO數據模型,交易分片容易引起跨片通信,極端情況下,單個分片內所有交易都是跨片交易,從而使得系統整體性能低于分片前;狀態分片因驗證節點存儲部分狀態容易導致數據有效性和可用性問題。針對這些問題,現有研究在這些方面提出了一些解決方案,但在分片規模量化、片內通信復雜度、跨分片通信原子性及性能方面離規模化應用仍存在一定距離,需要進一步深入研究。
(3)鏈上擴容和鏈下擴容協同有待深入。鏈上擴容和鏈下擴容各自存在一定的局限性。鏈上擴容通過改變區塊鏈底層結構使得單位時間的區塊容納更多交易。然而,容易加劇區塊鏈中心化、安全攻擊等風險風險;而鏈下擴容無需改變區塊鏈底層結構,通過將鏈下結算與鏈上清算隔離開,在保證安全性和一定程度去中心化同時,有效提高區塊鏈擴展性。然而,面臨通道路由、節點離線及保證金鎖定等問題。針對不同額度的交易需求,鏈上擴容和鏈下擴容協同對去中心化程度、安全性、可擴展性的影響需要進一步研究。
4.2 跨鏈通信技術
未來跨鏈技術研究的發展具有如下趨勢:
(1)跨鏈將成為不可阻擋的潮流。這可以類比互聯網的發展歷程。信息交互的迫切需求將各獨立的局域網連接成一個覆蓋全球的國際互聯網——Internet。與之類似,價值互聯的迫切需求將會促使當下由不同區塊鏈構成的“價值聯盟內流通”轉變為“社會化流通”。
(2)同構跨鏈呼之欲出。底層架構一致的區塊鏈間進行跨鏈通信,相對異構跨鏈而言是較為簡單的。現階段的Cosmos主要關注同構跨鏈通信,目前,Cosmos Hub已經開始了初步的公測,而多個Cosmos Zone也處在開發過程中。預計在不久之后,就會建成一個初步可用的跨鏈系統。雖然同構跨鏈在兼容性等方面存在很大的局限性,但是,相關工作也可以視作跨鏈技術的重要進展。
(3)異構跨鏈必將實現。比特幣、以太坊是目前最具影響力的兩條區塊鏈,前者是出現最早、市值最高的區塊鏈;而后者已經集成了由世界各地開發人員提供的上千種應用。一種跨鏈方案如果希望獲得全球范圍的認可,則必須兼容這兩類不同的區塊鏈。因此相信在同構跨鏈實現之后,將會有更多的研究投入到異構跨鏈中,進而打通不同的價值流通體系,更好地服務經濟社會。
4.3 區塊鏈智能合約
在智能合約方面,未來重點研究以下幾個方面:
(1)智能合約性能優化
目前智能合約的運算能力較為有限,難以滿足大規模復雜計算的要求,第二層擴展解決方案(Layer2)將大多數“昂貴”的工作轉移到鏈下,使得區塊鏈開發者能夠在圖靈完備的可編程區塊鏈上對可擴展性、去中心化和費用三者之間做出權衡,如其四種主要形態中的狀態通道允許將區塊鏈上的交易、操作、運行在鏈外進行管理并在鏈外操作完成基礎上進行多重簽名,將最終狀態上鏈。通過對Layer2的持續研究和改進,是提高區塊鏈及其智能合約性能的有效方法。
(2)部署跨鏈智能合約
跨鏈及其衍生的側鏈仍然是區塊鏈技術發展的重要環節。跨鏈能夠實現鏈與鏈之間的相互通信與價值流轉。為了實現更好的跨鏈通信,需要制定高可用、高性能、支持可擴展的跨鏈合約。
(3)智能合約安全性
根據獵豹科技整理的區塊鏈安全事件統計數據,從2011到2018年間,智能合約安全事件只占6.67%。這個占比數字相對區塊鏈安全事件來說不算太高,但是其造成的經濟損失卻高達12.4美元。其中著名的有The DAO安全漏洞、parity多簽名錢包兩次安全漏洞、BEC被盜事件等。智能合約在安全上應減少漏洞,在重入攻擊、權限控制、整型溢出、時間戳依賴、短地址攻擊等方面提高制定合約的安全性。
(4)智能合約隱私性
目前智能合約上各用戶只是存在理論上的匿名,盡管用戶名等其他身份信息通過轉化為地址標識在區塊鏈網絡間進行傳輸,真實信息無法被獲知,但是,一旦網絡用戶與現實世界的事務發生關聯,地址標識就成為網絡代號,任何與用戶相關的信息和行為都會關聯到這個賬戶,如果對賬戶進行畫像,依然會泄露用戶信息。且目前智能合約隱私保護是基于非對稱密碼學原理,現有的技術手段難以直接去通過計算方式來攻克。但是隨著量子密碼學的發展,非對稱密碼的破解存在可能。應提高對智能合約的隱私性與其風險應對措施研究的關注。
(5)智能合約與應用領域相結合
區塊鏈與智能合約技術的落地具有巨大的商業價值,如何優化智能合約使其與新興領域如物聯網相結合具有重大意義,物聯網具有多節點,高并發等特性,會產生大量數據,會給傳統的中心化網絡數據存儲帶來嚴重的負擔,與區塊鏈技術相結合有助于減輕中心化節點的負擔。智能合約在物聯網與區塊鏈技術結合中實現物聯網流程的自動化,保證效率節約成本。
(6)智能合約法律問題
智能合約在實際應用中可能會出現難以追責等法律問題,讓智能合約具有實際意義上的法律效率也是制定智能合約首先需要考慮的前提。為充分保障智能合約的法律效率,在制定合約時應充分考慮實際應用過程中的法律法規。
(7)智能合約更加智能化
目前大多數人考慮智能合約的智能特性,未來隨著深度學習、語義識別等人工智能技術的發展,需要制定更加智能的智能合約,讓智能合約具備自主感知、自主學習、自主推理等能力,實現智能合約真正的智能化。
4.4 區塊鏈安全性保障
區塊鏈安全性保障方面的研究,主要體現在以下三個方面:
(1)去中心化、安全性和可擴展性三者兼顧的問題
PoW是最早應用在區塊鏈上的共識機制,一直存在效率低、能耗高等問題。低能耗的PoS共識方案面臨易分叉的安全問題。有相對完善證明體系的BFT 協議不支持大規模節點擴展,網絡開銷較大。分片技術提高系統效率的同時也造成安全性弱的問題。利用可信硬件實現共識會有后門風險。如何兼顧去中心化、安全性和可擴展性是區塊鏈共識機制發展要解決的重要問題。
(2)區塊鏈互聯
為了豐富區塊鏈的功能、完善區塊鏈生態、實現區塊鏈價值最大化,區塊鏈與外部數字世界、物理世界和異構區塊鏈之間的互聯將成為未來發展趨勢。在實現區塊鏈互聯的過程中會面臨諸多安全問題,也將成為未來區塊鏈安全方向的研究重點。
(3)系統級安全體系
區塊鏈的發展還需要建立系統級安全體系,從整體上提升區塊鏈的安全性,推動區塊鏈安全標準化,為區塊鏈開發和使用提供設計、管理和使用指南。加快制定區塊鏈相關安全規范和標準,提升區塊鏈安全監控能力,以保障區塊鏈產業健康發展和持續創新。
4.5 區塊鏈監管與隱私保護
區塊鏈監管的研究重點是:
(1)公有鏈匿名監管技術有待深入:雖然很多研究人員在通過對比特幣、以太坊等公有鏈通過賬號分析等方法,希望能找到某個公有鏈賬號背后的所有者,但當前的研究還處于初級階段,并沒有很好的方法能夠解決這一問題。
(2)聯盟鏈隱私保護與監管并存技術有待提高:當前的聯盟鏈架構中并未設計專門的監管節點,從架構層面無法做到在保護區塊鏈成員和數據隱私的前提下,滿足監管方的監管需求。監管與隱私之間平衡需要進一步研究。
(3)內容監管有待研究:公有鏈現有的研究大多只針對區塊鏈的地址匿名性,在內容監管等領域還缺乏足夠的研究。雖然聯盟鏈和公有鏈相比,更加容易監管,但聯盟鏈同樣具有不可篡改性等特點,一旦有敏感信息上鏈,則無法對鏈上數據進行回滾操作。
在隱私保護方面,隱私保護的重要性持續提升,主要研究:
(1)按需配置的網絡層安全防護機制:針對聯盟鏈和私有鏈,采用合適的訪問控制策略防止惡意節點接入和監聽網絡,從根本上增強網絡層的保護能力。此外,聯盟鏈或者私有鏈與傳統中心化架構有很多相似之處,可以采用傳統中心化架構中成熟的安全措施。針對公有鏈網絡,重點研究異常節點檢測的方法,及早發現和屏蔽惡意節點。此外,需要研究在效率、性能、易用性方面更好的匿名通信機制,替代現有的Tor等匿名通信方案。
(2)基于密碼學算法的交易層隱私保護機制:隨著數據分析技術的發展,傳統的混幣機制保護隱私的效果將逐漸降低。有必要研究采用密碼學算法保證混幣的安全性。例如零知識證明機制,同態加密機制。基于加密的保護方案應該充分考慮區塊鏈服務器在計算性能和存儲性能上的缺陷,設計通用性更高的加密方法。
(3)安全密鑰技術:在應用層,除了提升用戶安全意識,增強區塊鏈服務商安全能力以外,重點是要研究錢包的密鑰保護技術,開發使用方便、安全可靠的錢包程序。錢包秘鑰直接關系到賬戶安全,可以研究無密鑰的密碼算法和代碼混淆技術,防止惡意用戶通過反匯編等方法提取秘鑰信息,可以研究基于口令、硬件以及生物特征等多因素認證機制,增強私鑰的安全性。
4.6 區塊鏈技術應用
在區塊鏈應用方面,除了金融行業、供應鏈管理、物聯網、版權保護、醫療行業等方面,應用的領域在不斷擴展,應用的層次不斷加深。
效率是制約區塊鏈技術應用的重要因素,在很大程度上限制了區塊鏈在金融系統的高頻交易中的應用。提升區塊鏈效率是未來區塊鏈技術在金融行業以及各個相關行業的目標和發展趨勢。并且,區塊鏈該如何監管也是未來需要解決的問題。此外,區塊鏈技術在應用到金融行業時,其安全性還需要使用權威標準進行測試[70-72]。
隨著區塊鏈技術水平的不斷提高,區塊鏈將廣泛應用于教育、慈善、農產品溯源等,區塊鏈技術的廣泛應用會給社會生活帶來更大的變化。
5.結束語
相對于傳統的分布式數據庫,區塊鏈主要的技術優勢包括:一是從集中式存儲賬本演進到分布式共享賬本。區塊鏈打破了原有的集中式記賬,變成“全網共享”的分布式賬本,參與記賬的各方之間通過同步協調機制,保證數據的一致性,提升了支付清結算效率。二是解決傳統中心化的信任機制問題。網絡中沒有中心節點,所有節點都是平等的,通過點對點傳輸協議達成整體共識。三是數據安全且難以篡改。每個區塊的數據都會通過非對稱密碼算法加密,并分布式同步到所有節點,確保任一節點停止工作都不影響系統的整體運作。四是以智能合約方式驅動業務應用。系統由代碼組成的智能合約自動運行,無需人工干預。
當前全球區塊鏈技術創新日趨活躍,世界各國高度重視并超前布局,國際組織、科技巨頭、初創企業正積極探索區塊鏈與垂直領域的融合創新,落地場景從金融領域向實體經濟逐步延伸。盡管行業生態初步成形,但由于行業偏重于應用創新,底層平臺缺乏自主研發能力,相應匹配法律法規尚待完善。現階段,需要積極開展重點領域試點應用和示范推廣,集多方力量突破技術瓶頸,加強政策制定和監管合規研究,為區塊鏈產業提供良性發展空間。
作者簡介
斯雪明
現任復旦大學教授,中國計算機學會區塊鏈專委會主任,福州市區塊鏈首席專家,中原工學院前沿信息技術研究院院長。專業方向為密碼學、數據科學、計算機體系結構、網絡與信息系統安全、區塊鏈。
孫毅
中科院計算所研究員、博導,區塊鏈實驗室主任,中科計算海南區塊鏈創新研究院院長,中國計算機學會區塊鏈專委會副主任,首屆中國區塊鏈技術大會程序委員會主席,入選中科院50人卓越青年科學家計劃。
祝烈煌
北京理工大學教授,博導,CCF區塊鏈專委秘書長。入選教育部新世紀優秀人才,中國通信學會網絡與信息安全杰出人才。研究方向區塊鏈安全監管與隱私保護。主持科技部重點研發計劃課題、國家自然科學基金重點、科技委創新特區基金等國家級、省部級項目20余項。
朱建明
中央財經大學信息學院教授,CCF理事、區塊鏈專業委員會常務委員。從事金融信息安全、電子商務安全、區塊鏈技術等方面的教學和科研工作。現主持國家重點研發計劃項目1項、國家自然科學基金重點項目1項,主持完成國家自然科學基金項目4項。
高勝
中央財經大學信息學院副教授,CCF區塊鏈專業委員會委員。主要從事數據安全與隱私保護、區塊鏈技術及應用等研究。已在IEEE TISF, TSC, 中國科學等國內外著名期刊和國際會議上發表論文30余篇,參編著作4部,授權國家技術發明專利6項。
陳福
中央財經大學信息學院教授,CCF高級會員、互聯網專委委員、服務計算專委委員。“新世紀優秀人才支持計劃”入選者;主持和參加多項國家自然科學基金等課題;三項國家發明專利;出版三本著作,發表多篇學術論文。
董學文
西安電子科技大學副教授,IEEE/ACM/YOCSEF會員。主要從事網絡與信息安全等領域的研究工作,出版專著與教材2部,先后主持參與了國家/陜西省重點研發計劃項目、國家自然基金重點/面上項目等, 結合研究工作在《INFOCOM》《IEEE Trans. on Vehicular Technology》《Computers & Security》《軟件學報》等國內外重要學術期刊會議上發表了二十多篇論文。