中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

一文講透:區(qū)塊鏈?zhǔn)遣皇菙?shù)據(jù)庫(kù)?

2019-12-27    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

原文標(biāo)題:《A Database is not a Blockchain》 作者:cardanians.io 來(lái)源及編譯: stakefish

「分布式數(shù)據(jù)庫(kù)」、「分布式賬本」常被許多人理解為區(qū)塊鏈的另一個(gè)名字。很多時(shí)候,他們「看起來(lái)一樣」甚至「用起來(lái)也差不多」。

那么到底能不能把區(qū)塊鏈跟數(shù)據(jù)庫(kù)劃上等號(hào)?

來(lái)自 Cardano 社區(qū)的一篇文章以數(shù)據(jù)為關(guān)鍵詞探討了這個(gè)話題。stakefish 提煉文中的主要觀點(diǎn)分享給社區(qū),供大家尋找自己的答案。

人們常說區(qū)塊鏈就是一個(gè)又慢又貴的數(shù)據(jù)庫(kù),可擴(kuò)展性還不好。真是這樣嗎?

確實(shí),區(qū)塊鏈永遠(yuǎn)不會(huì)像傳統(tǒng)數(shù)據(jù)庫(kù)那樣快。然而,與數(shù)據(jù)庫(kù)相比區(qū)塊鏈更勝一籌,我們有必要了解這些優(yōu)勢(shì)。

本文中,我們將從數(shù)據(jù)的角度來(lái)討論區(qū)塊鏈到底是什么,然后再來(lái)看看區(qū)塊鏈和數(shù)據(jù)庫(kù)之間最重要的區(qū)別。

「塊鏈」到「區(qū)塊鏈」

從數(shù)據(jù)角度來(lái)看,區(qū)塊鏈用一個(gè)個(gè)塊來(lái)存儲(chǔ)數(shù)據(jù),是一個(gè)與「鏈表(Linked list)」非常類似的結(jié)構(gòu)。鏈表是一個(gè)線性數(shù)據(jù)結(jié)構(gòu),入口點(diǎn)稱為鏈表頭。鏈表中每個(gè)元素都是一個(gè)單獨(dú)的對(duì)象,由數(shù)據(jù)和指針組成,最后一個(gè)塊的指針為空。

 

 

鏈表結(jié)構(gòu)

區(qū)塊鏈增加了一個(gè)功能來(lái)防止歷史數(shù)據(jù)被篡改。

1991 年,Stuart Haber 和 W. Scott Stornetta 兩位作者首次對(duì)以加密學(xué)為基礎(chǔ)的「塊鏈(chain of blocks)」進(jìn)行研究,想要構(gòu)建一個(gè)不能篡改文檔的時(shí)間戳系統(tǒng)。

1992 年,Bayer、Haber 和 Stornetta 將 Merkle 樹嵌入設(shè)計(jì)之中,將多個(gè)文檔證書收集到一個(gè)塊中,提高了塊鏈的效率。

 

 

密碼學(xué)為安全基礎(chǔ)的「塊鏈」結(jié)構(gòu)

要注意當(dāng)時(shí)還沒有使用「區(qū)塊鏈(blockchain)」這個(gè)詞,而是使用了「塊鏈(chain of blocks)」,中本聰在比特幣白皮書中使用的也是「塊鏈」一詞。

如今,概念被再定義。許多項(xiàng)目和 IT 巨頭都在談?wù)搮^(qū)塊鏈技術(shù)。我們已經(jīng)知道最開始的區(qū)塊鏈實(shí)際上指的是密碼學(xué)為安全基礎(chǔ)的「塊鏈」的數(shù)據(jù)結(jié)構(gòu),后來(lái),區(qū)塊鏈隨著人們的談?wù)摦a(chǎn)生含義變化,區(qū)塊鏈一詞更廣泛的來(lái)表示相同數(shù)據(jù)結(jié)構(gòu)的分布式網(wǎng)絡(luò),更多的以「分布式賬本」被談起。

區(qū)別 1:數(shù)據(jù)存取 只能「CR」、不能「UD」

