為什麼說EOS的DPoS不容易造成分裂式分叉?

在區塊鏈世界中,分叉是我們常常聽到的一個詞,比特幣和以太坊都經歷了一定次數的分叉。但是,並不是所有的幣都會分叉,有的幣就幾乎不會分叉。

例如,DPoS 就具有不容易分叉的特點。這到底是什麼意思,今天就讓我們一起來看一下。

什麼是 DPoS 演算法?

為什麼說EOS的DPoS不容易造成分裂式分叉?

首先,我們來了解一下什麼是 DPoS 演算法,DPoS 主要分為兩個部分:

(1)由利益相關者投票選舉出一組區塊生產者;

(2)區塊生產者按輪次排程生產。

同 PoW 一樣,在 DPoS 中,最終勝出的規則仍然是最長鏈勝出。任何時候,當一個誠實節點看到一個有效的最長鏈,它就會從當前分叉上切換到最長鏈,從而使最長鏈越來越長。

但與 PoW 和 PoS 不同,DPoS 在大多數網路條件下仍能穩健執行,接下來我們來進行說明。

區塊生產過程

為什麼說EOS的DPoS不容易造成分裂式分叉?

正常生產過程中,區塊生產者按照一定的時間間隔依序輪流出塊,任何出塊人在非輪次時間外生產的區塊均被視為無效塊,因而只要每個出塊人按時出塊,就會產生最長的有效鏈。

在面臨少數節點的惡意分叉攻擊時,由於少數節點的出塊速度小於多數節點,因而誠實的多數節點將生成最長鏈,使分叉無效。

網路中斷是很多區塊鏈網路都會面臨的一個挑戰,在發生網路中斷的情況下,可能會出現每個分叉上都只有少數出塊人的情況。但是,在網路連通後,每個分叉上的出塊人都會自覺地切換到最長鏈,形成最長鏈,分叉就到此為止。

投票監督過程

為什麼說EOS的DPoS不容易造成分裂式分叉?

DPoS 機制中,一個很重要的機制是多出了一個監督的職位。

這一機制非常像我國的人民代表大會制度,人民選出人大代表,人大代表為人民服務,當人民發現某個人大代表不能很好履行職責時,可以將其淘汰出局。在 DPoS 中,利益相關方(Token 持有者)可透過投票淘汰非誠實出塊人,選出誠實的出塊人,從而保證網路的穩健執行。

比如,當網路中出塊人數量不足時,網路的利益相關方可透過投票選出一組新的出塊人,恢復網路的參與度,新的出塊人所形成的鏈由於網路參與度最高將會形成最長鏈。同樣,當多個出塊人同時分叉時,也可以透過投票將作惡者替換出局,由誠實節點決定的鏈將形成最長鏈。

另一方面,由於 DPoS 系統中區塊生產者的個數是事先選定且確定的,為了防止出塊人之間相互認識進而作弊,每經過一輪出塊,系統都會對出塊順序進行重新整合,並透過這種洗牌保證最終只有一個分叉成為最長鏈。

小結

在常見的自然網路破壞下,DPoS 都能夠保證最終只有一個最長鏈分叉會勝出,甚至在大多數區塊生產者都出現問題時,仍能繼續工作,並透過投票淘汰作惡的出塊人,恢復網路的參與度。

目前,

DPoS 演算法已經在一些區塊鏈專案上執行多年,證明了其自身的安全性和可靠性。因此,我們常說,DPoS 是安全不容易分叉的。