1. 程式人生 > >區塊鏈:PoS權益證明演算法

區塊鏈:PoS權益證明演算法

工作量證明演算法(PoW)存在的弊端

1、人為提高攻擊者成本,以cpu算力來爭奪記賬權,耗費大量的電力。

2、挖礦規模效應,使得演算法集中在大礦場主手中。(也就可能會與去中心化的理論相悖的)。

 

權益證明演算法(PoS)

1、挑選一些結點做記賬人(這裡就不是通過CPU的算力來挑選了)。

2、記賬人需要繳納一筆押金。

3、若記賬人被發現作惡,押金就會被沒收。

 

記賬人:

1、礦工成為了記賬人,負責:驗證交易,鑄成區塊(交易後是否有效是在記賬人之間進行投票,票的權重是根據記賬人所繳納的押金所決定的,當然,繳納的押金越多,權重越大)。

2、成為記賬人前要交大筆押金。

3、記賬人的出品(鑄成的區塊)合格,大家都能夠認同,回得到相應的獎勵,但這裡不像是PoW那樣獎勵區塊,而是從交易裡面獲得手續費。

4、若記賬人作惡,押金會被沒收。

 

PoS獨有問題:無鏈勝出

記賬人面對兩條區塊鏈的情況,有四種選擇:不投,投A或B,兩邊都下注。

在假設投票投錯了也沒有懲罰的情況下,記賬人兩邊都投票的數學期望最大,因為必有一條鏈是正確的。然而這樣的話,所有的記賬人沒有辦法取得共識,兩邊都下注就沒有辦法分出勝負。

 

這個問題在PoW中不存在,因為如果兩個都下注的話,兩邊都要消耗算力,算力的投入是0.05,在乘以他們分別的概率,期望值為0.5。因此這裡最大的期望就是給最大概率的下注。

 

所以這種沒有懲罰的下注是不完整的,因此在以太坊中,增加投錯和兩邊下注的懲罰。

 

怠工

怠工:若大於三分之一的記賬人拒絕投票,就會形成死鏈。

辦法:啟動鏈外的社群投票,將攻擊者踢出驗證者群。

因此就是在需要在記賬人之間有一個池子,以便追蹤他們的行為。

 

惡意抵制

大於三分之一的記賬人抵制某種交易。這種情況下呢蒐集證據比較複雜。

解決辦法:讓合約不斷換地址給自己轉賬,看看地址是否被抵制。得到證據然後懲罰記賬人。

 

富人更富嗎?

實際上相比與PoW演算法,PoS演算法更加公平一些,大量代幣的持有人將會捨去押金的機會成本來作為記賬人。而PoW演算法對於大礦場主而言,增產的成本更低,而對小礦場主其實並不公平。

 

對整個生態的影響

相比於PoW的大礦場主而言,PoS的大量代幣的所屬人跟圈子的利益結合更大。也因此,有可能大礦場主回倒戈他幣,而記賬人作為大量代幣的持有者,波對相對穩定。

 

PoS會影響礦工呢?

1、投票不再是CPU算力,而是手中代幣的數量。

2、礦機的算力變得沒有意義。

 

總結

1、不用CPU投票,改用資本,避免算力壟斷與算力競爭,節省資源。

2、用一套精巧的經濟激勵機制來防範記賬人作弊。

讓富人跟整個生態鏈利益一致。

3、先部署PoS+PoW混合演算法,再慢慢過渡到純PoS演算法。