孫毅 ,范靈俊,洪學海
(1. 中國科學院計算技術研究所,北京100190;2. 中國科學院大學,北京 101407)
區塊鏈是一種把區塊以鏈的方式組合在一起的數據結構,每一個區塊通過散列的方式與上一個區塊相連,實現了可追溯;同時,用密碼學保證了數據的不可篡改和不可偽造。每一個區塊的生成,都是參與者對整個系統交易記錄的事件順序和當前狀態建立的共識。每一個參與者都可以參與數據的記錄、存儲,都可以擁有整個區塊鏈數據的備份,從而在沒有中央控制節點的情況下,使用分布式集體運作的方法,構建了一個分布式對等網絡。因此,區塊鏈技術具有去中心化、分布式、去信任、數據不可篡改、可追溯等諸多優點。
區塊鏈技術起源于化名為“中本聰(Satoshi Nakamoto)”的學者在2008年發表的奠基性論文《比特幣:一種點對點電子現金系統》。作為比特幣的底層實現技術,區塊鏈是一種分布式賬本技術(DLT),由于其具有分布式、去信任、不可篡改等優點,該技術被認為是構建未來“信任互聯網”“價值互聯網”的支撐性技術,已成為全球創新領域最受關注的話題,受到投資界、學術界、工業界及政府部門的熱烈追捧。雖然各國政府對比特幣和各種虛擬幣的態度各不相同,但對區塊鏈技術大多持積極的態度。
近年來,聯合國、國際貨幣基金組織等機構以及多個發達國家先后發布了有關區塊鏈的系列報告,探索區塊鏈技術及其應用。當前,區塊鏈技術的應用領域已經超越了金融領域,并逐步在供應鏈、征信、身份認證、公益慈善、物聯網等領域展開實踐。創業公司如雨后春筍般涌現,烏鎮智庫2017年發布的《區塊鏈產業發展白皮書》指出,自2012年以來,全球區塊鏈企業數量以超過65.2%的復合增長率快速增長。一種樂觀的預測認為,到2025年之前,全球GDP總量的10%將利用區塊鏈技術儲存。據數字市場漫記(DMR)估計,到2024年,區塊鏈產業規模有望達到200億美元。
作為互聯網技術的發源地,美國在區塊鏈技術和應用上投入巨大。2017年,美國至少有8個州提出和研究了提升區塊鏈技術應用的法案。2018年2月,美國眾議院連續兩次召開區塊鏈聽證會,探討區塊鏈技術的新應用。美國國務院強調通過區塊鏈技術提高透明度,可以解決腐敗、欺詐或挪用公共采購資金的問題。美國財政部正在進行試點計劃,以確定區塊鏈技術是否可以用于供應鏈管理,還采取了措施來改善針對基于區塊鏈加密貨幣的“反洗錢/打擊恐怖主義融資(AML/CFT)”的相關法律,并與金融機構形成公私合作關系(PPPs)以共享信息。佛蒙特州的南柏林頓市將試用區塊鏈技術,記錄房產交易。加利福尼亞州立法者已經提交了一項法案,如果能夠順利通過,那么該州的電子記錄法律將會認可區塊鏈簽名和智能合約。紐約州電力公司TransActive Grid提出了基于區塊鏈的P2P分布式微電網絡的新能源概念,通過區塊鏈建立微電網網絡,提高清潔能源利用率,在區塊鏈上記錄剩余的電量并通過智能合約賣給鄰居用戶。
2016年1月,英國政府發布了一份名為《分布式賬本技術:超越區塊鏈》的報告。報告指出,區塊鏈技術在改變公共和私人服務領域都有著巨大的潛力。除了創建一個基于區塊鏈的公共平臺為全民和社會提供服務,英國政府還計劃開發一個能夠在政府和公共機構之間使用的應用系統。日本政府則大力支持區塊鏈和數字貨幣行業,建立了首個區塊鏈行業組織——日本區塊鏈協會(JBA)與區塊鏈合作聯盟。俄羅斯正在大力推動區塊鏈基礎設施建設,俄羅斯最大的銀行Sberbank與政府合作,用區塊鏈轉移和保存文件,成為區塊鏈真實的應用案例。加拿大有一個龐大的區塊鏈創業社區,匯集了包括以太坊創始人Vitalik Buterin在內的一大批區塊鏈頂級人才。加拿大證券管理委員會(CSA)日前主動地推出了新的“Fintech沙箱(SandBox)”計劃,以促進加拿大區塊鏈行業的發展。
區塊鏈技術發源于開源社區,并在社區中發展壯大,此后逐漸受到金融機構、IT巨頭等機構的關注。例如,以比特幣、以太坊為代表的開源項目主要以公有鏈為主,打造了區塊鏈公共平臺;Linux基金會于2015年發起的超級賬本項目(Hyperledger)則偏重于研究聯盟鏈技術。同時,IBM、微軟Azure、AWS等互聯網國際巨頭企業正在極力打造支持區塊鏈應用的基礎設施,區塊鏈即服務(Blockchain as a Serveice,BaaS)。
2016年以來,我國政府也通過多種形式關注和支持區塊鏈技術和產業的發展。2016年10月,工業和信息化部發布《中國區塊鏈技術和應用發展白皮書(2016)》[1],同年12月區塊鏈首次被作為戰略性前沿技術、顛覆性技術寫入國務院“十三五”國家信息化規劃,明確提出需加強區塊鏈等新技術的創新、試驗和應用,以實現搶占新一代信息技術主導權。中國人民銀行在2017年成立了數字貨幣研究所,研究數字貨幣發行和支撐該技術的商業運作框架。中國人民銀行的基于區塊鏈的數字票據交易平臺于2017年初進入試運行階段并測試成功。此外,騰訊計算機系統有限公司、阿里巴巴網絡技術有限公司等國內知名互聯網公司也積極布局區塊鏈產業,全國另有超過100家區塊鏈創業公司,主要瞄準區塊鏈基礎設施技術研發及其在征信、供應鏈、資產管理、物聯網等行業的應用。2008—2017年,我國區塊鏈技術領域專利申請數量全球第一,共遞交550份專利申請;美國專利申請數量全球第二,共遞交284份專利申請。
比特幣是區塊鏈技術的第一個成功應用。截至目前,比特幣區塊鏈系統已經運行了8年多,除了有限的幾次分叉,沒有出現重大安全事故,充分顯示了其強大的穩定性和安全性。區塊鏈技術目前的應用大多仍集中在金融領域,例如,數字貨幣、跨境支付、證券交易、財產注冊與認證等。然而,其未來要在金融領域做大規模推廣應用還需要攻克很多問題,如性能問題、可監管性問題等。
在供應鏈領域,通過區塊鏈,供應鏈各方可以獲得一個透明可靠的統一信息平臺,實時查看狀態,追溯物品的生產和運送整個過程,從而提高供應鏈管理效率、降低物流成本。當發生糾紛時,追查和舉證也變得更加容易。然而,供應鏈管理往往涉及到諸多實體,包括物流、資金流、信息流等,這些實體之間存在大量復雜的協作和溝通,應用區塊鏈進行鏈上鏈下的有效協同,也存在諸多技術難題需要攻關。
在制造業領域,工業4.0應用,可以使用區塊鏈來記錄生產過程的每一步,對于生產過程中的不同參與者,采用不同的權限來訪問區塊鏈,以更加可靠和安全的方式,為參與者提取相關信息并確認生產過程中的步驟。但是不同的終端和傳感器要參與區塊鏈網絡,進行協同和驗證,當前的物聯網終端和傳感器計算能力及存儲很難支撐,而區塊鏈網絡協同的實時性也亟待提高和優化。
在能源領域,基于區塊鏈的微電網絡,也存在可擴展性問題和驗證交易的能源消耗問題等。此外,由于區塊鏈自身的存儲能力有限,應用于社交、電子商務等領域時,還要考慮大量數據的存儲問題、交易效率問題等。
當前區塊鏈行業正高速發展,區塊鏈技術也得到了越來越多的應用。然而,在基礎研究領域,國內外相關研究工作仍處于初步階段,區塊鏈體系結構、共識算法、隱私保護、智能合約、跨鏈交易等方面的技術挑戰越來越制約著區塊鏈技術及行業的發展。盡快尋找有效方案,實現關鍵技術突破,增強完善區塊鏈領域的理論基礎與關鍵技術是當前區塊鏈發展浪潮中的關鍵點與“殺手锏”。
區塊鏈體系結構是區塊鏈系統運行的基礎,但隨著用戶數量、系統規模的不斷增加,其吞吐量低、交易確認時間長、共識節點接入速度慢、存儲資源浪費等問題愈發突出,嚴重影響用戶使用與行業拓展。近幾年,工業界和學術界從區塊鏈結構設計等方面開展了一些初步的研究工作。
并行化架構:區塊鏈分片技術(Sharding)采用并行化思想,將用戶劃分到不同的網絡分片內,并行處理不相交的交易集合,進而提升整體性能,但處理涉及不同分片的交易時,需要經過復雜的跨分片通信,開銷很大。Plasma則通過利用側鏈層次樹劃分整個網絡,用“分治”來擴大交易規模。
鏈上、鏈下協同架構:閃電網絡(Lightning Network)以類比特幣區塊鏈為基礎,提出將交易過程盡可能放在鏈下,進行鏈下快速交易,而鏈上交易僅用于擔保與結算。本質上,閃電網絡并沒有提升鏈上交易性能,并且鏈下交易環節未存儲到區塊鏈中,會影響交易的可追溯性。雷電網絡(Raiden Network)作為“以太坊版本”的閃電網絡,可與Sharding、Plasma結合,進一步提升交易處理能力。
并行化、鏈上鏈下協同等新型架構為解決區塊鏈的性能和資源占用問題提供了新的研究方向,但是這些研究工作目前還處于相對早期的階段,很多具體的問題如并行化架構的合理分片、跨片通信、鏈上鏈下協同的去中心化、可追溯等問題還缺少高效的算法和機制。
區塊鏈共識算法保證了區塊鏈系統中各節點可以維護相同的交易內容和順序,是區塊鏈系統的核心機制。目前應用比較廣泛的、常見的共識算法包括工作量證明算法(PoW)、權益證明算法(PoS)、股份授權證明算法(DPoS)以及拜占庭容錯算法(PBFT)[2],這些算法各有優勢但也都存在自身的問題(見表1)。
近年來,為了適應實際應用的需求,一些新型共識算法被提出。Algorand通過密碼抽簽機制隨機選取一組驗證者使用優化的拜占庭協議進行共識來提高共識效率[3];Bitcoin-NG通過工作量證明選取的領導者發布交易微塊,一定程度上改善了比特幣區塊鏈PoW共識的性能[4];Casper通過鎖定保證金的驗證人下注共識以提升PoS算法實現的安全性以及去中心化程度。
然而,無論是PoW、PBFT這些經典共識算法還是Algorand、Bitcoin-NG這些新型算法都面臨“三難困境”問題,即區塊鏈系統最多只能同時優化去中心化、高性能以及安全性三種目標中的兩個,尋求“三難困境”的最優解將是未來的主要研究方向和技術挑戰。

