編譯:Nicole
來源:Coindesk,區塊鏈兄弟
作者:Amy Castor

已經有很多公有區塊鏈在試圖改變世界,但是要在全球範圍內運行,共享公有賬本需要一個可行、高效和安全的共識機制。

一種共識機制,像比特幣的工作量證明(Proof of Work),有兩個作用:確保區塊鏈中的下一個區塊是唯一且真實的那一個,保護系統安全防止分叉。

在工作量證明機制中,礦工通過解決極其困難的密碼學難題互相競爭來將下一個區塊(一系列交易)添加到區塊鏈中。第一個解決難題的礦工將會獲得獎勵,該礦工會獲得 12.5 個新產生的比特幣以及少量的交易費。

儘管比特幣的工作量證明機制本身是開創性的,但並非完美的。

常見的批評包括它需要大量的算力資源,無法很好地擴展(交易確認需要 10-60 分鐘),而且大多數的挖礦集中在全球電費便宜的地區。

比特幣的發明者中本聰喚醒了我們對區塊鏈潛力的認知,但是這並不意味着我們無法探索更快、更去中心化和更節能的共識機制。

以下是一些常見的替代共識機制:

權益證明(Proof of stake)

在這種類型的共識機制中,驗證者無需投入大量昂貴的算力設備來挖礦區塊,相反它們需要的是系統的代幣。

注意這個用詞‘驗證者’。因爲在權益證明機制中,不會創建新的幣。相反,所有的幣在第一天就出現了,驗證者(也成爲股東,因爲它們持有系統的股份)只能獲得交易費。

在權益證明系統中,創建下一個區塊的機會取決於你所擁有的系統幣的比例。擁有 300 個幣的驗證者驗證區塊的機會大概是擁有 100 個幣的 3 倍。

一旦驗證者創建了一個區塊,區塊仍然需要寫入到區塊鏈中。不同的權益證明系統在處理時會不盡相同。例如,在 Tendermint 中,系統中所有的節點停止廣播活動,直到實現大多數的投票,而在其它系統中,會隨機選擇簽名者。

現在的問題是:怎麼能阻止驗證者創建兩個區塊以及廣播兩套交易費呢?以及如何阻止驗證者在這兩個區塊上簽名呢?這就是所謂的‘Nothing -at-stake’問題。參與者進行破壞行爲時沒有損失。

在迅速發展的密碼學經濟領域,區塊鏈工程師們一直在探索解決這一問題的方法。一種方法就是要求驗證者將它們的貨幣鎖定在某個類型的虛擬器中。

如果驗證者試圖雙重簽名或者分叉系統,它們就會被扣除。

Peercoin 是第一個實施權益證明的,緊接着是 blackcoin 和 NXT。以太坊現在是工作量證明機制,但是正在計劃於 2018 年初轉向權益證明。

活動證明(Proof of activity)

爲了避免惡性通貨膨脹,比特幣最終將只有 2100 個幣。這意味着,在某個時間點,比特幣區塊獎勵將會停止,比特幣的礦工只能獲得交易費。

一些人認爲這會導致嚴重的問題,人們的行爲會是利己主義,而且會破壞系統。因此,(Proof of activity)作爲比特幣的一種替代激勵結構而出現了。活動證明是一種結合了工作量證明和權益證明的混合方法。

在活動證明中,挖礦是以傳統的工作量證明形式進行的,礦工互相競爭來解決密碼學難題。挖礦產生的區塊(它們更像是模板)不包含任何交易,因此獲勝的區塊只含有頭部和礦工獎勵地址。

這個時候,系統切換到權益證明。基於頭部信息,選擇隨機的驗證者來簽名新的區塊。驗證者擁有的系統種的代幣越多,它就越有可能被選擇。只要所有的驗證者都對其簽名,模板就成爲成熟的區塊。

如果被選中的某些驗證者沒有完成區塊,那麼就會選擇下一個獲勝的區塊,然後選擇一羣新的驗證者,以此類推,直到區塊獲得正確數量的簽名。交易費分發給了礦工和所有簽名區塊的驗證者。

活動證明的弊端在於既存在工作量證明的弊端(需要很多的能量來挖礦區塊),也存在權益證明的弊端(無法檢測雙重簽名的驗證者)。

Decred 是目前唯一使用活動證明的幣種。

銷燬證明(Proof of burn)

在銷燬證明中,不需要昂貴的計算設備,而是通過將幣發送至一個地址來銷燬它們,而且這是不可復原的。通過將你的幣發送至想象中的地址,根據隨機選擇過程你獲得了在系統中進行永久挖礦的權利。
根據銷燬證明實施的不同,礦工可能會銷燬原生代幣或其它鏈的代幣,例如比特幣。你銷燬的幣越多,你獲得挖礦下一個區塊鏈的機會就越大。

隨着時間的進行,你在系統中的股份會降低,因此最終你將會銷燬更多的幣來增加你挖礦區塊的概率。(這有點類似比特幣的挖礦過程,你需要持續不斷地投入更先進的算力設備來維持算力。)

儘管銷燬證明是一個有趣的替代方案,但它仍然需要浪費能源。另外一個問題是,算力流向了那些願意銷燬更多資金的人。

容量證明(Proof of capacity)

正如上述所提到的,絕大部分的替代協議都使用了某些類型的付費參與的模式。容量證明也無例外,但是你需要支付的是硬盤空間。你擁有的硬盤容量越多,那麼你挖礦下一個區塊並獲得區塊獎勵的概率就越大。

在容量證明系統中挖礦之前,該機制會產生大量的‘plots’數據,將會存儲在你的硬件中。你擁有的 plots 越多,你發現下一個區塊的概率就越大。

通過投入大量的硬盤空間,你可以創建複製區塊,並分叉系統。因此仍然存在無啊識別 nothing at stake 的問題。

容量證明的變種高快存儲證明和。

運行時間證明(Proof of elapsed time)

芯片製造商因特爾發佈了自己的共識協議運行時間證明。該系統的工作原理類似於工作量證明系統,但能量消耗很少。

而且,參與者無需解決密碼學難題,相反該機制使用了可信執行環境(TEE) – 例如 SGX – 來確保區塊是以隨機方式產生的,但是無需工作量。

因特爾的方法是基於 TEE 提供的保證等待時間的。根據因特爾的說法,該機制可以擴展至上千個節點,而且可以有效地運行在任何支持 SGX 的因特爾處理器中。

該協議存在的一個問題是需要你信任因特爾 – 如果要信任第三方的話,我們豈不是又在遠離公有區塊鏈嗎?

來源鏈接:t.cn