為什麼說「Nothing At Stake」問題會是PoS的挑戰?
Cobo錢包/張詠晴編譯
2019-05-22 12:04

 

PoS(Proof of Stake)本質上是一種持有一定幣量,而獲得挖礦資格和收益的共識協議,在最初 Proof of Stake 2013年被提出來後, Nothing At Stake (無利害關係)的問題和 Long-Range Attack(遠端攻擊)問題是經常被談論的 Proof of Stake 共識協議的挑戰。想更深入瞭解 PoS?知道是什麼,還需要瞭解為什麼。

 

今天我們先來看看 Nothing At Stake problem (無利害關係)。

 

Nothing At Stake, a situation where someone loses nothing when behaving badly, but stands to gain everything.

 

Nothing At Stake 問題的本質是 「作惡無成本,好處無限多」。具體來講,是當在 PoS 共識系統出現分叉(fork)的情況時 ,出塊節點可以在「不受任何損失」的前提下,同時為多條鏈出塊,從而有可能獲得「所有收益」。

 

為什麼 Nothing At Stake 問題僅僅是 PoS 的挑戰? PoW難道不會有嗎?

 

PoW機制天生避免了這個問題。因為在出塊時,礦工會付出機會成本_算力資源。如果分叉出現, 礦工需要慎重的選擇在哪條鏈上出塊,一旦選錯,付出的算力成本則沒有收益。礦工也不會選擇在兩條鏈上均分算力,這樣只會將原鏈的出塊機率縮小一半,可能得不償失。

 

那麼如何解決 Nothing At Stake問題 ?

 

一般的策略都是後置懲罰,既如果被判為惡意出塊行為,則會將 stake 的一部分或保證金作為罰金。然而,所有的懲罰和監管措施都只是事後,而不像 PoW 需算力出塊的隱形約束來得直接。

 

我們來看看 Tezos 是怎樣使用懲罰機制,來避免 Nothing At Stake 問題的:在 Tezos 鏈上參與挖礦需要保證金,這部分保證金就是用來保證 baker 的誠實行為,如果 baker 試圖在兩個分支上廣播區塊,那麼他的保證金將被沒收。如果 baker 成功創建和廣播了合法區塊,他將獲得區塊獎勵和交易手續費。這種機制用金錢獎懲來避免雙挖礦問題,節點的安全由 baker 自行維護。

 

除了後置懲罰,至今的解決方案,都是要犧牲一定程度的性能、去中心化原則,合約機制的設計也更複雜。

 

這種複雜性體現在什麼地方呢?

 

在 PoS 中,節點的角色和職責眾多:除了和PoW中類似的出塊節點(Miner),還有驗證節點(Validator)為區塊背書 ,State Guardian抓「壞人」。

 

State Guardian 的 stake 有一定的鎖定期,一般是需要 X 個區塊之後才可以拿到質押的幣,這樣可以給 State Guardian 足夠時間來抓住非法節點。

 

此外,雖然項目方可以透過前置節點篩選選擇信任的節點,但是中心化的問題依然不可避免:

 

  • 如果網路發展迅速,利益超過了組織的信譽,那麼,被選出的實名節點不一定仍然可信;
  • 節點是否有足夠的動機或技術能力,去保證自身的反攻擊能力,從而保證網路安全;
  • 節點數量有限,可擴展性不夠,仍然是中心化。

 

本文為巴比特資訊授權刊登,原文標題為「談 PoS,怎能不懂 Nothing At Stake ?