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