區塊鏈系列介紹之四——區塊鏈的應用領域及實現區塊鏈的難點

(續前:1. 區塊鏈最通俗的介紹,你看不懂你打我 2. 區塊鏈系列介紹之二——比特幣 3.區塊鏈系列介紹之三——區塊鏈核心概念)

區塊鏈的特點

(a)去中心化:所有的節點權利義務相等,任意節點的出錯或停止工作都不會影響系統的整體工作(b)去信任:因為整個系統和資料庫是公開透明的,節點之間無需知道對方是誰,也無需彼此互信(c)分散式賬本:所有節點共同維護系統賬本。系統中每個節點都含有整個完整資料庫拷貝。(d)透明性:賬本向區塊鏈中的相關方公開

為什麼需要區塊鏈

區塊鏈解決的是信任問題。互相信任的熟人社會最多只能維繫在150人以內(鄧巴數),超出這個人數範圍,信任就需要中心化的第三方進行背書。一旦中心化的節點出現問題,例如對數據進行修改、癱瘓等,整個網路都會受到影響。而區塊鏈是點對點傳播的,不依靠任何單一節點,任意單一節點對信息進行修改都會被其他節點發現並不予承認。所以區塊鏈是一個公證人,一旦信息被創建,幾乎不可更改。

Advertisements

區塊鏈的應用:

區塊鏈如何被實現:

A和B發生了一筆交易,會被廣播到全網路中所有的節點。這時網路中其他節點經過記賬驗證后就會將這筆交易添加到主鏈上。從此這筆交易就記錄到了區塊鏈上。區塊鏈的基礎架構至下而上共分為6層:數據層,網路層,共識層,激勵層,合約層,應用層。各層之間相互配合實現去中心化的機制。

實現區塊鏈要解決哪些問題:

(1)如何鼓勵網路節點參與驗證記賬?

區塊鏈是一個去中心化的存儲(記賬)和驗證系統。如果你是一個區塊鏈系統的設計者,你一定會很頭疼怎麼發動群眾的力量---讓大家都參與進來願意存儲信息和驗證信息。

(2)鏈分叉聽誰的?

打個形象的比喻,當年共產黨創業的時候,毛主席鏈和王明鏈就發生了分叉,黨究竟聽誰的?具體到區塊鏈,若兩個節點A,B在對222區塊進行記錄時同時解出了SHA-256哈希值並對外進行了廣播,這時因為網路中其他節點與這兩個節點距離有遠近,部分節點會記錄A完成了這件個區塊的記錄,而其他部分節點會記錄B完成了區塊的記錄。這時原本完整的鏈就會在222區塊分叉成兩列。

Advertisements

(3)如何避免一筆錢被重複使用(雙花問題)?

用現實生活做比喻,怎麼避免房東把一個房子賣給多個買家的問題。在一個去中心化的虛擬網路世界中,這種情況更容易發生。

(4)節點中有惡意節點怎麼辦(拜占庭將軍問題)?

拜占庭帝國擁有巨額的財富。圍繞在其周圍有10個敵國對其財富垂涎已久。但因為拜占庭帝國的防禦措施良好,只有在超過6個敵國同時進攻 的前提下才能攻破拜占庭帝國。此外,這些敵國互相之間還存在一個兩難問題:如果自己進攻了但其他國家未進攻,很有可能自身軍事力量在與拜占庭帝國戰鬥中損失巨大。若其他敵國乘機對自己國家發起進攻則自己國家很有可能被滅國。這個例子轉化為計算機語言就是在一個去中心的系統中,有一些節點是故意作惡的,它們可能向外界廣播錯誤的信息或者不廣播信息,在這種情況下如何驗證數據傳輸的準確性呢?

這些問題的解決方法將在下一節慢慢道來。

(本文大部分改版自網友ZT513的 「圖說區塊鏈-學習筆記」)

Advertisements

你可能會喜歡