什麼是區塊鏈共識演算法?
目錄
前言
共識演算法和加密貨幣
共識演算法的類型
其他共識演算法
總結
什麼是區塊鏈共識演算法?
首頁文章
什麼是區塊鏈共識演算法?

什麼是區塊鏈共識演算法?

初階
發佈時間 Dec 13, 2018更新時間 Mar 16, 2022
6m

前言

共識演算法是一種允許用戶或機器在分散式環境中進行協調的機制。需要確保系統中的所有代理皆可對真實的單一來源達成一致,即使有些代理失敗。換句話說,系統必須具有容錯能力 (另請參閱︰拜占庭容錯介紹)。

在中心化設定中,單個企業對系統具有控制權。大多數情況下,他們可以隨意做出改變 – 沒有什麼複雜的治理系統讓許多管理員達成共識。

但是在去中心化設定中,情況就完全不同了。假設我們正在處理分散式資料庫 – 我們如何就新增哪些條目達成一致?

在陌生人不信任彼此的環境中克服這一挑戰,可能是為區塊鏈鋪平道路的最關鍵發展。在本文中,我們將了解共識演算法如何對加密貨幣和分散式帳本的功能至關重要。


共識演算法和加密貨幣

加密貨幣中,用戶的餘額被記錄在資料庫中 – 即區塊鏈。每個人 (或者更準確地說,每個節點) 都必須保持一個相同的資料庫副本。否則,很快就會出現相互矛盾的資訊,從而破壞整個加密貨幣網路的目的。
公鑰密碼學確保用戶不能花費彼此的代幣。但是,仍然需要一個網路參與者依賴的單一事實來源,才能確定資金是否已經被花掉。

比特幣的創作者中本聰提出了一個工作量證明系統,來協調參與者。我們將稍後介紹 PoW 如何運作 – 現在,我們將來識別目前存在的許多共識演算法的一些共同特徵。

首先,我們要求想要新增區塊的用戶 (我們稱其為驗證人) 提供質押。質押是驗證人必須提供的某種價值,會阻止他們做出不誠實的舉動。如果他們作弊,就會損失自己的質押。範例包括計算能力、加密貨幣或甚至聲譽。
他們為什麼要用自己的資源來冒險?嗯,也會提供獎勵。這通常包括協定的原生加密貨幣,由其他用戶支付的手續費、新產生的加密貨幣單位組成,或兩者皆有。
最後,我們還需要透明度。我們需要能夠檢測出是否有人在作弊。理想情況下,產生區塊的成本應該很高,但驗證成本很低。這就確保驗證人可以被常規用戶檢查。


共識演算法的類型

工作量證明 (PoW)

工作量證明 (PoW) 是區塊鏈共識演算法的教父。最初是在比特幣中實現,但實際概念已經存在一段時間了。在工作量證明中,驗證人 (稱為礦工) 對想要新增的資料進行雜湊,直到產生特定的解決方案。
雜湊是由字母和數字組成的看似隨機的字串,這些字母和數字在您通過雜湊函數運行資料時建立。但是,如果您再次通過此函數運行相同的資料,您將始終得到相同的輸出。即使改變一個細節,您的雜湊也會完全不同。

看到輸出,您不可能知道函數中加入了什麼資訊。因此,他們對於證明您在特定時間之前知道一段資料時很有用。您可以給某人其雜湊,當您稍後顯示資料時,對方便可通過函數運行,以確保輸出相同。

在工作量證明中,協定規定了令區塊有效的條件。例如,可能會說,只有雜湊以 00 開頭的區塊有效。礦工建立與該組合匹配的唯一方式便是暴力輸入。他們可以調整資料中的參數,為每次猜測產生不同的結果,直到得到正確的雜湊。

對於主要區塊鏈來說,標準設定得非常高。為了與其他礦工競爭,您需要一個裝滿專用雜湊硬體 (ASIC) 的倉庫,以便有機會產生有效區塊。

挖礦時,您的質押即為這些機器的成本以及運行機器所需的電力。ASIC 為一個目的而建,因此他們在加密貨幣挖礦之外的應用中別無他用。收回初始投資的唯一方式便是挖礦,如果成功向區塊鏈新增一個區塊,將獲得可觀的回報。

對於網路來說,驗證您確實建立了正確的區塊是很容易的。即使您嘗試了數萬億種組合來獲得正確的雜湊,他們也僅需要透過函數運行資料一次。如果您的資料產生了一個有效雜湊,將被接受,您將獲得獎勵。否則,網路將予以拒絕,您將白白浪費時間和電力,一無所獲。


權益證明 (PoS)

權益證明 (PoS) 是在比特幣早期作為工作量證明的替代方案推出。在 PoS 系統中,不存在礦工、專用硬體或大量能源消耗的概念。您只需要一台普通的電腦即可。
嗯,不完全如此。您仍然需要在遊戲中投入一些精力。在 PoS 中,您投入的不是外部資源 (如電力或硬體),而是內部資源 – 加密貨幣。每個協定的規則不同,但通常必須持有最低金額的資金才有資格進行質押

您將在錢包中鎖定資金 (質押期間無法轉移)。您通常會與其他驗證人就哪些交易將進入下一個區塊達成一致。在某種意義上,您正在對將被選中的區塊下賭注,而協定將選擇一個。

如果選中了您的區塊,您將收到一定比例的交易手續費,具體取決於您的質押。鎖定的資金越多,賺取的收益就越多。但是,如果您嘗試提出無效交易來作弊,您將失去一部分 (或全部) 質押。因此,我們擁有一個與 PoW 類似的機制 – 誠實行事比不誠實行事更有利可圖

一般來說,不會將新建立的代幣作為驗證人獎勵的一部分。因此,區塊鏈原生貨幣必須以其他方式發行。這可以透過初始發放 (即 ICO 或 IEO) 或透過在稍後過渡到 PoS 之前使用 PoW 啟動協定來實現。

到目前為止,純粹的權益證明只在較小的加密貨幣中部署。因此,尚不清楚是否可作為 PoW 的可行替代方案。雖然這在理論上看起來是合理的,但在實踐中卻會大不相同。

一旦 PoS 在價值巨大的網路上推出,系統就變成了一個博弈論和經濟激勵的競技場。只要能從中受益,知道如何「駭客攻擊」PoS 系統的任何人都可能會這麼做 – 因此,唯一的方法就是在實時網路上確定是否可行。

我們很快就會看到大規模的 PoS 測試 – Casper 將作為一系列以太坊網路升級 (統稱為 Ethereum 2.0) 的一部分進行實施。


其他共識演算法

工作量證明和權益證明是討論最多的共識演算法。但還有很多其他的演算法,各有其優點和缺點。查看我們的下列文章︰


總結

達成共識的機制對於分散式系統的功能至關重要。許多人認為,比特幣最大的創新是使用工作量證明,讓用戶可以對一組共享的事實達成一致。

如今,共識演算法不僅支援數位貨幣系統,還支援區塊鏈,允許開發者在分散式網路上運行代碼。他們現在是區塊鏈技術的基石,對各種網路的長期生存能力至關重要。

在所有的共識演算法中,工作量證明仍然占主導地位。目前還沒有提出更可靠、更安全的替代方案。也就是說,對 PoW 的替代進行了大量的研究和開發,可能會在未來幾年看到更多產品出現。