什麼是區塊鏈資料庫

買賣虛擬貨幣
2012年,我去建設銀行證券業務部開通買股票的賬戶。七七八八簽了一大堆檔案,我一張紙都沒看,櫃檯小妹讓我在哪簽字我就籤哪。最後我問,“這些檔案我可不可以扔了?”人家回答,按相關法規,我們需要至少儲存20年。我國的證券登記結算管理辦法規定,“證券登記結算機構應當妥善儲存登記、存管和結算的原始憑證及有關檔案和資料。其儲存期限不得少於20年。”我很困惑,這麼多證券公司,這麼多資料檔案,浩如煙海,怎麼能做到完整儲存20年?事實上,我辦理銀行卡,辦手機卡,買保險……各種開戶資料,沒有一份能完整儲存1年的。我都看都不帶看就撕了扔了。比特幣第一筆交易發生在2009年1月4日2點15分5秒。到今天,超過10年了。在這10多年的過程中,比特幣網路上發生的所!有!交易,全都完整地儲存了下來。任何人都可以下載查閱比特幣所!有!的歷史交易。更牛X的是,比特幣網路還沒有專門的人去維護,沒有專門的法規去約束誰要儲存這些交易。它就這樣穩定安全地儲存了10年的交易資料。

區塊鏈或許命中註定承擔儲存那些需要長期、安全、穩定、數量龐大的資料。

區塊鏈資料庫,這個名字聽起來太拗口,很難理解。遇到這個名詞,我腦子裡一直無法想象出一個對應的“視覺化圖景”。說資料庫,我們能想象出一張表;說區塊鏈,我們能想象出一個一個區塊首尾相連。但區塊鏈資料庫是個什麼玩意?

在2018年初,我去南方科技大學拜訪,幾個朋友正在討論一個區塊鏈專案,叫“VEE——Blockchain Database Cloud”。這個專案就是現在的vsys。

當時我就被裡面講到的區塊鏈資料庫的概念吸引了。為了搞明白這個概念,我追著這個專案研究了很久。

我們熟悉的資料庫都是為特定要求定製開發的。比如你自己做一張Excel表,用來記錄你的炒幣交易紀錄,這就是一個資料庫。一般的定義是,資料庫是一定資料格式儲存的,和應用獨立的資料集合。使用者可以對資料庫進行增、刪、改、查等操作。

而區塊鏈是一種不可刪除的分散式賬本,對區塊鏈資料的“增”只能以“交易”這種方式來執行。就這兩特性就和我們熟悉的資料庫相差太遠了。

我們需要把理解下沉一層,把區塊鏈當成是“資料庫的資料庫”。或者可以這樣理解,“區塊鏈”是沒有精煉的原油,而“資料庫”是石油精煉後的汽油。

對區塊鏈的操作,只有一條指令——交易。而對資料庫的操作,有四條指令——增、刪、改、查。要把區塊鏈當成資料庫來使用,需要將對資料庫的操作指令都封裝成交易,一個交易對應一個資料庫操作。區塊鏈網路會以交易的形式記錄下所有對資料庫的操作,而且會記錄交易的時間順序。

在區塊鏈上沉澱了的交易後,再設計一個“應用”,或者叫“演算法”,“應用”會從區塊鏈網路的初始塊開始讀取相關的交易,來獲取資料庫需要的所有相關交易,並且對交易再執行資料庫的增刪改查操作,最後形成一張表,或者說形成一個特定的資料庫。而且“應用”會實時掃描區塊鏈,以檢查是否有新的資料庫操作。

使用者以發交易的方式對區塊鏈發起操作,區塊鏈會記錄所有的交易,“應用”在區塊鏈上讀取提煉相關交易,形成特定功能的資料庫。

使用區塊鏈這種方式來設計資料庫有什麼好處呢?

區塊鏈網路會記錄對資料庫的所有歷史操作,歷史操作不可更改。完美滿足證券登記結算管理辦法規定的資料需要保證20年。

傳統的資料庫管理員,或者駭客對資料歷史記錄的修改是一個經常爆發的問題。在2014年,幣圈有一個交易所被駭客入侵。駭客壞的很,幣沒偷著,但把交易所後臺資料庫給刪了。導致交易所賬戶系統沒了,都不知道自己有哪些使用者了,更不知道幣該歸誰了。朋友L在裡面存了幣,最後依靠所有的郵件歷史記錄,和客服溝通,取回了當時充值的金額,至於中間是否透過交易虧損還是掙了,就不給他算了。

區塊鏈會記錄交易的時序,所以資料可以在任意時間恢復到任意位置。

幣圈交易所有時候會搞“回滾”,被駭客攻擊了,可能就會“回滾”。你去google搜一下,主流交易所都幹過這事。這就需要資料庫記錄下所有的歷史操作和時序。

區塊鏈資料庫可以做到公開透明,也可以透過資料加密的方式做到保密。完美。

區塊鏈資料庫可以做到無需授權即接入。使用傳統的資料庫技術,一定會有嚴重的許可權等級,誰是管理員,誰是一般使用者。但區塊鏈資料庫,可以不需要許可權等級,讓任何使用者都無障礙進接入進來,不需要授權,不需要註冊。因為這玩意是去中心化的。

當然區塊鏈資料庫也有很多缺點了。

能承接的資料量嚴重有限。傳統資料庫,你想搞多大就搞多大。現在BTC網路,10分鐘也就處理1M的資料,執行了10年,積累了280G的資料。

使用區塊鏈很貴,成本很高。使用者寫一筆交易都要花一筆礦工費。現在往BTC寫資料要超過50塊錢1KB。當然也有便宜的,BCH平均是2分錢1KB。什麼資料都往鏈上整的想法,就要受到成本的約束。傳統的資料庫,相對來說價格可以忽略不計。

利用區塊鏈來設計資料庫,需要找到獨特的場景,金融領域是一個不錯的選擇。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;