POS設計思想

什麼是POS?

POS是一種在公鏈中的共識算法,可作爲POW算法的一種替換。POW是保證比特幣、當前以太坊和許多其它區塊鏈安全的一種機制,但是POW算法在挖礦過程中因破壞環境和浪費電力而受到指責。POS試圖通過以一種不同的機制取代挖礦的概念,從而解決這些問題。

POS機制可以被描述成一種虛擬挖礦。鑑於POW主要依賴於計算機硬件的稀缺性來防止女巫攻擊,POS則主要依賴於區塊鏈自身裏的代幣。在POW中,一個用戶可能拿1000美元來買計算機,加入網絡來挖礦產生新區塊,從而得到獎勵。而在POS中,用戶可以拿1000美元購買等價值的代幣,把這些代幣當作押金放入POS機制中,這樣用戶就有機會產生新塊而得到獎勵。在POW中,如果用戶花費2000美元購買硬件設備,當然會獲得兩倍算力來挖礦,從而獲得兩倍獎勵。同樣,在POS機制中投入兩倍的代幣作爲押金,就有兩倍大的機會獲得產生新區塊的權利。

總體上說,POS算法如下所示。存在一個持幣人的集合,他們把手中的代幣放入POS機制中,這樣他們就變成驗證者。假設在區塊鏈最前面一個區塊(區塊鏈中最新的塊),這時POS算法在這些驗證者中隨機選取一個(選擇驗證者的權重依據他們投入的代幣多少,比如一個投入押金爲10000代幣的驗證者被選擇的概率是一個投入1000代幣驗證者的10倍),給他們權利產生下一個區塊。如果在一定時間內,這個驗證者沒有產生一個區塊,則選出第二個驗證者來代替來產生新區塊。與POW一樣,以最長的鏈爲準。

注意這個模型有許多變種。在之前點點幣的POS算法中,每秒鐘有一個不同的驗證者被分配來產生區塊。有時,沒有一個明確的機制來說明誰成爲驗證者。每個代幣持有人都是一個潛在的驗證者,但如果一個代幣持有人離線或者對驗證不感興趣,他就會錯過產生新區塊的機會。而在有些POS算法中,根本沒有驗證者選擇的概念。因此,一種傳統的拜占庭容錯共識算法過去常常用來使所有驗證者同意下一個區塊。然而,選擇下一個驗證者的僞隨機算法可以有很多不同方式,但無論充值或其它方式,使用代幣替換礦工的原則是不會改變的。

POS策略相對於POW的好處

首先,不再需要爲了安全產生區塊而大量消耗電能。

由於不再需要大量能耗,通過發行新幣以激勵參與者繼續參與網絡的壓力會下降。理論上負總發行量甚至成爲可能,由於一部分交易費“被燒”掉因此貨幣供應隨着時間減少。

有可能通過“合作博弈論”減少自私挖礦攻擊遭成的系統弱點,雖然POW在一定程度上也可以做到這一點。

隨着規模經濟(指擴大生產規模引起經濟效益增加的現象)的消失,中心化所帶來的風險減小了。價值一千萬美元的代筆帶來的回報不多不少是價值一百萬美元代幣的10倍,不會有人因爲負擔得起大規模生產工具得到不成比例的額外回報。

相較工作證明制度,POS制度中實施經濟懲罰的可能會使各種51攻擊變得極其昂貴-引用Vlad Zamfir的話說“參加51攻擊就好比你的ASIC農場着火了”。

POS如何適合傳統拜占庭容錯的研究?
拜占庭容錯研究中得出的幾個基本結論對所有共識算法普遍適用,包括像PBFT這樣的傳統共識算法以及任何股權證明(POS,即proof of stake)算法,甚至同流行的看法相反,在一定程度上適用於工作證明算法。

關鍵結論包括:

CAP定理-“在網絡分區產生的情況下,你必須選擇一致性(consistency)或者可用性(availability),無法兩項全都滿足。“ 直覺上的論證很簡單:如果網絡分成了兩半,並且我在一半的網絡中“給A發送了10個幣”在另外一半的網絡中“給B發送了10個幣”,那麼要麼系統不可用,因爲一比交易或者兩比都不會被處理,要麼系統會變得沒有一致性,因爲一般的網絡會完成第一筆交易,而另外一半網絡會完成第二筆交易。

FLP不可能性-在一個異步條件下(也就是說,甚至正常運作的節點之間的網絡延時也不存在一個保證的界),即便只有一個錯誤/不誠實的節點存在那麼創造出一種能夠保證在有限時間內達成共識的算法就是不可能的。注意這裏不排除“拉斯維加斯”算法每輪會具有一定概率達成共識,因此隨着時間T的增長在T時間內達成共識的概率會以指數式的速度趨近於1。

容錯界限-從DLS論文中我們得出結論:(1)在一個部分同步網絡的模型(也就是說:網絡延時有界限但是我們並不知道在哪裏)下運行的協議可以容忍1/3任意(換句話說,拜占庭)錯誤,(2)在一個異步模型中的確定性的協議(沒有網絡延時上限)不能容錯(不過這個論文沒有提起隨機化算法可以容忍1/3的錯誤),(3)同步模型中的協議(網絡延時可以保證小於已知d時間)可以,令人吃驚的,達到100%容錯,雖然對1/2的節點出錯可以發生的情況有所限制。注意“驗證拜占庭”模型是那個值得考慮的模型,而不是“拜占庭”模型;驗證的部分基本上意味着我們可以在算法裏使用公鑰,此行爲現在被研究得非常透徹並且已經非常便宜了。

工作證明已經經過Andrew Miller和其他人的嚴謹分析,它已經被證實在同步網絡模型中是一個可靠的算法。例如比特幣,假設網絡延遲爲零,具有50%的容錯率,在實際觀測中可達~49.5%,但是如果網絡延時等於出塊時間容錯率則降至33%,當網絡延時的趨近於無限容錯則趨近於零。我們一般意識不到這一點因爲比特幣的出塊時間很長(10分鐘),連以太坊14秒出塊時間都只有大概46%的容錯率,但是從根本上違反拜占庭容錯理論的情況尚未出現。值得注意的是,在工作證明的概念裏沒有N個節點存在的概念,雖然網絡可以容忍到0.495*N個錯誤。然而,不同節點的運算時間可能不同,算力已經通過抽象化的方式被映射到拜占庭容錯的理論框架之中了。

股權證明(POS)共識更明顯是一個拜占庭容錯共識問題。就像工作證明一樣,大多數算法通過依靠同步網絡模型來達到50%的容錯率。已經存在一些研究,特別是在Tendermint項目裏,着眼於創作一種依靠部分同步或者異步網絡模型的共識算法。所有工作證明和一些股權證明會選擇可用性而不是一致性,雖然Casper的(finality)機制以及Tendermint選擇會一致性。

注意Ittay Eyal和Emin Gun Sirer有關自私挖礦的發現,它根據網絡模型的不同給比特幣挖礦分別設置的25%和33%的動機兼容率上限是跟傳統共識算法研究的結果完全無關的,傳統研究並不涉及動機兼容的問題。(也就是說,只有共謀不可能大於25%或者33%時挖礦的動機纔是兼容的。)

發佈了83 篇原創文章 · 獲贊 25 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章