袁琛
摘 要 2008年,中本聰發(fā)表了一篇關(guān)于比特幣的論文,首次建立了點(diǎn)對(duì)點(diǎn)電子現(xiàn)金系統(tǒng)的概念,為缺乏第三方可信平臺(tái)和交易雙方互不信任情況下交易活動(dòng)的安全進(jìn)行提供了一種選擇。區(qū)塊鏈技術(shù)是這種點(diǎn)對(duì)點(diǎn)電子現(xiàn)金系統(tǒng)的技術(shù)基礎(chǔ)和關(guān)鍵核心,是一種全新的去中心化結(jié)構(gòu)?,F(xiàn)階段,學(xué)術(shù)界對(duì)區(qū)塊鏈技術(shù)的研究才剛剛起步,研究成果較少且尚未成熟。在本論文中,筆者首先對(duì)區(qū)塊鏈技術(shù)的基礎(chǔ)架構(gòu)進(jìn)行分析,然后對(duì)區(qū)塊鏈的特點(diǎn)進(jìn)行了分析。然后對(duì)區(qū)塊鏈技術(shù)使用中的公示機(jī)制進(jìn)行了介紹,并對(duì)比了其特點(diǎn)。文章對(duì)于區(qū)塊鏈技術(shù)的發(fā)展有較一定的理論指導(dǎo)價(jià)值。
關(guān)鍵詞 區(qū)塊鏈;特點(diǎn);共識(shí)機(jī)制
中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2019)230-0153-02
1 區(qū)塊鏈基礎(chǔ)架構(gòu)及其特點(diǎn)
區(qū)塊鏈在比特幣系統(tǒng)中是作為一個(gè)分布式共享賬本的形式存在,同時(shí)也是比特幣的底層技術(shù),在其中發(fā)揮連接溝通的作用,使得網(wǎng)絡(luò)中所有節(jié)點(diǎn)之間形成穩(wěn)定的信任關(guān)系。有關(guān)區(qū)塊鏈的含義,學(xué)術(shù)界有著狹義和廣義兩種說法,前者認(rèn)為區(qū)塊鏈本質(zhì)上是一種數(shù)據(jù)結(jié)構(gòu),負(fù)責(zé)將數(shù)據(jù)信息進(jìn)行封裝,并以時(shí)間順序進(jìn)行排序,同時(shí)對(duì)內(nèi)容進(jìn)行加密,確保其不可偽造和篡改。后者則認(rèn)為區(qū)塊鏈實(shí)質(zhì)上是一種以塊鏈形式數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)和驗(yàn)證數(shù)據(jù)、以分布式共識(shí)算法生成和更新數(shù)據(jù)、以密碼學(xué)方式加密數(shù)據(jù)保障傳輸、同時(shí)以自動(dòng)化腳本代碼進(jìn)行數(shù)據(jù)運(yùn)算和系統(tǒng)運(yùn)轉(zhuǎn)的分布式構(gòu)架。
傳統(tǒng)的第三方支付平臺(tái)是一種中心化的數(shù)據(jù)庫,網(wǎng)絡(luò)中所有的交易行為和交易信息必須經(jīng)由這個(gè)中心數(shù)據(jù)庫完成和記錄,因此需要確保中心與各節(jié)點(diǎn)之間的暢通,維護(hù)成本高,難度大[ 1 - 3 ]。
而區(qū)塊鏈?zhǔn)且环N去中心化的數(shù)據(jù)庫,去除了傳統(tǒng)第三方支付平臺(tái)中的中央數(shù)據(jù)庫,繼而由網(wǎng)絡(luò)中千千萬萬個(gè)節(jié)點(diǎn)來共同承擔(dān)數(shù)據(jù)庫的作用,儲(chǔ)存和維護(hù)發(fā)生在網(wǎng)絡(luò)中的每一筆交易信息,因此,每個(gè)節(jié)點(diǎn)既扮演數(shù)據(jù)庫維護(hù)者的角色,也發(fā)揮數(shù)據(jù)共享者的作用。然而,在區(qū)塊鏈系統(tǒng)中,僅僅做到去中心化還不能完全保障數(shù)據(jù)安全,還需將網(wǎng)絡(luò)中各個(gè)區(qū)塊之間進(jìn)行鏈接,共同記錄和監(jiān)管所有的交易數(shù)據(jù)。在區(qū)塊鏈中,各區(qū)塊之間是一種共生的關(guān)系,即下一區(qū)塊的內(nèi)容由上一區(qū)塊的內(nèi)容決定,區(qū)塊之間環(huán)環(huán)相扣,若要更改其中一個(gè)區(qū)塊的內(nèi)容需要獲取其他全部區(qū)塊的認(rèn)可,因此難度極大,繼而確保了數(shù)據(jù)的安全性[ 4 ]。
一般來說,區(qū)塊鏈的基礎(chǔ)架構(gòu)由數(shù)據(jù)層、區(qū)塊層、網(wǎng)絡(luò)層、共識(shí)層和激勵(lì)層、應(yīng)用層五層構(gòu)成(如圖2所示)。底層數(shù)據(jù)全部保存在數(shù)據(jù)層中,為了確保其安全性,采用了非對(duì)稱加密、哈希算法、時(shí)間戳、Merkle樹等密碼學(xué)技術(shù)進(jìn)行加密;區(qū)塊層中包括了區(qū)塊之間的連接方式及其內(nèi)部結(jié)構(gòu);網(wǎng)絡(luò)層是對(duì)數(shù)據(jù)安全性進(jìn)行驗(yàn)證的,其應(yīng)該是對(duì)數(shù)據(jù)的安全性進(jìn)行驗(yàn)證,除此之外,還要對(duì)信息的傳播方式進(jìn)行協(xié)議的統(tǒng)一。如圖所示,圖中的激勵(lì)和網(wǎng)絡(luò)層使用封裝的方法,對(duì)各節(jié)點(diǎn)之間的共識(shí)機(jī)制、經(jīng)濟(jì)激勵(lì)發(fā)行機(jī)制和分配機(jī)制;頂層應(yīng)用層則包括區(qū)塊鏈的各種應(yīng)用場(chǎng)景和案例。鏈?zhǔn)絽^(qū)塊結(jié)構(gòu)、分布式節(jié)點(diǎn)的共識(shí)算法、哈希值、非對(duì)稱加密、智能合約、經(jīng)濟(jì)激勵(lì)機(jī)制等基礎(chǔ)技術(shù)是該模型的核心部分[ 5 ]。
區(qū)塊鏈的特點(diǎn)如下所示:
1)去中心化。區(qū)塊鏈的核算和存儲(chǔ)技術(shù)是分布式的,相比與傳統(tǒng)數(shù)據(jù)結(jié)構(gòu),去除了中央數(shù)據(jù)庫,網(wǎng)絡(luò)中各節(jié)點(diǎn)具有相等的權(quán)利和義務(wù),由全體共同負(fù)責(zé)數(shù)據(jù)的維和和存儲(chǔ)。
2)自治性。區(qū)塊鏈中所有節(jié)點(diǎn)的數(shù)據(jù)交互遵循一套既定的協(xié)議和規(guī)范,任何人為的干預(yù)行為都將被拒絕,因此整個(gè)區(qū)塊鏈節(jié)點(diǎn)都能在自由安全的環(huán)境下交換數(shù)據(jù),從而確保交易活動(dòng)的安全可靠。
3)不可篡改性。數(shù)據(jù)信息一旦通過各節(jié)點(diǎn)驗(yàn)證寫入?yún)^(qū)塊鏈系統(tǒng),就將被各節(jié)點(diǎn)共識(shí)并封裝,在單個(gè)節(jié)點(diǎn)篡改數(shù)據(jù)信息不能達(dá)成共識(shí),因而無效,從而極大程度地確保了區(qū)塊鏈信息的安全性。
4)匿名性。整個(gè)區(qū)塊鏈都遵循同一套協(xié)議和規(guī)范,因此網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)之間無需建立信任即可進(jìn)行數(shù)據(jù)交互,從而確保了數(shù)據(jù)信息的匿名性。
2 區(qū)塊鏈共識(shí)機(jī)制與特點(diǎn)
區(qū)塊鏈系統(tǒng)中如果各個(gè)節(jié)點(diǎn)能夠相互信任的話,那么用戶之間就能進(jìn)行信息的寫入和交換,這也是區(qū)塊鏈技術(shù)使用的技術(shù)支持前提。以往的用戶之間都是相互獨(dú)立的,各個(gè)節(jié)點(diǎn)之間很難進(jìn)行相互信任,但是如今的區(qū)塊鏈技術(shù)能夠打破該技術(shù)壁壘,實(shí)現(xiàn)用戶之間可信任的數(shù)據(jù)交換。
1)POW:顧名思義,工作量證明機(jī)制即對(duì)于工作量的證明,是指在分布式系統(tǒng)中,新區(qū)塊的生成必須滿足的要求。節(jié)點(diǎn)通過消耗自身算力計(jì)算隨機(jī)哈希散在數(shù)列的數(shù)值,最先求得該隨機(jī)數(shù)的節(jié)點(diǎn)體現(xiàn)了該節(jié)點(diǎn)的算力,獲得比特幣獎(jiǎng)勵(lì)同時(shí)享有記賬權(quán)。在比特幣系統(tǒng)中,為了確保新區(qū)塊的生成時(shí)間維持在10分鐘,隨機(jī)數(shù)的計(jì)算的難度值每2016塊調(diào)整一次。在以太坊社區(qū)中,為了提高區(qū)塊的生成效率,使得每12秒生成一個(gè)新區(qū)塊,隨機(jī)數(shù)搜索算法和難度值調(diào)整算法均進(jìn)行了一定程度的優(yōu)化。
2)POS:POS(Proof of Stake)直譯意思為權(quán)益的證實(shí),與前面所述對(duì)于工作量的證明不同的是,權(quán)益的證實(shí)是需要對(duì)使用者進(jìn)行權(quán)限的驗(yàn)證。比如POS要對(duì)使用該算法的用戶,要求其提供貨幣的擁有證明,權(quán)益最高的節(jié)點(diǎn)將獲得記賬權(quán)。挖礦難度值方面,POW共識(shí)系統(tǒng)與POS系統(tǒng)有較大的差別,兩者雖然在難易程度上保持一致,有相同的難易度,但是POW共識(shí)系統(tǒng)的特點(diǎn)是其計(jì)算能力越強(qiáng),其在進(jìn)行挖礦活動(dòng)時(shí)就越容易;而后者則與幣齡成反比,即區(qū)塊中交易消耗的持有幣數(shù)量和時(shí)間越多,挖礦難度值越低。
3)PBFT:該共識(shí)機(jī)制的基礎(chǔ)原理是拜占庭容錯(cuò)算法,對(duì)于區(qū)塊鏈中惡意節(jié)點(diǎn)的忍受限度為1/3,即只要全網(wǎng)要確保有超過2/3的節(jié)點(diǎn)是可以受到信任和信賴的,這樣就能使區(qū)塊鏈中的數(shù)據(jù)得到很好地安全保證。數(shù)據(jù)的前后一致和節(jié)點(diǎn)之間的一致性都能得到很好地保證,也能夠確保數(shù)據(jù)的相對(duì)安全性。因此,運(yùn)用此共識(shí)機(jī)制的區(qū)塊鏈網(wǎng)絡(luò)至少具有4個(gè)節(jié)點(diǎn),且要有3個(gè)可信節(jié)點(diǎn)。
上述內(nèi)容為目前比較有代表性的幾種共識(shí)算法的運(yùn)作原理,表1對(duì)上述共識(shí)算法的抗攻擊性、效率、使用場(chǎng)景及適應(yīng)節(jié)點(diǎn)的規(guī)模進(jìn)行了歸納梳理[ 6 ]。
由共識(shí)算法性能比較表可以看出,POW共識(shí)算法與POS共識(shí)算法均適用于節(jié)點(diǎn)規(guī)模較大且任一節(jié)點(diǎn)都享有同等記賬權(quán)(即公有鏈)的場(chǎng)景,其中POW較POS能適應(yīng)更多的節(jié)點(diǎn)。DPOS共識(shí)算法的抗攻擊性和效率很高,同時(shí)也能適應(yīng)較大的節(jié)點(diǎn)規(guī)模,但是該算法只能在選出的擁有記賬權(quán)的節(jié)點(diǎn)(即聯(lián)盟鏈)的場(chǎng)景。PBFT共識(shí)算法的使用場(chǎng)景最廣,能同時(shí)適用于聯(lián)盟鏈或私有鏈,同時(shí)抗攻擊性與效率也非??捎^,但適應(yīng)節(jié)點(diǎn)的規(guī)模較小。RAFT共識(shí)算法是眾多主流算法中效率最高的,但是其缺點(diǎn)也非常多,如抗攻擊性低、適用節(jié)點(diǎn)規(guī)模小、使用場(chǎng)景局限。
參考文獻(xiàn)
[1]Ming Zheng Liu, Zong feng Zou.The application of blockchain technology in spot exchange [J]. Journal of Intelligent & Fuzzy Systems,2018,34(2).
[2]安慶文.基于區(qū)塊鏈的去中心化交易關(guān)鍵技術(shù)研究及應(yīng)用[D].上海:東華大學(xué),2017.
[3]唐塔普斯科特,亞力克斯·塔普斯科特.區(qū)塊鏈革命:比特幣底層技術(shù)如何改變貨幣、商業(yè)和世界[J].中國(guó)報(bào)道,2016(11):34-41.
[4]何蒲,于戈,張巖峰,等.區(qū)塊鏈技術(shù)與應(yīng)用前瞻綜述[J].計(jì)算機(jī)科學(xué),2017,44(4):1-7.
[5]沈鑫,裴慶祺,劉雪峰.區(qū)塊鏈技術(shù)綜述[J].網(wǎng)絡(luò)與信息安全學(xué)報(bào),2016,2(11):52-61.
[6]朱巖,甘國(guó)華,鄧迪,等.區(qū)塊鏈關(guān)鍵技術(shù)中的安全性研究[J].信息安全研究,2016,2(12):1090-1097.