發(fā)布時間:2020-01-13所屬分類:計算機職稱論文瀏覽:1次
摘 要: 摘要:區(qū)塊鏈技術(shù)是一門新興的技術(shù),受到各行各業(yè)的廣泛關(guān)注.各個國家正在積板研究區(qū)塊鏈技術(shù)可能給金融乃至生活的方方面面帶來的變革.本文先從比特幣區(qū)塊鏈的視角出發(fā),通過了解它的運行機制、基本特征、關(guān)鍵技術(shù)、技術(shù)挑戰(zhàn)等,給讀者建立一個對區(qū)塊鏈的直
摘要:區(qū)塊鏈技術(shù)是一門新興的技術(shù),受到各行各業(yè)的廣泛關(guān)注.各個國家正在積板研究區(qū)塊鏈技術(shù)可能給金融乃至生活的方方面面帶來的變革.本文先從比特幣區(qū)塊鏈的視角出發(fā),通過了解它的運行機制、基本特征、關(guān)鍵技術(shù)、技術(shù)挑戰(zhàn)等,給讀者建立一個對區(qū)塊鏈的直觀感受.然后給出區(qū)塊鏈的形式化定義,并總結(jié)目前區(qū)塊鏈在相關(guān)密碼技術(shù)、安全性分析、共識機制、隱私保護、可擴展性等方面的最新研究進展.密碼技術(shù)是保障區(qū)塊鏈安全的關(guān)鍵技術(shù)之一,也是實現(xiàn)區(qū)塊鏈具體應(yīng)用的基本手段.本文同時指出了多種密碼技術(shù)如特殊數(shù)字簽名、零知識證明、同態(tài)密碼、安全多方計算等在區(qū)塊鏈系統(tǒng)中的(潛在)應(yīng)用價值.盡管區(qū)塊鏈技術(shù)的研究和應(yīng)用發(fā)展迅速并取得很大進展,但區(qū)塊鏈所面臨的諸如呑吐量低、延遲高、耗能高等一系列技術(shù)瓶領(lǐng),嚴重影響大規(guī)模應(yīng)用的真正落地,區(qū)塊鏈技木的研究和應(yīng)用還有很長的路要走,需要各方共同努力.
關(guān)鍵詞:比特幣;密碼貨幣;區(qū)塊鏈;共識協(xié)議;可擴展性
1、引言
自2009年比特幣系統(tǒng)W運行以來,涌現(xiàn)出大量競爭性數(shù)字貨幣,亦可稱之為民間數(shù)字貨幣(以區(qū)別于法定數(shù)字貨幣的概念這些競爭幣(如LitecoinW、Zcash[3l、MoneroW等)大都采用類似于比特幣的基礎(chǔ)架構(gòu),并根據(jù)自身需求進行了適當(dāng)優(yōu)化.據(jù)不完全統(tǒng)計,截止2018年7月25日,民間數(shù)字貨幣已達1600多種,總市值約3000億美元、同時,民間數(shù)字貨幣的出現(xiàn)推動了各國央行對法定數(shù)字貨幣的研宄,如英國的RSCoin'加拿大的Jasper項目M,新加坡的Ubin項目W等.我國央行也早在2014年就成立了法定數(shù)字貨幣研究小組,論證法定數(shù)字貨幣發(fā)行的可行性,發(fā)表了多篇相關(guān)學(xué)術(shù)論文并推出了電子票據(jù)交易平臺原型系統(tǒng).區(qū)塊鏈技術(shù)是比特幣等民間數(shù)字貨幣的底層核心技術(shù),融合了P2P網(wǎng)絡(luò)、共識機制、密碼等關(guān)鍵技術(shù),具有去中心化、不可篡改、匿名性、可追溯性、開放透明等特點,有著非常廣闊的應(yīng)用前景,受到政府部門、金融機構(gòu)、科技公司、學(xué)術(shù)界的廣泛關(guān)注.甚至有人認為,區(qū)塊鏈技術(shù)是繼大型計算機、個人計算機、互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)之后的第五次計算變革,是人類信用進化史上繼血親信用、貴金屬信用、央行紙幣信用之后的第四個里程碑[13】.
雖然各個國家對待數(shù)字貨幣的態(tài)度不盡相同,同一國家對待數(shù)字貨幣的前后態(tài)度也不盡相同,但是各個國家對待數(shù)字貨幣的底層區(qū)塊鏈技術(shù)的態(tài)度卻是高度一致的,先后出臺了一系列鼓勵區(qū)塊鏈技術(shù)發(fā)展和應(yīng)用的政策.美國、歐盟、日本等發(fā)達國家正在積極推動區(qū)塊鏈技術(shù)理論研宄、標準制定、應(yīng)用落地等相關(guān)工作.國際上同時成立了不少區(qū)塊鏈聯(lián)盟,如R3聯(lián)盟、HyperLedger等,旨在推動區(qū)塊鏈技術(shù)的理論和應(yīng)用研究.在我國,區(qū)塊鏈技術(shù)已經(jīng)上升到國家科技戰(zhàn)略層面.2016年12月,《國務(wù)院關(guān)于印發(fā)“十三五”國家信息化規(guī)劃的通知》中首次提及區(qū)塊鏈,明確提出加強區(qū)塊鏈等新技術(shù)的創(chuàng)新、試驗和應(yīng)用.目前區(qū)塊鏈的應(yīng)用己延伸到社會管理、物聯(lián)網(wǎng)、醫(yī)療健康、智能制造等多個領(lǐng)域.
密碼技術(shù)是區(qū)塊鏈的關(guān)鍵技術(shù)之一,不僅關(guān)系區(qū)塊鏈安全和效率,也是實現(xiàn)區(qū)塊鏈具體應(yīng)用的基本手段.區(qū)塊鏈技術(shù)的發(fā)展,將一些密碼技術(shù)從幕后推到臺前,進一步促進了密碼理論和應(yīng)用的研宄.越來越多的密碼學(xué)者開始關(guān)注并研宄區(qū)塊鏈相關(guān)密碼技術(shù).一方面,密碼學(xué)者從區(qū)塊_安全性分析、共識機制、隱私保護等具體應(yīng)用需求開展特殊數(shù)字簽名、零知識證明、同態(tài)密碼、安全多方計算等密碼算法和協(xié)議的研宄工作;另一方面,密碼學(xué)者又利用區(qū)塊鏈去中心化、公開透明、不可篡改等特性構(gòu)造安全多方計算協(xié)議、可公開驗證的隨機數(shù)種子等.
期刊推薦:《科技導(dǎo)報》以發(fā)表國內(nèi)外科學(xué)技術(shù)各學(xué)科專業(yè)原創(chuàng)性學(xué)術(shù)論文為主,同時刊登階段性最新科研成果報告,以及國內(nèi)外重大科技新聞,快速、全方位、高密度、大容量地提供科技信息,力爭辦成一份有影響、有特色、有品位的高層次、高水平、高質(zhì)量學(xué)術(shù)雜志。
盡管區(qū)塊鏈技術(shù)具有廣泛的應(yīng)用前景,甚至被認為是一種顛覆性技術(shù),但是區(qū)塊鏈也面臨一些技術(shù)瓶頸,如吞吐量低、延遲高等.這些問題都嚴重影響了大規(guī)模區(qū)塊鏈應(yīng)用的真正落地.區(qū)塊鏈技術(shù)的理論研宄和應(yīng)用實踐還有很長的路要走.
本文對區(qū)塊鏈技術(shù)展開調(diào)研,總結(jié)區(qū)塊鏈技術(shù)的熱點研宄方向,突出密碼在區(qū)塊鏈技術(shù)中的重要地位.全文結(jié)構(gòu)如下,第2節(jié)介紹區(qū)塊鏈相關(guān)術(shù)語.第3節(jié)介紹比特幣區(qū)塊鏈的基本特征、關(guān)鍵技術(shù)以及面臨的技術(shù)挑戰(zhàn).第4節(jié)給出區(qū)塊鏈的形式化定義.第5節(jié)主要介紹區(qū)塊鏈技術(shù)的研宄和應(yīng)用進展.第6節(jié)給出總結(jié)和建議.
2相關(guān)術(shù)語
為了方便敘述,本節(jié)列出一些常見的區(qū)塊鏈相關(guān)術(shù)語.需要說明的是,作為一種新技術(shù),區(qū)塊鏈的很多術(shù)語在不同的參考資料中略有不同,理解上也可能略有不同.這里我們盡可能給出明確定義,并確保本文其他地方相同術(shù)語含義的一致性.
區(qū)塊鏈(Blockchain)
狹義地,區(qū)塊鏈是一種按照時間順序?qū)?shù)據(jù)區(qū)塊以順序相連的方式組合成的一種鏈式數(shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改和不可偽造的分布式賬本.廣義地,區(qū)塊鏈技術(shù)是利用塊鏈式數(shù)據(jù)結(jié)構(gòu)來驗證與存儲數(shù)據(jù)、利用分布式節(jié)點共識算法來生成和更新數(shù)據(jù)、利用密碼學(xué)的方式保證數(shù)據(jù)傳輸和訪問的安全、利用由自動化腳本代碼組成的智能合約來編程和操作數(shù)據(jù)的一種全新的分布式基礎(chǔ)架構(gòu)與計算范式
.區(qū)塊鏈分類
根據(jù)應(yīng)用場景和參與者的不同,將區(qū)塊鏈分成三類:公有鏈、聯(lián)盟鏈和私有鏈.
公有鏈(Publicblockchain):任何節(jié)點都可以自由加入和退出區(qū)塊鏈系統(tǒng),都可以發(fā)送和確認交易,都可以參與共識過程,沒有中心化的機構(gòu).常見系統(tǒng)有比特幣、以太坊等.
私有鏈(Privateblockchain):只有單一組織擁有寫入權(quán)限,可以制定和修改區(qū)塊鏈規(guī)則,信息一般不公開.私有鏈可用于協(xié)調(diào)企業(yè)內(nèi)部各部門之間的工作.
聯(lián)盟鏈(Consortiumblockchain):介于公有鏈和私有鏈之間,若干組織構(gòu)成利益相關(guān)的聯(lián)盟,約定區(qū)塊鏈規(guī)則.節(jié)點的加入與退出需要聯(lián)盟授權(quán),只允許有限的、經(jīng)過授權(quán)的節(jié)點參與共識過程.常見系統(tǒng)有Corda、Fabric等.
共識機制(Consensus)共識機制是參與者對某個提案達成一致意見的過程.常用的共識機制主要有工作量證明(proofofwork,PoW)、權(quán)益證明(proofofstake,PoS)、實用拜占庭容錯(practicalByzantinefaulttolerance,PBFT)等。
分叉(Fork)
區(qū)塊鏈系統(tǒng)升級時可能發(fā)生分叉.對于一次升級,升級過的節(jié)點稱為新節(jié)點,未升級的節(jié)點稱為舊節(jié)點.根據(jù)新舊節(jié)點相互兼容性上的區(qū)別,可分為軟分叉(softfork)和硬分叉(hardfork).
軟分叉:舊節(jié)點可能無法理解新節(jié)點產(chǎn)生的部分數(shù)據(jù)但是仍然會接受,新節(jié)點也接受舊節(jié)點產(chǎn)生的交易和區(qū)塊.硬分叉:舊節(jié)點不接受新節(jié)點產(chǎn)生的交易和區(qū)塊,新節(jié)點接受舊節(jié)點產(chǎn)生的交易和區(qū)塊,會因為新舊節(jié)點認可的區(qū)塊不同分成兩條鏈.
可擴展性(Scalability)
可擴展性是指隨著節(jié)點的增多,交易量的增加,區(qū)塊鏈系統(tǒng)處理交易和達成共識的能力.主要涉及吞吐量(單位時間內(nèi)處理的交易量)和延遲性(交易從提出到記入?yún)^(qū)塊鏈需要的時間)兩個方面.
交易圖(Transactfongraph)
交易圖是指將地址作為頂點,交易(一個地址發(fā)送給另一個地址)作為有向邊,構(gòu)成的有向圖.可以通過交易圖分析出交易之間的關(guān)聯(lián)性,甚至恢復(fù)出交易者的真實身份.
智能合約(Smartcontract)
智能合約是一種允許在沒有第三方參與的情況下,以代碼方式形成、驗證或執(zhí)行合同的計算機協(xié)議.最早可追溯到1994年NickSzabo給出的定義:一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議.
3比特幣區(qū)塊鏈
區(qū)塊鏈技術(shù)是中本聰設(shè)計比特幣系統(tǒng)首次提出和使用的,同時比特幣也是區(qū)塊鏈第一個成熟的應(yīng)用,因此為了本文更好地介紹區(qū)塊鏈,本節(jié)先介紹比特幣區(qū)塊鏈讓讀者對區(qū)塊鏈先有一個直觀的了解
比特幣系統(tǒng)主要活躍兩大類角色,用戶和礦工:用戶使用比特幣進行交易,礦工競爭挖礦,爭奪記賬權(quán),產(chǎn)生區(qū)塊鏈.比特幣區(qū)塊鏈的具體結(jié)構(gòu)見圖1.具體地,每個區(qū)塊是由區(qū)塊頭和區(qū)塊體兩部分組成,其中區(qū)塊頭主要包含前一個區(qū)塊的區(qū)塊頭哈希值、隨機數(shù)(IV)等,區(qū)塊體則是一些具體交易的集合挖礦就是尋找隨機數(shù)IV使得其區(qū)塊頭哈希值小于某個預(yù)先給定的值(目標哈希值)?當(dāng)目標哈希值很小時,挖礦是一件非常困難的事,需要搜索大量的隨機數(shù)IV,目前比特幣網(wǎng)絡(luò)每產(chǎn)生一個區(qū)塊大約需要進行超過27Q次的哈希運算.競爭記賬是指先找到合法區(qū)塊的礦工,通過P2P網(wǎng)絡(luò)廣播給其他礦工,并得到其他礦工的認可,該礦工就擁有這個區(qū)塊的記賬權(quán),也會得到由此產(chǎn)生的收益(比特幣)比特幣系統(tǒng)通過調(diào)整目標哈希值,控制全網(wǎng)大約每10分鐘產(chǎn)生一個區(qū)塊.
圖1表示當(dāng)前網(wǎng)絡(luò)有l(wèi)個區(qū)塊,所有的礦工都在尋找第*+1個合法區(qū)塊(每個礦工工作的區(qū)塊是不同的).如果某個礦工率先找到第*+1個合法區(qū)塊,將其廣播出去,并得到全網(wǎng)節(jié)點的認可,那么就意味著該礦工獲得第z+1個區(qū)塊的記賬權(quán),而其他礦工的工作無效,緊接著所有礦工轉(zhuǎn)到爭奪第》+2個區(qū)塊記賬權(quán)的競賽當(dāng)中如此這樣,每一個區(qū)塊都包含上一個區(qū)塊頭的哈希值2,所有的區(qū)塊構(gòu)成一條區(qū)塊鏈(又稱全網(wǎng)總賬本).
3.1基本特征
通過以上介紹,梳理總結(jié)比特幣區(qū)塊鏈的基本特征如下:
去中心化:任何節(jié)點的地位都是均等的,任何節(jié)點都可以自由退出或加入比特幣系統(tǒng),所有節(jié)點參與數(shù)據(jù)的驗證、存儲、傳輸和更新,不存在中心化的節(jié)點或管理機構(gòu).
不可篡改:一旦數(shù)據(jù)被記錄到區(qū)塊鏈中,并經(jīng)過多次確認之后,所存儲的數(shù)據(jù)就會永久存儲起來,除非能夠同時控制全網(wǎng)總算力的51%以上.此外,比特幣采用分布式存儲技術(shù),每個節(jié)點都獨立保存完整的區(qū)塊鏈,任何節(jié)點修改自己的區(qū)塊鏈數(shù)據(jù)都是無效的,因此區(qū)塊鏈存儲的數(shù)據(jù)穩(wěn)定性和可靠性極高?
匿名性:比特幣系統(tǒng)通過比特幣地址(假名)進行交易.比特幣地址無法和用戶真實身份對應(yīng)起來,比特幣地址對應(yīng)的私鑰是比特幣所有權(quán)的唯一憑證.因此比特幣使用假名實現(xiàn)一定的匿名性。
可追溯性:區(qū)塊鏈記錄了所有歷史數(shù)據(jù),每一筆比特幣都可以追溯其來源.
開放透明:系統(tǒng)和區(qū)塊鏈數(shù)據(jù)對所有節(jié)點開放,任何人都可以通過公開的接口查詢區(qū)塊鏈數(shù)據(jù)和開發(fā)相關(guān)應(yīng)用.
3.2關(guān)鍵技術(shù)
比特幣系統(tǒng)并不復(fù)雜,但是涉及到了P2P網(wǎng)絡(luò)、共識機制、密碼等多個關(guān)鍵技術(shù),比特幣區(qū)塊鏈的基本特征都是由這些技術(shù)保證的.
P2P網(wǎng)絡(luò)
比特幣采用P2P網(wǎng)絡(luò)架構(gòu).整個系統(tǒng)沒有中心化的硬件或者管理機構(gòu),任意節(jié)點之間的權(quán)利和義務(wù)都是均等的,每個節(jié)點通過多播實現(xiàn)節(jié)點識別和數(shù)據(jù)傳播等功能.當(dāng)發(fā)生交易或找到合法區(qū)塊時,可以通過P2P網(wǎng)絡(luò)發(fā)送給每一個節(jié)點.全網(wǎng)總賬本是由全節(jié)點集體維護的,每個全節(jié)點都能獲得一份完整數(shù)據(jù)庫的拷貝,單個節(jié)點篡改賬本是不可能的,從而保證了比特幣系統(tǒng)的安全性。
共識機制
比特幣系統(tǒng)是通過礦工競爭記賬,來維護全網(wǎng)總賬本,從而獲得一定數(shù)量的比特幣獎勵.為此,礦工爭相解決一種基于哈希函數(shù)的困難問題,即尋找隨機數(shù)IV,使得區(qū)塊頭的哈希值小于某個目標哈希值.這個問題難于計算卻易于驗證,并且當(dāng)?shù)V工提供這樣的隨機數(shù)IV,任何人都確信該礦工為了得到IV已經(jīng)付出足夠多的計算工作.這個過程就稱為基于P〇W的共識機制.之所以選擇哈希函數(shù)設(shè)計困難問題,還因為容易調(diào)整挖礦難度.
密碼技術(shù)
比特幣系統(tǒng)的安全性不是基于可信第三方和任何物理實體,而是密碼學(xué)原理.事實上,比特幣使用的密碼學(xué)技術(shù)都是相當(dāng)成熟的,具體算法采用的也是國際通用的標準算法,如哈希函數(shù)SHA256是SHA-2算法簇中的一類[16],數(shù)字簽名ECDSAM使用的橢圓曲線是secP256kl
哈希函數(shù)在比特幣區(qū)塊鏈中主要用于區(qū)塊的產(chǎn)生和共識過程.這里主要介紹區(qū)塊的產(chǎn)生.圖2是比特幣區(qū)塊的結(jié)構(gòu)示意圖.哈希函數(shù)用于計算區(qū)塊頭的哈希值,還用于生成Merkle樹.所謂Merkle樹,就是通過二叉樹的形式將交易集合打包成一個哈希值(Merkle根),其作用是快速歸納和校驗區(qū)塊數(shù)據(jù)的存在性和完整性.