區(qū)塊鏈數(shù)據(jù)庫說明分析
區(qū)塊鏈(Blockchain),或者說分布式賬本(DLT, Distributed Ledger Technology)最早是起源于比特幣的一個重要概念,其本質上是一個去中心化的數(shù)據(jù)庫。區(qū)塊鏈系統(tǒng)能夠大幅度降低成本,減少風險和管理成本,提升流動性,增加創(chuàng)新產(chǎn)品和服務的機會??梢哉f,和大數(shù)據(jù)、云計算、人工智能一樣,區(qū)塊鏈是未來十年中舉足輕重的技術。
從筆者的角度來看,區(qū)塊鏈在未來最大的價值并不是在虛擬貨幣這個領域,而是用以取代原先需要中間人和第三方驗證的系統(tǒng)中,以對于數(shù)字系統(tǒng)的信任來取代對于人的信任的領域。
《程序員》已經(jīng)多次講述過區(qū)塊鏈領域的概念,在此不復贅言。
區(qū)塊鏈系統(tǒng)和CAP、ACID和BASE
為什么我們說區(qū)塊鏈系統(tǒng)其實是一個分布式數(shù)據(jù)庫系統(tǒng)?
ACID
傳統(tǒng)的數(shù)據(jù)庫都滿足ACID原則。我們首先來看一個“事務”(transaction)的概念。事務是一個操作序列,是一個不可分割的基本工作單位。在一個傳統(tǒng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)中,事務應該具有四個特性:
原子性(Atomicity)
一致性(Consistency)
隔離性(Isolation)
持久性(Durability)
取這四個英文單詞的首字母縮寫,我們得到的是ACID。
原子性指事務是一個不可分割的最基本工作單位,事務中的操作要么都執(zhí)行,要么都不執(zhí)行;一致性是指數(shù)據(jù)庫的完整性約束不會被任何事務的發(fā)生破壞,也就是說數(shù)據(jù)庫的事務不能破壞數(shù)據(jù)的完整性;隔離性是說多個事務并發(fā)訪問時,事務之間是被隔離開的,一個事務不應該影響其他事務的運行效果;持久性則意味著在事務完成以后,該事務所對數(shù)據(jù)庫做的更改便被永久保存在數(shù)據(jù)庫之中,即使系統(tǒng)本身發(fā)生了事故也不會更改。
從ACID的四個特性來看,我們發(fā)現(xiàn)其實比特幣區(qū)塊鏈系統(tǒng)幾乎具有這些特點:
一個區(qū)塊要么被全部記錄進入?yún)^(qū)塊鏈,要么不被認可,不可能有中間狀態(tài);
一個區(qū)塊在加入?yún)^(qū)塊鏈之后,原本區(qū)塊鏈的系統(tǒng)依然保持完整性;
每次只有一個區(qū)塊可以被加入到區(qū)塊鏈中,所以隔離性是當然的;
而在區(qū)塊被寫入鏈條之后,新的區(qū)塊鏈會被復制到所有的區(qū)塊鏈節(jié)點上,被永久保存。
在區(qū)塊鏈系統(tǒng)上有一個特殊情況,如果兩個不同的節(jié)點差不多同時申請挖幣的獎勵,那么它們中會有一個節(jié)點計算出的區(qū)塊在最終會被拋棄,因而ACID特性中的D(持久性)其實是不滿足的。
BASE
因為區(qū)塊鏈節(jié)點處于地球各處,而這些節(jié)點又是由不同用戶維護的,所以其實我們并不能保證每次訪問區(qū)塊鏈的系統(tǒng)時都能獲取到數(shù)據(jù),而這恰恰又對應了互聯(lián)網(wǎng)時代分布式數(shù)據(jù)系統(tǒng)的一個特性,可以稱之為為BASE。BASE是一個很怪異的詞語的縮寫:Basically Available,Soft-state,Eventual Consistency(基本上是可訪問的、軟狀態(tài)、最終一致性)。
在BASE理念中,基本可用是指系統(tǒng)在出現(xiàn)不可預知的故障時,允許損失部分可用性;軟狀態(tài)是指允許系統(tǒng)中的數(shù)據(jù)存在中間狀態(tài),不過該中間狀態(tài)的存在并不會影響系統(tǒng)的整體可用性;最終一致性指的是所有的數(shù)據(jù)副本,在經(jīng)過一段時間的同步之后,最終都能夠達到一致。
和ACID概念的強一致性相比,BASE理念面向的是可擴展的分布式系統(tǒng),BASE通過犧牲強一致性來獲得可用性,并允許數(shù)據(jù)在一段時間內是不一致的。不過兩者的共同點是最終會達到一致狀態(tài)。我們可以認為區(qū)塊鏈系統(tǒng)符合分布式數(shù)據(jù)系統(tǒng)的BASE理念。
CAP
我們再來看區(qū)塊鏈系統(tǒng)和分布式數(shù)據(jù)系統(tǒng)上的CAP理論之間的關系。在分布式數(shù)據(jù)系統(tǒng)中,有三種重要的屬性,分別是:
一致性(Consistency):數(shù)據(jù)一致性,任何一個讀操作總是能讀取到之前完成的寫操作結果,也就是在分布式環(huán)境中,多點的數(shù)據(jù)是一致的。
可用性(Availability):好的響應性能,每一個操作總是能夠在確定的時間內返回,也就是系統(tǒng)隨時都是可用的。
分區(qū)容忍性(Tolerance of network Partition):可靠性,在出現(xiàn)網(wǎng)絡分區(qū)(比如斷網(wǎng))的情況下,分離的系統(tǒng)也能正常運行。
CAP原理解釋了關于這三種屬性的關系。CAP原理的意思是:一個分布式系統(tǒng)不能同時滿足一致性、可用性和分區(qū)容錯性這三個需求,最多只能同時滿足兩個。CAP原理是由美Berkerly的Brewer教授提出。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%
下載地址
區(qū)塊鏈數(shù)據(jù)庫說明分析下載
相關電子資料下載
- 智能時代的三大核心技術 57
- 無人機的攔截方法系統(tǒng)技術盤點 32
- 榮澤科技基于openEuler打造高性能可信數(shù)據(jù)要素流通平臺 148
- 自動化、機器學習和區(qū)塊鏈如何推動電子制造業(yè)的未來發(fā)展 798
- 開源項目專訪 | XuperCore——讓信任的鏈接更加便捷 87
- 車聯(lián)網(wǎng)隱私安全威脅及保護方案 261
- 未來智能技術架構的潛在應用和影響因素 2620
- 圓周率智能X萬鏈信息|戰(zhàn)略合作,開創(chuàng)Web3.0新篇章 245
- GPU一卡難求,數(shù)字幣“礦工”或變身AI算力提供商 4428
- 淺談元宇宙的三大基礎指標 337