區塊鏈系列:區塊鏈VS資料庫
在某些方面講區塊鏈是一種更安全的資料庫,在某些方面則不是。考慮到當前中心化的資料庫依然是主流,可能混合兩種資料庫是一種不錯的解決方案。
去中心化:區塊鏈的優點
傳統的資料庫,需要一定的訪問許可權去管理,也就是說你必須依賴人為的管理。一旦訪問許可權被黑或者管理員作惡,數據就有很大的危險性,或者存在被人篡改的可能性。
在現實世界中,銀行和金融機構以及各種大公司通過一些手段積攢了一些信用。我們將錢存在銀行里,而不用擔心它被盜。銀行本身需要一批可信的資料庫管理員,開發人員,以及一些安全的管理流程,依賴這些,來保證數據的安全性。但是這些資料庫管理員,和開發人員,以及安全流程都是需要一定的時間成本和人力成本。
區塊鏈提供了一種方式去取代這些額外的成本,用數字加密學和工作量證明以及節點共識的機制來保證數據的安全。
健壯性:區塊鏈的優點
區塊鏈的另外一個優點就是高容錯,因為它內在的冗餘機制。每個節點對於整個區塊鏈網路而言,都不是必不可少的。節點之間互相通信,即使一些節點因為一些原因出錯,也不會導致整個網路垮掉。同時失敗的節點,重啟之後也總是能正確同步新的交易。
對於傳統資料庫同樣有冗餘性,但是區塊鏈卻將它發揮到了一個新的高度。任何節點都可以自由的加入節點,並且不需要系統做任何的配置。同時任何節點都可以自由離開這個網路,而不會對網路造成影響。
傳統資料庫的冗餘機制,依賴於昂貴的技術架構和容災措施。通常是有一個主資料庫,多個從資料庫,主資料庫通常運行在一個非常昂貴的高配置機器上,然後多個從資料庫從主資料庫同步數據。如果主資料庫出線問題,從資料庫就會臨時上升為主資料庫,並對主資料庫進行恢復,恢復成功後,可能還需要切換到原來的主資料庫。眾說周知,這個技術架構非常複雜,而且在配置方面也比較難,出現問題之後,正確處理也不是非常容易。
但是如果是區塊鏈,假設我們有十個節點,它們只需要運行在十個不同的普通計算機上就可以。節點之間互相通信,如果一個或者兩個節點出現問題,其他節點不會有任何影響。
性能:中心化資料庫優點
區塊鏈比傳統的資料庫要慢,並不是因為區塊鏈技術本身就慢,而是因為區塊鏈本身是新生事物,依然處於早期階段,性能優化仍然有一定空間,同時因為區塊鏈除了像傳統資料庫那樣運行,還要做額外的負載:
1. 簽名驗證。每一個區塊鏈的交易都需要簽名驗證,同時這些簽名驗證在每個節點間都是要運行的,用於證明交易的合法性。傳統資料庫只在第一次通信做一些簽名驗證,後續請求就不需要。
2. 共識機制。節點間要達成共識,需要複雜的通信,並且需要處理分叉。
3. 冗餘性。傳統資料庫,主節點更新數據,然後同步數據到從資料庫。區塊鏈每個節點都需要保存交易數據。
透明性
同時,在區塊鏈上的交易都是透明的(傳統區塊鏈,現在已經有加密區塊鏈方面的研究)。因為對於很多商業結構之間,可能存在競爭性,他們不希望對手看到他們的信息。但是另外有一些場景則恰恰相反,比如眾籌平台,慈善平台,恰好需要交易的透明性和公開性。
總結
所以,對於到底使用傳統資料庫還是區塊鏈,應該是取決於場景。中心化和健壯性?還是私密性?還是高性能?
所以,區塊鏈在以下場景應該會更擅長:1)公司內部審計,2)來源追蹤,3)輕金融系統。


※區塊鏈系列:為什麼要考慮投資區塊鏈
※交通攻略都提供出來了 去蘇州必到的12個景點
TAG:點點網路信息科技 |