當前位置:
首頁 > 新聞 > 區塊鏈,一種非常特殊的分散式資料庫

區塊鏈,一種非常特殊的分散式資料庫

經過近2年的市場泡沫,仍然有人問我什麼時候需要使用「分散式賬本」,而不是標準的「分散式資料庫」。其他(惡毒的)人問我「區塊鏈技術」和「分散式賬本技術」有什麼區別。 讓我們來澄清一下這裡的概念和辭彙問題。


集中式關係型資料庫

關係型資料庫(RDBMS)在一張表裡面組織數據,同時使用SQL語言查詢數據。它們在80年代成為標準。即使它們的體系結構隨著時間的推移而變得越來越複雜(n層、分散式處理等),它們本質上仍然是集中式的,即定位、存儲和維護數據都在同一個位置上。這個類別占資料庫市場收入的90%以上,包括最知名的供應商和系統:MySQL、Oracle、Microsoft SQL Server、IBM DB2、SAP、PostgreSQL、SQLite、Teradata等。


分散式資料庫

當存儲設備不是全部連接到公共處理單元(如CPU)上,而是分布在網路上時,資料庫就是分散式的(DDBMS)。隨著互聯網的發展,企業需要能夠處理大量結構化和非結構化數據的解決方案,並且能夠跨網路進行擴展。DDBMS使用共識機制來確保容錯通信,並通過鎖定或時間戳機制提供並發控制。它們以不同的技術形式出現:

1、對等網路節點數據存儲系統允許用戶通過網路複製和共享文件,利用點對點協議,如:BitTorrent、NNTP、Freenet、Mnet等。

2、分散式SQL資料庫是由主要供應商(Microsoft、Oracle、SAP、IBM等)設計的系統,允許對面向分析的任務進行大規模並行處理。

3、Hadoop是一個開源軟體框架,用於存儲數據、在商業硬體集群上運行應用程序。它為任何類型的數據提供了大量的存儲,巨大的處理能力和幾乎無限的處理並發任務的能力。

4、NoSQL資料庫是非關係DDBMS,可水平擴展,為實時web應用程序而生。最著名的解決方案是:MarkLogic、MongoDB、Datastax、Apache Cassandra、Redis、Riak、Google BigTable和CouchDB。

5、NewSQL資料庫是關係型DDBMS,旨在結合關係資料庫和NoSQL資料庫的最佳屬性(水平可擴展性和分散式處理)。示例:Google Spanner、Clustrix、voltage db、MemSQL、Pivotal』s GemFire XD、NuoDB和Trafodion。

6、分散式賬簿(DL)是DDBMS,它利用加密技術提供去中心化的多版本並發控制機制,並就無信任環境中共享事實(shared facts)的存在和狀態保持一致(例如,託管共享資料庫的參與者是互不信任的獨立參與者)。 共識本身並不是DL的唯一特性:其他分散式資料庫也使用共識演算法,比如Paxos或Raft。不可變性也是如此:在DL(Google HDFS、Zebra、CouchDB、Datomic等)之外也存在不可變資料庫。我認為DL的兩個不同點是:(a)讀寫訪問的控制是真正去中心化的,而不是像其他分散式資料庫那樣在邏輯上是中心化的,以及(b)在沒有可信第三方的競爭環境中保護事務(transactions)的能力。 有些人把這個類型稱之為「共享賬簿」,但我更喜歡用「分散式」這個詞,因為共享可以表示「分割/分裂」。

6.1、比特幣系統是DL的第一個實例,其目的只有一個:點對點的比特幣(加密貨幣)支付手段。為了避免雙花,比特幣使用了數據鏈(因此稱為「區塊鏈」)和其他機制的POW工作量共識證明。比特幣是抗審查的,它的主要特徵是:拜占庭容錯、偽匿名、可審計性(公開)、不變性、問責性(時間戳)和不可否認性(簽名)。

6.2、有些系統是受到比特幣系統的啟發,或者設計與之接近。它們通常實現其大部分特性,但不是全部或具有不同的特性。 例如:

其他加密貨幣實現了隱私機制(Zcash),或使用了不同的一致性協議,如POS權益證明、Proof of burn燃燒證明等。

以太坊擁有許多比特幣功能,但其設計目的是執行可編程交易(智能合約)

6.3、有些系統與比特幣有很大區別:

埃森哲設想的DL並不是一成不變的

R3 Corda設計的是在監管環境與數量有限的已知參與者中運作的系統(例如金融機構、監管機構),BFT不是必需的(安全性通過不同的方法實現),審核能力的實現是基於「need to know」,關於交易的共識則基本上減少為締約雙方的驗證。

分散式賬本:分散式一致賬本(Distributed Concurrence Ledger)是為處理資本市場和支付的金融機構量身定做的。Concurrence是在分散式一致賬本系統中尋求共識的一種替代方法,它不使用加密貨幣、數據鏈,也不使用工作量證明[註:在我看來,這種方法類似於Corda]

HashGraph Swirlds:HashGraph是基於「八卦協議」(gossip protocol)的技術,其中的「塊」是「事件」:每個成員重複地隨機選擇另一個成員,然後告訴這些成員所有他們不知道的事件。隨著hashgraph的本地副本的增長,成員運行一個演算法來確定事件的一致順序(以及一致時間戳)。它的數據結構是一個有向無環圖,其中每個頂點包含其兩個父頂點的哈希值。

6.4、BigChainDB旨在通過向標準分散式資料庫添加區塊鏈特性(去中心化控制、不變性、數字資產的創建和流通)來提供可擴展的分散式數據存儲服務。BigchainDB繼承了現代分散式資料庫的特性:隨著節點數量的增加,吞吐量和容量呈線性擴展;全功能的NoSQL查詢語言;高效的查詢和許可。

以下是觀點總結(簡化):

「雙重無需許可」(double permissionless)的分散式賬本(如比特幣)是最去中心化的賬本,並且具備抗審查性。如果它們越不去中心化(例如,在半信任的環境中的需要許可的DL),它們就越接近於是一種使用加密技術的「常規」分散式資料庫。在後一種情況下,密碼學被用作一種新的機制,以加強同行之間的可審計性和問責性:

————————————————————————————————————————————————

你可能會問什麼是區塊鏈技術? 具有諷刺意味的是,對於這一定義沒有達成共識:

極簡主義者會說區塊鏈只是比特幣

有些人認為它應該包含任何帶有塊鏈接的DL

一些專家認為它應該包含任何具有一些關鍵特性的DL:比如塊鏈接、不變性和一致協議

最大化主義者說「區塊鏈技術」等於「分散式賬本技術」等於「加密支持的DDBMS」。 此外,使用「區塊鏈」一詞來進行營銷和溝通也更容易,即使它可能具有誤導性……

最後一個方程:比特幣區塊鏈 ? 區塊鏈技術 ? 分散式賬本技術 ? 分散式資料庫技術。

如果你喜歡區塊鏈辯論,讓我來分享4個有趣的問題:

比特幣真的是BFT嗎?

比特幣和其他DL如何處理CAP定理?

DL可以同時分散、可擴展性和安全嗎? [談到三難困境,我推薦這篇關於DCS不可能三角的文章]

沒有token的私有區塊鏈真的比中心化系統更高效嗎?

這篇文章的靈感來源:吉迪恩·格林斯潘,理查德·根達爾·布朗,帕斯卡爾·布維耶(他使用不同的分類方法),戴夫·伯奇,科林·普拉特。

(完)


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 巴比特資訊 的精彩文章:

Joseph Young:比特幣轉賬費用遠遠低於PayPal

TAG:巴比特資訊 |