zombie
> > > >
> > > >

區塊鏈的前世、今生、未來

2019/03/27 13:20

pon

區塊鏈的前世、今生、未來

區塊鏈

這兩週在社群,除了最熱門的 IEO( Initial Exchange Offering)之外,Nervos Network 的第二層解決方案,應該是最多人探討的話題。目前,大部分的區塊鏈底層協議都希望讓所有的應用在區塊鏈上發生,這也要求了區塊鏈網路必須乘載所有的需求,成為一種世界計算機。

但是 Nervos 覺得區塊鏈的資源很稀少,應該要用在最重要的地方。Nervos 協議專為分層設計後,會開始出現不同的分工,而最底層的架構應該是支持區塊鏈最根本的安全性,而非在同一個協議中建構所有的需求。

與此同時,DEXON 也即將將主網上線,宣稱了他們在不可能三角之間取得平衡,達到了真正的低延遲和高擴佔性。

從中本聰在 2008 年發佈了《比特幣:一種點對點的電子支付系統》,隨著密碼貨幣的市值變高,大眾不但注意到了密碼貨幣,還注意到其核心技術 — 區塊鏈。至此以後陸陸續續出現 Ethereum、EOS、Tron、Cardano 等底層鏈。

 

PoW → PoS → DPoS

工作證明(Proof of Work,PoW)

比特幣的共識演算法架構就是 PoW,所有的礦工都會競爭去試 Nonce 值,第一個找到 Nonce 值經過函數之後小於某一個值的礦工就獲勝,會獲得出塊的權利。

備註:你可想像這種過程就像擲骰子,隨機擲到一個數字,將這個數字放進函數之後,出來的值必須小於某一個值。而第一個得出這個值的礦工就能獲得出塊權利。

這樣的共識演算法,所有的礦工都在做同一件事。雖然安全,但是太慢了。所以以太坊在 Road map 的 Serenity 階段的時候就預計從 PoW 變成 PoS。

權益證明(Proof of Stake,PoS) 

Stake 最早是籌碼的意思。只要有一定籌碼的人,都有機率可以成為節點。它的出塊機制是,看誰出的籌碼多,籌碼多的人不一定能夠出塊,而是機率比較高。譬如說下圖就是 Node 3 出塊,其他節點再驗證,確認沒問題之後就可以出塊。如此一來,就能得到比較快的交易確認時間以及減少耗能。

blockchain2

但是,PoS 在節點候選人很多的情況,在跑拜占庭協議決定誰出塊的時候,延遲性會較高。而且,要設計出一套可以讓盡可能讓降低門檻,讓參與的節點變多,同時又要兼顧安全性的拜占庭協議是非常困難的。

這也就是為什麼以太坊的核心開發社群還未設計出 Casper PoS ,而且還分成 Casper FFG 跟 Casper CBC 兩個研究方向。

也因此,EoS 設計出了股份授權證明(Delegated Proof of Stake,DPoS )

股份授權證明(Delegated Proof of Stake,DPoS )

既然 PoS 在節點很多的情況下去跑拜占庭協議的效率會變低,所以 DPoS 限制了節點數量。EOS 是第一個用 DPoS 共識演算的區塊鏈網路,節點共 21 個。而 21 個超級節點是從 100 個備用節點選出來的。

成為備用節點需要抵押大量的 EOS 在 EOS 網路上,尤其他持有 EOS 代幣的持有者投票選出超級節點。用民主代議的方式選出超級節點固然看似解決問題。

但是有人的地方就有江湖,用「人治」取代一部份的「代碼治」,看起來固然聰明,未來如果誘因夠大,難保不會有節點共謀的情況出現。這也就是為什麼 EOS 被大家戲稱「半中心化」。

不可能三角(Impossible Trinity)

正因為共識演算法無法三全其美,所以在區塊鏈上又有俗稱的不可能三角問題,即為去中心化、安全性、擴展性三者兼具。

下面這張圖可以看到,比特幣非常的去中心化及安全,可是他就犧牲了可擴展性,以太坊網路目前的狀況也是;而 EOS 的可擴展性很高,也很安全,可是就犧牲了一部份的去中心化。

blockchain3

 

於是,Nervos 走了另外一條路。

區塊鏈

Nervos Network

區塊鏈可以理解成「世界計算機」,那是一台全世界用戶可以共同使用的計算機。

