(中國信息通信研究院,北京100045)
(China Academy of Information and Communications Technology,Beijing 100045,China)
互聯網是一個還沒有完成的科學實驗,它過早離開實驗室的襁褓來到了人世間。自傳輸控制協議(TCP)/網際協議(IP)應用的30多年以來,不斷有人預言互聯網會崩潰,會被新技術所替代,從IP地址耗光、垃圾信息、視頻流量、路由表爆炸到安全攻擊,原因不一而足;但互聯網因其良好的開放性和擴展性,不斷自我完善,既沒有崩潰更沒有被替代。
與內容分發網絡(CDN)、對等網絡(P2P)應用、軟件定義網絡(SDN)、網絡地址翻譯(NAT)、云計算和移動互聯網等類似,區塊鏈是針對互聯網在價值傳遞方面的缺點,新打的一塊補丁。
在傳統互聯網上,數據主要用來表示信息,核心要義是傳播、復制和分享。隨著互聯網與實體經濟融合的不斷深化、大數據的興起,數據正在資產化,資產正在數據化。現在的數據,很多已經是用來表示價值而不是信息了。數據表示價值,核心要義是所有權、控制和交易。
互聯網與傳統電話網、廣播電視網類似,主要用于傳遞,尤其是數據信息。數字化的價值,比如貨幣、憑證和權益等Token,不能直接在互聯網上傳遞,需要通過權威的中心節點做信任背書。這帶來了在互聯網上交易時,建立信任的成本高、效率低,以及中心節點可能造假等問題,于是就有了基于區塊鏈的價值傳遞技術,希望用區塊鏈來代替傳統的中心節點,從信任機構轉向信任機器。
區塊鏈的基本思路是將價值數據按時間順序排列成一條鏈,只有某數據的最后一個擁有者,才是該數據的價值擁有者。鏈上該數據的曾經擁有者,都只是價值的過客,是用來證明最終擁有者的。
這就是所謂的價值互聯網,是互聯網的又一次延展。區塊鏈的核心是做數據管理和價值傳遞,只是信息技術的一個“區塊”,還必須與其他信息技術和場景“鏈”起來,才可能占據互聯網世界的一個生態位。
傳統數據庫、大數據和區塊鏈,都是用來管理數據的,都可以認為是數據庫管理技術[1];但它們追求的目標不同,因此應用場景也不同。
傳統數據庫針對的是高價值的結構化數據,大數據針對的是海量和更多類型的數據。二者都假設,雖可能會存在數據質量等問題,但可以相信輸入數據的機構以及數據管理員,相信他們不會故意捏造或篡改數據。
區塊鏈面向的也是高價值數據,但針對的是數據機構或數據管理員,以及可能造假的問題。區塊鏈不信任數據機構和數據管理員,不信任他/她寫入的數據,除非多個相關方能夠根據事先達成的協議(共識機制),集體同意錄入。傳統數據庫為追求一致性而犧牲了效率,大數據為追求效率而犧牲了一致性,而區塊鏈為追求更高的一致性而犧牲了更多的效率。
區塊鏈集成了分布式網絡、密碼學、共識算法和智能合約等技術,采用了一種集體維護數據的思路。這帶來了區塊鏈能夠防篡改的特點,但也會嚴重損耗性能和擴展性等。雖然通過隔離見證、分片、多鏈和增加塊大小等手段,能夠加以改善,但理論上性能和擴展性都無法與集中式的數據庫技術相比。
當然,區塊鏈還引入了一些數據管理之前沒有過的概念,比如共識算法、智能合約和激勵機制等,超出了傳統數據庫的概念范疇,但我們認為本質上還是數據庫技術。
去中心、匿名性和不可篡改,一起構成了區塊鏈的三大技術支柱。因為區塊鏈正處于從比特幣實驗走向市場試商用的階段,因此這些技術特征在實際的商業應用中,還需要做很多的妥協和再平衡工作。
比特幣和區塊鏈等希望去掉央行和交易中心等中心組織,核心理由是這些權威的中心組織可能會偽造自己的資產負債表,只能做事后審計,并且不容易發現。
但當區塊鏈技術逐步“墮入”商業世界時,去中心化的信仰正在逐步淪喪,架構開始走向了集中。比如區塊鏈的企業操作系統(EOS)項目,就設計了21個中心節點。事實上,如果以最典型的區塊鏈應用,比特幣和以太坊等為例做觀察,就會發現已經形成了3個中心:代碼中心、算力中心和財富中心。
(1)代碼中心。2018年3月倫敦大學的研究人員發現:Bitcoin Core軟件中所有文件的7%是由一名開發人員編寫的,而以太坊中的大約20%的文件是由單一編碼人員編寫的。對比特幣社區影響最大的最初是創始者中本聰,現在是Core小組的5個人。以太坊社區,基本由其創立者BUTEERIN V說了算。
(2)算力中心。工作量證明(PoW)和權益證明(PoS)是目前應用最為廣泛的2種共識機制,分別基于算力大小和財力大小來分配記賬權。PoW的基礎是算力,曾經超過70%的算力由一家公司生產,集中在一個國家挖礦,這已形成了算力中心。
(3)財富中心。區塊鏈技術的一大創新,是將激勵機制內置化。PoS的基礎是代幣,全世界代幣持有者聯合起來就是財富中心。而PoW的算力,又是可以通過資本購買的。有研究表明:比特幣是高度集中的,40%的比特幣集中在1 000人,96.53%的比特幣歸屬4.11%的地址。另外,PoW和PoS只是創造了所謂的數字資產,還需要做數字資產的交易,于是交易所也成了財富中心。
在傳統金融系統中,賬戶名是可以公開的,但賬本內容是必須保密的。為儲戶保密指賬戶中的記錄,不是賬戶號。區塊鏈的設計反過來了,賬戶號是匿名的,但賬本內容是公開的。區塊鏈匿名性說的是賬戶名匿名,不是賬戶中的記錄。
首先,為了交易的便利性,區塊鏈的賬戶(地址)標識需要一定的穩定性和一致性。又因為所有賬戶的內容是公開性的,交易時的IP地址是公開的,因此實際上掩蓋交易身份是非常困難的。
其次,早期的區塊鏈應用記錄的是源于母體的數字貨幣,區塊鏈自產自銷的是原生虛擬資產。這是一個封閉的數字價值世界,不需要與物理世界打交道就可以運轉,匿名也是完全可行的。但到了區塊鏈的2.0時代(具備智能合約和平臺化等),區塊鏈上記錄和交易的不再來自區塊鏈,而是來自物理世界的股權、版權和產權等。如果區塊鏈上所映射的是匿名資產,從法律意義上就是無效合同。
根據數據庫理論,所有的數據庫管理技術都會包含“Insert”,“Select”,“Update”和“Delete”等。但一些組織或個人把數據庫所具備的“修改”能力,當作可以篡改能力來用了,導致假賬頻發,于是就有了區塊鏈。它去除“Update”和“Delete”等數據庫的功能,變成只能單向“Insert”和“一次性寫”的數據庫技術。
有人的地方就可能出現誤操作,有利益的地方就可能出現欺詐;但區塊鏈只是一種技術,認為誤操作也是操作,欺詐交易也是交易,修改和篡改沒什么區別。技術無法處理道德和管理層面的問題,區塊鏈只能用下一個不可修改的操作,來彌補前一個錯誤操作。
區塊鏈缺乏類似會計制度中的差錯處理機制,已經帶來了一些問題,例如:2016年的TheDao事件,已經讓區塊鏈陷入了程序正義還是內容正義的陷阱。
不能因為一個應用系統引入了區塊鏈,就可以相信它了。一個區塊鏈應用系統要獲得更多的信任,一是所使用的區塊鏈要自證清白,二是區塊鏈應用的環境也要值得信任,例如:入出鏈的數據和鏡像關系也要自證真實性。
區塊鏈不是天然值得信任的。在許可鏈(比如聯盟鏈和私有鏈)中,用戶的授權和訪問控制,需要由值得信任的管理員來執行。雖然無需許可的公有鏈中,去掉了管理員這個角色。但無論是公有鏈、聯盟鏈和私有鏈,都還需要信任自己的組成部分[2]:
(1)必須信任所選用的加密技術。但是,加密算法或實現可能會有缺陷,智能合約也可能會有漏洞。
(2)必須信任所運行的軟件。要祈禱程序員是個天才,所開發的軟件沒有BUG。
(3)必須相信用戶之間不會共謀。如果一個群體或個人控制了PoW系統中51%的算力,或者PoS系統中51%的投票權,整個區塊鏈的防篡改根本就不成立了。
(4)必須相信節點的中立性。要假設節點會公平地接受和處理每筆交易,類似于“網絡中立”的法律原則,但“鏈中立”但還沒形成標準和法律制度。
區塊鏈應用要依存于外部環境和整個生態。環境中的一些不可信因素,也必然會被帶入到區塊鏈的生態系統中。區塊鏈具有防篡改能力,但只是數據已經在鏈上的時候。在數據寫入鏈之前,在數據離開區塊鏈之后,是否被篡改了,區塊鏈都是無能為力的。
不像區塊鏈的虛擬幣是一個閉環應用,區塊鏈上的數據在一些溯源、存證等非閉環的應用場景下,雖然是不可篡改的,但鏈上的數據與物理世界物品的“關聯關系”不能上鏈,區塊鏈可以防止篡改數據,但無法防止篡改映射關系。
區塊鏈技術還在持續演進中,擴展性有待進一步提升,性能還無法滿足高頻交易的需要,對共識算法還沒有共識,智能合約的“智商”還有待提升,新業務模式還在探索中。總的來看,區塊鏈技術演進趨勢呈現如下幾個特點[3]。
(1)架構方面:公有鏈和聯盟鏈融合持續演進。聯盟鏈是區塊鏈現階段主要的落地方式,但相對于公有鏈而言,擴展性、隱私胡和社區激勵還有待完善。隨著應用場景趨于復雜,公有鏈和聯盟鏈的架構模式開始走向融合:以面向大眾的公有鏈做基礎設施,通過隔離和加密等手段,面向企業構建基于公有鏈的聯盟鏈。這種模式與業界之前的虛擬專用服務器(VPS)、虛擬專用網(VPN)、虛擬專用數據庫(VPD)和虛擬專用云(VPC)等非常相像,因此可以稱為“虛擬專用鏈(VPB)”。
(2)部署方式:區塊鏈即服務(BaaS)加速演進。區塊鏈的實現可以是基本傳統IT的,也可以是基于云計算的。現在,越來越多的區塊鏈開發者和用戶意識到了新興的云計算帶來的好處。基于云計算搭建BaaS,不僅可以帶來快速開發、敏捷部署和成本較低等優勢,還可以讓區塊鏈企業將重點轉向面向垂直行業,以更好地對接用戶。
(3)技術層面:跨鏈及高性能的需求日益凸顯。不同的區塊鏈適用于不同的應用場景,跨鏈技術可以讓區塊鏈適于更加復雜的場景,以實現多個區塊鏈之間的價值轉移、存證和授權管理等,如金融質押、資產證券化、溯源防偽和征信等。目前典型的跨鏈技術,如公證人機制(Notary schemes)、側 鏈/中 繼(Sidechains/relays)、哈希鎖定(Hash-locking)、分布式私鑰控制(Distributed private key control)。
(4)共識方面:共識機制從單一向混合方式演進。導致區塊鏈性能降低的重要因素之一是共識算法。PoW、PoS、股份授權證明(DPoS)和拜占庭容錯等,各據優勢,各有最適用的場景。為提升效率,需在安全性、可靠性、開放性等方面進行取舍,根據場景切換共識機制成了新趨勢,并且將從單一的共識機制向多類混合的共識機制演進,運行過程中支持共識機制動態切換,或系統根據當前需要自動選擇相符的共識機制。
(5)智能合約方面:可插拔和易用性成為關注的重點。更具體而言:一是可插拔的執行環境架構,二是明示化的調用關系,三是可鏈外存儲的合約代碼,四是低耦合度的設計,五是完整安全的防護體系。