Insolar共識演算法: 實現>10000 交易/秒

買賣虛擬貨幣
共識演算法是每個區塊鏈協議的重要組成部分。它基本上構成了區塊鏈協議,並將區塊鏈協議與標準資料庫區分開來。共識演算法允許網路參與者決定新增到網路中的新記錄是否有效。在一些區塊鏈協議中,共識機制還定義了網路中允許哪些節點執行、驗證和儲存記錄、交易和智慧合約。最佳共識:神話?在區塊鏈行業的思想領袖中,關於哪種共識演算法是最好的一直存在爭議。丹·拉里默和維塔利克·布特林之間的討論第一個映入腦海。然而,所有共識演算法都各有其優缺點,因此任何一個都不能成為所有業務邏輯的通用解決方案。 在我們看來,在一個活躍的企業環境中使用區塊鏈並不僅僅是為了對整個網路應用單一的共識演算法,而是允許使用者和企業決定他們要將哪些規則應用到他們自己的業務流程中。這一看法在我們以前關於域的部落格文章中已有描述。是時候採用結構化方法了
同時,預設情況下,Insolar平臺使用兩類共識協議。我們稱之為實用和域共識協議。實用協議用於網路維護程式,而其他協議用於核准交易。下面讓我們進一步瞭解一下

1. 實用協議


Insolar實施的第一類共識協議是實用協議,它定義的不是如何核准交易,而是整個網路操作。簡單地說,它是關於網路中的節點如何發現彼此,以及誰有資格執行某些功能,例如執行、驗證和儲存。我們選擇拜占庭容錯演算法(BFT)作為基礎,但是Insolar為傳統BFT提供了一定的可擴充套件性。為了瞭解Insolar如何能夠提供線性擴充套件性,首先讓我們來解釋一下BTF的優劣方面。
拜占庭容錯演算法(BFT)大多數面向企業的區塊鏈網路(公共和私人)都採用拜占庭容錯(BFT)共識演算法。其中包括瑞波(Ripple)、恆星(Stellar)、小蟻(Neo)和超級賬本(Hyperledger)。BFT比其他共識演算法更能滿足企業的需求,因為節點列表是經過許可、預先定義的,並且所有節點都具有相同的許可權。該共識中的所有節點都需要相互溝通,以便就每項交易達成一致意見,達到所需的多數⅔+1表決。然而,BFT的主要優點恰恰也是它的最弱之處。由於網路上的所有節點都需要在導致整個網路發生變化的操作上達成一致意見,因此交易協商可能需要時間,而時間取長短決於節點的數量。因此,向網路中新增一個新節點意味著網路中連線的增長不是線性的,而是指數性增長。聽起來很難理解?嗯,其實很簡單:如果網路中有100個節點,那麼新增一個新的節點(總共101個節點),意味著新增100個查詢。因此,網路工作速度更慢一點。BFT可以在純私人網路中完美地運作,因為這不需要有比業務流程中更多同等的節點。
超級賬本(Hyperledger)通常使用30個節點進行交易驗證,這可能足以為任何業務流程提供私人連結解決方案。同時,瑞波(Ripple)最近已經擴充套件到55個驗證器節點,但是由於網路只服務於它自己的產品,所以也不需要進一步提高可擴充套件性。Insolar’s 可擴充套件性解決方案為了使傳統的BFT方案具有更大的可擴充套件性,我們提出了一個概念,即加入網路的每個新節點幾乎成線性地增加網路容量。節點越多,解決BFT共識的侷限性就越複雜,我們將節點參與的一致性(有效性)與交易的一致性(有效性)分離開來。因此,並非強制所有節點在所有交易上達成一致,Insolar節點首先同意(使用BFT)哪個是起作用的(有效節點)和那些是新的熵(隨機性),然後,透過使用有效節點和熵,節點被分配到使用域共識協議處理較小節點組內的交易。這種仍然有限制的BFT方法用於有效節點的一致性,從而將網路大小限制為約1000個節點。因此,我們增加了球狀體(Globulas)的概念:每個虛擬子網路最多有1000個節點。這意味著有效節點列表不是在整個網路中得以維護的,而是在每個球狀體(Globulas)中得到維護的。然後球狀體(Globulas)關於有效節點彼此達成一致意見。這種分離到球狀體只適用於網路共識,而較小的集合則由不同球狀體的節點組成以處理交易。

這就產生了兩個共識協議,定義了球狀體(Globula)內部和不同球狀體(Globulas)之間的相互作用。


· 球狀體(Globula)網路協議-一種類似BFT的協議,在球狀體網路(一種最多1000個節點的較小網路)之間建立資料一致性。

· 球狀體內(InterGlobula)網路協議-一種類似dBFT的協議,它擴充套件了球狀體(Globula)網路協議,並使用基於領導者的共識在Insolar雲網路(最多100個球狀體或100000個節點)的球狀體間建立一致性。

脈衝星(Pulsar)節點共識

Pulsar協議是一種類似BFT的協議,它產生熵(隨機性),以防止節點串謀,並透過脈衝(Pulses)向節點指示時間週期的開始。Insolar使用BFT的原理,不僅用來管理有效節點列表,而且還管理網路脈衝(Pulse)生成的核心過程。如先前一篇文章所述,要確保智慧合約的節點分配執行器和驗證器狀態的隨機性,從而確保網路安全,脈衝(Pulse)是必要的。

脈衝(Pulse)節點(脈衝星Pulsar)使用BFT共識產生脈衝(Pulse),以同意下一個脈衝的熵(隨機性)。

2. 域共識協議

第二種共識演算法是所謂的域共識協議。它們定義了在網路中驗證智慧合約的方式。這裡也有共識的子類別。一致同意驗證(1)合約邏輯的執行;(2)分銷交易的最終性/完整性;以及(3)要新增到分類賬中的節點許可權和記錄。

· 域所有者可以選擇如何驗證智慧合約,同時還有兩種預設方案:

· 多數表決需要大多數驗證節點來確認交易,並且其在公共網路預設情況下進行:

全部或升級要求所有驗證節點確認交易。如果沒有在所有節點上達成100%的共識,下一個脈衝將啟動另一輪驗證,不同的節點將被選為驗證器,直到達成共識。如果在一系列回合後仍未達成共識,這種情況將按照衝突解決程式逐步升級。這可能會在私人域中使用,因為公共網路的性質和大小決定了幾乎不可能達成100%的共識。

利益攸關

在Insolar平臺上,有三個因素阻止惡意節點攻擊。第一種是在不同的節點集上為不同的功能(驗證節點、驗證更改和驗證許可權)使用不同的共識;第二種是使用不同共識的時間隔離(例如,在處理交易邏輯後選擇投票人驗證許可權)。第三個因素是每個節點的金融責任。要在Insolar網路上執行一個節點,必須持有一定數量的INS代幣。如果網路中存在惡意(或技術上不可靠)節點,則會受到懲罰,並且所持有的代幣(部分或全部)會被銷燬。

Insolar對共識機制的方法設定為提供近乎線性的可擴充套件性,平臺的其他特性也使得交易速度超過其他區塊鏈平臺提供的交易速度。我們即將推出的私人測試網將展示我們處理交易的速度的能力。

更多區塊鏈資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;