詹煜
摘要:區(qū)塊鏈作為一種新興的概念正在快速興起,區(qū)塊鏈中包含有容錯(cuò)率很高的分布式數(shù)據(jù)庫(kù)。該文試圖將區(qū)塊鏈中的數(shù)據(jù)存儲(chǔ)與傳統(tǒng)數(shù)據(jù)庫(kù)存儲(chǔ)在運(yùn)行機(jī)制等方面上做一個(gè)簡(jiǎn)要對(duì)比。
關(guān)鍵詞:區(qū)塊鏈;分布式數(shù)據(jù)存儲(chǔ);傳統(tǒng)數(shù)據(jù)庫(kù);運(yùn)行機(jī)制
中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)23-0044-02
1 前言
區(qū)塊鏈[1]是分布式數(shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制、加密算法等計(jì)算機(jī)技術(shù)的新型應(yīng)用模式。所謂共識(shí)機(jī)制是區(qū)塊鏈系統(tǒng)中實(shí)現(xiàn)不同節(jié)點(diǎn)之間建立信任、獲取權(quán)益的數(shù)學(xué)算法。其中,區(qū)塊鏈中的分布式數(shù)據(jù)存儲(chǔ)除了具有很強(qiáng)的容錯(cuò)性外也有別于現(xiàn)有的數(shù)據(jù)庫(kù)。本文將從區(qū)塊鏈分布式數(shù)據(jù)存儲(chǔ)與傳統(tǒng)數(shù)據(jù)庫(kù)的運(yùn)行機(jī)制入手,對(duì)二者進(jìn)行一個(gè)對(duì)比。區(qū)塊鏈功能示意圖如圖1所示。
2 傳統(tǒng)數(shù)據(jù)庫(kù)與區(qū)塊鏈數(shù)據(jù)庫(kù)的運(yùn)行機(jī)制
傳統(tǒng)的數(shù)據(jù)庫(kù)采用的是C/S架構(gòu),在C/S架構(gòu)中,數(shù)據(jù)存放在服務(wù)器端,而用戶可以通過(guò)客戶端,對(duì)存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行修改。在傳統(tǒng)數(shù)據(jù)庫(kù)的架構(gòu)中,服務(wù)器端會(huì)對(duì)不同的用戶分配不同的數(shù)據(jù)修改權(quán)限,而這種對(duì)用戶的控制權(quán)則存放在指定授權(quán)的機(jī)構(gòu)處,由機(jī)構(gòu)進(jìn)行統(tǒng)一的分配。從某種意義上說(shuō),數(shù)據(jù)庫(kù)的管理是由指定的授權(quán)機(jī)構(gòu)來(lái)完成的。那么,一旦授權(quán)機(jī)構(gòu)的安全受到侵害,則整個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)都會(huì)面臨泄露、修改甚至被完全刪除的風(fēng)險(xiǎn)。傳統(tǒng)數(shù)據(jù)庫(kù)的示意圖如圖2所示。
從圖中可以看出,在傳統(tǒng)數(shù)據(jù)庫(kù)的工作機(jī)制中,授權(quán)中心并不直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,對(duì)數(shù)據(jù)庫(kù)的操作都是由經(jīng)授權(quán)中心認(rèn)證的用戶來(lái)完成。
區(qū)塊鏈數(shù)據(jù)庫(kù)由多個(gè)分散的節(jié)點(diǎn)組成。區(qū)塊鏈中的每個(gè)節(jié)點(diǎn)都會(huì)參與整個(gè)數(shù)據(jù)管理的過(guò)程。面對(duì)數(shù)據(jù)庫(kù)中的內(nèi)容修改問(wèn)題,所有節(jié)點(diǎn)都會(huì)驗(yàn)證新的修改,而且只有在大多數(shù)甚至是全部節(jié)點(diǎn)都達(dá)成共識(shí)的情況下,本次修改才會(huì)被確認(rèn)寫入數(shù)據(jù)庫(kù),這個(gè)就是區(qū)塊鏈數(shù)據(jù)庫(kù)的共識(shí)機(jī)制。
比特幣(Bitcoin)[2]是區(qū)塊鏈技術(shù)的一個(gè)實(shí)際應(yīng)用。在比特幣中,這種共識(shí)機(jī)制是通過(guò)各個(gè)節(jié)點(diǎn)計(jì)算復(fù)雜的哈希(hashing)問(wèn)題的解來(lái)達(dá)成的,這個(gè)求解的過(guò)程通常也被叫作“挖礦”。而在區(qū)塊鏈的另一個(gè)實(shí)際應(yīng)用——以太坊[3]中,這種共識(shí)機(jī)制是由股權(quán)證明來(lái)完成的。
從以上運(yùn)行機(jī)制的對(duì)比可以發(fā)現(xiàn),區(qū)塊鏈數(shù)據(jù)庫(kù)對(duì)于傳統(tǒng)的數(shù)據(jù)技術(shù)而言,其運(yùn)行機(jī)制構(gòu)成了區(qū)塊鏈數(shù)據(jù)庫(kù)的兩大特點(diǎn),即完整性與透明性。首先,在區(qū)塊鏈數(shù)據(jù)庫(kù)中,由于共識(shí)機(jī)制的存在,因此每個(gè)用戶所檢索的數(shù)據(jù)從數(shù)據(jù)被寫入的那一刻起就不會(huì)遭到損壞或改寫,保證了區(qū)塊鏈數(shù)據(jù)庫(kù)的完整性。其次,同樣由于共識(shí)機(jī)制的存在,每個(gè)用戶都可以獲知并且驗(yàn)證區(qū)塊鏈數(shù)據(jù)庫(kù)中的內(nèi)容變化,并且這種內(nèi)容變化與時(shí)間推移是有著明確的相關(guān)性的,保證了數(shù)據(jù)庫(kù)的透明性。區(qū)塊鏈數(shù)據(jù)庫(kù)的示意圖如圖3 所示。
3 傳統(tǒng)數(shù)據(jù)庫(kù)與區(qū)塊鏈數(shù)據(jù)庫(kù)的操作機(jī)制
傳統(tǒng)的數(shù)據(jù)庫(kù)中,用戶對(duì)于數(shù)據(jù)庫(kù)的操作有以下4大類:1)創(chuàng)建數(shù)據(jù)庫(kù);2)讀取數(shù)據(jù)庫(kù);3)更新數(shù)據(jù)庫(kù);4)刪除數(shù)據(jù)庫(kù)。每種操作機(jī)制與數(shù)據(jù)庫(kù)的授權(quán)權(quán)限相關(guān),存在多個(gè)用戶權(quán)限相同的情況。
區(qū)塊鏈數(shù)據(jù)庫(kù)中,僅僅支持兩類用戶對(duì)數(shù)據(jù)庫(kù)的操作:1)讀?。?)增加。從這個(gè)層面看,區(qū)塊鏈的數(shù)據(jù)庫(kù)只能增加,即新數(shù)據(jù)只能以附加塊的形式向區(qū)塊鏈中數(shù)據(jù)庫(kù)加入,而先前數(shù)據(jù)庫(kù)中的數(shù)據(jù)將會(huì)永久保存,僅供讀取,無(wú)法更改。
4 區(qū)塊鏈數(shù)據(jù)庫(kù)的增加機(jī)制
區(qū)塊鏈有時(shí)候也被稱作不可更改的分布式的賬本[4],其原因在于區(qū)塊鏈還擁有交易驗(yàn)證和交易結(jié)果寫入的機(jī)制,但是這種機(jī)制的基礎(chǔ)在于整個(gè)區(qū)塊鏈數(shù)據(jù)庫(kù)在整個(gè)交易發(fā)生之前的數(shù)據(jù)是不可更改的。在此基礎(chǔ)上,新的交易通過(guò)驗(yàn)證(共識(shí)機(jī)制)后,僅能更改相應(yīng)節(jié)點(diǎn)的數(shù)據(jù)狀態(tài),同時(shí)整個(gè)交易也會(huì)背記錄在區(qū)塊鏈上(同樣通過(guò)共識(shí)機(jī)制來(lái)完成)。而且由于區(qū)塊鏈數(shù)據(jù)庫(kù)中的數(shù)據(jù)只能增加,因此每個(gè)節(jié)點(diǎn)隨著時(shí)間推移的數(shù)據(jù)變化都會(huì)永久的保留在區(qū)塊鏈中。這也是區(qū)塊鏈被稱作不可更改的分布式賬本的具體原因。區(qū)塊鏈交易流程圖如圖3所示。
5 結(jié)語(yǔ)
通過(guò)以上分析,我們可以看出,區(qū)塊鏈數(shù)據(jù)庫(kù)跟傳統(tǒng)數(shù)據(jù)庫(kù)相比,區(qū)塊鏈數(shù)據(jù)庫(kù)去掉了傳統(tǒng)數(shù)據(jù)庫(kù)的授權(quán)機(jī)構(gòu),也就是所謂的去中心化,避免了授權(quán)機(jī)構(gòu)的安全問(wèn)題導(dǎo)致的數(shù)據(jù)安全問(wèn)題。其次,區(qū)塊鏈數(shù)據(jù)庫(kù)在去中心化的同時(shí),區(qū)塊鏈數(shù)據(jù)庫(kù)在操作上僅保留了讀取和增加兩種,且增加的過(guò)程必須通過(guò)共識(shí)機(jī)制來(lái)完成增加數(shù)據(jù)的驗(yàn)證。最后,這種共識(shí)機(jī)制同時(shí)保證區(qū)塊鏈數(shù)據(jù)庫(kù)具備完整性與透明性,建立了在整個(gè)區(qū)塊鏈結(jié)構(gòu)中的安全架構(gòu)。
參考文獻(xiàn):
[1]袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動(dòng)化學(xué)報(bào),2016,42(04):481-494.
[2]賈麗平.比特幣的理論、實(shí)踐與影響[J].國(guó)際金融研究,2013(12):14-25.
[3]黃秋波,安慶文,蘇厚勤.一種改進(jìn)PBFT算法作為以太坊共識(shí)機(jī)制的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2017,34(10):288-293,297.
[4]胡乃靜,周歡,董如振.區(qū)塊鏈技術(shù)顛覆金融未來(lái)及在上海金融中心的發(fā)展建議[J].上海金融學(xué)院學(xué)報(bào),2016(03):31-41.
【通聯(lián)編輯:張薇】