劉 文,秦 靜,2
區(qū)塊鏈技術(shù)由比特幣等數(shù)字貨幣的興起而被大家熟知。區(qū)塊鏈這一概念由中本聰在論文《Bitcoin:A Peer-to-Peer Electronic Cash System》中首次提出[1]。狹義上講,區(qū)塊鏈?zhǔn)且粋€(gè)公開(kāi)、透明、可追溯、不可篡改的分布式總賬系統(tǒng),是下一代云計(jì)算的雛形。廣義的區(qū)塊鏈技術(shù)則被認(rèn)為是大型計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、互聯(lián)網(wǎng)、移動(dòng)/社交網(wǎng)絡(luò)之后計(jì)算范式的第五次顛覆式創(chuàng)新,是人類信用進(jìn)化史上繼血親信用、貴金屬信用、央行紙幣信用之后的第四個(gè)里程碑[2]。
區(qū)塊鏈技術(shù)的實(shí)質(zhì)是不同的節(jié)點(diǎn)共同參與的分布式數(shù)據(jù)庫(kù),是一個(gè)開(kāi)放式的公共賬簿。具體地,從數(shù)據(jù)包形成區(qū)塊,中間有一個(gè)加密的哈希值計(jì)算,把不同時(shí)間段的交易信息鏈接起來(lái),形成區(qū)塊鏈。區(qū)塊鏈?zhǔn)且粋€(gè)公開(kāi)、透明、可追溯、不可篡改的分布式總賬系統(tǒng)[2]。區(qū)塊鏈技術(shù)是一串技術(shù)組合。第一,它是分布式賬本,全部機(jī)構(gòu)一本總賬,各種事務(wù)一本總賬;第二,它是一個(gè)去中心化的新型數(shù)據(jù)庫(kù),沒(méi)有中心機(jī)房,沒(méi)有運(yùn)維人員,第三方按共識(shí)算法錄入數(shù)據(jù),非對(duì)稱加密算法保證數(shù)據(jù)安全,數(shù)據(jù)客觀可信,不可篡改;第三,它是智能合約,是一段能夠自動(dòng)執(zhí)行約定的計(jì)算機(jī)程序;第四,它是TCP/IP模型(互聯(lián)網(wǎng)模型)中的點(diǎn)對(duì)點(diǎn)價(jià)值傳輸協(xié)議[3]。區(qū)塊鏈技術(shù)是具有普遍適應(yīng)性的底層技術(shù)框架,除了應(yīng)用于金融、經(jīng)濟(jì)等領(lǐng)域,其潛在的應(yīng)用領(lǐng)域包括醫(yī)療、選舉、版權(quán)、公證汽車租賃以及網(wǎng)絡(luò)安全等[4]。
比特幣等數(shù)字加密貨幣是區(qū)塊鏈技術(shù)應(yīng)用最成功的場(chǎng)景之一。截至目前,全球數(shù)字加密貨幣市值將突破2 000億美元,比特幣更是被人們稱為數(shù)字黃金。1比特幣現(xiàn)行價(jià)格達(dá)到7 000美元,市值占到了數(shù)字加密貨幣總市值的一半以上。數(shù)字加密貨幣相對(duì)于傳統(tǒng)貨幣不存在中央銀行的背書(shū),貨幣價(jià)值與市場(chǎng)緊密相關(guān),不受貨幣當(dāng)局的管控,使得數(shù)字加密貨幣具有高度流通性。同時(shí),作為底層技術(shù),區(qū)塊鏈在保證安全性的同時(shí),也兼顧了市場(chǎng)匿名性的需求,使得數(shù)字加密貨幣在跨國(guó)資金流動(dòng)中的占比逐漸上升,給中央銀行帶來(lái)了資金監(jiān)管的困擾,沖擊著傳統(tǒng)銀行業(yè)。2017年9月,中國(guó)央行開(kāi)始對(duì)數(shù)字加密貨幣實(shí)施監(jiān)管。中國(guó)國(guó)內(nèi)三大比特幣交易平臺(tái)——比特幣中國(guó)、火幣網(wǎng)、幣行網(wǎng)于2017年10月底全面停止所有數(shù)字資產(chǎn)兌換人民幣業(yè)務(wù),各交易平臺(tái)也逐漸將業(yè)務(wù)重心轉(zhuǎn)移到區(qū)塊鏈技術(shù)應(yīng)用和研發(fā)上,區(qū)塊鏈開(kāi)始在真正意義上由1.0時(shí)代逐步走向更為高級(jí)、智能的2.0時(shí)代。
近幾年,由于數(shù)字加密貨幣(比特幣、萊特比、以太坊幣等等)的興起,區(qū)塊鏈技術(shù)開(kāi)始逐漸進(jìn)入大眾視野。下面通過(guò)對(duì)數(shù)字加密貨幣——比特幣的運(yùn)行機(jī)制來(lái)介紹區(qū)塊鏈技術(shù)的基本原理。
區(qū)塊鏈技術(shù)的理論基礎(chǔ)由來(lái)已久。Haber和Stornetta在1991年開(kāi)始提出安全地對(duì)數(shù)字文件進(jìn)行時(shí)間戳記錄。用戶發(fā)送文件時(shí),Haber和Stornetta設(shè)計(jì)的系統(tǒng)能夠向用戶提供時(shí)間戳服務(wù)。服務(wù)器收到文件后,會(huì)用當(dāng)前時(shí)間和指向之前文件的指針作為簽名,來(lái)簽名該文件并產(chǎn)生包含簽名信息的認(rèn)證。如果某份文件中的數(shù)據(jù)被篡改,那么指向該文件的指針將自動(dòng)失效,從而確保了整個(gè)文件系統(tǒng)不會(huì)被更改。之后他們又提出了一種效率更高的方案,即將文件通過(guò)樹(shù)狀結(jié)構(gòu)連接形成“塊”,再將各個(gè)塊之間鏈接起來(lái)形成一條鏈,以大大減少查找特定文件所需的時(shí)間[5]。這便是區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)的雛形。
將由哈希指針構(gòu)建的鏈表的數(shù)據(jù)結(jié)構(gòu)稱作區(qū)塊鏈(Blockchain),如圖1所示。哈希指針(Hash Pointer)是一個(gè)指向數(shù)據(jù)存儲(chǔ)位置和某時(shí)間戳下該數(shù)據(jù)的哈希值的指針。哈希函數(shù)具有碰撞阻力,被修改過(guò)的數(shù)據(jù)哈希值與之前的哈希值將不會(huì)匹配,所以哈希指針不僅可以指向該數(shù)據(jù)的存儲(chǔ)位置,而且可以用于驗(yàn)證數(shù)據(jù)是否被篡改過(guò)[6]。

