Challenges of

Proof-of-Stake

Han TΓΌzΓΌn

mail@hantuzun.com

What's PoS?

⛏

πŸ’°

vs.

Ref: pos-phil

Which PoS?

DPoS Β  LPoS Β  PPoS Β  HPoS Β  BPoS

Ref: gorbatenko, pos-guide, casper-wiki

Bonded Proof-of-Stake

  • Optional

  • Non-custodial

  • Smart contracts

  • Voting rights

  • Slashing! πŸ”ͺ

Example BPoS Problems

  • 🌫️ Nothing at stake

  • πŸ§₯ Bribery attack

  • β›” Censorship

🌫️ Nothing at stake

Ref: pos-faq, poel-alts

🌫️ Nothing at stake

Ref: pos-wiki, poel-alts

πŸ§₯ Bribery attacks

        Wins:    A     B
        vote A:  $100  $0
        vote B:  $102  $2

Ref: zack-pos, casper-bribery

  • There are 100 voters with equal stake.
  • If A wins, then every voter is $100 richer.
  • I bribe all the voters $2 to vote for B.
  • $200 is enough to destroy $10.000.

πŸ§₯ Bribery attacks

A secret vote, where you could prove your vote if you want to.

Challenge: You'll take the bribe only if you vote to destroy the blockchain!

        Wins:            Accept bribe  Reject bribe
        Destroyed:       0             0
        Not destroyed:   Stake+bribe   Stake

πŸ§₯ Bribery attacks

Estimated Value =
  (value if the attack fails) x (likelihood of attack failure)

(Bribe for one user) =
Estimated Value(no bribe) - Estimated Value(bribe) = 
  (value if the attack fails) x
  (how much more likely if the attack succeed, if they take the bribe)

(Bribe for one user) =
  (their stake) x (portion of stake that they control)

A secret vote, where you could prove your vote if you want to.

Challenge: You'll take the bribe only if you vote to destroy the blockchain!

πŸ§₯ Bribery attacks

(Bribe for one user) =
    (their stake)
    x
    (portion of stake that they control)

(Bribe for 1/2 of the total stake) =
    (1/2 of the total stake)
    x
    (average portion of stake)

Example:
(Bribe for 1/2 of the total stake) =
    (1/2 of the total stake)
    x
    (1/1000) = 

    (1/2000 of the total stake)

β›” Censorship

Ref: fraud-proofs, pos-faq

😎

😎

😎

😎

😞

😞

😞

↕

↕

↕

↕

β›” Censorship

Ref: fraud-proofs, pos-faq

😎

😎

😎

😎

😏

↕

↕

↕

↕

😏

😏

Conclusions

πŸ€”Β  πŸ’­

πŸ₯ΌΒ  πŸ”¬

References

  • pos-phil: https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51
  • fraud-proofs: https://arxiv.org/abs/1809.09044
  • gorbatenko: https://medium.com/swlh/the-potential-economic-problems-of-proof-of-stake-2e4b3911a136
  • pos-guide: https://medium.com/posbakerz/proof-of-stake-guide-dpos-vs-lpos-vs-bpos-vs-hybrid-1393a33e849c
  • casper-wiki: https://github.com/ethereum/wiki/wiki/Casper-Proof-of-Stake-compendium
  • pos-faq: https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

References

  • poel-alts: https://download.wpsoftware.net/bitcoin/alts.pdf
  • poel-pos: https://download.wpsoftware.net/bitcoin/pos.pdf
  • vit-stake: https://blog.ethereum.org/2014/07/05/stake/
  • zack-pos: https://github.com/zack-bitcoin/amoveo/blob/master/docs/other_blockchains/proof_of_stake.md
  • casper-bribery: https://ethresear.ch/t/ethereum-casper-ffg-pos-like-all-pos-consensus-protocols-is-vulnerable-to-bribery-censorship-attacks/6646/4

πŸ™ Thanks

slides.com/hantuzun/pos-challenges

Β 

mail@hantuzun.com

Made with Slides.com