跳至主要內容
本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)

協商一致機制

共識機制(算法)是無信任實體之間達成共識的一種方式。在區塊鏈技術中,它用於就區塊是否有效達成共識。區塊鏈網絡的性能取決於所採用的共識機制的性能,它對區塊鏈應用的可用性有重大影響。

Kaia Mainnet 具有以下性能。

  • 每秒可處理 4,000 筆交易。
  • 即時交易終結。
  • 區塊生成時間為一秒。
  • 50 多個共識節點可參與共識進程。

在本文件中,我們將介紹 Kaia 如何實施高效共識流程。

背景介紹​

比特幣 使用的是PoW(Proof-of-Work),而以太坊最近轉向了PoS(Proof-of-Stake),即通過節點的賭注來決定區塊生成節點。通常,這些算法在確定塊的有效性時不涉及節點之間的通信。

因此,在這些系統中,可能會出現分叉,這意味著在同一高度上可以做出兩個或多個不同的區塊。通常採用 "最長鏈獲勝 "規則來解決分叉條件。這意味著這些分叉最終會合併成一條典型鏈,但也意味著區塊列表在屬於較短鏈的一段時間內可以被還原。因此,在這些算法中,無法保證區塊和交易的最終性。終極性只能在一段時間後以概率的方式實現,而這仍然無法得到百分之百的保證。

在使用區塊鏈平臺的面向客戶的服務中,這種缺乏終局性是一個非常棘手的問題。因為它必須等到分叉解決,並且在轉移後堆疊了足夠多的區塊,才能相信交易是不可逆轉的。這對用戶和服務提供商都產生了負面影響。

金融服務就是一個簡單的例子。假設用戶向某人轉賬,而服務在 30 到 60 分鐘後才能驗證轉賬是否有效。因為它必須等到分叉合併成一條鏈,並在轉移後堆疊幾個區塊,以確保交易不可逆轉。

PBFT(實用拜占庭容錯技術) ​

為了避免上述問題,我們需要其他能保證最終性的算法。 BFT 算法就是其中之一,由 Lamport、Shostak 和 Pease 於 1982 年首次發表。 1999 年,米格爾-卡斯特羅和芭芭拉-利斯科夫提出了 "實用拜占庭容錯"(PBFT),它提供高性能狀態機複製。

在上述 PoW 算法中,雖然每個節點都會接收並驗證區塊,但節點之間並沒有信息交換來達成共識。但在 PBFT 中,每個節點都會與其他參與節點通信以達成共識,只要節點能夠達成共識,就能保證區塊的最終性。

節點之間的通信基本如下圖所示。但也有一些變體,反映了每個系統的特點。

PBFT message flow

如上所述,參與 PBFT 的節點基本上分幾個階段與網絡中的所有節點進行通信。這一特性限制了節點的數量,因為通信量會隨著節點數量的增加而呈指數增長。

Kaia 的共識機制​

Kaia 的目標是成為一個企業就緒、以服務為中心的平臺。因此,我們需要解決上面所寫的終結性問題,而且網絡應該能夠允許許多節點參與其中。為了實現這一點,Kaia 使用了伊斯坦布爾 BFT 的優化版本,該版本實現了 PBFT,並針對區塊鏈網絡的特點進行了修改。

在 Kaia 中,有三種節點:CN(共識節點)、PN(代理節點)和 EN(端點節點)。 CN 由 CCO(核心小區運營商)管理,負責區塊生成。這些區塊由網絡中的所有節點驗證。 Please refer to here to know more about this network topology.

Network topology

通過採用和改進伊斯坦布爾 BFT,Kaia 實現了快速終結。由於驗證和共識是針對每個區塊進行的,因此不會出現分叉,一旦達成共識,就能立即保證區塊的最終性。

此外,BFT 算法中通信量增加的問題也通過利用隨機選擇的 "委員會 "得到了解決。 CN 共同組成一個 "委員會",在每個區塊生成時,使用 VRF(可驗證隨機函數)選出其中一部分作為 "委員會 "成員。

Concept of council and committee

由於共識信息只在委員會成員之間交換,因此即使 CN 總數增加,通信量也能限制在設計水平之下。

目前,Kaia Mainnet 可以提供每秒 4000 筆交易的高吞吐量,區塊生成間隔為一秒。目前有 50 多個共識節點可以參與 CNN(共識節點網絡),隨著 Kaia 繼續積極優化算法,這一數字還將不斷增加。

讓這個頁面變得更好