圖1 區(qū)塊鏈
區(qū)塊鏈中數(shù)據(jù)的存儲(chǔ)使用了梅克爾樹(shù)(Merkle Trees)的數(shù)據(jù)結(jié)構(gòu)。梅克爾樹(shù)最常見(jiàn)和最簡(jiǎn)單的形式是二進(jìn)制梅克爾樹(shù)(Binary Merkle Trees)。在這種梅克爾樹(shù)的數(shù)據(jù)結(jié)構(gòu)中,所有的數(shù)據(jù)區(qū)塊被兩兩分組,而這些數(shù)據(jù)區(qū)塊就是樹(shù)的節(jié)點(diǎn)。每個(gè)數(shù)據(jù)區(qū)塊對(duì)應(yīng)的哈希指針被存儲(chǔ)在上一層的父節(jié)點(diǎn)(Parent Node)中,這些指向節(jié)點(diǎn)的哈希指針再次被兩兩分組。重復(fù)這個(gè)過(guò)程直至得到一個(gè)單一區(qū)塊,即樹(shù)根節(jié)點(diǎn)(Merkle Root)。最終,通過(guò)Merkle Tree算法生成梅克爾數(shù)根哈希(Merkle Root Hash),并以此作為交易列表的摘要存到區(qū)塊頭部(Block Header)中。二進(jìn)制梅克爾樹(shù)結(jié)構(gòu)如圖2所示。