常見的數(shù)據(jù)庫(kù)不使用「塊」,而是使用「表」。表是數(shù)據(jù)庫(kù)中以表格式保存的相關(guān)數(shù)據(jù)集合,由列和行組成。

在關(guān)系數(shù)據(jù)庫(kù)中,表是一組數(shù)據(jù)元素(值),使用垂直列(通過名稱可識(shí)別)和水平行的模型,形成行和列相交的單元格。表具有指定數(shù)量的列,但可以有任意數(shù)量的行。

 

 

數(shù)據(jù)表

人們可以在數(shù)據(jù)庫(kù)中對(duì)數(shù)據(jù)使用四種基本操作:創(chuàng)建、讀取、更新和刪除(CRUD)。

然而,區(qū)塊鏈只允許兩種操作:創(chuàng)建和讀取。區(qū)塊鏈只能在區(qū)塊鏈的末尾附加一個(gè)完整的區(qū)塊(其中包含交易),添加后數(shù)據(jù)無(wú)法更新或刪除。

數(shù)據(jù)庫(kù)允許人們不斷地更改甚至刪除過去存儲(chǔ)的數(shù)據(jù)。區(qū)塊鏈有意保持歷史數(shù)據(jù)不變并始終可用。

區(qū)別 2:數(shù)據(jù)權(quán)限 「一組管理員」≠區(qū)塊鏈節(jié)點(diǎn)

除了「允許進(jìn)行什么操作」,「誰(shuí)來(lái)操作」也是看待區(qū)塊鏈和數(shù)據(jù)庫(kù)之間不同的另一個(gè)重要層面。

數(shù)據(jù)庫(kù)由一個(gè)或者一組管理員維護(hù)。管理員有權(quán)對(duì)數(shù)據(jù)做任何他想做的事情(CRUD 四種操作)。管理者通常是大公司的雇員,必須遵守公司所有者制定的規(guī)則,會(huì)授予用戶有限的權(quán)力來(lái)創(chuàng)建、讀取、修改或刪除數(shù)據(jù)。

但是,即使用戶輸入了正確的數(shù)據(jù),管理員還是可以修改或刪除它。如果對(duì)數(shù)據(jù)正確性存在爭(zhēng)議,用戶沒有或者僅掌握有限的修改權(quán)限,管理員總是比用戶擁有更多的權(quán)限。

區(qū)塊鏈中不存在修改和刪除權(quán)限數(shù)據(jù)的管理員。網(wǎng)絡(luò)中的節(jié)點(diǎn)必須對(duì)任何要添加的數(shù)據(jù)達(dá)成一致。一旦添加了塊并得到確認(rèn),就沒人能輕易地更改歷史數(shù)據(jù),而且人們總是可以通過區(qū)塊鏈對(duì)過去發(fā)生的事情進(jìn)行證實(shí)。

區(qū)塊鏈取代了由管理員維護(hù)的單一服務(wù)器的方式,換以一組獨(dú)立節(jié)點(diǎn),對(duì)添加的內(nèi)容達(dá)成共識(shí)。

從直接參與者的角度來(lái)看,少數(shù)實(shí)體之間的私有區(qū)塊鏈可以看作是一個(gè)分布式、去中心化的系統(tǒng)。如果私有區(qū)塊鏈在單個(gè)公司中使用,那么雖然它有一些分布式系統(tǒng)的優(yōu)勢(shì),但仍然是中心化的解決方案。對(duì)于單個(gè)公司,數(shù)據(jù)庫(kù)可能是更好的選擇。

區(qū)別 3:數(shù)據(jù)備份 「冗余數(shù)據(jù)庫(kù)」≠區(qū)塊鏈

傳統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行「數(shù)據(jù)復(fù)制」,主要是防止數(shù)據(jù)丟失,不能防止篡改歷史數(shù)據(jù)或管理員重寫數(shù)據(jù)。如果一個(gè)服務(wù)器接受了更改,而其他服務(wù)器沒有,還可能存在數(shù)據(jù)不一致的情況。

 

 

數(shù)據(jù)復(fù)制

