區(qū)塊鏈和數(shù)據(jù)庫優(yōu)勢PK 哪種更好用?
區(qū)塊鏈突然在金融領(lǐng)域爆紅,但是不要把區(qū)塊鏈想的過于高深,其實它的本質(zhì)很簡單,就是一個網(wǎng)上的公布賬本。區(qū)塊鏈被認為任何有能力架設(shè)服務(wù)器的人都可以參與其中。各行各業(yè)對區(qū)塊鏈的相關(guān)需求越來越迫切,區(qū)塊鏈技術(shù)也在漸漸落地。同時也有人認為區(qū)塊鏈是一種更安全的數(shù)據(jù)庫,那么相對于傳統(tǒng)的數(shù)據(jù)庫哪種更好用呢?
區(qū)塊鏈可以被認為是一種新型的數(shù)據(jù)庫。這種數(shù)據(jù)庫可以直接被分享,通過一群非信任節(jié)點,無中心化管理的方式運作。它不同于傳統(tǒng)的SQL和NoSQL數(shù)據(jù)庫被一個單一實體控制,即使是在防火墻后的分布式架構(gòu)的數(shù)據(jù)庫。
在某些方面講區(qū)塊鏈是一種更安全的數(shù)據(jù)庫,在某些方面則不是。考慮到當前中心化的數(shù)據(jù)庫依然是主流,可能混合兩種數(shù)據(jù)庫是一種不錯的解決方案。
去中心化:區(qū)塊鏈的優(yōu)點
傳統(tǒng)的數(shù)據(jù)庫,需要一定的訪問權(quán)限去管理,也就是說你必須依賴人為的管理。一旦訪問權(quán)限被黑或者管理員作惡,數(shù)據(jù)就有很大的危險性,或者存在被人篡改的可能性。
在現(xiàn)實世界中,銀行和金融機構(gòu)以及各種大公司通過一些手段積攢了一些信用。我們將錢存在銀行里,而不用擔心它被盜。銀行本身需要一批可信的數(shù)據(jù)庫管理員,開發(fā)人員,以及一些安全的管理流程,依賴這些,來保證數(shù)據(jù)的安全性。但是這些數(shù)據(jù)庫管理員,和開發(fā)人員,以及安全流程都是需要一定的時間成本和人力成本。
區(qū)塊鏈提供了一種方式去取代這些額外的成本,用數(shù)字加密學和工作量證明以及節(jié)點共識的機制來保證數(shù)據(jù)的安全。
健壯性:區(qū)塊鏈的優(yōu)點區(qū)塊鏈的另外一個優(yōu)點就是高容錯,因為它內(nèi)在的冗余機制。每個節(jié)點對于整個區(qū)塊鏈網(wǎng)絡(luò)而言,都不是必不可少的。節(jié)點之間互相通信,即使一些節(jié)點因為一些原因出錯,也不會導致整個網(wǎng)絡(luò)垮掉。同時失敗的節(jié)點,重啟之后也總是能正確同步新的交易。
對于傳統(tǒng)數(shù)據(jù)庫同樣有冗余性,但是區(qū)塊鏈卻將它發(fā)揮到了一個新的高度。任何節(jié)點都可以自由的加入節(jié)點,并且不需要系統(tǒng)做任何的配置。同時任何節(jié)點都可以自由離開這個網(wǎng)絡(luò),而不會對網(wǎng)絡(luò)造成影響。
傳統(tǒng)數(shù)據(jù)庫的冗余機制,依賴于昂貴的技術(shù)架構(gòu)和容災措施。通常是有一個主數(shù)據(jù)庫,多個從數(shù)據(jù)庫,主數(shù)據(jù)庫通常運行在一個非常昂貴的高配置機器上,然后多個從數(shù)據(jù)庫從主數(shù)據(jù)庫同步數(shù)據(jù)。如果主數(shù)據(jù)庫出線問題,從數(shù)據(jù)庫就會臨時上升為主數(shù)據(jù)庫,并對主數(shù)據(jù)庫進行恢復,恢復成功后,可能還需要切換到原來的主數(shù)據(jù)庫。眾說周知,這個技術(shù)架構(gòu)非常復雜,而且在配置方面也比較難,出現(xiàn)問題之后,正確處理也不是非常容易。
但是如果是區(qū)塊鏈,假設(shè)我們有十個節(jié)點,它們只需要運行在十個不同的普通計算機上就可以。節(jié)點之間互相通信,如果一個或者兩個節(jié)點出現(xiàn)問題,其他節(jié)點不會有任何影響。
性能:中心化數(shù)據(jù)庫優(yōu)點區(qū)塊鏈比傳統(tǒng)的數(shù)據(jù)庫要慢,并不是因為區(qū)塊鏈技術(shù)本身就慢,而是因為區(qū)塊鏈本身是新生事物,依然處于早期階段,性能優(yōu)化仍然有一定空間,同時因為區(qū)塊鏈除了像傳統(tǒng)數(shù)據(jù)庫那樣運行,還要做額外的負載:
1. 簽名驗證。每一個區(qū)塊鏈的交易都需要簽名驗證,同時這些簽名驗證在每個節(jié)點間都是要運行的,用于證明交易的合法性。傳統(tǒng)數(shù)據(jù)庫只在第一次通信做一些簽名驗證,后續(xù)請求就不需要。
2. 共識機制。節(jié)點間要達成共識,需要復雜的通信,并且需要處理分叉。
3. 冗余性。傳統(tǒng)數(shù)據(jù)庫,主節(jié)點更新數(shù)據(jù),然后同步數(shù)據(jù)到從數(shù)據(jù)庫。區(qū)塊鏈每個節(jié)點都需要保存交易數(shù)據(jù)。
透明性同時,在區(qū)塊鏈上的交易都是透明的(傳統(tǒng)區(qū)塊鏈,現(xiàn)在已經(jīng)有加密區(qū)塊鏈方面的研究)。因為對于很多商業(yè)結(jié)構(gòu)之間,可能存在競爭性,他們不希望對手看到他們的信息。但是另外有一些場景則恰恰相反,比如眾籌平臺,慈善平臺,恰好需要交易的透明性和公開性。
總結(jié)所以,對于到底使用傳統(tǒng)數(shù)據(jù)庫還是區(qū)塊鏈,應(yīng)該是取決于場景。中心化和健壯性?還是私密性?還是高性能?
所以,區(qū)塊鏈在以下場景應(yīng)該會更擅長:1)公司內(nèi)部審計,2)來源追蹤,3)輕金融系統(tǒng)。