表1 幾種常見的共識算法對比
區塊鏈隱私保護是為了解決公開的交易信息帶來的賬戶隱私泄漏問題。目前主要通過直接或間接隱藏用戶關鍵信息來實現,典型的隱私保護技術包括:混幣技術(CoinJoin)、隱秘地址(Stealth Address)、環簽名技術(Ring Signature)[5]以及zk-SNARKs零知識證明算法[6]。
混幣技術、隱秘地址以及環簽名技術只是間接隱藏交易涉及的關鍵信息,在可靠性方面存在不足;zk-SNARKs零知識證明算法雖然屬于直接隱藏信息,但是其具有“可信賴的公共參數”以及效率低下的問題。同時,量子計算的不斷發展對隱私保護研究提出了新的要求,而這些典型的隱私保護技術都不具備抗量子攻擊能力。新提出的zk-STARKs零知識證明算法完全依賴散列和信息理論,解決了zk-SNARK“可信賴的設置”問題并具備抗量子攻擊的能力,但是該研究處于早期階段,技術還不成熟且存在證據過大等缺點。因此,設計既能保證高效安全,還能保證交易關鍵信息隱藏與交易有效性驗證的技術方案依然是未來區塊鏈研究面臨的主要技術挑戰。
Nick Szabo于1996年首次提出了智能合約的概念:一個智能合約是一套以數字形式定義的約定,包括合約參與方可以在上面執行這些約定的協議。區塊鏈為智能合約提供了一個去中心化、不可篡改、公開透明的運行環境,使得智能合約無需信任第三方即可根據預設合約協議自動執行。目前針對智能合約的研究主要圍繞智能合約虛擬機、智能合約升級、鏈下數據可信喂養等方面展開。
智能合約虛擬機可以分為兩大類:自主可控的虛擬機,如以太坊虛擬機(EVM);使用現有成熟的編譯運行環境的虛擬機,如Java虛擬機(JVM)。使用現有成熟編譯運行環境的虛擬機運行效率較高,但不可控因素較多,而EVM等自主可控的虛擬機當前的運行效率還存在較大問題。目前的研究工作主要有Solidity編譯器的優化、適合智能合約的Web程序集(WASM)執行環境研發等,上述工作均處于早期研究階段。
智能合約是現實世界契約的計算機化交易協議,在智能合約的開發過程中,開發者無法將所有情況考慮在內,當鏈上的智能合約沒有按照預期運行時,就需要升級智能合約,并且對智能合約的行為作出解釋。Corda提出將合約法律文本與代碼結合存儲于鏈上,當合約代碼發生未預期的行為時以法律文本為準,但仍缺乏代碼可升級的靈活性,因此一套可升級且可解釋的智能合約完整方案是智能合約大規模應用的關鍵所在。
智能合約存在于區塊鏈空間,與鏈下真實世界活動相關聯是其大規模應用的前提。Oraclize將智能合約與Web API通過加密證明鏈接起來,使得智能合約無需額外的信任,即可獲得現實世界的真實活動數據;IC3提出可信數據喂養系統Town Crier(TC),通過英特爾最新可信硬件SGX向智能合約提供認證可信以及機密性數據。然而,現有的可信數據喂養解決方案靈活性較差,如Oraclize需要將整個https請求響應返回并且依賴于鏈下的中心化服務器,TC無法支持代碼的更新,需要研究新型靈活、可信的數據喂養方案以滿足智能合約對鏈外數據的喂養需求。
隨著區塊鏈技術被廣泛應用于加密數字貨幣、資產追蹤、身份管理等領域,產生了很多分立的區塊鏈系統,而這些獨立的區塊鏈需要相互交易進而實現價值最大化,就需要研究跨鏈通信技術。解決跨鏈交易中有效性、可擴展性、原子性等問題是當前區塊鏈跨鏈通信技術的研究重點。
目前區塊鏈跨鏈通信技術研究代表性方案包括成對通信、Interledger、Cosmos、Polkadot等。成對通信通過獲取對方區塊鏈的區塊頭與特定交易的簡化付款驗證(SPV)證明,可在沒有外部參與的情況下驗證跨鏈交易的有效性;Interledger通過構建連接器,找到一條到接受者的資金轉移路徑,資金在連接器之間轉移,從而實現跨鏈;Cosmos利用Hub與Zone,當源Zone與目的Zone進行跨鏈交易時,Hub對Zone形成的包進行跨鏈轉發;而Polkadot的愿景是實現異構區塊鏈之間的跨鏈,同時事務可以在不同的區塊鏈上并行執行,從而增加系統的吞吐量。
上述跨鏈通信方案大多面向跨鏈某一具體場景且性能較低,如成對通信僅限于交易存在性驗證,Interledger以及Cosmos僅用于跨鏈轉賬這個單一功能;雖然Polkadot支持的跨鏈類型更為豐富,但是其仍處于非常早期的方案設計階段。隨著跨鏈交易的需求不斷增加,實現安全、高效且通用性好的跨鏈技術方案迫在眉睫。
性能問題是制約區塊鏈技術未來大規模應用的重要瓶頸之一。當前應用廣泛的公有鏈(如比特幣、以太坊)和聯盟鏈(如超級賬本)都無法支持高頻交易的場景,在吞吐量方面與高頻交易(如支付、大規模物聯網)的實際需求存在幾個數量級的差距。為了彌補這種差距,中國科學院計算技術研究所開展了高通量區塊鏈技術的研究。
不同于已有的很多性能優化的工作主要集中在協議和算法層面[2~4],中國科學院計算技術研究所高通量區塊鏈技術的研究聚焦于底層架構層面的技術突破,包括區塊鏈基礎架構以及承載區塊鏈系統的硬件架構。首先,在區塊鏈基礎架構上,通過構建交易圖譜,將原始區塊鏈切分為很多切片,并行處理不同分片的交易記錄,片內共識使用流水化技術優化共識效率,并通過隨機輪換記賬節點集合機制,在提升效率的同時保障安全性。對于跨切片的交易,設計了InterChain跨分片通信架構(見圖1),通過分片網關和互聯鏈節點的協同實現交易的跨分片通信。其次,在硬件架構上,針對現有通用計算架構效率不足,而專用芯片僅針對特定算法應用范圍有限的問題,提出支持自定義算法的專用芯片架構(見圖2),通過抽象各類共識、驗證簽名算法的計算內核,設計基于松耦合計算內核的芯片架構,并利用區塊鏈算法本身的容錯性,簡化功能單元設計,從而提升計算通量。