區(qū)塊鏈利用去中心化共識(shí),簡(jiǎn)潔的解決了上述問題。一旦網(wǎng)絡(luò)中的所有或大多數(shù)節(jié)點(diǎn)同意添加一個(gè)新塊,數(shù)據(jù)就會(huì)寫入許多硬盤。即便生產(chǎn)新塊的節(jié)點(diǎn)在這一同步后立即崩潰,數(shù)據(jù)也總能在其他節(jié)點(diǎn)上確保安全,崩潰的節(jié)點(diǎn)隨后還能夠獲得關(guān)于所有區(qū)塊的有效版本。

 

 

數(shù)據(jù)在所有節(jié)點(diǎn)達(dá)成一致后被寫入所有磁盤

多個(gè)備份數(shù)據(jù)庫(kù)也不能與區(qū)塊鏈具有同等的安全性。

「數(shù)據(jù)復(fù)制」意味著一個(gè)服務(wù)器向其他服務(wù)器發(fā)送數(shù)據(jù)以進(jìn)行備份。在存儲(chǔ)數(shù)據(jù)之前,服務(wù)器之間并沒有對(duì)儲(chǔ)存某個(gè)版本數(shù)據(jù)達(dá)成共識(shí)。如果一個(gè)服務(wù)器發(fā)送了無(wú)效或錯(cuò)誤的數(shù)據(jù),其他服務(wù)器只是盲目地接收和存儲(chǔ)它(某種數(shù)據(jù)驗(yàn)證仍然在發(fā)揮作用)。

與此相反,在區(qū)塊鏈中,大多數(shù)節(jié)點(diǎn)在將一個(gè)塊存儲(chǔ)到區(qū)塊鏈之前必須達(dá)成一致意見。

區(qū)別 4:數(shù)據(jù)傳輸 分布式系統(tǒng)≠去中心化方案

傳統(tǒng)數(shù)據(jù)庫(kù)采取主從式架構(gòu) (client-server),這是一種軟件結(jié)構(gòu)模型,由客戶端系統(tǒng)和服務(wù)器系統(tǒng)兩部分組成。它們通過計(jì)算機(jī)網(wǎng)絡(luò)或在同一臺(tái)計(jì)算機(jī)上通信。主從式架構(gòu)的應(yīng)用程序是由客戶端和服務(wù)器軟件組成的分布式系統(tǒng),但還是以一個(gè)以服務(wù)器為中樞的中心化解決方案。

數(shù)據(jù)庫(kù)建立在服務(wù)器上。因此,如果只有一個(gè)服務(wù)器,那有可能造成所謂的單點(diǎn)故障。一旦服務(wù)器不能運(yùn)行,所有的客戶端都不能與服務(wù)器通信,也就不能彼此通信。

從數(shù)據(jù)的角度看,所有的客戶端必須依賴于服務(wù)器,認(rèn)為它誠(chéng)實(shí)且做足了安全保障。

現(xiàn)在,很少看到只有一個(gè)服務(wù)器的網(wǎng)絡(luò)。在大多數(shù)情況下,網(wǎng)絡(luò)中有更多的冗余服務(wù)器。如果一個(gè)服務(wù)器崩潰或暫時(shí)不可用,則會(huì)有另一個(gè)服務(wù)器代為處理所有請(qǐng)求,但這只有在服務(wù)器之間已經(jīng)復(fù)制數(shù)據(jù)的情況下才有可能。

如果向服務(wù)器發(fā)送交易或請(qǐng)求,數(shù)據(jù)將在給定時(shí)間內(nèi)寫入一個(gè)數(shù)據(jù)庫(kù),然后再將數(shù)據(jù)備份到其他數(shù)據(jù)庫(kù)。通常會(huì)有一些延遲,還有可能出現(xiàn)數(shù)據(jù)傳輸不一致的情況。

區(qū)別 5:數(shù)據(jù)存儲(chǔ) 不可更改與價(jià)值證明

數(shù)據(jù)庫(kù)可以用于安全監(jiān)控、信號(hào)提示、信息收集和授權(quán)等場(chǎng)景。許多數(shù)據(jù)庫(kù)以數(shù)據(jù)庫(kù)觸發(fā)器的形式提供有效的數(shù)據(jù)庫(kù)特性。在使用云數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)通常只對(duì)少數(shù)人很重要,實(shí)現(xiàn)在數(shù)據(jù)庫(kù)系統(tǒng)中安全性就足夠了。用戶可以信任數(shù)據(jù)庫(kù)所有者,因?yàn)橛蟹傻绕渌麢C(jī)制可以解決可能出現(xiàn)的問題。

