首先不要把區塊鏈想的過於高深,他是一個分布在全球各地、能夠協同運轉的數據庫存儲系統,區別於傳統數據庫運作——讀寫權限掌握在一個公司或者一個集權手上(中心化的特征),區塊鏈認為,任何有能力架設服務器的人都可以參與其中。www.emoneybtc.com來自全球各地的掘金者在當地部署了自己的服務器,並連接到區塊鏈網絡中,成為這個分布式數據庫存儲系統中的一個節點;一旦加入,該節點享有同其他所有節點完全一樣的權利與義務(去中心化、分布式的特征)。與此同時,對於在區塊鏈上開展服務的人,可以往這個系統中的任意的節點進行讀寫操作,最後全世界所有節點會根據某種機制的完成一次又依次的同步,從而實現在區塊鏈網絡中所有節點的數據完全一致。
問題的由來我們反復提到區塊鏈是一個去中心化的系統,確實,「去中心化」在區塊鏈世界裡面是一個很重要的概念,很多模型(比如賬本的維護、貨幣的發行、時間戳的設計、網絡的維護、節點間的競爭等等等等)的設計都依賴於這個中心思想,那到底什麼是去中心化呢?在解釋真正去中心化之前,我們還是先簡單了解下什麼是中心化吧。
中心化?回憶一下你在網上購買一本書的流程:
第一步,你下單並把錢打給支付寶;
第二步,支付寶收款後通知賣家可以發貨了;
第三步,賣家收到支付寶通知之後給你發貨;
第四步,你收到書之後,覺得滿意,在支付寶上選擇確認收貨;
第五步,支付寶收到通知,把款項打給賣家。流程結束。
你會發現,雖然你是在跟賣家做交易,但是,所有的關鍵流程都是在跟支付寶打交道。這樣的好處在於:萬一哪個環節出問題,賣家和買家都可以通過支付寶尋求幫助,讓支付寶做出仲裁。這就是一個最簡單的基於中心化思維構建的交易模型,它的價值顯著,就是建立權威,通過權威背書來獲得多方的信任,同時依賴權威方背後的資本和技術實力確保數據的可靠安全。
你一定會擺出一個巨大的問號臉 ⊙.⊙?——“通過權威背書來獲得多方的信任,同時依賴權威方背後的資本和技術實力確保數據的可靠安全”,真的可以嘛?!
假如說,支付寶程序發生重大 BUG,導致一段時間內的轉賬記錄全部丟失,或者更徹底一點,支付寶的服務器被金三胖的一個導彈全部炸毀了。而我剛剛轉出去的 100 元找誰說理去,這個時候,你就成了刀殂上的魚肉;支付寶有良心,會勉為其難承認你剛剛轉賬的事實,但他不承認你也沒轍,因為確實連他自己也不知道這筆轉賬是否真實存在。
上述就是中心化最大的弊端——過分依賴中心和權威,也就意味著逐漸喪失自己的話語權。
去中心化?
那麼去中心化的形態是什麼樣子呢?還是拿剛才那個例子繼續,我們構建一個極簡的去中心化的交易系統,看看我們是如何在網絡上從不認識的賣家手裡買到一本書的。
第一步,你下單並把錢打給賣家;
第二步,你將這條轉賬信息記錄在自己賬本上;
第三步,你將這條轉賬信息廣播出去;
第四步,賣家和支付寶在收到你的轉賬信息之後,在他們自己的賬本上分別記錄;
第五步,賣家發貨,同時將發貨的事實記錄在自己的賬本上;
第六步,賣家把這條事實記錄廣播出去;
第七步,你和支付寶收到這條事實記錄,在自己的賬本上分別記錄;
第八步,你收到書籍。至此,交易流程走完。
剛才“人為刀俎我為魚肉”的情況在這個體系下就比較難發生,因為所有人的賬本上都有著完全一樣的交易記錄,支付寶的賬本服務器壞了,對不起賣家的賬本還存在,我的賬本還存在;這些都是這筆交易真實發生的鐵證。
當然,在這套極簡的交易系統中,你已經發現了諸多漏洞和不理解,比如說三方當中有一個是壞人,他故意記錄了對他更有利的轉賬信息怎麼辦;又比如說消息在傳遞過程中被黑客篡改了怎麼辦等等等等。這在以往的計算機概論或者計算機網絡書本上中可能都有提及到——“類兩軍”和“拜占庭將軍”問題。這裡就不打算贅述,因為暫時跟主線不相關,感興趣的同學可以去 Google 或者百度一下,你只需要知道,在我們下面即將展開講到的區塊鏈系統中,通過巧妙的設計,足以解決上述存在的 BUG。
既然話已說到這份上,相信了解一點技術、特別是有運維背景的同學大概能夠從極簡交易系統中窺視到了更多區塊鏈的一些影子——
分布式存儲,通過多地備份,制造數據冗余
讓所有人都有能力都去維護共同一份數據庫
讓所有人都有能力彼此監督維護數據庫的行為
在我看來,你猜測的基本上沒錯。其實這些就是區塊鏈技術最核心的東西,外人看起來高大上、深不可測,但探究其根本發現就是這麼簡單和淳樸。當然,這裡面肯定會有很多很多很多細枝末節的技術需要重構。
如果你差不多認同上面的觀點,那我們應該基本上可以達成共識,分布式部署肯定是構建去中心化網絡理所當然的解決方向——通過 P2P 協議將全世界所有節點計算機彼此相互連接,形成一張密密麻麻的網絡;以巧妙的機制,通過節點之間的交易數據同步來保證全球計算機節點的數據共享和一致。
哈哈,說的輕巧,“交易數據這麼重要的東西,在一個完全不信任的 P2P 網絡節點中以一種錯綜復雜的方式傳遞,數據的一致性和安全性誰來保證,如果說互相監督,他們到底怎麼做到?”