圖2 二進(jìn)制梅克爾樹(shù)
如果篡改了樹(shù)節(jié)點(diǎn)的數(shù)據(jù)區(qū)塊,將會(huì)導(dǎo)致父節(jié)點(diǎn)的哈希值與其不匹配。層層向上傳遞,最終改動(dòng)數(shù)據(jù)的行為會(huì)傳遞到梅克爾樹(shù)的頂端。因此,只要保存根節(jié)點(diǎn)的哈希值,就能檢測(cè)任何企圖修改節(jié)點(diǎn)中數(shù)據(jù)塊的行為。
比特幣貨幣系統(tǒng)中的二進(jìn)制梅克爾樹(shù)使得數(shù)據(jù)區(qū)塊的隸屬證明變得簡(jiǎn)單,支持中本聰所描述的“簡(jiǎn)化支付驗(yàn)證”(Simplified Payment Verification)。簡(jiǎn)化支付驗(yàn)證是指,在驗(yàn)證某筆交易時(shí),一個(gè)“輕客戶端”(Light Client)只需要下載區(qū)塊鏈的區(qū)塊頭部數(shù)據(jù)即可,而無(wú)須下載每一筆交易和每一個(gè)區(qū)塊。區(qū)塊頭部數(shù)據(jù)大小為80字節(jié),由4字節(jié)的版本號(hào)(Version)、32字節(jié)的上一個(gè)區(qū)塊的哈希值(Prev Hash)、32字節(jié)的梅克爾樹(shù)根哈希(Merkle Root Hash)、4字節(jié)的時(shí)間綴(Time Stamp)、4字節(jié)的當(dāng)前難度值(Bits)和4字節(jié)的隨機(jī)數(shù)(Nonce)組成[7]。比特幣貨幣系統(tǒng)中的交易驗(yàn)證只需包含一個(gè)數(shù)據(jù)塊和梅克爾樹(shù)的根哈希,以及所有沿?cái)?shù)據(jù)塊到根節(jié)點(diǎn)路徑的哈希分支。簡(jiǎn)化支付驗(yàn)證的過(guò)程如圖3所示。