圖1 InterChain跨分片通信架構

圖2 高通量區塊鏈芯片架構優化
當前我國投資界、產業界、學術界以及政府給予了熱炒的區塊鏈技術以高度的關注。然而,很多項目只是披著區塊鏈的“外衣”,猶如當年互聯網發展初期一樣,魚龍混雜。著名信息技術研究和顧問機構Gartner每年都發布的技術成熟度曲線(the hype cycle)顯示,任何一項技術的發展必經過5個階段:最初的興起期,熱炒的膨脹期,幻滅的低谷期,穩步的爬升期,以及成熟的實質產業期。云計算、大數據、虛擬現實等是這樣,區塊鏈技術也不例外。經過這兩年熱炒之后的區塊鏈技術,必須經過各方面扎實的技術研發、準備和鋪墊,才可能大規模形成產業,影響社會進步、經濟發展,以及人們的生產生活,最終“飛入尋常百姓家”。
因此,對待區塊鏈技術,不能盲目跟風,需要理性看待。既要看到區塊鏈技術的優點和可能帶來的變革,也要認識到當前區塊鏈技術存在的不足和挑戰。從技術層面,要加大區塊鏈底層和基礎技術的研發和優化;從治理層面,要適時跟進制定法律法規,創新監管模式;從人才層面,要加大交叉學科人才培養的力度,補充人才空缺。
應該清醒地認識到,國內區塊鏈產業風風火火發展的背后隱藏著區塊鏈底層技術研發投入不足的現實。目前,大多數區塊鏈項目、區塊鏈團隊都是基于比特幣、以太坊、超級賬本等國外提出的區塊鏈平臺,或進行二次開發,或直接探索在特定領域、特定行業的應用。
為了應對上述性能、安全性等區塊鏈技術發展和大規模應用面臨的挑戰,區塊鏈底層技術的創新才是重中之重。應該加大在體系結構、共識算法、驗證簽名機制、(跨鏈)通信協議、專屬硬件等方面的研發投入,耐心地從底層研發做起,做到技術自主可控, 引領全球區塊鏈技術發展。
不同于傳統互聯網應用有專門的運營單位,可以作為特定的監管對象,秉承分布式、去中心化思想設計的區塊鏈應用(DAPP)一旦部署,就是所有自由接入的節點和參與者共同負責,沒有中心化節點和存儲,不存在某個特定機構對其負責,這給區塊鏈應用的監管帶來巨大的挑戰。
因此,一方面,國家在鼓勵區塊鏈技術和應用發展的同時,要從立法層面積極跟進,引導區塊鏈的應用方向,規范區塊鏈應用的審查和部署;另一方面,要從信息技術工具層面,加大針對區塊鏈平臺和應用的監測、分析、判別、預警等信息技術工具的研發投入和力度,引入人工智能、大數據、信息安全等先進技術,從而實現對區塊鏈平臺和應用的科技監管。
智能合約(Smart Contract)是運行在區塊鏈上的計算機程序。區塊鏈技術讓人們可以在去中心化的情況下達成共識,而智能合約則決定了可以達成什么樣的共識。換言之,區塊鏈只是一個分布式的記賬方式形成的公共賬本,智能合約則進一步結合千千萬萬個不同的應用場景和經濟活動,約定了誰與誰、在什么情況下記賬,進而產生什么樣的賬本。
未來,區塊鏈體系基礎架構搭建完成,在商業應用場景中,所謂廣泛應用區塊鏈技術,很大程度上就是利用區塊鏈編寫智能合約。參與各方進行談判和協商,形成合約條款,再編寫計算機程序形成智能合約,并保證準確無誤,方能部署運行。編寫、審核智能合約需要精通計算機通信和其他專業領域的大量跨界人才,需要加強這些交叉學科人才的培養工作。
[1] 中華人民共和國工業和信息化部. 中國區塊鏈技術和應用發展白皮書(2016) [R]. 北京: 中華人民共和國工業和信息化部,2016.Ministry of Industry and Information Technology of the PRC.White paper on the development and application of blockchain technology in China (2016) [R]. Beijing: Ministry of Industry and Information Technology of the PRC, 2016.
[2] Castro M, Liskov B. Practical byzantine fault tolerance [C]. New Orleans: USENIX OSDI, 1999.
[3] Yossi G, Rotem H, Silvio M, et al. Algorand: Scaling byzantine agreements for cryptocurrencies [C]. Shanghai: ACM SOSP, 2017.
[4] Eyal I, Gencer A E, Sirer E G, et al. Bitcoin-NG: A scalable blockchain protocol [C]. Santa Clara: USENIX NSDI, 2016.
[5] Bender A, Katz J, Morselli R. Ring signatures: Stronger definitions, and constructions without random oracles [C]. New York: Springer TCC, 2006.
[6] Ben-Sasson E, Chiesa A, Tromer E, et al. Succinct non-interactive zero knowledge for a von Neumann architecture [C]. San Diego:USENIX Security Symposium, 2014.