在世界計算機中,我們應該可以搭建和部署自己的應用,由世界計算機幫我們執行;我們可以在世界計算機上保存各自的數據;不僅如此,應用之間還能夠完美的協作,取得全世界的共識。

但是去中心化計算機的效率,是沒辦法比得上現在的中心化的計算機。這讓我們反思,設計出一個區塊鏈,讓節點的運作速度更快、效率更高,好讓所有的交易、運算都在上面進行,這個方向是不是錯的?

既然 Layer 1是全世界的共識,上面的節點計算能力就顯得是「稀缺資源」。根據人類社會運作的模式,分工合作,用最有效率的方式配置資源,也許才是對的。

Nervos 的區塊鏈網絡叫做共同知識庫(Common Knowledge Base,CKB)。CKB 位於 Nervos 網絡的最底層,我們稱為 Layer 1,是一個全新設計的公有鏈協議。

在 CKB 之外,Nervos 還要定義 Layer1 與 Layer2 之間的信任傳遞協議,將 CKB 建立的信任傳遞到上層,保障 Layer2 DApp 的執行,以及整個 Nervos 加密經濟的運行。

Nervos CKB 協議是分層信任網絡,絕大部分的計算、存儲、網絡傳輸發生在 Layer2。Nervos CKB 協議的 Layer 1 上面的計算能力,就像法庭一樣,有爭議才需要用到 Layer 1 的計算能力。

只有在 Layer 2 上有爭議的交易才需要由 Layer 1 解決。這樣一來,Layer 1 就能提發揮區塊鏈當中最重要的機制 — 信任機制。而 Layer 1 上面的計算能力,也能得到解放。

 

從整個經濟模型的上來看,分工合作,發揮自身最大效益。

DEXON 如何解決問題呢?

區塊鏈

在 DEXON 之中,鏈上的每一個區塊都配有一個隨機數供智慧合約使用,而這個隨機數是唯一的,而且可以證明是隨機產生的。在密碼學尚稱之為 可驗證隨機函數(Verifiable Ramdoness Fuction,VRF)。

透過這個 VRF,每回合選出鏈上的節點,再由這些節點去跑拜占庭協議。這樣一來就可以解決傳統 DPoS 的節點太過中心化的問題。

在區塊鏈上因為沒有一個可信任的第三方,所以需要節點之間互相達成共識。但是,並非每個節點都是好節點。
所以在設計區塊鏈共識演算法的時候,針對系統可容忍的壞節點比例,以及系統能夠容忍壞節點作惡的程度,而最後全網路的共識依然是正確而且成立的。
而這個設計的協議就叫做「拜占庭協議」。

區塊鏈

在 DEXON 的區塊鏈網路上,任何人只要滿足下列條件皆有資格成為備選節點,且有一定機率選進「Notary set」以及「CRS set」。

這種機制叫做 POP (Poof of Participant)。

「Notary set」裡面的節點,要負責執行拜占庭協議,透過拜占庭協議達成共識,就能選出此回合出塊的節點。
「CRS set」裡面的節點,就負責計算每個區塊產生的隨機數,再將隨機數放進雜湊函數中,就成了專屬於這個區塊專屬的隨機數。在用這個隨機數去選出下一個「Notary set」以及「CRS set」。

如此的設計,等於是 DPoS 的改良方案。除了解決現在區塊鏈擴展性不足的問題,同時也解決的 DPoS 一直有 21 個超級節點,半中心化的問題。

雖然從比特幣問世,至今已經過了 11 年,但是從以太坊的去中心化作業平台的概念出現,也不過才 4 年左右。目前區塊鏈底層鏈都還在萌芽階段,也許解決的道路不只有兩條,但每條道路的終點不盡相同。

但可以肯定的是,所有的分歧點最終都會是區塊鏈技術進步的養分。

join Zombit

加入桑幣的社群平台,跟我們一起討論加密貨幣新資訊!

tags:

pon

財政大臣站在第二次救助銀行的邊緣

桑幣熱門榜

zombie

桑幣正在徵文中,我們想要讓好的東西讓更多人看見!
只要是跟金融科技、區塊鏈及加密貨幣相關的文章,都非常歡迎向我們投稿
投稿信箱:[email protected]

為提供您更多優質的服務與內容,本網站使用 cookies 分析技術。若您繼續閱覽本網站內容,即表示您同意我們使用 cookies,關於更多相關隱私權政策資訊,請閱讀我們的隱私權及安全政策宣示