以太坊要從pow轉POS,轉篇稿件讓大家瞭解下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%時挖礦的動機才是相容的。)

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;