當(dāng)要求存儲(chǔ)不可改變的信息,比如證明狀態(tài) X 在 Z 時(shí)點(diǎn)對(duì)用戶 Y 有效時(shí),區(qū)塊鏈的優(yōu)勢(shì)就體現(xiàn)出來(lái)了。它適合保存并證明所有權(quán)。這就是為什么人們可以在區(qū)塊鏈上創(chuàng)建數(shù)字貨幣。這類信息不能被個(gè)人所改變,安全性必須很高。添加區(qū)塊的過程其實(shí)就是以一種免信任的方式為大量用戶添加許多 X 狀態(tài)的過程。

區(qū)別與權(quán)衡

數(shù)據(jù)庫(kù)很強(qiáng)大,人們可以利用它實(shí)現(xiàn)幾乎所有想要的功能,但區(qū)塊鏈的特有功能,數(shù)據(jù)庫(kù)是做不到的。

讓我們回顧一下,看看傳統(tǒng)數(shù)據(jù)庫(kù)無(wú)法實(shí)現(xiàn),區(qū)塊鏈具備的特性:

數(shù)據(jù)不可更改。區(qū)塊鏈本質(zhì)上是一個(gè)去中心化分布式網(wǎng)絡(luò),數(shù)據(jù)在達(dá)成一致后被同時(shí)寫入許多磁盤,改變歷史數(shù)據(jù)非常困難,幾乎不可能。主要區(qū)別在于是否以去中心化方式實(shí)現(xiàn)一個(gè)數(shù)據(jù)庫(kù)。

附加的安全數(shù)據(jù)。正如上一點(diǎn)談到的,只有在大多數(shù)實(shí)體同意的情況下,新塊才會(huì)被添加。因此,插入一些被認(rèn)為無(wú)效的數(shù)據(jù)是不可能的。參與者必須嚴(yán)格遵守規(guī)則,更多的相互獨(dú)立的實(shí)體共同關(guān)注規(guī)則的執(zhí)行。

沒有管理員。區(qū)塊鏈上沒有管理員這樣一個(gè)角色來(lái)掌握更改任何內(nèi)容的權(quán)力。節(jié)點(diǎn)相互協(xié)商,共擔(dān)責(zé)任。區(qū)塊鏈具有免信任、抗刪除的特點(diǎn)。

沒有單點(diǎn)故障。這主要適用于 PoS 和 PoW 共識(shí)機(jī)制。對(duì)于 DPoS 共識(shí)來(lái)講,當(dāng)幾個(gè)節(jié)點(diǎn)同時(shí)不可用時(shí),可能會(huì)出現(xiàn)問題。

人們可以根據(jù)需求的不同,選擇用傳統(tǒng)數(shù)據(jù)庫(kù)或者區(qū)塊鏈技術(shù)。在采用區(qū)塊鏈時(shí),通過選擇私鏈或公鏈,來(lái)實(shí)現(xiàn)不同程度的去中心化數(shù)據(jù)管理。

很難實(shí)現(xiàn)高可擴(kuò)展性并保持高度的去中心化。數(shù)據(jù)必須分布在世界各地,因此必須考慮網(wǎng)絡(luò)延遲。達(dá)成全球共識(shí)需要一些時(shí)間。區(qū)塊鏈永遠(yuǎn)不會(huì)像數(shù)據(jù)庫(kù)那樣有效,但它可以在免信任、去中心化和防止篡改歷史數(shù)據(jù)等方面提供保護(hù)。

去中心化的方式也同樣具備替代傳統(tǒng)互聯(lián)網(wǎng)巨頭的潛力,讓更多人掌握數(shù)據(jù)并從中受益。

標(biāo)簽: 區(qū) 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:什么是數(shù)字化轉(zhuǎn)型?

下一篇:哪種編程語(yǔ)言最適合區(qū)塊鏈?