圖3 簡(jiǎn)化支付驗(yàn)證
為了驗(yàn)證數(shù)據(jù)4,只需要知道數(shù)據(jù)4的信息以及該數(shù)據(jù)塊到根節(jié)點(diǎn)路徑上所有分支的哈希值,然后與根哈希進(jìn)行比對(duì),即可知道數(shù)據(jù)4是否屬于該梅克爾樹(shù)。
區(qū)塊鏈技術(shù)成功解決了比特幣等數(shù)字加密貨幣領(lǐng)域長(zhǎng)期必需面對(duì)的兩個(gè)問(wèn)題:分布式共識(shí)(Distributed Consensus)問(wèn)題和雙重支付(Double Spending)問(wèn)題[8]。
建立一個(gè)去中心化的數(shù)字貨幣系統(tǒng)的關(guān)鍵問(wèn)題,在于達(dá)成分布式共識(shí)。分布式共識(shí)協(xié)議是指在一個(gè)有n個(gè)節(jié)點(diǎn)的系統(tǒng)中,存在延遲、故障等問(wèn)題,甚至有的節(jié)點(diǎn)是惡意的,一個(gè)分布式共識(shí)協(xié)議必須使得當(dāng)多個(gè)主機(jī)通過(guò)異步通訊方式組成網(wǎng)絡(luò)集群時(shí),這個(gè)網(wǎng)絡(luò)默認(rèn)是不可靠的,那么在這些不可靠主機(jī)之間復(fù)制狀態(tài)需要采取一種協(xié)議,以保證每個(gè)主機(jī)的狀態(tài)最終達(dá)成一致性狀態(tài),取得共識(shí)。而關(guān)于分布式共識(shí)是否能夠達(dá)成,學(xué)界普遍持悲觀態(tài)度。經(jīng)典案例拜占庭將軍問(wèn)題(The Byzantine Generals Problem)指出,在缺少信任的中央節(jié)點(diǎn)的情況下,當(dāng)惡意節(jié)點(diǎn)(叛徒)數(shù)超過(guò)1/3時(shí),問(wèn)題將無(wú)解[9]。更有Fischer-Lynch-Paterson不可能結(jié)果表明,在一個(gè)多進(jìn)程異步系統(tǒng)中,只要有一個(gè)進(jìn)程不可靠,那么就不存在一個(gè)協(xié)議能夠保證在有限時(shí)間內(nèi)使所有的進(jìn)程達(dá)成一致。
雙重支付是指同一個(gè)數(shù)字貨幣被兩次或者多次使用,在沒(méi)有可信第三方的情況下,若一個(gè)數(shù)字加密貨幣系統(tǒng)無(wú)法有效抵抗雙重支付攻擊,那么將無(wú)法完成貨幣職能。傳統(tǒng)金融體系下,貨幣實(shí)體(現(xiàn)金)的流通過(guò)程中不存在一幣多花的情況,數(shù)字貨幣由可信第三方(銀行、大型企業(yè))背書(shū),從而有效避免雙重支付攻擊[10]。
在比特幣貨幣系統(tǒng)中引入獎(jiǎng)勵(lì)機(jī)制和工作量證明,巧妙地解決了上述問(wèn)題。
獎(jiǎng)勵(lì)機(jī)制包含兩部分:區(qū)塊獎(jiǎng)勵(lì)和交易費(fèi)。區(qū)塊獎(jiǎng)勵(lì):當(dāng)節(jié)點(diǎn)打包的區(qū)塊被納入長(zhǎng)期共識(shí)鏈中就會(huì)獲得區(qū)塊獎(jiǎng)勵(lì),最初4年是50個(gè)比特幣,每生成210 000個(gè)區(qū)塊金額減半,按照區(qū)塊生成速度,大概每四年減半一次。交易費(fèi):交易者發(fā)起交易時(shí),將一部分比特幣作為交易費(fèi)。
工作量證明(Proof of Work)。比特幣網(wǎng)絡(luò)中任何一個(gè)節(jié)點(diǎn)如果想生成一個(gè)新的區(qū)塊并將其納入長(zhǎng)期共識(shí)鏈以獲得區(qū)塊獎(jiǎng)勵(lì),則必須解出相應(yīng)的工作量證明的謎題,這一過(guò)程被形象地比喻為“挖礦”,參與解謎的節(jié)點(diǎn)被稱作“礦工”[11]。比特幣貨幣系統(tǒng)利用哈希函數(shù)(SHA256)解謎來(lái)證明工作量。80字節(jié)長(zhǎng)度的區(qū)塊頭部數(shù)據(jù)作為哈希函數(shù)解謎的輸入字符串,解謎成功與否的依據(jù)是哈希函數(shù)的輸出值小于當(dāng)前難度值。難度值(Difficulty)是礦工們?cè)谕诘V時(shí)的重要參考指標(biāo),決定了礦工大約需要經(jīng)過(guò)多少次哈希運(yùn)算才能產(chǎn)生一個(gè)合法的區(qū)塊。比特幣的區(qū)塊產(chǎn)生速度約是每10 min生成一個(gè),網(wǎng)絡(luò)會(huì)根據(jù)全網(wǎng)算力的變化自動(dòng)調(diào)整難度值,使得區(qū)塊間隔時(shí)間長(zhǎng)期均值維持在10 min。
獎(jiǎng)勵(lì)只有當(dāng)區(qū)塊被納入長(zhǎng)期共識(shí)鏈才會(huì)實(shí)現(xiàn)。因此,網(wǎng)絡(luò)中的理性節(jié)點(diǎn)會(huì)為了得到區(qū)塊獎(jiǎng)勵(lì)而遵循既定規(guī)則去延展長(zhǎng)期共識(shí)鏈。工作量證明有效降低了惡意節(jié)點(diǎn)被選中的概率,除非攻擊者掌握了全網(wǎng)51%的哈希算力(Hash Power),才能對(duì)網(wǎng)絡(luò)發(fā)起有效攻擊,而這種攻擊成本十分巨大,基本不用考慮。
假設(shè)網(wǎng)絡(luò)中存在惡意攻擊者想掠奪或者創(chuàng)造不屬于自己的數(shù)字加密貨幣,就必須使得自己產(chǎn)生的區(qū)塊被納入長(zhǎng)期區(qū)塊鏈中。但是,網(wǎng)絡(luò)中其他誠(chéng)實(shí)的節(jié)點(diǎn)不會(huì)接受惡意節(jié)點(diǎn)所創(chuàng)造的區(qū)塊。攻擊者只能以比誠(chéng)實(shí)節(jié)點(diǎn)更快的速度產(chǎn)生區(qū)塊,才能使自己的區(qū)塊保留在長(zhǎng)期區(qū)塊鏈中,否則攻擊者的區(qū)塊只能被遺棄,使得自己的算力被浪費(fèi)。如圖4所示,攻擊者利用自己算力對(duì)長(zhǎng)期區(qū)塊鏈進(jìn)行攻擊所出現(xiàn)的兩種情況。

