NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

現在關於區塊鏈的定義有很多,作者抽絲剝繭地列舉了區塊鏈技術的重要特性,詮釋了他心中關於區塊鏈的定義。

區塊鏈相關技術文章投稿,請傳送郵件至:[email protected]

區塊鏈是用於資產交易、執行在對等網路上、僅能附加的、具有時間戳的共享帳簿。

區塊鏈用於資產交易

區塊鏈設計的目的是用來支援數字資產交易。相對於現在網際網路上大多數應用支援的資訊交換而言,區塊鏈用來在網際網路上進行價值交換。因此有人說,相對於現在的資訊網際網路,未來在網際網路上的區塊鏈應用所支撐的將是一個價值網際網路。物理世界的有價物在數字化以後都可以是數字資產,當然數字資產還包括一開始就是誕生於網際網路上的有價物,比如遊戲中的裝備,電商平臺給予的積分,央行發行的數字貨幣,銀行發行的數字票據,等等。

區塊鏈執行在對等網路

一個P2P網路,各節點的地位完全對等,每個節點既是伺服器也是客戶端,沒有中心節點,沒有控制節點,各節點隨意加入或者退出,另外,所有節點之間有一套共識達成機制,共同維護整個網路。這個具有共識機制的P2P網路保證了:高可用性(只要有節點在執行,服務就可用),任何人無法關掉整個網路(除非一個節點都沒有),任何人無法控制整個網路(除非他控制了大多數節點),高效率(每個節點都可以從附近的任何節點獲得服務),高擴充套件性(增加節點就可以提供更多的服務),節點越多整個網路的效率和安全性越高。

相對於現在已經極度中心化的網際網路,對等網路體現的是真正的網際網路精神:普惠大眾,平等,公平,互惠,自治,自願,隱私保護。另外,對等網路相對於中心控制型網路來說具有更大的活力和更強的生命力。(參見KK著《失控》)

區塊鏈是一個帳簿

它記錄了關於數字資產的所有的交易,全部的交易。這個帳簿是在節點之間共享的,每個節點自己有一份完全的拷貝。這樣保證了資訊的完全性和透明性,所有人有所有的資訊。這個帳簿是只能在後面新增新記錄,每條記錄都有時間戳,任何老記錄都不得修改,這樣保證了資訊的不可篡改,不可抵賴,和資產的可追溯性。

打上了真實的時間戳的資料有什麼意義?如果當初達芬奇畫完《蒙娜麗莎》後可以馬上打上一個時間戳,那麼就沒有後面的贗品了,因為贗品無法回去500年前打上當時的時間戳。時間戳賦予了一條資料它的時間屬性,或者說,一條真正完備的資料應該是具有時間維度的資料。想象一下,如果一個人的學歷資訊具有時間維度,他事後就很難造假了(他必須在當時造假)。

這裡把區塊鏈定義為一個帳簿,而不是一個資料庫,原因之一是想強調區塊鏈是用於有價物的,而不是通用的任何東西。原因之二是想強調區塊鏈記錄的是全體交易日誌,任何記錄無法更改,新的記錄只能在後面附加。“帳簿”要比“資料庫”更形象、更直觀的傳遞了這個資訊。原因之三,區塊鏈並不適合作為一個通用的資料庫使用。拿區塊鏈跟SQL Server, Oracle, MySQL, MongoDB, Cassandra, Redis, Google Spanner, SAP Hana這些傳統資料庫,NoSQL,或者NewSQL資料庫相比,其實是不恰當的。

另外,這裡把區塊鏈定義為一個“共享”帳簿,而不是“分散式”帳簿,原因之一是“分散式”這個詞有很多歧義,對應的英語單詞可以是distributed, 也可以是 decentralized. 這兩者都不能很好說明區塊鏈的“共享”(shared)屬性。區塊鏈本質不是要做成分散式,而是要在各個節點之間完全共享,以達到完全透明。共享是目的,分散式是手段。

在現階段,主流的區塊鏈例如比特幣和以太坊,都是在所有全節點(full node)完全複製整個帳簿,這對節點的儲存要求較高,並影響網路的整體效率。帳薄切分(sharding)是大勢所趨。從這一點上看,區塊鏈跟分散式資料庫有著相似的訴求。

上面提到的這些特性,我認為應該是區塊鏈的一些基本特性。另外還有一些特性,但這些特性不是所有的區塊鏈都具備的。

匿名性

比特幣中的賬號採用了密碼學技術實現了某種偽匿名性,雖然所有交易資訊都是透明的,但是從一筆交易上無法識別是哪兩個人進行的這筆交易。密碼學技術的恰當使用可以很好的保護個人隱私,這在個人隱私資訊洩露氾濫的中國是一劑良藥。

可程式設計

比特幣區塊鏈是一條進行比特幣數字資產交易的專用區塊鏈,它的可程式設計性被特意設計得很弱,簡潔明瞭的設計保證了比特幣區塊鏈的安全性和穩定性。相反的,以太坊是一個區塊鏈技術平臺,它支援各種複雜的計算邏輯(以太坊是圖靈完備的),可以在以太坊區塊鏈上開發各種有關操作某類數字資產的複雜程式(智慧合約)。這樣以太坊就可以看成一臺巨大的分散式計算機,由成千上萬個執行在全球各地的節點構成(世界計算機),上面執行著各種數字資產交易程式。另一方面,由於不允許降低安全性,可程式設計性帶來了對安全性設計的更高的要求。

作者簡介:

曹嚴明。架構師,現就職於SAP公司諮詢服務部,專注於保險業核心系統、電子商務、企業移動應用等解 決方案。曾就職於微軟和HCL公司,參與過SQL Server, SharePoint, Visual Studio等產品的研發。

相關文章

程式語言 最新文章