1. 程式人生 > >區塊鏈vs傳統數據庫:分布式運行有何優勢?

區塊鏈vs傳統數據庫:分布式運行有何優勢?

區塊鏈 vs傳統 數據庫

區塊鏈(blockchain)這一概念正因比特幣等虛擬貨幣的興盛而變得火熱起來,實際上,這種技術因為特殊的設計思路也可以應用於很多其他領域中。作為一種容錯率很高的分布式數據存儲模式,區塊鏈與傳統數據庫有哪些不同之處?想要回答這個問題,我們需要看看它們的運行機制。

區塊鏈的分布式節點。

傳統數據庫

傳統數據庫使用客戶端-服務器網絡架構。在這種結構中,用戶(或稱為客戶端)可以修改存儲在中央服務器中的數據。數據庫的控制權保留在獲得指定授權的機構處,他們會在用戶試圖接入數據庫前對其身份進行驗證。由於授權機構對於數據庫的管理負責,如果授權機構的安全性受到損害,則數據面臨被修改、甚至被刪除的風險。

區塊鏈數據庫

區塊鏈數據庫由數個分散的節點組成。每一個節點都會參與數據管理:所有節點都會驗證新加入區塊鏈的內容,並將新數據寫入數據庫。對於加入區塊鏈的新內容,大多數節點必須達成一致才能成功寫入。這種共識機制保證了網絡安全,讓篡改內容變得非常困難。

區塊鏈最引人關註的實例就是比特幣(Bitcoin)了,在比特幣中,共識通過「挖礦」達成(使用計算機計算復雜 hashing 問題的解);而在另一個著名的案例以太坊中,共識機制是由股權證明(POS)來完成的。

完整性與透明度

區塊鏈技術區別於傳統數據庫技術的一大特點就是其具備公開可驗證性,這是通過完整性與透明度來實現的。

完整性:每名用戶都可以得到這樣的保證——他們所檢索的數據自被記錄的那一刻起不會遭到損壞或改寫。

透明度:每名用戶都可以獲知並驗證區塊鏈內容是如何隨著時間推移而變化的。

CRUD vs 讀取 & 寫入操作

傳統數據庫中,客戶可以對數據執行四種操作:創建、讀取、更新和刪除(通稱為 CRUD 命令)。

而區塊鏈只能增加。用戶只能以附加塊的形式添加數據,所有先前的數據被永久存儲,無法更改。因此,區塊鏈僅能執行以下操作:

讀取:用區塊鏈查詢和獲取數據;

寫入:向區塊鏈添加更多數據。

驗證和寫入

區塊鏈具備這兩個功能:交易驗證和新交易寫入。交易是一種改變區塊鏈上數據狀態的操作。區塊鏈上之前的 entries 永遠保持不變,而新的 entry 可以改變之前 entries 中數據的狀態。例如,如果區塊鏈記錄我的比特幣錢包中有一百萬比特幣,該數字永久存儲在區塊鏈中。當我花費 20 萬比特幣時,該交易也被記錄在區塊鏈上,我的余額為 80 萬比特幣。但是,由於區塊鏈只能不斷加長,因此這次交易之前的余額 100 萬比特幣仍然永久保存在區塊鏈上。這就是為什麽區塊鏈通常指不可更改的分布式賬本。

總之,區別在於去中心化控制,去中心化控制消除了中心化控制的風險。任何能夠充分訪問中心化數據庫的人都可以摧毀或破壞其中的數據,因此用戶依賴於數據庫管理員的安全基礎架構。

區塊鏈技術使用去中心化數據存儲來避開這一問題,從而在自己的結構中建立安全性。

區塊鏈技術很適合記錄某些種類的信息,傳統數據庫更適合記錄另外一些種類的信息。對於每個組織而言,理解它想從數據庫中獲得什麽非常關鍵,我們需要在選擇數據庫之前,判斷每種數據庫的優缺點。本文由:http://www.267774.com整理發布。

區塊鏈vs傳統數據庫:分布式運行有何優勢?