圖4 惡意攻擊
可以看出,當(dāng)惡意攻擊者掌握一定算力時(shí),就會(huì)出現(xiàn)圖中第一種情況。惡意攻擊者產(chǎn)生區(qū)塊的速度大于誠(chéng)實(shí)節(jié)點(diǎn)產(chǎn)生區(qū)塊的速度,區(qū)塊鏈出現(xiàn)分叉。隨著時(shí)間的推移,惡意攻擊者所產(chǎn)生的區(qū)塊被納入長(zhǎng)期區(qū)塊鏈,而誠(chéng)實(shí)節(jié)點(diǎn)所產(chǎn)生較短的分支則被遺棄。反之,則出現(xiàn)第二種情況,即誠(chéng)實(shí)節(jié)點(diǎn)產(chǎn)生的區(qū)塊被納入長(zhǎng)期區(qū)塊鏈,區(qū)塊鏈安全性得到保證。
1.3 節(jié)利用工作量證明形式化,說(shuō)明了區(qū)塊鏈的安全性。下面將利用Python3.6.1編碼說(shuō)明其安全性。


圖5分別為q取不同值時(shí)z和p的變化情況。

圖5 不同算力下的區(qū)塊攻擊
可以看出,當(dāng)攻擊者掌握算力較小時(shí),那么攻擊者創(chuàng)造下一個(gè)區(qū)塊的概率相應(yīng)較小(即q值較小),追上誠(chéng)實(shí)節(jié)點(diǎn)所創(chuàng)造的區(qū)塊概率呈指數(shù)級(jí)下降。但是可以看出,當(dāng)攻擊者掌握算力達(dá)到50%時(shí),攻擊者可以輕易將自己創(chuàng)造的區(qū)塊納入長(zhǎng)期區(qū)塊鏈中,區(qū)塊鏈安全性受到極大挑戰(zhàn)。不過(guò),實(shí)際中這種情況很難出現(xiàn)。
實(shí)際應(yīng)用中,區(qū)塊鏈技術(shù)大致可分為三種。
公有區(qū)塊鏈(Public Block Chains)。對(duì)于節(jié)點(diǎn)的加入和退出沒(méi)有任何限制,任何節(jié)點(diǎn)都可以讀取、發(fā)送交易信息,參與區(qū)塊鏈的共識(shí)過(guò)程,不依賴于特定的組織或中心機(jī)構(gòu),是完全意義上的“去中心化”。例如,比特幣貨幣系統(tǒng)就是一個(gè)完全去中心化的公有區(qū)塊鏈。
私有區(qū)塊鏈(Private Block Chains)。私有區(qū)塊鏈?zhǔn)侵笇?xiě)入權(quán)限僅在一個(gè)組織手里的區(qū)塊鏈。讀取權(quán)限或者對(duì)外開(kāi)放,或者被任意程度地進(jìn)行了限制,主要應(yīng)用于公司、政府內(nèi)部的審計(jì)和測(cè)試等方面。
聯(lián)盟區(qū)塊鏈(Consortium Block Chains)。聯(lián)盟區(qū)塊鏈?zhǔn)侵腹沧R(shí)過(guò)程受到預(yù)選節(jié)點(diǎn)控制,訪問(wèn)控制權(quán)限掌握在幾個(gè)組織或個(gè)人手中的區(qū)塊鏈。這種區(qū)塊鏈可視為“部分去中心化”,主要應(yīng)用于行業(yè)內(nèi)各企業(yè)之間的清算、結(jié)算等方面。
以比特幣為例,在比特幣貨幣系統(tǒng)中,雖然個(gè)人可以生成多個(gè)地址以保證自己的身份不被輕易發(fā)現(xiàn),但是由于每筆交易在區(qū)塊鏈網(wǎng)絡(luò)中被永久記錄,所以當(dāng)攻擊者追溯某個(gè)人的歷史交易數(shù)據(jù)時(shí),可以根據(jù)交易特點(diǎn)建立地址簇,再將每個(gè)地址簇與現(xiàn)實(shí)中某個(gè)特定的人或者機(jī)構(gòu)對(duì)應(yīng)起來(lái)。例如:Alice計(jì)劃購(gòu)買一套稀有的紀(jì)念郵票,價(jià)格是100個(gè)比特幣。假設(shè)她的比特幣分散在三個(gè)不同的比特幣地址中,分別是20、30和40個(gè)比特幣。因?yàn)闆](méi)有一個(gè)比特幣地址有100個(gè)幣,且總的比特幣數(shù)(90個(gè))也不足100,所以在購(gòu)買支付時(shí),她可能創(chuàng)建一個(gè)新的地址通過(guò)交易再得到10個(gè)比特幣,然后將三個(gè)已有的比特幣地址和新創(chuàng)建的比特幣地址輸入合并,以支付100個(gè)比特幣,如圖6所示。

