Securing Proof-of-Stake Blockchain Protocols

  • Wenting Li
  • Sébastien Andreina
  • Jens-Matthias Bohli
  • Ghassan Karame
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10436)

Abstract

Proof-of-Stake (PoS) protocols have been actively researched for the past five years. PoS finds direct applicability in open blockchain platforms and has been seen as a strong candidate to replace the largely inefficient Proof of Work mechanism that is currently plugged in most existing open blockchains. Although a number of PoS variants have been proposed, these protocols suffer from a number of security shortcomings; for instance, most existing PoS variants suffer from the nothing at stake and the long range attacks which considerably degrade security in the blockchain.

In this paper, we address these problems and we propose two PoS protocols that allow validators to generate at most one block at any given “height”—thus alleviating the problem of nothing at stake and preventing attackers from compromising accounts to mount long range attacks. Our first protocol leverages a dedicated digital signature scheme that reveals the identity of the validator if the validator attempts to work on multiple blocks at the same height. On the other hand, our second protocol leverages existing pervasive Trusted Execution Environments (TEEs) to limit the block generation requests by any given validator to a maximum of one at a given height. We analyze the security of our proposals and evaluate their performance by means of implementation; our evaluation results show that our proposals introduce tolerable overhead in the block generation and validation process when compared to existing PoS protocols.

References

  1. 1.
    Reaching Agreement in the Presence of Faults 27, 228–234 (1980). http://doi.acm.org/10.1145/322186.322188%5Cndl.acm.org/ft_gateway.cfm?id=322188&type=pdf
  2. 2.
    Bentov, I., Pass, R., Shi, E.: Snow white: Provably secure proofs of stake. IACR Cryptology ePrint Archive 2016, 919 (2016)Google Scholar
  3. 3.
    Buterin, V.: Slasher: A punitive proof-of-stake algorithm. https://blog.ethereum.org/2014/01/15/slasher-a-punitive-proof-of-stake-algorithm/. Accessed June 2017
  4. 4.
    Buterin, V.: Validator ordering and randomness in pos. http://vitalik.ca/files/randomness.html
  5. 5.
    Camenisch, J., Michels, M.: Proving in zero-knowledge that a number is the product of two safe primes. In: Stern, J. (ed.) EUROCRYPT 1999. LNCS, vol. 1592, pp. 107–122. Springer, Heidelberg (1999). doi: 10.1007/3-540-48910-X_8 CrossRefGoogle Scholar
  6. 6.
    Chen, J., Micali, S.: Algorand: the efficient and democratic ledger. arXiv preprint arXiv:1607.01341 (2016)
  7. 7.
    Cloak posa v3.0 - a trustless, anonymous transaction system for cloakcoin. https://bravenewcoin.com/assets/Whitepapers/CloakCoin-posa3wp.pdf. Accessed June 2017
  8. 8.
    Dodis, Y., Yampolskiy, A.: A verifiable random function with short proofs and keys. In: Vaudenay, S. (ed.) PKC 2005. LNCS, vol. 3386, pp. 416–431. Springer, Heidelberg (2005). doi: 10.1007/978-3-540-30580-4_28 CrossRefGoogle Scholar
  9. 9.
    Gilad, Y., Hemo, R., Micali, S., Vlachos, G., Zeldovich, N.: Algorand: scaling byzantine agreements for cryptocurrencies. https://people.csail.mit.edu/nickolai/papers/gilad-algorand-eprint.pdf
  10. 10.
    Ethereum - prrof of stake faq - how does validator selection work, and what is stake grinding? https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#how-does-validator-selection-work-and-what-is-stake-grinding
  11. 11.
    Kiayias, A., Russell, A., David, B., Oliynykov, R.: Ouroboros: a provably secure proof-of-stake blockchain protocol. Technical report, Cryptology ePrint Archive, Report 2016/889, 2016 (2016). http://eprint.iacr.org/2016/889
  12. 12.
    King, S., Nadal, S.: Ppcoin: Peer-to-peer crypto-currency with proof-of-stake (2012). https://peercoin.net/assets/paper/peercoin-paper.pdf. Accessed June 2017
  13. 13.
    Micali, S., Rabin, M., Vadhan, S.: Verifiable random functions. In: 40th Annual Symposium on Foundations of Computer Science, pp. 120–130. IEEE (1999)Google Scholar
  14. 14.
    Non-interactive zero-knowledge proof. https://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof. Accessed June 2017
  15. 15.
    Novacoin - proof of stake. https://github.com/novacoin-project/novacoin/wiki/Proof-of-stake. Accessed June 2017
  16. 16.
    O’Dwyer, K.J., Malone, D.: Bitcoin mining and its energy footprint (2014)Google Scholar
  17. 17.
    Pike, D., Nosker, P., Boehm, D., Grisham, D., Woods, S., Marston, J.: Proof-of-stake-time whitepaper. https://www.vericoin.info/downloads/VeriCoinPoSTWhitePaper10May2015.pdf. Accessed June 2017
  18. 18.
    Schuh, F., Larimer, D.: Bitshares 2.0: General overview. http://docs.bitshares.org/_downloads/bitshares-general.pdf. Accessed June 2017
  19. 19.
    Vasin, P.: Blackcoin’s proof-of-stake protocol v2. https://blackcoin.co/blackcoin-pos-protocol-v2-whitepaper.pdf. Accessed June 2017
  20. 20.
    Kravitz, D.W.: Digital signature algorithm (1993). US Patent 5,231,668Google Scholar
  21. 21.
    Wiki, N.: Whitepaper: nxt – nxt wiki (2016). https://nxtwiki.org/mediawiki/index.php?title=Whitepaper:Nxt. Accessed June 2017
  22. 22.
    Zamfir, V.: Introducing casper the friendly ghost. https://blog.ethereum.org/2015/08/01/introducing-casper-friendly-ghost/. Accessed June 2017

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Wenting Li
    • 1
  • Sébastien Andreina
    • 1
  • Jens-Matthias Bohli
    • 1
  • Ghassan Karame
    • 1
  1. 1.NEC Laboratories EuropeHeidelbergGermany

Personalised recommendations