區塊鏈解決了在不可信信道上傳輸可信信息、價值轉移的問題,而共識機制解決了區塊鏈如何分佈式場景下達成一致性的問題。其偉大之處就是它的共識機制在去中心化的思想上解決了節點間互相信任的問題,隨着比特幣市值的不斷擴大,共識算法的革新及改良也在不斷進行中。
本文將通過共識機制入手來講解幣贏潛力區近期上線的KBL卡巴拉算法,方便大家理解共識機制的整體發展和革新之處。
你是否真的認識共識機制?
讓我們將其分為2個部分:
共識: 所有參與者的一致意見,意味着每個人都接受並支持這些決定。
機制: 建立的過程由明確的規則組成,以實現特定的目標
共識機制是指以去中心化的方式就網絡的狀態達成統一協議的過程。也被稱為共識算法,有助於驗證和驗證信息被添加到分類賬簿,確保只有真實的事務記錄在區塊鏈上。
因此,共識機制負責安全地更新分佈式網絡中的數據狀態。
已經硬編碼到協議中的規則確保在全球計算機網絡中總是能找到唯一的數據來源並達成一致。這些規則保護整個網絡,實現無需信任的網絡,而無需中央數據或中介。
什麼是共識機制的目標?
達成一致: 共識機制試圖解決圍繞分佈式系統的最複雜問題之一:數據的真實性和準確性達成統一協議。與中心化系統不同,用户不必信任系統中的任何人。嵌入網絡的協議規則確保了公共分類帳的狀態總是隨着大眾的共識而更新。
防止雙花攻擊: 共識機制防止任何用户重複消費,這是在比特幣出現之前一直存在的數字貨幣問題。“雙花攻擊”指的是數字貨幣有可能被兩次消費。區塊鏈共識機制中嵌入的協議規則確保只有有效和真實的交易才記在公共透明的賬簿中。隨着礦工算力擴大以保護交易(以及網絡),雙花攻擊或改變交易的指數變得越來越難。
激勵機制: 創建一個自我調節的無信任系統需要調動網絡參與者的積極性。共識機制通過激勵好的行為,在某些情況下,懲罰壞的行為者來實現這一點。比特幣(Bitcoin)使用的第一種共識機制(工作量證明(Proof-of-Work)),通過獎勵比特幣(Bitcoins)給礦工,獎勵他們每一筆交易的擔保和驗證。任何針對網絡的行動(通過黑客攻擊或雙花攻擊)都需要大量的算力和錢財,這些資源將更好地用於為系統工作(因為他們的努力會得到回報),而不是針對系統。
公平公正: 區塊鏈的去中心化的一個重要優勢是分配授權,任何人都能在同一個基礎上參與進來。公共區塊鏈的開源特性使任何人都可以檢查和驗證底層源代碼對網絡中的所有參與者是否公平。如果你願意,就可以輕鬆地設置一個節點併成為參與者甚至礦工。簡而言之,共識機制確保區塊鏈不存在區別對待。
容錯機制: 在算法領域,容錯是指分佈式系統在面臨威脅或故障時仍能無限運行。共識機制確保區塊鏈是容錯的,因此是可靠和一致的。
幾種共識機制的對比
工作量證明
工作量證明機制,即節點通過“多的工作量”來換取信任。每個節點在提出某個階段的待定區塊之前,必須完成達到指定工作量的工作;不僅如此,如果某個節點收到了多個待定區塊,那麼哪個區塊的鏈更長,它就驗證哪個區塊,因為更長的鏈意味着鏈所包含的工作量更多。
大家可能會有一個問題,為什麼我們要相信工作量多的人呢?還是因為這種機制的特性之一:偽隨機性。它保證某個節點優先完成工作量證明的概率只取決於它佔有的計算資源(CPU、內存等)佔全世界所有節點的計算資源總和的比例。保證了相對的公平性(通俗上説,就是拼人數,好人多就行。拿現實世界打比方,如果你想搞破壞,必須要收買/征服全世界一半以上人口,或者自己一個人比全世界其他所有人加一起都有錢)。
不足:
1. 嚴重的效率問題
2. 過多強算力節點聯合,可能導致安全問題(目前計算資源逐步趨向中心化,與區塊鏈初衷相悖)
3. 資源消耗過大
權益證明
由於工作量證明的過大資源消耗與資源浪費問題,人們越來越關注權益證明機制。
假設網絡同步性較高,系統以輪為單位運行。在每一輪的開始,節點驗證自己是否可通過權益證明被選為代表,只有代表可以提出新的區塊。代表在收到的最長的有效區塊鏈後提出新的待定區塊,並將自己生成的新的區塊鏈廣播出去,等待確認。下一輪開始時,重新選取代表,對上一輪的結果進行確認。誠實的代表會在最長的有效區塊鏈後面繼續工作。如此循環,共同維護區塊鏈。
不足:
1. 如果網絡同步性較差,則系統很可能形成分叉,破壞一致性。
2. 代表節點操控一切
拜占庭一致協議
這一機制的主要目的是,解決如何在有錯誤節點的網絡中使所有正確節點對某個輸入值達成一致。該機制資源消耗少,效率高,一致性強(不易產生分叉)。
以實用拜占庭容錯協議為例, 協議要求在有3f+1 個節點的分佈式系統中, 失效節點數量不超過f個。實用拜占庭容錯協議的每一輪包括3個階段: 預準備階段、準備階段和確認階段。在預準備階段,由主節點發布包含待驗證記錄的預準備消息。接收到預準備消息後,每一個節點進人準備階段。
在準備階段,主節點向所有節點發送包含待驗證記錄的準備消息,每一個節點驗證其正確性,將正確記錄保存下來併發送給其他節點。直到某一個節點接收到2f個不冋節點發送的與預準備階段接收的記錄一致的正確記錄,則該節點向其他節點廣播確認消息,系統進人確認階段。在確認階段,直到每個誠實節點接收到2f+1個確認消息,協議終止,各節點對該記錄達成一致。
不足:
1. 安全性差(容錯率僅為1/3,其他兩種均為1/2)
2. 擴展性差(該協議的效率取決於節點數量,不適用於節點數量過大的區塊鏈系統)
3. 對主節點有依賴
卡巴拉“契約”算法
Eylon Aviv的74人團隊提出來用區塊鏈技術解決信任問題,採用" 卡巴拉契約"算法的卡巴拉(Kabal)應運而生。 當然卡巴拉(Kabal)不僅僅是解決信任問題,更多的是其超前的理念和核心的技術,世界金融被猶太帝國所掌控的現實,讓他們更傾向於解決金融領域的問題。
KBL是卡巴拉(Kaba l) P O S機制的驗證鏈,在全面轉型只POS機制後,卡巴拉 (Kabal)全網的出塊則由波場(TRON)協議上的驗證礦工來執行。而不是由目前的礦工來完成,在使用兩種機制的條件下,KBL的目標是達成共識,除了在網絡正常運行時,快速 安全出塊之外,要做到在受到攻擊時也保持安全。
不足:
FLP不可能原理不排除不合理假設;
協議可能發生異步;
四種共識機制對比
共識機制
一致性
安全性(容錯性)
擴展性
效率
資源消耗
工作量證明
有分叉
<50%
差
高延遲
高
權益證明
有分叉
<50%
良好
低延遲
低
拜占庭一致性協議
無分叉
<33%
差
低延遲
低
卡巴拉“契約”算法(KBL)
有分叉
>50%
良好
低延遲
低
相比之下,在一致性、安全性、擴展性和效率、資源消耗山來説,卡巴拉“契約”算法具有前瞻性意義,在共識上,採用的POW的共識機制,其中驗證出塊的流程,是通過隨機數計算而成的。也就是説在整個出塊流程中,是不受整個市場控制的。
在卡巴拉的激勵生態中,每日產出的45%是用於持幣算力分配,45%用於推廣算力分配,極大地激勵了用户的推廣積極性,有利於市場的擴大和生態的和諧。
在整個代幣結構中,最吸引人的還是持幣算力,其中就涉及到最佳排名區,這個時候的收益也是最理想的。為避免被少數富人和金融寡頭所控制,採取了跳躍排名加權算法。在此算法下,可以保持整體的平衡,儘可能地實現社區共贏。
未來已來,卡巴拉“契約”算法,應該是承前啓後的有力論證,吸納了猶太人最注重的“契約”精神,還採取了區塊鏈技術,來解決信任問題。在某種程度上,能夠促進健康的生態建設,將會對現有的共識機制進行怎樣的衝擊,我們拭目以待!