你知道什么是區(qū)塊鏈數(shù)據(jù)庫(kù)嗎
掃描二維碼
隨時(shí)隨地手機(jī)看文章
2012年,我去建設(shè)銀行證券業(yè)務(wù)部開通買股票的賬戶。七七八八簽了一大堆文件,我一張紙都沒(méi)看,柜臺(tái)小妹讓我在哪簽字我就簽?zāi)?。最后我?wèn),“這些文件我可不可以扔了?”人家回答,按相關(guān)法規(guī),我們需要至少保存20年。
我國(guó)的證券登記結(jié)算管理辦法規(guī)定,“證券登記結(jié)算機(jī)構(gòu)應(yīng)當(dāng)妥善保存登記、存管和結(jié)算的原始憑證及有關(guān)文件和資料。其保存期限不得少于20年?!?/p>
我很困惑,這么多證券公司,這么多資料文件,浩如煙海,怎么能做到完整保存20年?事實(shí)上,我辦理銀行卡,辦手機(jī)卡,買保險(xiǎn)……各種開戶資料,沒(méi)有一份能完整保存1年的。我都看都不帶看就撕了扔了。
比特幣第一筆交易發(fā)生在2009年1月4日2點(diǎn)15分5秒。到今天,超過(guò)10年了。在這10多年的過(guò)程中,比特幣網(wǎng)絡(luò)上發(fā)生的所!有!交易,全都完整地保存了下來(lái)。任何人都可以下載查閱比特幣所!有!的歷史交易。更牛X的是,比特幣網(wǎng)絡(luò)還沒(méi)有專門的人去維護(hù),沒(méi)有專門的法規(guī)去約束誰(shuí)要保存這些交易。它就這樣穩(wěn)定安全地保存了10年的交易數(shù)據(jù)。
區(qū)塊鏈或許命中注定承擔(dān)保存那些需要長(zhǎng)期、安全、穩(wěn)定、數(shù)量龐大的數(shù)據(jù)。
區(qū)塊鏈數(shù)據(jù)庫(kù),這個(gè)名字聽起來(lái)太拗口,很難理解。遇到這個(gè)名詞,我腦子里一直無(wú)法想象出一個(gè)對(duì)應(yīng)的“視覺(jué)化圖景”。說(shuō)數(shù)據(jù)庫(kù),我們能想象出一張表;說(shuō)區(qū)塊鏈,我們能想象出一個(gè)一個(gè)區(qū)塊首尾相連。但區(qū)塊鏈數(shù)據(jù)庫(kù)是個(gè)什么玩意?
在2018年初,我去南方科技大學(xué)拜訪,幾個(gè)朋友正在討論一個(gè)區(qū)塊鏈項(xiàng)目,叫“VEE——Blockchain Database Cloud”。這個(gè)項(xiàng)目就是現(xiàn)在的vsys。
當(dāng)時(shí)我就被里面講到的區(qū)塊鏈數(shù)據(jù)庫(kù)的概念吸引了。為了搞明白這個(gè)概念,我追著這個(gè)項(xiàng)目研究了很久。
我們熟悉的數(shù)據(jù)庫(kù)都是為特定要求定制開發(fā)的。比如你自己做一張Excel表,用來(lái)記錄你的炒幣交易紀(jì)錄,這就是一個(gè)數(shù)據(jù)庫(kù)。一般的定義是,數(shù)據(jù)庫(kù)是一定數(shù)據(jù)格式存儲(chǔ)的,和應(yīng)用獨(dú)立的數(shù)據(jù)集合。用戶可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行增、刪、改、查等操作。
而區(qū)塊鏈?zhǔn)且环N不可刪除的分布式賬本,對(duì)區(qū)塊鏈數(shù)據(jù)的“增”只能以“交易”這種方式來(lái)執(zhí)行。就這兩特性就和我們熟悉的數(shù)據(jù)庫(kù)相差太遠(yuǎn)了。
我們需要把理解下沉一層,把區(qū)塊鏈當(dāng)成是“數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)”?;蛘呖梢赃@樣理解,“區(qū)塊鏈”是沒(méi)有精煉的原油,而“數(shù)據(jù)庫(kù)”是石油精煉后的汽油。
對(duì)區(qū)塊鏈的操作,只有一條指令——交易。而對(duì)數(shù)據(jù)庫(kù)的操作,有四條指令——增、刪、改、查。要把區(qū)塊鏈當(dāng)成數(shù)據(jù)庫(kù)來(lái)使用,需要將對(duì)數(shù)據(jù)庫(kù)的操作指令都封裝成交易,一個(gè)交易對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)操作。區(qū)塊鏈網(wǎng)絡(luò)會(huì)以交易的形式記錄下所有對(duì)數(shù)據(jù)庫(kù)的操作,而且會(huì)記錄交易的時(shí)間順序。
在區(qū)塊鏈上沉淀了的交易后,再設(shè)計(jì)一個(gè)“應(yīng)用”,或者叫“算法”,“應(yīng)用”會(huì)從區(qū)塊鏈網(wǎng)絡(luò)的初始?jí)K開始讀取相關(guān)的交易,來(lái)獲取數(shù)據(jù)庫(kù)需要的所有相關(guān)交易,并且對(duì)交易再執(zhí)行數(shù)據(jù)庫(kù)的增刪改查操作,最后形成一張表,或者說(shuō)形成一個(gè)特定的數(shù)據(jù)庫(kù)。而且“應(yīng)用”會(huì)實(shí)時(shí)掃描區(qū)塊鏈,以檢查是否有新的數(shù)據(jù)庫(kù)操作。
用戶以發(fā)交易的方式對(duì)區(qū)塊鏈發(fā)起操作,區(qū)塊鏈會(huì)記錄所有的交易,“應(yīng)用”在區(qū)塊鏈上讀取提煉相關(guān)交易,形成特定功能的數(shù)據(jù)庫(kù)。
使用區(qū)塊鏈這種方式來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)有什么好處呢?
區(qū)塊鏈網(wǎng)絡(luò)會(huì)記錄對(duì)數(shù)據(jù)庫(kù)的所有歷史操作,歷史操作不可更改。完美滿足證券登記結(jié)算管理辦法規(guī)定的數(shù)據(jù)需要保證20年。
傳統(tǒng)的數(shù)據(jù)庫(kù)管理員,或者黑客對(duì)數(shù)據(jù)歷史記錄的修改是一個(gè)經(jīng)常爆發(fā)的問(wèn)題。在2014年,幣圈有一個(gè)交易所被黑客入侵。黑客壞的很,幣沒(méi)偷著,但把交易所后臺(tái)數(shù)據(jù)庫(kù)給刪了。導(dǎo)致交易所賬戶系統(tǒng)沒(méi)了,都不知道自己有哪些用戶了,更不知道幣該歸誰(shuí)了。朋友L在里面存了幣,最后依靠所有的郵件歷史記錄,和客服溝通,取回了當(dāng)時(shí)充值的金額,至于中間是否通過(guò)交易虧損還是掙了,就不給他算了。
區(qū)塊鏈會(huì)記錄交易的時(shí)序,所以數(shù)據(jù)可以在任意時(shí)間恢復(fù)到任意位置。
幣圈交易所有時(shí)候會(huì)搞“回滾”,被黑客攻擊了,可能就會(huì)“回滾”。你去google搜一下,主流交易所都干過(guò)這事。這就需要數(shù)據(jù)庫(kù)記錄下所有的歷史操作和時(shí)序。
區(qū)塊鏈數(shù)據(jù)庫(kù)可以做到公開透明,也可以通過(guò)數(shù)據(jù)加密的方式做到保密。完美。
區(qū)塊鏈數(shù)據(jù)庫(kù)可以做到無(wú)需授權(quán)即接入。使用傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù),一定會(huì)有嚴(yán)重的權(quán)限等級(jí),誰(shuí)是管理員,誰(shuí)是一般用戶。但區(qū)塊鏈數(shù)據(jù)庫(kù),可以不需要權(quán)限等級(jí),讓任何用戶都無(wú)障礙進(jìn)接入進(jìn)來(lái),不需要授權(quán),不需要注冊(cè)。因?yàn)檫@玩意是去中心化的。
當(dāng)然區(qū)塊鏈數(shù)據(jù)庫(kù)也有很多缺點(diǎn)了。
能承接的數(shù)據(jù)量嚴(yán)重有限。傳統(tǒng)數(shù)據(jù)庫(kù),你想搞多大就搞多大。現(xiàn)在BTC網(wǎng)絡(luò),10分鐘也就處理1M的數(shù)據(jù),運(yùn)行了10年,積累了280G的數(shù)據(jù)。
使用區(qū)塊鏈很貴,成本很高。用戶寫一筆交易都要花一筆礦工費(fèi)。現(xiàn)在往BTC寫數(shù)據(jù)要超過(guò)50塊錢1KB。當(dāng)然也有便宜的,BCH平均是2分錢1KB。什么數(shù)據(jù)都往鏈上整的想法,就要受到成本的約束。傳統(tǒng)的數(shù)據(jù)庫(kù),相對(duì)來(lái)說(shuō)價(jià)格可以忽略不計(jì)。
利用區(qū)塊鏈來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù),需要找到獨(dú)特的場(chǎng)景,金融領(lǐng)域是一個(gè)不錯(cuò)的選擇。
來(lái)源: 閃電HSL