袁勇 王飛躍
區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望
袁勇1,2王飛躍1,3
區(qū)塊鏈?zhǔn)请S著比特幣等數(shù)字加密貨幣的日益普及而逐漸興起的一種全新的去中心化基礎(chǔ)架構(gòu)與分布式計(jì)算范式,目前已經(jīng)引起政府部門(mén)、金融機(jī)構(gòu)、科技企業(yè)和資本市場(chǎng)的高度重視與廣泛關(guān)注.區(qū)塊鏈技術(shù)具有去中心化、時(shí)序數(shù)據(jù)、集體維護(hù)、可編程和安全可信等特點(diǎn),特別適合構(gòu)建可編程的貨幣系統(tǒng)、金融系統(tǒng)乃至宏觀社會(huì)系統(tǒng).本文通過(guò)解構(gòu)區(qū)塊鏈的核心要素,提出了區(qū)塊鏈系統(tǒng)的基礎(chǔ)架構(gòu)模型,詳細(xì)闡述了區(qū)塊鏈及與之相關(guān)的比特幣的基本原理、技術(shù)、方法與應(yīng)用現(xiàn)狀,討論了智能合約的理念、應(yīng)用和意義,介紹了基于區(qū)塊鏈的平行社會(huì)發(fā)展趨勢(shì),致力于為未來(lái)相關(guān)研究提供有益的指導(dǎo)與借鑒.
區(qū)塊鏈,比特幣,共識(shí)機(jī)制,智能合約,平行社會(huì)
引用格式袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望.自動(dòng)化學(xué)報(bào),2016,42(4):481?494
區(qū)塊鏈?zhǔn)且员忍貛艦榇淼臄?shù)字加密貨幣體系的核心支撐技術(shù).區(qū)塊鏈技術(shù)的核心優(yōu)勢(shì)是去中心化,能夠通過(guò)運(yùn)用數(shù)據(jù)加密、時(shí)間戳、分布式共識(shí)和經(jīng)濟(jì)激勵(lì)等手段,在節(jié)點(diǎn)無(wú)需互相信任的分布式系統(tǒng)中實(shí)現(xiàn)基于去中心化信用的點(diǎn)對(duì)點(diǎn)交易、協(xié)調(diào)與協(xié)作,從而為解決中心化機(jī)構(gòu)普遍存在的高成本、低效率和數(shù)據(jù)存儲(chǔ)不安全等問(wèn)題提供了解決方案.隨著比特幣近年來(lái)的快速發(fā)展與普及,區(qū)塊鏈技術(shù)的研究與應(yīng)用也呈現(xiàn)出爆發(fā)式增長(zhǎng)態(tài)勢(shì),被認(rèn)為是繼大型機(jī)、個(gè)人電腦、互聯(lián)網(wǎng)、移動(dòng)/社交網(wǎng)絡(luò)之后計(jì)算范式的第五次顛覆式創(chuàng)新,是人類(lèi)信用進(jìn)化史上繼血親信用、貴金屬信用、央行紙幣信用之后的第四個(gè)里程碑[1].區(qū)塊鏈技術(shù)是下一代云計(jì)算的雛形,有望像互聯(lián)網(wǎng)一樣徹底重塑人類(lèi)社會(huì)活動(dòng)形態(tài),并實(shí)現(xiàn)從目前的信息互聯(lián)網(wǎng)向價(jià)值互聯(lián)網(wǎng)的轉(zhuǎn)變.
區(qū)塊鏈技術(shù)的快速發(fā)展引起了政府部門(mén)、金融機(jī)構(gòu)、科技企業(yè)和資本市場(chǎng)的廣泛關(guān)注.2016年1月,英國(guó)政府發(fā)布區(qū)塊鏈專(zhuān)題研究報(bào)告[2],積極推行區(qū)塊鏈在金融和政府事務(wù)中的應(yīng)用;中國(guó)人民銀行召開(kāi)數(shù)字貨幣研討會(huì)探討采用區(qū)塊鏈技術(shù)發(fā)行虛擬貨幣的可行性,以提高金融活動(dòng)的效率、便利性和透明度.美國(guó)納斯達(dá)克于2015年12月率先推出基于區(qū)塊鏈技術(shù)的證券交易平臺(tái)Linq,成為金融證券市場(chǎng)去中心化趨勢(shì)的重要里程碑;德勤和安永等專(zhuān)業(yè)審計(jì)服務(wù)公司相繼組建區(qū)塊鏈研發(fā)團(tuán)隊(duì),致力于提升其客戶審計(jì)服務(wù)質(zhì)量.截止到2016年初,資本市場(chǎng)已經(jīng)相繼投入10億美元以加速區(qū)塊鏈領(lǐng)域的發(fā)展.初創(chuàng)公司R3CEV基于微軟云服務(wù)平臺(tái)Azure推出的BaaS(Blockchain as a service,區(qū)塊鏈即服務(wù))服務(wù),已與美國(guó)銀行、花旗銀行等全球40余家大型銀行機(jī)構(gòu)簽署區(qū)塊鏈合作項(xiàng)目,致力于制定銀行業(yè)的區(qū)塊鏈行業(yè)標(biāo)準(zhǔn)與協(xié)議.
區(qū)塊鏈技術(shù)起源于2008年由化名為“中本聰”(Satoshi nakamoto)的學(xué)者在密碼學(xué)郵件組發(fā)表的奠基性論文《比特幣:一種點(diǎn)對(duì)點(diǎn)電子現(xiàn)金系統(tǒng)》[3],目前尚未形成行業(yè)公認(rèn)的區(qū)塊鏈定義.狹義來(lái)講,區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)?shù)據(jù)區(qū)塊以鏈條的方式組合成特定數(shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改和不可偽造的去中心化共享總賬(Decentralized shared ledger),能夠安全存儲(chǔ)簡(jiǎn)單的、有先后關(guān)系的、能在系統(tǒng)內(nèi)驗(yàn)證的數(shù)據(jù).廣義的區(qū)塊鏈技術(shù)則是利用加密鏈?zhǔn)絽^(qū)塊結(jié)構(gòu)來(lái)驗(yàn)證與存儲(chǔ)數(shù)據(jù)、利用分布式節(jié)點(diǎn)共識(shí)算法來(lái)生成和更新數(shù)據(jù)、利用自動(dòng)化腳本代碼(智能合約)來(lái)編程和操作數(shù)據(jù)的一種全新的去中心化基礎(chǔ)架構(gòu)與分布式計(jì)算范式.
區(qū)塊鏈具有去中心化、時(shí)序數(shù)據(jù)、集體維護(hù)、可編程和安全可信等特點(diǎn).首先是去中心化:區(qū)塊鏈數(shù)據(jù)的驗(yàn)證、記賬、存儲(chǔ)、維護(hù)和傳輸?shù)冗^(guò)程均是基于分布式系統(tǒng)結(jié)構(gòu),采用純數(shù)學(xué)方法而不是中心機(jī)構(gòu)來(lái)建立分布式節(jié)點(diǎn)間的信任關(guān)系,從而形成去中心化的可信任的分布式系統(tǒng);其次是時(shí)序數(shù)據(jù):區(qū)塊鏈采用帶有時(shí)間戳的鏈?zhǔn)絽^(qū)塊結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),從而為數(shù)據(jù)增加了時(shí)間維度,具有極強(qiáng)的可驗(yàn)證性和可追溯性;第三是集體維護(hù):區(qū)塊鏈系統(tǒng)采用特定的經(jīng)濟(jì)激勵(lì)機(jī)制來(lái)保證分布式系統(tǒng)中所有節(jié)點(diǎn)均可參與數(shù)據(jù)區(qū)塊的驗(yàn)證過(guò)程(如比特幣的“挖礦”過(guò)程),并通過(guò)共識(shí)算法來(lái)選擇特定的節(jié)點(diǎn)將新區(qū)塊添加到區(qū)塊鏈;第四是可編程:區(qū)塊鏈技術(shù)可提供靈活的腳本代碼系統(tǒng),支持用戶創(chuàng)建高級(jí)的智能合約、貨幣或其他去中心化應(yīng)用.例如,以太坊(Ethereum)平臺(tái)即提供了圖靈完備的腳本語(yǔ)言以供用戶來(lái)構(gòu)建任何可以精確定義的智能合約或交易類(lèi)型[4];最后是安全可信:區(qū)塊鏈技術(shù)采用非對(duì)稱(chēng)密碼學(xué)原理對(duì)數(shù)據(jù)進(jìn)行加密,同時(shí)借助分布式系統(tǒng)各節(jié)點(diǎn)的工作量證明等共識(shí)算法形成的強(qiáng)大算力來(lái)抵御外部攻擊、保證區(qū)塊鏈數(shù)據(jù)不可篡改和不可偽造,因而具有較高的安全性.
區(qū)塊鏈技術(shù)是具有普適性的底層技術(shù)框架,可以為金融、經(jīng)濟(jì)、科技甚至政治等各領(lǐng)域帶來(lái)深刻變革.按照目前區(qū)塊鏈技術(shù)的發(fā)展脈絡(luò),區(qū)塊鏈技術(shù)將會(huì)經(jīng)歷以可編程數(shù)字加密貨幣體系為主要特征的區(qū)塊鏈1.0模式、以可編程金融系統(tǒng)為主要特征的區(qū)塊鏈2.0模式和以可編程社會(huì)為主要特征的區(qū)塊鏈3.0模式[1].目前,一般認(rèn)為區(qū)塊鏈技術(shù)正處于2.0模式的初期,股權(quán)眾籌和P2P借貸等各類(lèi)基于區(qū)塊鏈技術(shù)的互聯(lián)網(wǎng)金融應(yīng)用相繼涌現(xiàn).然而,上述模式實(shí)際上是平行而非演進(jìn)式發(fā)展的,區(qū)塊鏈1.0模式的數(shù)字加密貨幣體系仍然遠(yuǎn)未成熟,距離其全球貨幣一體化的愿景實(shí)際上更遠(yuǎn)、更困難.目前,區(qū)塊鏈領(lǐng)域已經(jīng)呈現(xiàn)出明顯的技術(shù)和產(chǎn)業(yè)創(chuàng)新驅(qū)動(dòng)的發(fā)展態(tài)勢(shì),相關(guān)學(xué)術(shù)研究嚴(yán)重滯后、亟待跟進(jìn).截止到2016年2月,以萬(wàn)方數(shù)據(jù)知識(shí)服務(wù)平臺(tái)為中文數(shù)據(jù)源、以Web of Science和EI Village為英文數(shù)據(jù)源的文獻(xiàn)檢索顯示,目前篇名包含關(guān)鍵詞“區(qū)塊鏈/blockchain”的僅有2篇中文[5?6]和9篇英文文獻(xiàn)[6?14].本文系統(tǒng)性地梳理了區(qū)塊鏈的基本原理、核心技術(shù)、典型應(yīng)用和現(xiàn)存問(wèn)題,以期為未來(lái)研究提供有益的啟發(fā)與借鑒.
本文組織結(jié)構(gòu)為:第1節(jié)概述區(qū)塊鏈與比特幣的發(fā)展史及二者的關(guān)系;第2節(jié)闡述區(qū)塊鏈的基礎(chǔ)架構(gòu)模型及其關(guān)鍵技術(shù);第3節(jié)和第4節(jié)分別概要總結(jié)了區(qū)塊鏈技術(shù)的應(yīng)用場(chǎng)景與現(xiàn)存的問(wèn)題;第5節(jié)介紹智能合約及其在區(qū)塊鏈領(lǐng)域的應(yīng)用現(xiàn)狀;第6節(jié)展望了區(qū)塊鏈驅(qū)動(dòng)的平行社會(huì)發(fā)展趨勢(shì);第7節(jié)總結(jié)本文內(nèi)容.
比特幣是迄今為止最為成功的區(qū)塊鏈應(yīng)用場(chǎng)景.據(jù)區(qū)塊鏈實(shí)時(shí)監(jiān)控網(wǎng)站Blockchain.info統(tǒng)計(jì)顯示,平均每天有約7500萬(wàn)美元的120000筆交易被寫(xiě)入比特幣區(qū)塊鏈,目前已生成超過(guò)40萬(wàn)個(gè)區(qū)塊[15].加密貨幣市值統(tǒng)計(jì)網(wǎng)站coinmarketcap.com顯示,截止到2016年2月,全球共有675種加密貨幣,總市值超過(guò)67億美元,其中比特幣市值約占86%,瑞波幣和以太幣分別居二、三位[16].目前比特幣供應(yīng)量(即已經(jīng)挖出的比特幣數(shù)量)已經(jīng)超過(guò)1500萬(wàn)枚,按照每枚比特幣389.50美元的現(xiàn)行價(jià)格估算其總市值已超過(guò)59億美元,在世界各國(guó)2015年GDP排名中占據(jù)第144位(略低于歐洲的摩爾多瓦).換言之,在沒(méi)有政府和中央銀行信用背書(shū)的情況下,去中心化的比特幣已經(jīng)依靠算法信用創(chuàng)造出與歐洲小國(guó)體量相當(dāng)?shù)娜蛐越?jīng)濟(jì)體.預(yù)計(jì)到2027年,全球10%的GDP將會(huì)通過(guò)區(qū)塊鏈技術(shù)存儲(chǔ)[17].
比特幣區(qū)塊鏈的第一個(gè)區(qū)塊(稱(chēng)為創(chuàng)世區(qū)塊)誕生于2009年1月4日,由創(chuàng)始人中本聰持有.一周后,中本聰發(fā)送了10個(gè)比特幣給密碼學(xué)專(zhuān)家哈爾芬尼,形成了比特幣史上第一次交易;2010年5月,佛羅里達(dá)程序員用1萬(wàn)比特幣購(gòu)買(mǎi)價(jià)值為25美元的披薩優(yōu)惠券,從而誕生了比特幣的第一個(gè)公允匯率.此后,比特幣價(jià)格快速上漲,并在2013年11月創(chuàng)下每枚比特幣兌換1242美元的歷史高值,超過(guò)同期每盎司1241.98美元的黃金價(jià)格.據(jù)CoinDesk估算,目前全球約有6萬(wàn)商家接受比特幣交易,其中中國(guó)是比特幣交易增長(zhǎng)最為迅速的國(guó)家[18].
比特幣本質(zhì)上是由分布式網(wǎng)絡(luò)系統(tǒng)生成的數(shù)字貨幣,其發(fā)行過(guò)程不依賴特定的中心化機(jī)構(gòu),而是依賴于分布式網(wǎng)絡(luò)節(jié)點(diǎn)共同參與一種稱(chēng)為工作量證明(Proof of work,PoW)的共識(shí)過(guò)程以完成比特幣交易的驗(yàn)證與記錄.PoW共識(shí)過(guò)程(俗稱(chēng)挖礦,每個(gè)節(jié)點(diǎn)稱(chēng)為礦工)通常是各節(jié)點(diǎn)貢獻(xiàn)自己的計(jì)算資源來(lái)競(jìng)爭(zhēng)解決一個(gè)難度可動(dòng)態(tài)調(diào)整的數(shù)學(xué)問(wèn)題,成功解決該數(shù)學(xué)問(wèn)題的礦工將獲得區(qū)塊的記賬權(quán),并將當(dāng)前時(shí)間段的所有比特幣交易打包記入一個(gè)新的區(qū)塊、按照時(shí)間順序鏈接到比特幣主鏈上.比特幣系統(tǒng)同時(shí)會(huì)發(fā)行一定數(shù)量的比特幣以獎(jiǎng)勵(lì)該礦工,并激勵(lì)其他礦工繼續(xù)貢獻(xiàn)算力.比特幣的流通過(guò)程依靠密碼學(xué)方法保障安全.每一次比特幣交易都會(huì)經(jīng)過(guò)特殊算法處理和全體礦工驗(yàn)證后記入?yún)^(qū)塊鏈,同時(shí)可以附帶具有一定靈活性的腳本代碼(智能合約)以實(shí)現(xiàn)可編程的自動(dòng)化貨幣流通.由此可見(jiàn),比特幣和區(qū)塊鏈系統(tǒng)一般具備如下五個(gè)關(guān)鍵要素,即公共的區(qū)塊鏈賬本、分布式的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)系統(tǒng)、去中心化的共識(shí)算法、適度的經(jīng)濟(jì)激勵(lì)機(jī)制以及可編程的腳本代碼.
區(qū)塊鏈技術(shù)為比特幣系統(tǒng)解決了數(shù)字加密貨幣領(lǐng)域長(zhǎng)期以來(lái)所必需面對(duì)的兩個(gè)重要問(wèn)題,即雙重支付問(wèn)題和拜占庭將軍問(wèn)題[19].雙重支付問(wèn)題又稱(chēng)為“雙花”,即利用貨幣的數(shù)字特性兩次或多次使用“同一筆錢(qián)”完成支付.傳統(tǒng)金融和貨幣體系中,現(xiàn)金(法幣)因是物理實(shí)體,能夠自然地避免雙重支付;其他數(shù)字形式的貨幣則需要可信的第三方中心機(jī)構(gòu)(如銀行)來(lái)保證.區(qū)塊鏈技術(shù)的貢獻(xiàn)是在沒(méi)有第三方機(jī)構(gòu)的情況下,通過(guò)分布式節(jié)點(diǎn)的驗(yàn)證和共識(shí)機(jī)制解決了去中心化系統(tǒng)的雙重支付問(wèn)題,在信息傳輸?shù)倪^(guò)程同時(shí)完成了價(jià)值轉(zhuǎn)移.拜占庭將軍問(wèn)題是分布式系統(tǒng)交互過(guò)程普遍面臨的難題,即在缺少可信任的中央節(jié)點(diǎn)的情況下,分布式節(jié)點(diǎn)如何達(dá)成共識(shí)和建立互信[20].區(qū)塊鏈通過(guò)數(shù)字加密技術(shù)和分布式共識(shí)算法,實(shí)現(xiàn)了在無(wú)需信任單個(gè)節(jié)點(diǎn)的情況下構(gòu)建一個(gè)去中心化的可信任系統(tǒng).與傳統(tǒng)中心機(jī)構(gòu)(如中央銀行)的信用背書(shū)機(jī)制不同的是,比特幣區(qū)塊鏈形成的是軟件定義的信用,這標(biāo)志著中心化的國(guó)家信用向去中心化的算法信用的根本性變革.
比特幣憑借其先發(fā)優(yōu)勢(shì),目前已經(jīng)形成體系完備的涵蓋發(fā)行、流通和金融衍生市場(chǎng)的生態(tài)圈與產(chǎn)業(yè)鏈(如圖1所示),這也是其長(zhǎng)期占據(jù)絕大多數(shù)數(shù)字加密貨幣市場(chǎng)份額的主要原因.比特幣的開(kāi)源特性吸引了大量開(kāi)發(fā)者持續(xù)性地貢獻(xiàn)其創(chuàng)新技術(shù)、方法和機(jī)制;比特幣各網(wǎng)絡(luò)節(jié)點(diǎn)(礦工)提供算力以保證比特幣的穩(wěn)定共識(shí)和安全性,其算力大多來(lái)自于設(shè)備商銷(xiāo)售的專(zhuān)門(mén)用于PoW共識(shí)算法的專(zhuān)業(yè)設(shè)備(礦機(jī)).比特幣網(wǎng)絡(luò)為每個(gè)新發(fā)現(xiàn)的區(qū)塊發(fā)行一定數(shù)量的比特幣以獎(jiǎng)勵(lì)礦工,部分礦工可能會(huì)相互合作建立收益共享的礦池,以便匯集算力來(lái)提高獲得比特幣的概率.比特幣經(jīng)發(fā)行進(jìn)入流通環(huán)節(jié)后,持幣人可以通過(guò)特定的軟件平臺(tái)(如比特幣錢(qián)包)向商家支付比特幣來(lái)購(gòu)買(mǎi)商品或服務(wù),這體現(xiàn)了比特幣的貨幣屬性;同時(shí)由于比特幣價(jià)格的漲跌機(jī)制使其完全具備金融衍生品的所有屬性,因此出現(xiàn)了比特幣交易平臺(tái)以方便持幣人投資或者投機(jī)比特幣.在流通環(huán)節(jié)和金融市場(chǎng)中,每一筆比特幣交易都會(huì)由比特幣網(wǎng)絡(luò)的全體礦工驗(yàn)證并記入?yún)^(qū)塊鏈.
圖1 比特幣生態(tài)圈Fig.1 The Bitcoin ecosystem
比特幣是區(qū)塊鏈技術(shù)賦能的第一個(gè)“殺手級(jí)”應(yīng)用,迄今為止區(qū)塊鏈的核心技術(shù)和人才資源仍大多在比特幣研發(fā)領(lǐng)域.然而,區(qū)塊鏈作為未來(lái)新一代的底層基礎(chǔ)技術(shù),其應(yīng)用范疇勢(shì)必會(huì)超越數(shù)字加密貨幣而延伸到金融、經(jīng)濟(jì)、科技和政治等其他領(lǐng)域.比特幣的現(xiàn)有技術(shù)、模式和機(jī)制,將會(huì)對(duì)區(qū)塊鏈在新應(yīng)用領(lǐng)域的發(fā)展提供有益的借鑒,而新領(lǐng)域的區(qū)塊鏈創(chuàng)新也勢(shì)必反過(guò)來(lái)促進(jìn)解決比特幣系統(tǒng)現(xiàn)存的問(wèn)題.因此,比特幣和區(qū)塊鏈技術(shù)存在著協(xié)同進(jìn)化、和諧共生而非相互競(jìng)爭(zhēng)的良性反饋關(guān)系.
本節(jié)將結(jié)合比特幣系統(tǒng)的技術(shù)與應(yīng)用現(xiàn)狀,闡述區(qū)塊鏈技術(shù)的基礎(chǔ)模型、基本原理和關(guān)鍵技術(shù),以及區(qū)塊鏈在比特幣系統(tǒng)之外的若干創(chuàng)新模式.現(xiàn)存的其他區(qū)塊鏈應(yīng)用大多都與比特幣類(lèi)似,僅在某些特定的環(huán)節(jié)或多或少地采用比特幣模式的變種.
區(qū)塊鏈技術(shù)的基礎(chǔ)架構(gòu)模型如圖2所示.一般說(shuō)來(lái),區(qū)塊鏈系統(tǒng)由數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層和應(yīng)用層組成.其中,數(shù)據(jù)層封裝了底層數(shù)據(jù)區(qū)塊以及相關(guān)的數(shù)據(jù)加密和時(shí)間戳等技術(shù);網(wǎng)絡(luò)層則包括分布式組網(wǎng)機(jī)制、數(shù)據(jù)傳播機(jī)制和數(shù)據(jù)驗(yàn)證機(jī)制等;共識(shí)層主要封裝網(wǎng)絡(luò)節(jié)點(diǎn)的各類(lèi)共識(shí)算法;激勵(lì)層將經(jīng)濟(jì)因素集成到區(qū)塊鏈技術(shù)體系中來(lái),主要包括經(jīng)濟(jì)激勵(lì)的發(fā)行機(jī)制和分配機(jī)制等;合約層主要封裝各類(lèi)腳本、算法和智能合約,是區(qū)塊鏈可編程特性的基礎(chǔ);應(yīng)用層則封裝了區(qū)塊鏈的各種應(yīng)用場(chǎng)景和案例.該模型中,基于時(shí)間戳的鏈?zhǔn)絽^(qū)塊結(jié)構(gòu)、分布式節(jié)點(diǎn)的共識(shí)機(jī)制、基于共識(shí)算力的經(jīng)濟(jì)激勵(lì)和靈活可編程的智能合約是區(qū)塊鏈技術(shù)最具代表性的創(chuàng)新點(diǎn).
圖2 區(qū)塊鏈基礎(chǔ)架構(gòu)模型Fig.2 A basic framework of blockchain
2.1數(shù)據(jù)層
狹義的區(qū)塊鏈即是去中心化系統(tǒng)各節(jié)點(diǎn)共享的數(shù)據(jù)賬本.每個(gè)分布式節(jié)點(diǎn)都可以通過(guò)特定的哈希算法和Merkle樹(shù)數(shù)據(jù)結(jié)構(gòu),將一段時(shí)間內(nèi)接收到的交易數(shù)據(jù)和代碼封裝到一個(gè)帶有時(shí)間戳的數(shù)據(jù)區(qū)塊中,并鏈接到當(dāng)前最長(zhǎng)的主區(qū)塊鏈上,形成最新的區(qū)塊.該過(guò)程涉及區(qū)塊、鏈?zhǔn)浇Y(jié)構(gòu)、哈希算法、Merkle樹(shù)和時(shí)間戳等技術(shù)要素.
數(shù)據(jù)區(qū)塊:如圖3所示,每個(gè)數(shù)據(jù)區(qū)塊一般包含區(qū)塊頭(Header)和區(qū)塊體(Body)兩部分.區(qū)塊頭封裝了當(dāng)前版本號(hào)(Version)、前一區(qū)塊地址(Prev-block)、當(dāng)前區(qū)塊的目標(biāo)哈希值(Bits)、當(dāng)前區(qū)塊PoW共識(shí)過(guò)程的解隨機(jī)數(shù)(Nonce)、Merkle根(Merkle-root)以及時(shí)間戳(Timestamp)等信息[21].比特幣網(wǎng)絡(luò)可以動(dòng)態(tài)調(diào)整PoW共識(shí)過(guò)程的難度值,最先找到正確的解隨機(jī)數(shù)Nonce并經(jīng)過(guò)全體礦工驗(yàn)證的礦工將會(huì)獲得當(dāng)前區(qū)塊的記賬權(quán).區(qū)塊體則包括當(dāng)前區(qū)塊的交易數(shù)量以及經(jīng)過(guò)驗(yàn)證的、區(qū)塊創(chuàng)建過(guò)程中生成的所有交易記錄.這些記錄通過(guò)Merkle樹(shù)的哈希過(guò)程生成唯一的Merkle根并記入?yún)^(qū)塊頭.
圖3 區(qū)塊結(jié)構(gòu)Fig.3 The structure of blocks
鏈?zhǔn)浇Y(jié)構(gòu):取得記賬權(quán)的礦工將當(dāng)前區(qū)塊鏈接到前一區(qū)塊,形成最新的區(qū)塊主鏈.各個(gè)區(qū)塊依次環(huán)環(huán)相接,形成從創(chuàng)世區(qū)塊到當(dāng)前區(qū)塊的一條最長(zhǎng)主鏈,從而記錄了區(qū)塊鏈數(shù)據(jù)的完整歷史,能夠提供區(qū)塊鏈數(shù)據(jù)的溯源和定位功能,任意數(shù)據(jù)都可以通過(guò)此鏈?zhǔn)浇Y(jié)構(gòu)順藤摸瓜、追本溯源.需要說(shuō)明的是,如果短時(shí)間內(nèi)有兩個(gè)礦工同時(shí)“挖出”兩個(gè)新的區(qū)塊加以鏈接的話,區(qū)塊主鏈可能會(huì)出現(xiàn)暫時(shí)的“分叉”現(xiàn)象,其解決方法是約定礦工總是選擇延長(zhǎng)累計(jì)工作量證明最大的區(qū)塊鏈.因此,當(dāng)主鏈分叉后,后續(xù)區(qū)塊的礦工將通過(guò)計(jì)算和比較,將其區(qū)塊鏈接到當(dāng)前累計(jì)工作量證明最大化的備選鏈上,形成更長(zhǎng)的新主鏈,從而解決分叉問(wèn)題[19].
時(shí)間戳:區(qū)塊鏈技術(shù)要求獲得記賬權(quán)的節(jié)點(diǎn)必須在當(dāng)前數(shù)據(jù)區(qū)塊頭中加蓋時(shí)間戳,表明區(qū)塊數(shù)據(jù)的寫(xiě)入時(shí)間.因此,主鏈上各區(qū)塊是按照時(shí)間順序依次排列的.時(shí)間戳技術(shù)本身并不復(fù)雜,但其在區(qū)塊鏈技術(shù)中的應(yīng)用是具有重要意義的創(chuàng)新.時(shí)間戳可以作為區(qū)塊數(shù)據(jù)的存在性證明(Proof of existence),有助于形成不可篡改和不可偽造的區(qū)塊鏈數(shù)據(jù)庫(kù),從而為區(qū)塊鏈應(yīng)用于公證、知識(shí)產(chǎn)權(quán)注冊(cè)等時(shí)間敏感的領(lǐng)域奠定了基礎(chǔ).更為重要的是,時(shí)間戳為未來(lái)基于區(qū)塊鏈的互聯(lián)網(wǎng)和大數(shù)據(jù)增加了時(shí)間維度,使得通過(guò)區(qū)塊數(shù)據(jù)和時(shí)間戳來(lái)重現(xiàn)歷史成為可能.
哈希函數(shù):區(qū)塊鏈通常并不直接保存原始數(shù)據(jù)或交易記錄,而是保存其哈希函數(shù)值,即將原始數(shù)據(jù)編碼為特定長(zhǎng)度的由數(shù)字和字母組成的字符串后記入?yún)^(qū)塊鏈.哈希函數(shù)(也稱(chēng)散列函數(shù))具有諸多優(yōu)良特點(diǎn),因而特別適合用于存儲(chǔ)區(qū)塊鏈數(shù)據(jù).例如,通過(guò)哈希輸出幾乎不能反推輸入值(單向性),不同長(zhǎng)度輸入的哈希過(guò)程消耗大約相同的時(shí)間(定時(shí)性)且產(chǎn)生固定長(zhǎng)度的輸出(定長(zhǎng)性),即使輸入僅相差一個(gè)字節(jié)也會(huì)產(chǎn)生顯著不同的輸出值(隨機(jī)性)等.比特幣區(qū)塊鏈通常采用雙SHA256哈希函數(shù),即將任意長(zhǎng)度的原始數(shù)據(jù)經(jīng)過(guò)兩次SHA256哈希運(yùn)算后轉(zhuǎn)換為長(zhǎng)度為256位(32字節(jié))的二進(jìn)制數(shù)字來(lái)統(tǒng)一存儲(chǔ)和識(shí)別.除上述特點(diǎn)外,SHA256算法還具有巨大的散列空間(2256)和抗碰撞(避免不同輸入值產(chǎn)生相同哈希值)等特性,可滿足比特幣的任何相關(guān)標(biāo)記需要而不會(huì)出現(xiàn)沖突.
Merkle樹(shù):Merkle樹(shù)是區(qū)塊鏈的重要數(shù)據(jù)結(jié)構(gòu),其作用是快速歸納和校驗(yàn)區(qū)塊數(shù)據(jù)的存在性和完整性.如圖3所示,Merkle樹(shù)通常包含區(qū)塊體的底層(交易)數(shù)據(jù)庫(kù),區(qū)塊頭的根哈希值(即Merkle根)以及所有沿底層區(qū)塊數(shù)據(jù)到根哈希的分支.Merkle樹(shù)運(yùn)算過(guò)程一般是將區(qū)塊體的數(shù)據(jù)進(jìn)行分組哈希,并將生成的新哈希值插入到Merkle樹(shù)中,如此遞歸直到只剩最后一個(gè)根哈希值并記為區(qū)塊頭的Merkle根.最常見(jiàn)的Merkle樹(shù)是比特幣采用的二叉Merkle樹(shù),其每個(gè)哈希節(jié)點(diǎn)總是包含兩個(gè)相鄰的數(shù)據(jù)塊或其哈希值[22],其他變種則包括以太坊的Merkle patricia tree等[4].Merkle樹(shù)有諸多優(yōu)點(diǎn):首先是極大地提高了區(qū)塊鏈的運(yùn)行效率和可擴(kuò)展性,使得區(qū)塊頭只需包含根哈希值而不必封裝所有底層數(shù)據(jù),這使得哈希運(yùn)算可以高效地運(yùn)行在智能手機(jī)甚至物聯(lián)網(wǎng)設(shè)備上;其次是Merkle樹(shù)可支持“簡(jiǎn)化支付驗(yàn)證”協(xié)議,即在不運(yùn)行完整區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)的情況下,也能夠?qū)Γń灰祝?shù)據(jù)進(jìn)行檢驗(yàn)[3].例如,為驗(yàn)證圖3中交易6,一個(gè)沒(méi)有下載完整區(qū)塊鏈數(shù)據(jù)的客戶端可以通過(guò)向其他節(jié)點(diǎn)索要包括從交易6哈希值沿Merkle樹(shù)上溯至區(qū)塊頭根哈希處的哈希序列(即哈希節(jié)點(diǎn)6,5,56,78,5678,1234)來(lái)快速確認(rèn)交易的存在性和正確性.一般說(shuō)來(lái),在N個(gè)交易組成的區(qū)塊體中確認(rèn)任一交易的算法復(fù)雜度僅為log2N.這將極大地降低區(qū)塊鏈運(yùn)行所需的帶寬和驗(yàn)證時(shí)間,并使得僅保存部分相關(guān)區(qū)塊鏈數(shù)據(jù)的輕量級(jí)客戶端成為可能.
非對(duì)稱(chēng)加密:非對(duì)稱(chēng)加密是為滿足安全性需求和所有權(quán)驗(yàn)證需求而集成到區(qū)塊鏈中的加密技術(shù),常見(jiàn)算法包括RSA、Elgamal、Rabin、D-H、ECC(即橢圓曲線加密算法)等.非對(duì)稱(chēng)加密通常在加密和解密過(guò)程中使用兩個(gè)非對(duì)稱(chēng)的密碼,分別稱(chēng)為公鑰和私鑰.非對(duì)稱(chēng)密鑰對(duì)具有兩個(gè)特點(diǎn),首先是用其中一個(gè)密鑰(公鑰或私鑰)加密信息后,只有另一個(gè)對(duì)應(yīng)的密鑰才能解開(kāi);其次是公鑰可向其他人公開(kāi)、私鑰則保密,其他人無(wú)法通過(guò)該公鑰推算出相應(yīng)的私鑰.非對(duì)稱(chēng)加密技術(shù)在區(qū)塊鏈的應(yīng)用場(chǎng)景主要包括信息加密、數(shù)字簽名和登錄認(rèn)證等,其中信息加密場(chǎng)景主要是由信息發(fā)送者(記為A)使用接受者(記為B)的公鑰對(duì)信息加密后再發(fā)送給B,B利用自己的私鑰對(duì)信息解密.比特幣交易的加密即屬于此場(chǎng)景;數(shù)字簽名場(chǎng)景則是由發(fā)送者A采用自己的私鑰加密信息后發(fā)送給B,B使用A的公鑰對(duì)信息解密、從而可確保信息是由A發(fā)送的;登錄認(rèn)證場(chǎng)景則是由客戶端使用私鑰加密登錄信息后發(fā)送給服務(wù)器,后者接收后采用該客戶端的公鑰解密并認(rèn)證登錄信息.
以比特幣系統(tǒng)為例,其非對(duì)稱(chēng)加密機(jī)制如圖4所示:比特幣系統(tǒng)一般通過(guò)調(diào)用操作系統(tǒng)底層的隨機(jī)數(shù)生成器來(lái)生成256位隨機(jī)數(shù)作為私鑰.比特幣私鑰的總量可達(dá)2256,極難通過(guò)遍歷全部私鑰空間來(lái)獲得存有比特幣的私鑰,因而是密碼學(xué)安全的.為便于識(shí)別,256位二進(jìn)制形式的比特幣私鑰將通過(guò)SHA256哈希算法和Base58轉(zhuǎn)換,形成50個(gè)字符長(zhǎng)度的易識(shí)別和書(shū)寫(xiě)的私鑰提供給用戶;比特幣的公鑰是由私鑰首先經(jīng)過(guò)Secp256k1橢圓曲線算法生成65字節(jié)長(zhǎng)度的隨機(jī)數(shù).該公鑰可用于產(chǎn)生比特幣交易時(shí)使用的地址,其生成過(guò)程為首先將公鑰進(jìn)行SHA256和RIPEMD160雙哈希運(yùn)算并生成20字節(jié)長(zhǎng)度的摘要結(jié)果(即hash160結(jié)果),再經(jīng)過(guò)SHA256哈希算法和Base58轉(zhuǎn)換形成33字符長(zhǎng)度的比特幣地址[19].公鑰生成過(guò)程是不可逆的,即不能通過(guò)公鑰反推出私鑰.比特幣的公鑰和私鑰通常保存于比特幣錢(qián)包文件,其中私鑰最為重要.丟失私鑰就意味著丟失了對(duì)應(yīng)地址的全部比特幣資產(chǎn).現(xiàn)有的比特幣和區(qū)塊鏈系統(tǒng)中,根據(jù)實(shí)際應(yīng)用需求已經(jīng)衍生出多私鑰加密技術(shù),以滿足多重簽名等更為靈活和復(fù)雜的場(chǎng)景.
圖4 比特幣非對(duì)稱(chēng)加密機(jī)制Fig.4 The asymmetric cryptography of the Bitcoin system
2.2網(wǎng)絡(luò)層
網(wǎng)絡(luò)層封裝了區(qū)塊鏈系統(tǒng)的組網(wǎng)方式、消息傳播協(xié)議和數(shù)據(jù)驗(yàn)證機(jī)制等要素.結(jié)合實(shí)際應(yīng)用需求,通過(guò)設(shè)計(jì)特定的傳播協(xié)議和數(shù)據(jù)驗(yàn)證機(jī)制,可使得區(qū)塊鏈系統(tǒng)中每一個(gè)節(jié)點(diǎn)都能參與區(qū)塊數(shù)據(jù)的校驗(yàn)和記賬過(guò)程,僅當(dāng)區(qū)塊數(shù)據(jù)通過(guò)全網(wǎng)大部分節(jié)點(diǎn)驗(yàn)證后,才能記入?yún)^(qū)塊鏈.
組網(wǎng)方式:區(qū)塊鏈系統(tǒng)的節(jié)點(diǎn)一般具有分布式、自治性、開(kāi)放可自由進(jìn)出等特性,因而一般采用對(duì)等式網(wǎng)絡(luò)(Peer-to-peer network,P2P網(wǎng)絡(luò))來(lái)組織散布全球的參與數(shù)據(jù)驗(yàn)證和記賬的節(jié)點(diǎn).P2P網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)均地位對(duì)等且以扁平式拓?fù)浣Y(jié)構(gòu)相互連通和交互,不存在任何中心化的特殊節(jié)點(diǎn)和層級(jí)結(jié)構(gòu),每個(gè)節(jié)點(diǎn)均會(huì)承擔(dān)網(wǎng)絡(luò)路由、驗(yàn)證區(qū)塊數(shù)據(jù)、傳播區(qū)塊數(shù)據(jù)、發(fā)現(xiàn)新節(jié)點(diǎn)等功能.按照節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)量的不同,可以分為全節(jié)點(diǎn)和輕量級(jí)節(jié)點(diǎn).前者保存有從創(chuàng)世區(qū)塊到當(dāng)前最新區(qū)塊為止的完整區(qū)塊鏈數(shù)據(jù),并通過(guò)實(shí)時(shí)參與區(qū)塊數(shù)據(jù)的校驗(yàn)和記賬來(lái)動(dòng)態(tài)更新主鏈.全節(jié)點(diǎn)的優(yōu)勢(shì)在于不依賴任何其他節(jié)點(diǎn)而能夠獨(dú)立地實(shí)現(xiàn)任意區(qū)塊數(shù)據(jù)的校驗(yàn)、查詢和更新,劣勢(shì)則是維護(hù)全節(jié)點(diǎn)的空間成本較高;以比特幣為例,截止到2016年2月,創(chuàng)世區(qū)塊至當(dāng)前區(qū)塊的數(shù)據(jù)量已經(jīng)超過(guò)60GB.與之相比,輕量級(jí)節(jié)點(diǎn)則僅保存一部分區(qū)塊鏈數(shù)據(jù),并通過(guò)第2.1節(jié)提到的簡(jiǎn)易支付驗(yàn)證方式向其相鄰節(jié)點(diǎn)請(qǐng)求所需的數(shù)據(jù)來(lái)完成數(shù)據(jù)校驗(yàn).
數(shù)據(jù)傳播協(xié)議:任一區(qū)塊數(shù)據(jù)生成后,將由生成該數(shù)據(jù)的節(jié)點(diǎn)廣播到全網(wǎng)其他所有的節(jié)點(diǎn)來(lái)加以驗(yàn)證.現(xiàn)有的區(qū)塊鏈系統(tǒng)一般根據(jù)實(shí)際應(yīng)用需求設(shè)計(jì)比特幣傳播協(xié)議的變種,例如以太坊區(qū)塊鏈集成了所謂的“幽靈協(xié)議”以解決因區(qū)塊數(shù)據(jù)確認(rèn)速度快而導(dǎo)致的高區(qū)塊作廢率和隨之而來(lái)的安全性風(fēng)險(xiǎn)[4].根據(jù)中本聰?shù)脑O(shè)計(jì),比特幣系統(tǒng)的交易數(shù)據(jù)傳播協(xié)議包括如下步驟[3]:
1)比特幣交易節(jié)點(diǎn)將新生成的交易數(shù)據(jù)向全網(wǎng)所有節(jié)點(diǎn)進(jìn)行廣播;
2)每個(gè)節(jié)點(diǎn)都將收集到的交易數(shù)據(jù)存儲(chǔ)到一個(gè)區(qū)塊中;
3)每個(gè)節(jié)點(diǎn)基于自身算力在區(qū)塊中找到一個(gè)具有足夠難度的工作量證明;
4)當(dāng)節(jié)點(diǎn)找到區(qū)塊的工作量證明后,就向全網(wǎng)所有節(jié)點(diǎn)廣播此區(qū)塊;
5)僅當(dāng)包含在區(qū)塊中的所有交易都是有效的且之前未存在過(guò)的,其他節(jié)點(diǎn)才認(rèn)同該區(qū)塊的有效性;
6)其他節(jié)點(diǎn)接受該數(shù)據(jù)區(qū)塊,并在該區(qū)塊的末尾制造新的區(qū)塊以延長(zhǎng)該鏈條,而將被接受區(qū)塊的隨機(jī)哈希值視為先于新區(qū)塊的隨機(jī)哈希值.
需要說(shuō)明的是,如果交易節(jié)點(diǎn)是與其他節(jié)點(diǎn)無(wú)連接的新節(jié)點(diǎn),比特幣系統(tǒng)通常會(huì)將一組長(zhǎng)期穩(wěn)定運(yùn)行的“種子節(jié)點(diǎn)”推薦給新節(jié)點(diǎn)建立連接,或者推薦至少一個(gè)節(jié)點(diǎn)連接到新節(jié)點(diǎn).此外,交易數(shù)據(jù)廣播時(shí),并不需要全部節(jié)點(diǎn)均接收到,而是只要足夠多的節(jié)點(diǎn)做出響應(yīng)即可整合進(jìn)入?yún)^(qū)塊賬本中.未接收到特定交易數(shù)據(jù)的節(jié)點(diǎn)則可向鄰近節(jié)點(diǎn)請(qǐng)求下載該缺失的交易數(shù)據(jù)[19].
數(shù)據(jù)驗(yàn)證機(jī)制:P2P網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都時(shí)刻監(jiān)聽(tīng)比特幣網(wǎng)絡(luò)中廣播的數(shù)據(jù)與新區(qū)塊.節(jié)點(diǎn)接收到鄰近節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)后,將首先驗(yàn)證該數(shù)據(jù)的有效性.如果數(shù)據(jù)有效,則按照接收順序?yàn)樾聰?shù)據(jù)建立存儲(chǔ)池以暫存尚未記入?yún)^(qū)塊的有效數(shù)據(jù),同時(shí)繼續(xù)向鄰近節(jié)點(diǎn)轉(zhuǎn)發(fā);如果數(shù)據(jù)無(wú)效,則立即廢棄該數(shù)據(jù),從而保證無(wú)效數(shù)據(jù)不會(huì)在區(qū)塊鏈網(wǎng)絡(luò)繼續(xù)傳播.以比特幣為例,比特幣的礦工節(jié)點(diǎn)會(huì)收集和驗(yàn)證P2P網(wǎng)絡(luò)中廣播的尚未確認(rèn)的交易數(shù)據(jù),并對(duì)照預(yù)定義的標(biāo)準(zhǔn)清單,從數(shù)據(jù)結(jié)構(gòu)、語(yǔ)法規(guī)范性、輸入輸出和數(shù)字簽名等各方面校驗(yàn)交易數(shù)據(jù)的有效性,并將有效交易數(shù)據(jù)整合到當(dāng)前區(qū)塊中;同理,當(dāng)某礦工“挖”到新區(qū)塊后,其他礦工節(jié)點(diǎn)也會(huì)按照預(yù)定義標(biāo)準(zhǔn)來(lái)校驗(yàn)該區(qū)塊是否包含足夠工作量證明,時(shí)間戳是否有效等;如確認(rèn)有效,其他礦工節(jié)點(diǎn)會(huì)將該區(qū)塊鏈接到主區(qū)塊鏈上,并開(kāi)始競(jìng)爭(zhēng)下一個(gè)新區(qū)塊.
由網(wǎng)絡(luò)層設(shè)計(jì)機(jī)理可見(jiàn),區(qū)塊鏈?zhǔn)堑湫偷姆植际酱髷?shù)據(jù)技術(shù).全網(wǎng)數(shù)據(jù)同時(shí)存儲(chǔ)于去中心化系統(tǒng)的所有節(jié)點(diǎn)上,即使部分節(jié)點(diǎn)失效,只要仍存在一個(gè)正常運(yùn)行的節(jié)點(diǎn),區(qū)塊鏈主鏈數(shù)據(jù)就可完全恢復(fù)而不會(huì)影響后續(xù)區(qū)塊數(shù)據(jù)的記錄與更新.這種高度分散化的區(qū)塊存儲(chǔ)模式與云存儲(chǔ)模式的區(qū)別在于,后者是基于中心化結(jié)構(gòu)基礎(chǔ)上的多重存儲(chǔ)和多重?cái)?shù)據(jù)備份模式,即“多中心化”模式;而前者則是完全“去中心化”的存儲(chǔ)模式,具有更高的數(shù)據(jù)安全性.
2.3共識(shí)層
如何在分布式系統(tǒng)中高效地達(dá)成共識(shí)是分布式計(jì)算領(lǐng)域的重要研究問(wèn)題.正如社會(huì)系統(tǒng)中“民主”和“集中”的對(duì)立關(guān)系相似,決策權(quán)越分散的系統(tǒng)達(dá)成共識(shí)的效率越低、但系統(tǒng)穩(wěn)定性和滿意度越高;而決策權(quán)越集中的系統(tǒng)更易達(dá)成共識(shí),但同時(shí)更易出現(xiàn)專(zhuān)制和獨(dú)裁.區(qū)塊鏈技術(shù)的核心優(yōu)勢(shì)之一就是能夠在決策權(quán)高度分散的去中心化系統(tǒng)中使得各節(jié)點(diǎn)高效地針對(duì)區(qū)塊數(shù)據(jù)的有效性達(dá)成共識(shí).
早期的比特幣區(qū)塊鏈采用高度依賴節(jié)點(diǎn)算力的工作量證明(Proof of work,PoW)機(jī)制來(lái)保證比特幣網(wǎng)絡(luò)分布式記賬的一致性.隨著區(qū)塊鏈技術(shù)的發(fā)展和各種競(jìng)爭(zhēng)幣的相繼涌現(xiàn),研究者提出多種不依賴算力而能夠達(dá)成共識(shí)的機(jī)制,例如點(diǎn)點(diǎn)幣首創(chuàng)的權(quán)益證明(Proof of stake,PoS)共識(shí)[23]和比特股首創(chuàng)的授權(quán)股份證明機(jī)制(Delegated proof of stake,DPOS)共識(shí)機(jī)制[24]等.區(qū)塊鏈共識(shí)層即封裝了這些共識(shí)機(jī)制.
PoW共識(shí):中本聰在其比特幣奠基性論文中設(shè)計(jì)了PoW共識(shí)機(jī)制,其核心思想是通過(guò)引入分布式節(jié)點(diǎn)的算力競(jìng)爭(zhēng)來(lái)保證數(shù)據(jù)一致性和共識(shí)的安全性.比特幣系統(tǒng)中,各節(jié)點(diǎn)(即礦工)基于各自的計(jì)算機(jī)算力相互競(jìng)爭(zhēng)來(lái)共同解決一個(gè)求解復(fù)雜但驗(yàn)證容易的SHA256數(shù)學(xué)難題(即挖礦),最快解決該難題的節(jié)點(diǎn)將獲得區(qū)塊記賬權(quán)和系統(tǒng)自動(dòng)生成的比特幣獎(jiǎng)勵(lì).該數(shù)學(xué)難題可表述為:根據(jù)當(dāng)前難度值,通過(guò)搜索求解一個(gè)合適的隨機(jī)數(shù)(Nonce)使得圖3中區(qū)塊頭各元數(shù)據(jù)的雙SHA256哈希值小于或等于目標(biāo)哈希值.比特幣系統(tǒng)通過(guò)靈活調(diào)整隨機(jī)數(shù)搜索的難度值來(lái)控制區(qū)塊的平均生成時(shí)間為10分鐘左右.一般說(shuō)來(lái),PoW共識(shí)的隨機(jī)數(shù)搜索過(guò)程如下(參照?qǐng)D3區(qū)塊結(jié)構(gòu))[19]:
步驟1.搜集當(dāng)前時(shí)間段的全網(wǎng)未確認(rèn)交易,并增加一個(gè)用于發(fā)行新比特幣獎(jiǎng)勵(lì)的Coinbase交易,形成當(dāng)前區(qū)塊體的交易集合;
步驟 2.計(jì)算區(qū)塊體交易集合的Merkle根記入?yún)^(qū)塊頭,并填寫(xiě)區(qū)塊頭的其他元數(shù)據(jù),其中隨機(jī)數(shù)Nonce置零;
步驟3.隨機(jī)數(shù)Nonce加1;計(jì)算當(dāng)前區(qū)塊頭的雙SHA256哈希值,如果小于或等于目標(biāo)哈希值,則成功搜索到合適的隨機(jī)數(shù)并獲得該區(qū)塊的記賬權(quán);否則繼續(xù)步驟3直到任一節(jié)點(diǎn)搜索到合適的隨機(jī)數(shù)為止;
步驟4.如果一定時(shí)間內(nèi)未成功,則更新時(shí)間戳和未確認(rèn)交易集合、重新計(jì)算Merkle根后繼續(xù)搜索.
符合要求的區(qū)塊頭哈希值通常由多個(gè)前導(dǎo)零構(gòu)成,目標(biāo)哈希值越小,區(qū)塊頭哈希值的前導(dǎo)零越多,成功找到合適的隨機(jī)數(shù)并“挖”出新區(qū)塊的難度越大.據(jù)區(qū)塊鏈實(shí)時(shí)監(jiān)測(cè)網(wǎng)站Blockchain.info顯示,截止到2016年2月,符合要求的區(qū)塊頭哈希值一般有17個(gè)前導(dǎo)零,例如第398346號(hào)區(qū)塊哈希值為“0000000000000000077f754f22f21629a7975cf···”.按照概率計(jì)算,每16次隨機(jī)數(shù)搜索將會(huì)有找到一個(gè)含有一個(gè)前導(dǎo)零的區(qū)塊哈希值,因而比特幣目前17位前導(dǎo)零哈希值要求1617次隨機(jī)數(shù)搜索才能找到一個(gè)合適的隨機(jī)數(shù)并生成一個(gè)新的區(qū)塊.由此可見(jiàn),比特幣區(qū)塊鏈系統(tǒng)的安全性和不可篡改性是由PoW共識(shí)機(jī)制的強(qiáng)大算力所保證的,任何對(duì)于區(qū)塊數(shù)據(jù)的攻擊或篡改都必須重新計(jì)算該區(qū)塊以及其后所有區(qū)塊的SHA256難題,并且計(jì)算速度必須使得偽造鏈長(zhǎng)度超過(guò)主鏈,這種攻擊難度導(dǎo)致的成本將遠(yuǎn)超其收益.據(jù)估計(jì),截止到2016年1月,比特幣區(qū)塊鏈的算力已經(jīng)達(dá)到800000000Gh/s,即每秒進(jìn)行8×1018次運(yùn)算,超過(guò)全球Top500超級(jí)計(jì)算機(jī)的算力總和.
PoW共識(shí)機(jī)制是具有重要意義的創(chuàng)新,其近乎完美地整合了比特幣系統(tǒng)的貨幣發(fā)行、交易支付和驗(yàn)證等功能,并通過(guò)算力競(jìng)爭(zhēng)保障系統(tǒng)的安全性和去中心性;PoW共識(shí)機(jī)制同時(shí)存在著顯著的缺陷,其強(qiáng)大算力造成的資源浪費(fèi)(如電力)歷來(lái)為研究者所詬病,而且長(zhǎng)達(dá)10分鐘的交易確認(rèn)時(shí)間使其相對(duì)不適合小額交易的商業(yè)應(yīng)用.
PoS共識(shí)機(jī)制:PoS共識(shí)是為解決PoW共識(shí)機(jī)制的資源浪費(fèi)和安全性缺陷而提出的替代方案.限于篇幅,本文主要聚焦于PoS相對(duì)于PoW的創(chuàng)新之處.PoS共識(shí)本質(zhì)上是采用權(quán)益證明來(lái)代替PoW中的基于哈希算力的工作量證明,是由系統(tǒng)中具有最高權(quán)益而非最高算力的節(jié)點(diǎn)獲得區(qū)塊記賬權(quán).權(quán)益體現(xiàn)為節(jié)點(diǎn)對(duì)特定數(shù)量貨幣的所有權(quán),稱(chēng)為幣齡或幣天數(shù)(Coin days).幣齡是特定數(shù)量的幣與其最后一次交易的時(shí)間長(zhǎng)度的乘積,每次交易都將會(huì)消耗掉特定數(shù)量的幣齡.例如,某人在一筆交易中收到10個(gè)幣后并持有10天,則獲得100幣齡;而后其花掉5個(gè)幣后,則消耗掉50幣齡.顯然,采用PoS共識(shí)機(jī)制的系統(tǒng)在特定時(shí)間點(diǎn)上的幣齡總數(shù)是有限的,長(zhǎng)期持幣者更傾向于擁有更多幣齡,因此幣齡可視為其在PoS系統(tǒng)中的權(quán)益.此外,PoW共識(shí)過(guò)程中各節(jié)點(diǎn)挖礦難度相同,而PoS共識(shí)過(guò)程中的難度與交易輸入的幣齡成反比,消耗幣齡越多則挖礦難度越低.節(jié)點(diǎn)判斷主鏈的標(biāo)準(zhǔn)也由PoW共識(shí)的最高累計(jì)難度轉(zhuǎn)變?yōu)樽罡呦膸琵g,每個(gè)區(qū)塊的交易都會(huì)將其消耗的幣齡提交給該區(qū)塊,累計(jì)消耗幣齡最高的區(qū)塊將被鏈接到主鏈.由此可見(jiàn),PoS共識(shí)過(guò)程僅依靠?jī)?nèi)部幣齡和權(quán)益而不需要消耗外部算力和資源,從根本上解決了PoW共識(shí)算力浪費(fèi)的問(wèn)題,并且能夠在一定程度上縮短達(dá)成共識(shí)的時(shí)間,因而比特幣之后的許多競(jìng)爭(zhēng)幣均采用PoS共識(shí)機(jī)制.
DPoS共識(shí)機(jī)制:DPoS共識(shí)機(jī)制的基本思路類(lèi)似于“董事會(huì)決策”,即系統(tǒng)中每個(gè)股東節(jié)點(diǎn)可以將其持有的股份權(quán)益作為選票授予一個(gè)代表,獲得票數(shù)最多且愿意成為代表的前101個(gè)節(jié)點(diǎn)將進(jìn)入“董事會(huì)”,按照既定的時(shí)間表輪流對(duì)交易進(jìn)行打包結(jié)算并且簽署(即生產(chǎn))一個(gè)新區(qū)塊.每個(gè)區(qū)塊被簽署之前,必須先驗(yàn)證前一個(gè)區(qū)塊已經(jīng)被受信任的代表節(jié)點(diǎn)所簽署.“董事會(huì)”的授權(quán)代表節(jié)點(diǎn)可以從每筆交易的手續(xù)費(fèi)中獲得收入,同時(shí)要成為授權(quán)代表節(jié)點(diǎn)必須繳納一定量的保證金,其金額相當(dāng)于生產(chǎn)一個(gè)區(qū)塊收入的100倍.授權(quán)代表節(jié)點(diǎn)必須對(duì)其他股東節(jié)點(diǎn)負(fù)責(zé),如果其錯(cuò)過(guò)簽署相對(duì)應(yīng)的區(qū)塊,則股東將會(huì)收回選票從而將該節(jié)點(diǎn)“投出”董事會(huì).因此,授權(quán)代表節(jié)點(diǎn)通常必須保證99%以上的在線時(shí)間以實(shí)現(xiàn)盈利目標(biāo)[24].顯然,與PoW共識(shí)機(jī)制必須信任最高算力節(jié)點(diǎn)和PoS共識(shí)機(jī)制必須信任最高權(quán)益節(jié)點(diǎn)不同的是,DPoS共識(shí)機(jī)制中每個(gè)節(jié)點(diǎn)都能夠自主決定其信任的授權(quán)節(jié)點(diǎn)且由這些節(jié)點(diǎn)輪流記賬生成新區(qū)塊,因而大幅減少了參與驗(yàn)證和記賬的節(jié)點(diǎn)數(shù)量,可以實(shí)現(xiàn)快速共識(shí)驗(yàn)證.
除上述三種主流共識(shí)機(jī)制外,實(shí)際區(qū)塊鏈應(yīng)用中也衍生出了PoW+PoS、行動(dòng)證明(Proof of activity)等多個(gè)變種機(jī)制.這些共識(shí)機(jī)制各有優(yōu)劣勢(shì),比特幣的PoW共識(shí)機(jī)制依靠其先發(fā)優(yōu)勢(shì)已經(jīng)形成成熟的挖礦產(chǎn)業(yè)鏈,支持者眾多,而PoS和DPoS等新興機(jī)制則更為安全、環(huán)保和高效,從而使得共識(shí)機(jī)制的選擇問(wèn)題成為區(qū)塊鏈系統(tǒng)研究者最不易達(dá)成共識(shí)的問(wèn)題.
2.4激勵(lì)層
區(qū)塊鏈共識(shí)過(guò)程通過(guò)匯聚大規(guī)模共識(shí)節(jié)點(diǎn)的算力資源來(lái)實(shí)現(xiàn)共享區(qū)塊鏈賬本的數(shù)據(jù)驗(yàn)證和記賬工作,因而其本質(zhì)上是一種共識(shí)節(jié)點(diǎn)間的任務(wù)眾包過(guò)程.去中心化系統(tǒng)中的共識(shí)節(jié)點(diǎn)本身是自利的,最大化自身收益是其參與數(shù)據(jù)驗(yàn)證和記賬的根本目標(biāo).因此,必須設(shè)計(jì)激勵(lì)相容的合理眾包機(jī)制,使得共識(shí)節(jié)點(diǎn)最大化自身收益的個(gè)體理性行為與保障去中心化區(qū)塊鏈系統(tǒng)的安全和有效性的整體目標(biāo)相吻合.區(qū)塊鏈系統(tǒng)通過(guò)設(shè)計(jì)適度的經(jīng)濟(jì)激勵(lì)機(jī)制并與共識(shí)過(guò)程相集成,從而匯聚大規(guī)模的節(jié)點(diǎn)參與并形成了對(duì)區(qū)塊鏈歷史的穩(wěn)定共識(shí).
以比特幣為例,比特幣PoW共識(shí)中的經(jīng)濟(jì)激勵(lì)由新發(fā)行比特幣獎(jiǎng)勵(lì)和交易流通過(guò)程中的手續(xù)費(fèi)兩部分組成,獎(jiǎng)勵(lì)給PoW共識(shí)過(guò)程中成功搜索到該區(qū)塊的隨機(jī)數(shù)并記錄該區(qū)塊的節(jié)點(diǎn).因此,只有當(dāng)各節(jié)點(diǎn)通過(guò)合作共同構(gòu)建共享和可信的區(qū)塊鏈歷史記錄、并維護(hù)比特幣系統(tǒng)的有效性,其獲得的比特幣獎(jiǎng)勵(lì)和交易手續(xù)費(fèi)才會(huì)有價(jià)值.比特幣已經(jīng)形成成熟的挖礦生態(tài)圈,大量配備專(zhuān)業(yè)礦機(jī)設(shè)備的礦工積極參與基于挖礦的PoW共識(shí)過(guò)程,其根本目的就是通過(guò)獲取比特幣獎(jiǎng)勵(lì)并轉(zhuǎn)換為相應(yīng)法幣來(lái)實(shí)現(xiàn)盈利.
發(fā)行機(jī)制:比特幣系統(tǒng)中每個(gè)區(qū)塊發(fā)行比特幣的數(shù)量是隨著時(shí)間階梯性遞減的.創(chuàng)世區(qū)塊起的每個(gè)區(qū)塊將發(fā)行50個(gè)比特幣獎(jiǎng)勵(lì)給該區(qū)塊的記賬者,此后每隔約4年(21萬(wàn)個(gè)區(qū)塊)每區(qū)塊發(fā)行比特幣的數(shù)量降低一半,依此類(lèi)推,一直到比特幣的數(shù)量穩(wěn)定在上限2100萬(wàn)為止[19].比特幣交易過(guò)程中會(huì)產(chǎn)生手續(xù)費(fèi),目前默認(rèn)手續(xù)費(fèi)是萬(wàn)分之一個(gè)比特幣,這部分費(fèi)用也會(huì)記入?yún)^(qū)塊并獎(jiǎng)勵(lì)給記賬者.這兩部分費(fèi)用將會(huì)封裝在每個(gè)區(qū)塊的第一個(gè)交易(稱(chēng)為Coinbase交易)中.雖然現(xiàn)在每個(gè)區(qū)塊的總手續(xù)費(fèi)相對(duì)于新發(fā)行比特幣來(lái)說(shuō)規(guī)模很?。ㄍǔ2粫?huì)超過(guò)1個(gè)比特幣),但隨著未來(lái)比特幣發(fā)行數(shù)量的逐步減少甚至停止發(fā)行,手續(xù)費(fèi)將逐漸成為驅(qū)動(dòng)節(jié)點(diǎn)共識(shí)和記賬的主要?jiǎng)恿?同時(shí),手續(xù)費(fèi)還可以防止大量微額交易對(duì)比特幣網(wǎng)絡(luò)發(fā)起的“粉塵”攻擊,起到保障安全的作用.
分配機(jī)制:比特幣系統(tǒng)中,大量的小算力節(jié)點(diǎn)通常會(huì)選擇加入礦池,通過(guò)相互合作匯集算力來(lái)提高“挖”到新區(qū)塊的概率,并共享該區(qū)塊的比特幣和手續(xù)費(fèi)獎(jiǎng)勵(lì).據(jù)Bitcoinmining.com統(tǒng)計(jì),目前已經(jīng)存在13種不同的分配機(jī)制[25].主流礦池通常采用PPLNS(Pay per last N shares)、PPS(Pay per share)和PROP(PROPortionately)等機(jī)制.礦池將各節(jié)點(diǎn)貢獻(xiàn)的算力按比例劃分成不同的股份(Share),其中PPLNS機(jī)制是指發(fā)現(xiàn)區(qū)塊后,各合作節(jié)點(diǎn)根據(jù)其在最后N個(gè)股份內(nèi)貢獻(xiàn)的實(shí)際股份比例來(lái)分配區(qū)塊中的比特幣;PPS則直接根據(jù)股份比例為各節(jié)點(diǎn)估算和支付一個(gè)固定的理論收益,采用此方式的礦池將會(huì)適度收取手續(xù)費(fèi)來(lái)彌補(bǔ)其為各節(jié)點(diǎn)承擔(dān)的收益不確定性風(fēng)險(xiǎn);PROP機(jī)制則根據(jù)節(jié)點(diǎn)貢獻(xiàn)的股份按比例地分配比特幣.礦池的出現(xiàn)是對(duì)比特幣和區(qū)塊鏈去中心化趨勢(shì)的潛在威脅,如何設(shè)計(jì)合理的分配機(jī)制引導(dǎo)各節(jié)點(diǎn)合理地合作、避免出現(xiàn)因算力過(guò)度集中而導(dǎo)致的安全性問(wèn)題是亟待解決的研究問(wèn)題.
2.5合約層
合約層封裝區(qū)塊鏈系統(tǒng)的各類(lèi)腳本代碼、算法以及由此生成的更為復(fù)雜的智能合約.如果說(shuō)數(shù)據(jù)、網(wǎng)絡(luò)和共識(shí)三個(gè)層次作為區(qū)塊鏈底層“虛擬機(jī)”分別承擔(dān)數(shù)據(jù)表示、數(shù)據(jù)傳播和數(shù)據(jù)驗(yàn)證功能的話,合約層則是建立在區(qū)塊鏈虛擬機(jī)之上的商業(yè)邏輯和算法,是實(shí)現(xiàn)區(qū)塊鏈系統(tǒng)靈活編程和操作數(shù)據(jù)的基礎(chǔ).包括比特幣在內(nèi)的數(shù)字加密貨幣大多采用非圖靈完備的簡(jiǎn)單腳本代碼來(lái)編程控制交易過(guò)程,這也是智能合約的雛形;隨著技術(shù)的發(fā)展,目前已經(jīng)出現(xiàn)以太坊等圖靈完備的可實(shí)現(xiàn)更為復(fù)雜和靈活的智能合約的腳本語(yǔ)言,使得區(qū)塊鏈能夠支持宏觀金融和社會(huì)系統(tǒng)的諸多應(yīng)用.本節(jié)將以比特幣腳本為例,從技術(shù)角度簡(jiǎn)述合約層的基本技術(shù)和方法;關(guān)于智能合約的延伸內(nèi)容將在第5節(jié)討論.
比特幣采用一種簡(jiǎn)單的、基于堆棧的、從左向右處理的腳本語(yǔ)言,而一個(gè)腳本本質(zhì)上是附著在比特幣交易上的一組指令的列表.比特幣交易依賴于兩類(lèi)腳本來(lái)加以驗(yàn)證,即鎖定腳本和解鎖腳本,二者的不同組合可在比特幣交易中衍生出無(wú)限數(shù)量的控制條件.其中,鎖定腳本是附著在交易輸出值上的“障礙”,規(guī)定以后花費(fèi)這筆交易輸出的條件;解鎖腳本則是滿足被鎖定腳本在一個(gè)輸出上設(shè)定的花費(fèi)條件的腳本,同時(shí)它將允許輸出被消費(fèi).舉例來(lái)說(shuō),大多數(shù)比特幣交易均是采用接受者的公鑰加密和私鑰解密,因而其對(duì)應(yīng)的P2PKH(Pay to public key hash)標(biāo)準(zhǔn)交易腳本中的鎖定腳本即是使用接受者的公鑰實(shí)現(xiàn)阻止輸出功能,而使用私鑰對(duì)應(yīng)的數(shù)字簽名來(lái)加以解鎖[19].
比特幣腳本系統(tǒng)可以實(shí)現(xiàn)靈活的交易控制.例如,通過(guò)規(guī)定某個(gè)時(shí)間段(如一周)作為解鎖條件,可以實(shí)現(xiàn)延時(shí)支付;通過(guò)規(guī)定接受者和擔(dān)保人必須共同私鑰簽名才能支配一筆比特幣,可以實(shí)現(xiàn)擔(dān)保交易;通過(guò)設(shè)計(jì)一種可根據(jù)外部信息源核查某概率事件是否發(fā)生的規(guī)則并作為解鎖腳本附著在一定數(shù)量的比特幣交易上,即可實(shí)現(xiàn)博彩和預(yù)測(cè)市場(chǎng)等類(lèi)型的應(yīng)用;通過(guò)設(shè)定N個(gè)私鑰集合中至少提供M個(gè)私鑰才可解鎖,可實(shí)現(xiàn)M?N型多重簽名,即N個(gè)潛在接受者中至少有M 個(gè)同意簽名才可實(shí)現(xiàn)支付.多重簽名可廣泛應(yīng)用于公司決策、財(cái)務(wù)監(jiān)督、中介擔(dān)保甚至遺產(chǎn)分配等場(chǎng)景.
比特幣腳本是智能合約的雛形,催生了人類(lèi)歷史上第一種可編程的全球性貨幣.然而,比特幣腳本系統(tǒng)是非圖靈完備的,其中不存在復(fù)雜循環(huán)和流控制,這在損失一定靈活性的同時(shí)能夠極大地降低復(fù)雜性和不確定性,并能夠避免因無(wú)限循環(huán)等邏輯炸彈而造成拒絕服務(wù)等類(lèi)型的安全性攻擊.為提高腳本系統(tǒng)的靈活性和可擴(kuò)展性,研究者已經(jīng)嘗試在比特幣協(xié)議之上疊加新的協(xié)議,以滿足在區(qū)塊鏈上構(gòu)建更為復(fù)雜的智能合約的需求.以太坊已經(jīng)研發(fā)出一套圖靈完備的腳本語(yǔ)言,用戶可基于以太坊構(gòu)建任意復(fù)雜和精確定義的智能合約與去中心化應(yīng)用,從而為基于區(qū)塊鏈構(gòu)建可編程的金融與社會(huì)系統(tǒng)奠定了基礎(chǔ)[4].
由區(qū)塊鏈獨(dú)特的技術(shù)設(shè)計(jì)可見(jiàn),區(qū)塊鏈系統(tǒng)具有分布式高冗余存儲(chǔ)、時(shí)序數(shù)據(jù)且不可篡改和偽造、去中心化信用、自動(dòng)執(zhí)行的智能合約、安全和隱私保護(hù)等顯著的特點(diǎn),這使得區(qū)塊鏈技術(shù)不僅可以成功應(yīng)用于數(shù)字加密貨幣領(lǐng)域,同時(shí)在經(jīng)濟(jì)、金融和社會(huì)系統(tǒng)中也存在廣泛的應(yīng)用場(chǎng)景.根據(jù)區(qū)塊鏈技術(shù)應(yīng)用的現(xiàn)狀,本文將區(qū)塊鏈目前的主要應(yīng)用籠統(tǒng)地歸納為數(shù)字貨幣、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)鑒證、金融交易、資產(chǎn)管理和選舉投票共六個(gè)場(chǎng)景,并概述除數(shù)字貨幣外的五大應(yīng)用場(chǎng)景以及區(qū)塊鏈的三種應(yīng)用模式.
數(shù)據(jù)存儲(chǔ):區(qū)塊鏈的高冗余存儲(chǔ)(每個(gè)節(jié)點(diǎn)存儲(chǔ)一份數(shù)據(jù))、去中心化、高安全性和隱私保護(hù)等特點(diǎn)使其特別適合存儲(chǔ)和保護(hù)重要隱私數(shù)據(jù),以避免因中心化機(jī)構(gòu)遭受攻擊或權(quán)限管理不當(dāng)而造成的大規(guī)模數(shù)據(jù)丟失或泄露.與比特幣交易數(shù)據(jù)類(lèi)似地,任意數(shù)據(jù)均可通過(guò)哈希運(yùn)算生成相應(yīng)的Merkle樹(shù)并打包記入?yún)^(qū)塊鏈,通過(guò)系統(tǒng)內(nèi)共識(shí)節(jié)點(diǎn)的算力和非對(duì)稱(chēng)加密技術(shù)來(lái)保證安全性.區(qū)塊鏈的多重簽名技術(shù)可以靈活配置數(shù)據(jù)訪問(wèn)的權(quán)限,例如必須獲得指定5個(gè)人中3個(gè)人的私鑰授權(quán)才可獲得訪問(wèn)權(quán)限.目前,利用區(qū)塊鏈來(lái)存儲(chǔ)個(gè)人健康數(shù)據(jù)(如電子病歷、基因數(shù)據(jù)等)是極具前景的應(yīng)用領(lǐng)域,此外存儲(chǔ)各類(lèi)重要電子文件(視頻、圖片、文本等)乃至人類(lèi)思想和意識(shí)等也有一定應(yīng)用空間[7].
數(shù)據(jù)鑒證:區(qū)塊鏈數(shù)據(jù)帶有時(shí)間戳、由共識(shí)節(jié)點(diǎn)共同驗(yàn)證和記錄、不可篡改和偽造,這些特點(diǎn)使得區(qū)塊鏈可廣泛應(yīng)用于各類(lèi)數(shù)據(jù)公證和審計(jì)場(chǎng)景.例如,區(qū)塊鏈可以永久地安全存儲(chǔ)由政府機(jī)構(gòu)核發(fā)的各類(lèi)許可證、登記表、執(zhí)照、證明、認(rèn)證和記錄等,并可在任意時(shí)間點(diǎn)方便地證明某項(xiàng)數(shù)據(jù)的存在性和一定程度上的真實(shí)性.包括德勤在內(nèi)的多家專(zhuān)業(yè)審計(jì)公司已經(jīng)部署區(qū)塊鏈技術(shù)來(lái)幫助其審計(jì)師實(shí)現(xiàn)低成本和高效地實(shí)時(shí)審計(jì);Factom公司則基于區(qū)塊鏈設(shè)計(jì)了一套準(zhǔn)確的、可核查的和不可更改的審計(jì)公證流程與方法[26].
金融交易:區(qū)塊鏈技術(shù)與金融市場(chǎng)應(yīng)用有非常高的契合度.區(qū)塊鏈可以在去中心化系統(tǒng)中自發(fā)地產(chǎn)生信用,能夠建立無(wú)中心機(jī)構(gòu)信用背書(shū)的金融市場(chǎng),從而在很大程度上實(shí)現(xiàn)了“金融脫媒”,這對(duì)第三方支付、資金托管等存在中介機(jī)構(gòu)的商業(yè)模式來(lái)說(shuō)是顛覆性的變革;在互聯(lián)網(wǎng)金融領(lǐng)域,區(qū)塊鏈特別適合或者已經(jīng)應(yīng)用于股權(quán)眾籌、P2P網(wǎng)絡(luò)借貸和互聯(lián)網(wǎng)保險(xiǎn)等商業(yè)模式;證券和銀行業(yè)務(wù)也是區(qū)塊鏈的重要應(yīng)用領(lǐng)域,傳統(tǒng)證券交易需要經(jīng)過(guò)中央結(jié)算機(jī)構(gòu)、銀行、證券公司和交易所等中心機(jī)構(gòu)的多重協(xié)調(diào),而利用區(qū)塊鏈自動(dòng)化智能合約和可編程的特點(diǎn),能夠極大地降低成本和提高效率,避免繁瑣的中心化清算交割過(guò)程,實(shí)現(xiàn)方便快捷的金融產(chǎn)品交易;同時(shí),區(qū)塊鏈和比特幣的即時(shí)到帳的特點(diǎn)可使得銀行實(shí)現(xiàn)比SWIFT代碼體系更為快捷、經(jīng)濟(jì)和安全的跨境轉(zhuǎn)賬;這也是目前R3CEV和納斯達(dá)克等各大銀行、證券商和金融機(jī)構(gòu)相繼投入?yún)^(qū)塊鏈技術(shù)研發(fā)的重要原因.
資產(chǎn)管理:區(qū)塊鏈在資產(chǎn)管理領(lǐng)域的應(yīng)用具有廣泛前景,能夠?qū)崿F(xiàn)有形和無(wú)形資產(chǎn)的確權(quán)、授權(quán)和實(shí)時(shí)監(jiān)控.對(duì)于無(wú)形資產(chǎn)來(lái)說(shuō),基于時(shí)間戳技術(shù)和不可篡改等特點(diǎn),可以將區(qū)塊鏈技術(shù)應(yīng)用于知識(shí)產(chǎn)權(quán)保護(hù)、域名管理、積分管理等領(lǐng)域;而對(duì)有形資產(chǎn)來(lái)說(shuō),通過(guò)結(jié)合物聯(lián)網(wǎng)技術(shù)為資產(chǎn)設(shè)計(jì)唯一標(biāo)識(shí)并部署到區(qū)塊鏈上,能夠形成“數(shù)字智能資產(chǎn)”,實(shí)現(xiàn)基于區(qū)塊鏈的分布式資產(chǎn)授權(quán)和控制.例如,通過(guò)對(duì)房屋、車(chē)輛等實(shí)物資產(chǎn)的區(qū)塊鏈密鑰授權(quán),可以基于特定權(quán)限來(lái)發(fā)放和回收資產(chǎn)的使用權(quán),有助于Airbnb等房屋租賃或車(chē)輛租賃等商業(yè)模式實(shí)現(xiàn)自動(dòng)化的資產(chǎn)交接;通過(guò)結(jié)合物聯(lián)網(wǎng)的資產(chǎn)標(biāo)記和識(shí)別技術(shù),還可以利用區(qū)塊鏈實(shí)現(xiàn)靈活的供應(yīng)鏈管理和產(chǎn)品溯源等功能.
選舉投票:投票是區(qū)塊鏈技術(shù)在政治事務(wù)中的代表性應(yīng)用.基于區(qū)塊鏈的分布式共識(shí)驗(yàn)證、不可篡改等特點(diǎn),可以低成本高效地實(shí)現(xiàn)政治選舉、企業(yè)股東投票等應(yīng)用;同時(shí),區(qū)塊鏈也支持用戶個(gè)體對(duì)特定議題的投票.例如,通過(guò)記錄用戶對(duì)特定事件是否發(fā)生的投票,可以將區(qū)塊鏈應(yīng)用于博彩和預(yù)測(cè)市場(chǎng)等場(chǎng)景[27];通過(guò)記錄用戶對(duì)特定產(chǎn)品的投票評(píng)分與建議,可以實(shí)現(xiàn)大規(guī)模用戶眾包設(shè)計(jì)產(chǎn)品的“社會(huì)制造”模式等.
根據(jù)實(shí)際應(yīng)用場(chǎng)景和需求,區(qū)塊鏈技術(shù)已經(jīng)演化出三種應(yīng)用模式,即公共鏈(Public blockchain)、聯(lián)盟鏈(Consortium blockchain)和私有鏈(Private blockchain).公共鏈?zhǔn)峭耆ブ行幕膮^(qū)塊鏈,分布式系統(tǒng)的任何節(jié)點(diǎn)均可參與鏈上數(shù)據(jù)的讀寫(xiě)、驗(yàn)證和共識(shí)過(guò)程,并根據(jù)其PoW或PoS貢獻(xiàn)獲得相應(yīng)的經(jīng)濟(jì)激勵(lì).比特幣是公共鏈的典型代表.聯(lián)盟鏈則是部分去中心化(或稱(chēng)多中心化)的區(qū)塊鏈,適用于多個(gè)實(shí)體構(gòu)成的組織或聯(lián)盟,其共識(shí)過(guò)程受到預(yù)定義的一組節(jié)點(diǎn)控制,例如生成區(qū)塊需要獲得10個(gè)預(yù)選的共識(shí)節(jié)點(diǎn)中的5個(gè)節(jié)點(diǎn)確認(rèn);私有鏈則是完全中心化的區(qū)塊鏈,適用于特定機(jī)構(gòu)的內(nèi)部數(shù)據(jù)管理與審計(jì)等,其寫(xiě)入權(quán)限由中心機(jī)構(gòu)控制,而讀取權(quán)限可視需求有選擇性地對(duì)外開(kāi)放.需要說(shuō)明的是,由于去中心化程度不同,聯(lián)盟鏈和私有鏈可能不完全符合第2節(jié)提出的區(qū)塊鏈模型,例如中心化程度較高的區(qū)塊鏈可能不需要設(shè)計(jì)激勵(lì)層中的經(jīng)濟(jì)激勵(lì)等.
作為近年來(lái)興起并快速發(fā)展的新技術(shù),區(qū)塊鏈必然會(huì)面臨各種制約其發(fā)展的問(wèn)題和障礙.本節(jié)將從安全、效率、資源和博弈四方面概述區(qū)塊鏈技術(shù)有待解決的問(wèn)題.
4.1安全問(wèn)題
安全性威脅是區(qū)塊鏈迄今為止所面臨的最重要的問(wèn)題.其中,基于PoW共識(shí)過(guò)程的區(qū)塊鏈主要面臨的是51%攻擊問(wèn)題,即節(jié)點(diǎn)通過(guò)掌握全網(wǎng)超過(guò)51%的算力就有能力成功篡改和偽造區(qū)塊鏈數(shù)據(jù).以比特幣為例,據(jù)統(tǒng)計(jì)中國(guó)大型礦池的算力已占全網(wǎng)總算力的60%以上,理論上這些礦池可以通過(guò)合作實(shí)施51%攻擊,從而實(shí)現(xiàn)比特幣的雙重支付[1].雖然實(shí)際系統(tǒng)中為掌握全網(wǎng)51%算力所需的成本投入遠(yuǎn)超成功實(shí)施攻擊后的收益,但51%攻擊的安全性威脅始終存在.基于PoS共識(shí)過(guò)程在一定程度上解決了51%攻擊問(wèn)題,但同時(shí)也引入了區(qū)塊分叉時(shí)的N@S(Nothing at stake)攻擊問(wèn)題.研究者已經(jīng)提出通過(guò)構(gòu)造同時(shí)依賴高算力和高內(nèi)存的PoW共識(shí)算法來(lái)部分解決51%攻擊問(wèn)題[4],更為安全和有效的共識(shí)機(jī)制尚有待于更加深入的研究和設(shè)計(jì).
區(qū)塊鏈的非對(duì)稱(chēng)加密機(jī)制也將隨著數(shù)學(xué)、密碼學(xué)和計(jì)算技術(shù)的發(fā)展而變的越來(lái)越脆弱.據(jù)估計(jì),以目前天河二號(hào)的算力來(lái)說(shuō),產(chǎn)生比特幣SHA256哈希算法的一個(gè)哈希碰撞大約需要248年,但隨著量子計(jì)算機(jī)等新計(jì)算技術(shù)的發(fā)展,未來(lái)非對(duì)稱(chēng)加密算法具有一定的破解可能性,這也是區(qū)塊鏈技術(shù)面臨的潛在安全威脅.
區(qū)塊鏈的隱私保護(hù)也存在安全性風(fēng)險(xiǎn).區(qū)塊鏈系統(tǒng)內(nèi)各節(jié)點(diǎn)并非完全匿名,而是通過(guò)類(lèi)似電子郵件地址的地址標(biāo)識(shí)(例如比特幣公鑰地址)來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸.雖然地址標(biāo)識(shí)并未直接與真實(shí)世界的人物身份相關(guān)聯(lián),但區(qū)塊鏈數(shù)據(jù)是完全公開(kāi)透明的,隨著各類(lèi)反匿名身份甄別技術(shù)的發(fā)展,實(shí)現(xiàn)部分重點(diǎn)目標(biāo)的定位和識(shí)別仍是有可能的.
4.2效率問(wèn)題
區(qū)塊鏈效率也是制約其應(yīng)用的重要因素.首先是區(qū)塊膨脹問(wèn)題:區(qū)塊鏈要求系統(tǒng)內(nèi)每個(gè)節(jié)點(diǎn)保存一份數(shù)據(jù)備份,這對(duì)于日益增長(zhǎng)的海量數(shù)據(jù)存儲(chǔ)來(lái)說(shuō)是極為困難的.以比特幣為例,完全同步自創(chuàng)世區(qū)塊至今的區(qū)塊數(shù)據(jù)需要約60GB存儲(chǔ)空間,雖然輕量級(jí)節(jié)點(diǎn)可部分解決此問(wèn)題,但適用于更大規(guī)模的工業(yè)級(jí)解決方案仍有待研發(fā)[28].其次是交易效率問(wèn)題:比特幣區(qū)塊鏈目前每秒僅能處理7筆交易,這極大地限制了區(qū)塊鏈在大多數(shù)金融系統(tǒng)高頻交易場(chǎng)景中的應(yīng)用(例如VISA信用卡每秒最多可處理10000筆交易)[1];最后是交易確認(rèn)時(shí)間問(wèn)題:比特幣區(qū)塊生成時(shí)間為10分鐘,因而交易確認(rèn)時(shí)間一般為10分鐘,這在一定程度上限制了比特幣在小額交易和時(shí)間敏感交易中的應(yīng)用.
4.3資源問(wèn)題
PoW共識(shí)過(guò)程高度依賴區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)貢獻(xiàn)的算力,這些算力主要用于解決SHA256哈希和隨機(jī)數(shù)搜索,除此之外并不產(chǎn)生任何實(shí)際社會(huì)價(jià)值,因而一般意義上認(rèn)為這些算力資源是被“浪費(fèi)”掉了,同時(shí)被浪費(fèi)掉的還有大量的電力資源.隨著比特幣的日益普及和專(zhuān)業(yè)挖礦設(shè)備的出現(xiàn),比特幣生態(tài)圈已經(jīng)在資本和設(shè)備方面呈現(xiàn)出明顯的軍備競(jìng)賽態(tài)勢(shì),逐漸成為高耗能的資本密集型行業(yè),進(jìn)一步凸顯了資源消耗問(wèn)題的重要性.因此,如何能有效匯集分布式節(jié)點(diǎn)的網(wǎng)絡(luò)算力來(lái)解決實(shí)際問(wèn)題,是區(qū)塊鏈技術(shù)需要解決的重要問(wèn)題.研究者目前已經(jīng)開(kāi)始嘗試解決此問(wèn)題,例如Primecoin(質(zhì)數(shù)幣)要求各節(jié)點(diǎn)在共識(shí)過(guò)程中找到素?cái)?shù)的最長(zhǎng)鏈條(坎寧安鏈和雙向雙鏈)而非無(wú)意義的SHA256哈希值[29].未來(lái)的潛在發(fā)展趨勢(shì)是設(shè)計(jì)行之有效的交互機(jī)制來(lái)匯聚和利用分布式共識(shí)節(jié)點(diǎn)的群體智能,以輔助解決大規(guī)模的實(shí)際問(wèn)題.
4.4博弈問(wèn)題
區(qū)塊鏈網(wǎng)絡(luò)作為去中心化的分布式系統(tǒng),其各節(jié)點(diǎn)在交互過(guò)程中不可避免地會(huì)存在相互競(jìng)爭(zhēng)與合作的博弈關(guān)系,這在比特幣挖礦過(guò)程中尤為明顯.通常來(lái)說(shuō),比特幣礦池間可以通過(guò)相互合作保持各自穩(wěn)定的收益.然而,礦池可以通過(guò)稱(chēng)為區(qū)塊截留攻擊(Block withholding attacks)的方式、通過(guò)偽裝為對(duì)手礦池的礦工、享受對(duì)手礦池的收益但不實(shí)際貢獻(xiàn)完整工作量證明來(lái)攻擊其他礦池,從而降低對(duì)手礦池的收益.如果礦池相互攻擊,則雙方獲得的收益均少于不攻擊對(duì)方的收益.當(dāng)?shù)V池收益函數(shù)滿足特定條件時(shí),這種攻擊和競(jìng)爭(zhēng)將會(huì)造成“囚徒困境”博弈結(jié)局[30].如何設(shè)計(jì)合理的懲罰函數(shù)來(lái)抑制非理性競(jìng)爭(zhēng)、使得合作成為重復(fù)性礦池博弈的穩(wěn)定均衡解,尚需進(jìn)一步深入研究.此外,正如前文提到的,區(qū)塊鏈共識(shí)過(guò)程本質(zhì)上是眾包過(guò)程,如何設(shè)計(jì)激勵(lì)相容的共識(shí)機(jī)制,使得去中心化系統(tǒng)中的自利節(jié)點(diǎn)能夠自發(fā)地實(shí)施區(qū)塊數(shù)據(jù)的驗(yàn)證和記賬工作,并提高系統(tǒng)內(nèi)非理性行為的成本以抑制安全性攻擊和威脅,是區(qū)塊鏈有待解決的重要科學(xué)問(wèn)題.
智能合約概念最早在1994年由學(xué)者Nick Szabo提出,最初被定義為一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議,其設(shè)計(jì)初衷是希望通過(guò)將智能合約內(nèi)置到物理實(shí)體來(lái)創(chuàng)造各種靈活可控的智能資產(chǎn).由于計(jì)算手段的落后和應(yīng)用場(chǎng)景的缺失,智能合約并未受到研究者的廣泛關(guān)注.
區(qū)塊鏈技術(shù)的出現(xiàn)重新定義了智能合約.智能合約是區(qū)塊鏈的核心構(gòu)成要素(合約層),是由事件驅(qū)動(dòng)的、具有狀態(tài)的、運(yùn)行在可復(fù)制的共享區(qū)塊鏈數(shù)據(jù)賬本上的計(jì)算機(jī)程序,能夠?qū)崿F(xiàn)主動(dòng)或被動(dòng)的處理數(shù)據(jù),接受、儲(chǔ)存和發(fā)送價(jià)值,以及控制和管理各類(lèi)鏈上智能資產(chǎn)等功能.智能合約作為一種嵌入式程序化合約,可以內(nèi)置在任何區(qū)塊鏈數(shù)據(jù)、交易、有形或無(wú)形資產(chǎn)上,形成可編程控制的軟件定義的系統(tǒng)、市場(chǎng)和資產(chǎn).智能合約不僅為傳統(tǒng)金融資產(chǎn)的發(fā)行、交易、創(chuàng)造和管理提供了創(chuàng)新性的解決方案,同時(shí)能夠在社會(huì)系統(tǒng)中的資產(chǎn)管理、合同管理、監(jiān)管執(zhí)法等事務(wù)中發(fā)揮重要作用.
具體說(shuō)來(lái),智能合約是一組情景-應(yīng)對(duì)型的程序化規(guī)則和邏輯,是部署在區(qū)塊鏈上的去中心化、可信共享的程序代碼.智能合約同樣具有區(qū)塊鏈數(shù)據(jù)的一般特征,如分布式記錄、存儲(chǔ)和驗(yàn)證,不可篡改和偽造等.簽署合約的各參與方就合約內(nèi)容、違約條件、違約責(zé)任和外部核查數(shù)據(jù)源達(dá)成一致,必要時(shí)檢查和測(cè)試合約代碼以確保無(wú)誤后,以智能合約的形式部署在區(qū)塊鏈上,即可不依賴任何中心機(jī)構(gòu)地自動(dòng)化代表各簽署方執(zhí)行合約.智能合約的可編程特性使得簽署方可以增加任意復(fù)雜的條款.
智能合約的運(yùn)作機(jī)理如圖5所示:通常情況下,智能合約經(jīng)各方簽署后,以程序代碼的形式附著在區(qū)塊鏈數(shù)據(jù)(例如一筆比特幣交易)上,經(jīng)P2P網(wǎng)絡(luò)傳播和節(jié)點(diǎn)驗(yàn)證后記入?yún)^(qū)塊鏈的特定區(qū)塊中.智能合約封裝了預(yù)定義的若干狀態(tài)及轉(zhuǎn)換規(guī)則、觸發(fā)合約執(zhí)行的情景(如到達(dá)特定時(shí)間或發(fā)生特定事件等)、特定情景下的應(yīng)對(duì)行動(dòng)等.區(qū)塊鏈可實(shí)時(shí)監(jiān)控智能合約的狀態(tài),并通過(guò)核查外部數(shù)據(jù)源、確認(rèn)滿足特定觸發(fā)條件后激活并執(zhí)行合約.
圖5 智能合約的運(yùn)作機(jī)理Fig.5 The rationale of smart contracts
區(qū)塊鏈和智能合約有極為廣闊的應(yīng)用場(chǎng)景.例如,互聯(lián)網(wǎng)金融領(lǐng)域的股權(quán)眾籌或P2P網(wǎng)絡(luò)借貸等商業(yè)模式可以通過(guò)區(qū)塊鏈和智能合約加以實(shí)現(xiàn).傳統(tǒng)方式是通過(guò)股權(quán)眾籌或P2P借貸的交易所或網(wǎng)絡(luò)平臺(tái)作為中心機(jī)構(gòu)完成資金募集、管理和投資,實(shí)際操作過(guò)程中容易出現(xiàn)因中心機(jī)構(gòu)的信用缺失而導(dǎo)致的資金風(fēng)險(xiǎn).利用智能合約,這些功能均可以封裝在去中心化可信的區(qū)塊鏈上自動(dòng)執(zhí)行.區(qū)塊鏈可記錄每一筆融資,當(dāng)成功達(dá)到特定融資額度時(shí)計(jì)算每個(gè)投資人的股權(quán)份額,或在一段時(shí)間內(nèi)未達(dá)到融資額度時(shí)自動(dòng)將資金退還給投資人.再如,通過(guò)將房屋和車(chē)輛等實(shí)體資產(chǎn)進(jìn)行非對(duì)稱(chēng)加密,并嵌入含有特定訪問(wèn)控制規(guī)則的智能合約后部署在區(qū)塊鏈上,使用者符合特定的訪問(wèn)權(quán)限或執(zhí)行特定操作(如付款)后就可使用這些資產(chǎn),這能夠有效解決房屋或車(chē)輛租賃商業(yè)模式中資產(chǎn)交接和使用許可方面的痛點(diǎn).
智能合約具有自治、自足和去中心化等特征.自治表示合約一旦啟動(dòng)就會(huì)自動(dòng)運(yùn)行,而不需要其他簽署方進(jìn)行任何干預(yù);自足則意味著合約能夠通過(guò)提供服務(wù)或發(fā)行資產(chǎn)來(lái)獲取資金,并在需要時(shí)使用這些資金;去中心化則意味著智能合約是由去中心化存儲(chǔ)和驗(yàn)證的程序代碼而非中心化實(shí)體來(lái)保障執(zhí)行的合約,能在很大程度上保證合約的公平和公正性[1].
智能合約對(duì)于區(qū)塊鏈技術(shù)來(lái)說(shuō)具有重要的意義.一方面,智能合約是區(qū)塊鏈的激活器,為靜態(tài)的底層區(qū)塊鏈數(shù)據(jù)賦予了靈活可編程的機(jī)制和算法,并為構(gòu)建區(qū)塊鏈2.0和3.0時(shí)代的可編程金融系統(tǒng)與社會(huì)系統(tǒng)奠定了基礎(chǔ);另一方面,智能合約的自動(dòng)化和可編程特性使其可封裝分布式區(qū)塊鏈系統(tǒng)中各節(jié)點(diǎn)的復(fù)雜行為,成為區(qū)塊鏈構(gòu)成的虛擬世界中的軟件代理機(jī)器人,這有助于促進(jìn)區(qū)塊鏈技術(shù)在各類(lèi)分布式人工智能系統(tǒng)中的應(yīng)用,使得基于區(qū)塊鏈技術(shù)構(gòu)建各類(lèi)去中心化應(yīng)用(Decentralized application,Dapp)、去中心化自治組織(Decentralized autonomous organization,DAO)、去中心化自治公司(Decentralized autonomous corporation,DAC)甚至去中心化自治社會(huì)(Decentralized autonomous society,DAS)成為可能.
就現(xiàn)狀而言,區(qū)塊鏈和智能合約技術(shù)的主要發(fā)展趨勢(shì)是由自動(dòng)化向智能化方向演化.現(xiàn)存的各類(lèi)智能合約及其應(yīng)用的本質(zhì)邏輯大多仍是根據(jù)預(yù)定義場(chǎng)景的“IF-THEN”類(lèi)型的條件響應(yīng)規(guī)則,能夠滿足目前自動(dòng)化交易和數(shù)據(jù)處理的需求.未來(lái)的智能合約應(yīng)具備根據(jù)未知場(chǎng)景的“WHAT-IF”推演、計(jì)算實(shí)驗(yàn)和一定程度上的自主決策功能,從而實(shí)現(xiàn)由目前“自動(dòng)化”合約向真正的“智能”合約的飛躍[31?32].
互聯(lián)網(wǎng)近年來(lái)的迅猛發(fā)展及其與物理世界的深度耦合與強(qiáng)力反饋,已經(jīng)根本性地改變了現(xiàn)代社會(huì)的生產(chǎn)、生活與管理決策模式,形成了現(xiàn)實(shí)物理世界-虛擬網(wǎng)絡(luò)空間緊密耦合、虛實(shí)互動(dòng)和協(xié)同演化的平行社會(huì)空間,催生了“互聯(lián)網(wǎng)+”和工業(yè)4.0等一系列國(guó)家戰(zhàn)略.未來(lái)社會(huì)的發(fā)展趨勢(shì)則必將從物理+網(wǎng)絡(luò)的CPS實(shí)際世界(Cyber-physical systems,CPS)走向精神層面的人工世界,形成物理+網(wǎng)絡(luò)+人工的人-機(jī)-物一體化的三元耦合系統(tǒng),稱(chēng)為社會(huì)物理信息系統(tǒng)(Cyber-physical-social systems,CPSS).目前,基于CPSS的平行社會(huì)已現(xiàn)端倪,其核心和本質(zhì)特征是虛實(shí)互動(dòng)與平行演化[33].
區(qū)塊鏈?zhǔn)菍?shí)現(xiàn)CPSS平行社會(huì)的基礎(chǔ)架構(gòu)之一,其主要貢獻(xiàn)是為分布式社會(huì)系統(tǒng)和分布式人工智能研究提供了一套行之有效的去中心化的數(shù)據(jù)結(jié)構(gòu)、交互機(jī)制和計(jì)算模式,并為實(shí)現(xiàn)平行社會(huì)奠定了堅(jiān)實(shí)的數(shù)據(jù)基礎(chǔ)和信用基礎(chǔ).就數(shù)據(jù)基礎(chǔ)而言,管理學(xué)家愛(ài)德華戴明曾說(shuō)過(guò):除了上帝,所有人必須以數(shù)據(jù)說(shuō)話.然而在中心化社會(huì)系統(tǒng)中,數(shù)據(jù)通常掌握在政府和大型企業(yè)等“少數(shù)人”手中,為少數(shù)人“說(shuō)話”,其公正性、權(quán)威性甚至安全性可能都無(wú)法保證.區(qū)塊鏈數(shù)據(jù)則通過(guò)高度冗余的分布式節(jié)點(diǎn)存儲(chǔ),掌握在“所有人”手中,能夠做到真正的“數(shù)據(jù)民主”.就信用基礎(chǔ)而言,中心化社會(huì)系統(tǒng)因其高度工程復(fù)雜性和社會(huì)復(fù)雜性而不可避免地會(huì)存在“默頓系統(tǒng)”的特性,即不確定性、多樣性和復(fù)雜性,社會(huì)系統(tǒng)中的中心機(jī)構(gòu)和規(guī)則制定者可能會(huì)因個(gè)體利益而出現(xiàn)失信行為;區(qū)塊鏈技術(shù)有助于實(shí)現(xiàn)軟件定義的社會(huì)系統(tǒng),其基本理念就是剔除中心化機(jī)構(gòu)、將不可預(yù)測(cè)的行為以智能合約的程序化代碼形式提前部署和固化在區(qū)塊鏈數(shù)據(jù)中,事后不可偽造和篡改并自動(dòng)化執(zhí)行,從而在一定程度上能夠?qū)ⅰ澳D”社會(huì)系統(tǒng)轉(zhuǎn)化為可全面觀察、可主動(dòng)控制、可精確預(yù)測(cè)的“牛頓”社會(huì)系統(tǒng)[34].
ACP(人工社會(huì)Artificial societies、計(jì)算實(shí)驗(yàn)Computational experiments和平行執(zhí)行Parallel execution)方法是迄今為止平行社會(huì)管理領(lǐng)域唯一成體系化的、完整的研究框架,是復(fù)雜性科學(xué)在新時(shí)代平行社會(huì)環(huán)境下的邏輯延展和創(chuàng)新[35].ACP方法可以自然地與區(qū)塊鏈技術(shù)相結(jié)合,實(shí)現(xiàn)區(qū)塊鏈驅(qū)動(dòng)的平行社會(huì)管理.首先,區(qū)塊鏈的P2P組網(wǎng)、分布式共識(shí)協(xié)作和基于貢獻(xiàn)的經(jīng)濟(jì)激勵(lì)等機(jī)制本身就是分布式社會(huì)系統(tǒng)的自然建模,其中每個(gè)節(jié)點(diǎn)都將作為分布式系統(tǒng)中的一個(gè)自主和自治的智能體(Agent).隨著區(qū)塊鏈生態(tài)體系的完善,區(qū)塊鏈各共識(shí)節(jié)點(diǎn)和日益復(fù)雜與自治的智能合約將通過(guò)參與各種形式的Dapp,形成特定組織形式的DAC和DAO,最終形成DAS,即ACP中的人工社會(huì)[36].其次,智能合約的可編程特性使得區(qū)塊鏈可進(jìn)行各種“WHAT-IF”類(lèi)型的虛擬實(shí)驗(yàn)設(shè)計(jì)、場(chǎng)景推演和結(jié)果評(píng)估,通過(guò)這種計(jì)算實(shí)驗(yàn)過(guò)程獲得并自動(dòng)或半自動(dòng)地執(zhí)行最優(yōu)決策.最后,區(qū)塊鏈與物聯(lián)網(wǎng)等相結(jié)合形成的智能資產(chǎn)使得聯(lián)通現(xiàn)實(shí)物理世界和虛擬網(wǎng)絡(luò)空間成為可能,并可通過(guò)真實(shí)和人工社會(huì)系統(tǒng)的虛實(shí)互動(dòng)和平行調(diào)諧實(shí)現(xiàn)社會(huì)管理和決策的協(xié)同優(yōu)化.不難預(yù)見(jiàn),未來(lái)現(xiàn)實(shí)物理世界的實(shí)體資產(chǎn)都登記為鏈上智能資產(chǎn)的時(shí)候,就是區(qū)塊鏈驅(qū)動(dòng)的平行社會(huì)到來(lái)之時(shí).
隨著以比特幣為代表的數(shù)字加密貨幣的強(qiáng)勢(shì)崛起,新興的區(qū)塊鏈技術(shù)逐漸成為學(xué)術(shù)界和產(chǎn)業(yè)界的熱點(diǎn)研究課題.區(qū)塊鏈技術(shù)的去中心化信用、不可篡改和可編程等特點(diǎn),使其在數(shù)字加密貨幣、金融和社會(huì)系統(tǒng)中有廣泛的應(yīng)用前景.然而,與蓬勃發(fā)展的區(qū)塊鏈商業(yè)應(yīng)用相比,區(qū)塊鏈的基礎(chǔ)理論和技術(shù)研究仍處于起步階段,許多更為本質(zhì)性的、對(duì)區(qū)塊鏈產(chǎn)業(yè)發(fā)展至關(guān)重要的科學(xué)問(wèn)題亟待研究跟進(jìn).本文系統(tǒng)地梳理了區(qū)塊鏈技術(shù)的基本原理、技術(shù)、方法與應(yīng)用,以期為未來(lái)研究提供有益的啟發(fā)與借鑒.
References
1 Swan M.Blockchain:Blueprint for a New Economy.USA: O'Reilly Media Inc.,2015.
2 Technical report by the UK government chief scientific adviser[Online],available:https://www.gov.uk/government/ uploads/system/uploads/attachment_data/file/492972/gs-16-1-distributed-ledger-technology.pdf,F(xiàn)ebruary 21,2016
3 Nakamoto S.Bitcoin:a peer-to-peer electronic cash system[Online],available:https://bitcoin.org/bitcoin.pdf,2009
4 Ethereum White Paper.A next-generation smart contractanddecentralizedapplicationplatform[Online],available:https://github.com/ethereum/wiki/wiki/White-Paper,November 12,2015
5 Ding Wei.Block chain based instrument data management system.China Instrumentation,2015,(10):15?17(丁未.基于區(qū)塊鏈技術(shù)的儀器數(shù)據(jù)管理創(chuàng)新系統(tǒng).中國(guó)儀器儀表,2015,(10):15?17)
6 Zhao He,Li Xiao-Feng,Zhan Li-Kui,Wu Zhong-Cheng. Data integrity protection method for microorganism sampling robots based on blockchain technology.Journal of Huazhong University of Science and Technology(Natural Science Edition),2015,43(Z1):216?219(趙赫,李曉風(fēng),占禮葵,吳仲城.基于區(qū)塊鏈技術(shù)的采樣機(jī)器人數(shù)據(jù)保護(hù)方法.華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2015,43(增刊): 216?219)
7 Swan M.Blockchain thinking:the brain as a decentralized autonomous corporation.IEEE Technology and Society Magazine,2015,34(4):41?52
8 Davidson Eric.Letter.New Scientist,2015,228(3043): 52?52
9 Anonymous.New kid on the blockchain.New Scientist,2015,225(3009):7
10 Godsiff P.Bitcoin:bubble or blockchain.In:Proceedings of the 9th KES International Conference on Agent and Multi-Agent Systems:Technologies and Applications(KESAMSTA).Sorrento,Italy:Springer,2015,38:191?203
11 Kraft D.Difficulty control for blockchain-based consensus systems.Peer-to-Peer Networking and Applications,2016,9(2):397?413
12 Wilson D,Ateniese G.From pretty good to great:enhancing PGP using Bitcoin and the blockchain.In:Proceedings of the 9th International Conference on Network and System Security.New York:Springer International Publishing,2015,9408:368?375
13 Zyskind G,Nathan O,Pentland A S.Decentralizing privacy: using blockchain to protect personal data.In:Proceedings of the 2015 IEEE Security and Privacy Workshops(SPW 2015).San Jose,CA:IEEE,2015.180?184
14 Kypriotaki K N,Zamani E D,Giaglis G M.From Bitcoin to decentralized autonomous corporations:extending the application scope of decentralized peer-to-peer networks and blockchains.In:Proceedings of the 17th International Conference on Enterprise Information Systems(ICEIS2015). 2015,3:284?290
15 BlockchainMonitoringWebsite[Online],available: https://blockchain.info/,January 8,2016
16 Cryptocurrency Monitoring Website[Online],available: http://coinmarketcap.com/,November 24,2015
17 World Economic Forum Survey[Online],available:http:// www.coinfox.info/news/3184-world-economic-forum-survey -10-of-global-gdp-may-be-stored-with-blockchain-technolog y-by-2027,F(xiàn)ebruary 21,2016
18 CoinDesk Report[Online],available:http://www.bitcoin86.com/news/3527.html,F(xiàn)ebruary 21,2016
19 Antonopoulos A M.Mastering Bitcoin:Unlocking Digital Cryptocurrencies.USA:O'Reilly Media Inc.,2014.
20 Fan Jie,Yi Le-Tian,Shu Ji-Wu.Research on the technologies of Byzantine system.Journal of Software,2013,24(6): 1346?1360(范捷,易樂(lè)天,舒繼武.拜占庭系統(tǒng)技術(shù)研究綜述.軟件學(xué)報(bào),2013,24(6):1346?1360)
21 Bitcoin Sourcecode[Online],available:https://github.com/ bitcoin/bitcoin/,January 18,2016
22 Merkle R C.Protocols for public key cryptosystems.In:Proceedings of the 1980 IEEE Symposium on Security and Privacy.Oakland,CA,USA:IEEE,1980.122
23 LarimerD.Transactionsasproof-of-stake[Online],available:http://7fvhfe.com1.z0.glb.clouddn.com/@/wpcontent/uploads/2014/01/TransactionsAsProofOfStake10. pdf,2013
24 Larimer D.Delegated proof-of-stake white paper[Online],available:http://www.bts.hk/dpos-baipishu.html,2014
25 Bitcoinmining Article[Online],available:https://www. bitcoinmining.com/bitcoin-mining-pools,December 8,2015
26 Factom White Paper[Online],available:http://bite01. com/bit/1421,December 29,2015
27 Brito J,Shadab H,Castillo A.Bitcoin financial regulation: securities,derivatives,prediction markets,and gambling. The Columbia Science&Technology Law Review,2014,16: 144?221
28 Eyal I,Efe Gencer A,Sirer E G,van Renesse R.Bitcoin-NG: a scalable blockchain protocol.Cryptography and Security,arXiv:1510.02037
29 Primecoin Website[Online],available:http://primecoin.io/,F(xiàn)ebruary 9,2016
30 Courtois N T,Bahack L.On subversive miner strategies and block withholding attack in Bitcoin digital currency.Cryptography and Security,arXiv:1402.1718
31 Wang Fei-Yue.Computational experiments for behavior analysis and decision evaluation of complex systems.Journal of System Simulation,2004,16(5):893?897(王飛躍.計(jì)算實(shí)驗(yàn)方法與復(fù)雜系統(tǒng)行為分析和決策評(píng)估.系統(tǒng)仿真學(xué)報(bào),2004,16(5):893?897)
32 Wang Fei-Yue,Qiu Xiao-Gang,Zeng Da-Jun,Cao Zhi-Dong,F(xiàn)an Zong-Chen.A computational experimental platform for emergency response based on parallel systems. Complex Systems and Complexity Science,2010,7(4): 1?10(王飛躍,邱曉剛,曾大軍,曹志冬,樊宗臣.基于平行系統(tǒng)的非常規(guī)突發(fā)事件計(jì)算實(shí)驗(yàn)平臺(tái)研究.復(fù)雜系統(tǒng)與復(fù)雜性科學(xué),2010,7(4): 1?10)
33 Wang Fei-Yue,Wang Xiao,Yuan Yong,Wang Tao,Lin Yi-Lun.Social computing and computational societies:the foundation and consequence of smart societies.Chinese Science Bulletin,2015,60(5?6):460?469(王飛躍,王曉,袁勇,王濤,林懿倫.社會(huì)計(jì)算與計(jì)算社會(huì):智慧社會(huì)的基礎(chǔ)與必然.科學(xué)通報(bào),2015,60(5?6):460?469)
34 Wang Fei-Yue.Software-defined systems and knowledge automation:a parallel paradigm shift from Newton to Merton. Acta Automatica Sinica,2015,41(1):1?8(王飛躍.軟件定義的系統(tǒng)與知識(shí)自動(dòng)化:從牛頓到默頓的平行升華.自動(dòng)化學(xué)報(bào),2015,41(1):1?8)
35 Wang Fei-Yue.Artificial societies,computational experiments,and parallel systems:a discussion on computational theory of complex social-economic systems.Complex Systems and Complexity Science,2004,1(4):25?35(王飛躍.人工社會(huì)、計(jì)算實(shí)驗(yàn)、平行系統(tǒng):關(guān)于復(fù)雜社會(huì)經(jīng)濟(jì)系統(tǒng)計(jì)算研究的討論.復(fù)雜系統(tǒng)與復(fù)雜性科學(xué),2004,1(4):25?35)
36 Wang Fei-Yue,Jiang Zheng-Hua,Dai Ru-Wei.Population studies and artificial societies:a discussion of artificial population systems and their applications.Complex Systems and Complexity Science,2005,2(1):1?9(王飛躍,蔣正華,戴汝為.人口問(wèn)題與人工社會(huì)方法:人工人口系統(tǒng)的設(shè)想與應(yīng)用.復(fù)雜系統(tǒng)與復(fù)雜性科學(xué),2005,2(1):1?9)
袁 勇中國(guó)科學(xué)院自動(dòng)化研究所復(fù)雜系統(tǒng)管理與控制國(guó)家重點(diǎn)實(shí)驗(yàn)室副研究員.2008年于山東科技大學(xué)獲得計(jì)算機(jī)軟件與理論專(zhuān)業(yè)博士學(xué)位.主要研究方向?yàn)樯虅?wù)智能與計(jì)算廣告學(xué).本文通信作者.E-mail:yong.yuan@ia.ac.cn
(YUAN YongAssociate professor at the State Key Laboratory of Management and Control for Complex Systems,Institute of Automation,Chinese Academy of Sciences.He received his Ph.D.degree in computer software and theory from Shandong University of Science and Technology in 2008.His research interest covers business intelligence and computational advertising.Corresponding author of this paper.)
王飛躍中國(guó)科學(xué)院自動(dòng)化研究所復(fù)雜系統(tǒng)管理與控制國(guó)家重點(diǎn)實(shí)驗(yàn)室研究員,國(guó)防科技大學(xué)軍事計(jì)算實(shí)驗(yàn)與平行系統(tǒng)技術(shù)中心教授.主要研究方向?yàn)橹悄芟到y(tǒng)和復(fù)雜系統(tǒng)的建模,分析與控制.E-mail:feiyue.wang@ia.ac.cn
(WANG Fei-YueProfessor at the State Key Laboratory of Management and Control for Complex Systems,Institute of Automation,Chinese Academy of Sciences.He is also a professor at the Research Center of Military Computational Experiments and Parallel System,National University of Defense Technology.His research interest covers modeling,analysis,and control of intelligent systems and complex systems.)
Blockchain:The State of the Art and Future Trends
YUAN Yong1,2WANG Fei-Yue1,3
Blockchain is an emerging decentralized architecture and distributed computing paradigm underlying Bitcoin and other cryptocurrencies,and has recently attracted intensive attention from governments,financial institutions,hightech enterprises,and the capital markets.Blockchain's key advantages include decentralization,time-series data,collective maintenance,programmability and security,and thus is particularly suitable for constructing a programmable monetary system,financial system,and even the macroscopic societal system.In this paper,we proposed a basic model of the blockchain system,discussed the principles,technologies,methods and applications of blockchain and the related Bitcoin systems.We also discussed the smart contract and its applications,and presented the future trends of blockchain-enabled paralleled societies.This paper is aimed at providing helpful guidance and reference for future research efforts.
Blockchain,Bitcoin,consensus mechanism,smart contract,paralleled society
Manuscript February 22,2016;accepted March 2,2016
10.16383/j.aas.2016.c160158
Yuan Yong,Wang Fei-Yue.Blockchain:the state of the art and future trends.Acta Automatica Sinica,2016,42(4):481?494
2016-02-22錄用日期2016-03-02
國(guó)家自然科學(xué)基金(71472174,71102117,61533019,71232006,61233001)資助
Supported by National Natural Science Foundation of China(71472174,71102117,61533019,71232006,61233001)
本文責(zé)任編委林宗利
Recommended by Associate Editor LIN Zong-Li
1.中國(guó)科學(xué)院自動(dòng)化研究所復(fù)雜系統(tǒng)管理與控制國(guó)家重點(diǎn)實(shí)驗(yàn)室北京1001902.青島智能產(chǎn)業(yè)技術(shù)研究院青島2661093.國(guó)防科技大學(xué)軍事計(jì)算實(shí)驗(yàn)與平行系統(tǒng)技術(shù)中心長(zhǎng)沙410073
1.The State Key Laboratory of Management and Control for Complex Systems,Institute of Automation,Chinese Academy of Sciences,Beijing 1001902.Qingdao Academy of Intelligent Industries,Qingdao 2661093.Research Center of Military Computational Experiments and Parallel System,National University of Defense Technology,Changsha 410073