圖6 構(gòu)建地址簇
攻擊者可以由此推斷,三個(gè)已有地址可能是由同一個(gè)用戶所控制,且新創(chuàng)建的地址與已有三個(gè)地址合并輸出,那么攻擊者就會(huì)認(rèn)為這四個(gè)地址屬于同一個(gè)人,因此可以建立一個(gè)地址簇(Clustering of Addresses)。如果一個(gè)新地址的輸出與該地址簇中任意一個(gè)已知地址被一起花費(fèi),那么新的地址也會(huì)被加入到地址簇中。
文獻(xiàn)[12]中,美國(guó)研究人員通過(guò)大量數(shù)據(jù)進(jìn)行分析,在一組沒(méi)有姓名的用戶中,研究者將聯(lián)合支付的地址和全新的零錢地址(Change Address)歸類到一個(gè)比特幣的地址簇。但是,這種地址簇沒(méi)有標(biāo)簽(Tag),即簇沒(méi)有與真實(shí)身份關(guān)聯(lián)。研究者為了辨識(shí)并標(biāo)識(shí)這些簇在真實(shí)世界中的身份,進(jìn)行了344項(xiàng)各類交易。通過(guò)對(duì)這些實(shí)際交易的地址跟蹤,可以為各個(gè)地址簇打上身份標(biāo)識(shí)標(biāo)簽。所以,在區(qū)塊鏈網(wǎng)絡(luò)上關(guān)聯(lián)一些小的地址簇,再通過(guò)交易圖譜分析(Transaction Graph Analysis),個(gè)人身份被暴露的可能性極大。
隨著大數(shù)據(jù)時(shí)代的到來(lái),人們對(duì)數(shù)據(jù)的存儲(chǔ)和保護(hù)提出了更高要求。區(qū)塊鏈技術(shù)的去中心化、不可篡改和可編程等特點(diǎn),使其在各個(gè)數(shù)字化領(lǐng)域有著巨大的應(yīng)用前景。目前,區(qū)塊鏈技術(shù)剛剛興起,在金融領(lǐng)域受到了極大關(guān)注,但其他實(shí)際場(chǎng)景應(yīng)用還未能有所突破,區(qū)塊鏈基礎(chǔ)理論研究和相關(guān)科研項(xiàng)目還需要得到更多的技術(shù)與資金支持。本文對(duì)區(qū)塊鏈技術(shù)的原理、特點(diǎn)、運(yùn)行機(jī)制做出了詳細(xì)闡釋,希望能為未來(lái)區(qū)塊鏈技術(shù)的研究提供參考。
[1] Nakamoto S.Bitcoin:A Peer-to-peer Electronic Cash System [EB/OL].[2017-10-28].https://bitcoin.org/bitcoin.pdf.
[2] Swan M.Blockchain:Blueprint for a New Economy[M].O’Reilly Media, Inc.,2015.
[3] Bonneau J,Miller A,Clark J,et al.SoK:Research Perspectives and Challenges for Bitcoin and Cryptocurrencies[C].Security and Privacy IEEE,2015:104-121.
[4] 張寧,王毅,康重慶等.能源互聯(lián)網(wǎng)中的區(qū)塊鏈技術(shù):研究框架與典型應(yīng)用初探[J].中國(guó)電機(jī)工程學(xué)報(bào),2016,36(15):4011-4022.ZHANG Ning,WANG Yi,KANG Chong-qing,et al.Blockchain Technology in Energy Internet:Research Framework and Typical Application[J].Proceedings of the CSEE,2016,36(15):4011-4022.
[5] Haber S,Stornetta W S.Secure Names for Bit-strings[C].ACM Conference on Computer and Communications Security ACM,1997:28-35.
[6] Wright A,De Filippi P.Decentralized Block Chain Technology and the Riseof Lex Cryptographia[EB/OL].[2017-08-27].https://ssrn.com/abstract=2580664.
[7] Antonopoulos A M.Mastering Bitcoin:Unlocking Digital Crypto-Currencies[M].O’Reilly Media Inc.,2014.
[8] Burton R.Handbook of Financial Cryptography and Security[M].England:Taylor and Francis,2010.
[9] Lamport L,Shostak R,Pease M.The Byzantine Generals Problem[J].ACM Transactions on Programming Languages & Systems,2016,4(03):382-401.
[10] 袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動(dòng)化學(xué)報(bào),2016,42(04):481-494.YUAN Yong,WANG Fei-yue.Blockchain:The State of the Art and Future Trends[J].ACTA Automatica Sinica,2016,42(04):481-494.
[11] Gervais A,Karame G O,Glykantzis V,et al.On the Security and Performance of Proof of Work Blockchains[C].ACM Sigsac Conference on Computer and Communications Security ACM,2016:3-16.
[12] Meiklejohn S,Pomarole M,Jordan G,et al.A Fistful of Bitcoins:Characterizing Payments Among Men with No Names[C].Conference on Internet Measurement Conference ACM,2013:127-140.