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.
Notes
- 1.
The block height value is included in the block header.
- 2.
We denote block size as size of the transaction set.
References
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
Bentov, I., Pass, R., Shi, E.: Snow white: Provably secure proofs of stake. IACR Cryptology ePrint Archive 2016, 919 (2016)
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
Buterin, V.: Validator ordering and randomness in pos. http://vitalik.ca/files/randomness.html
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
Chen, J., Micali, S.: Algorand: the efficient and democratic ledger. arXiv preprint arXiv:1607.01341 (2016)
Cloak posa v3.0 - a trustless, anonymous transaction system for cloakcoin. https://bravenewcoin.com/assets/Whitepapers/CloakCoin-posa3wp.pdf. Accessed June 2017
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
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
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
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
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
Micali, S., Rabin, M., Vadhan, S.: Verifiable random functions. In: 40th Annual Symposium on Foundations of Computer Science, pp. 120–130. IEEE (1999)
Non-interactive zero-knowledge proof. https://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof. Accessed June 2017
Novacoin - proof of stake. https://github.com/novacoin-project/novacoin/wiki/Proof-of-stake. Accessed June 2017
O’Dwyer, K.J., Malone, D.: Bitcoin mining and its energy footprint (2014)
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
Schuh, F., Larimer, D.: Bitshares 2.0: General overview. http://docs.bitshares.org/_downloads/bitshares-general.pdf. Accessed June 2017
Vasin, P.: Blackcoin’s proof-of-stake protocol v2. https://blackcoin.co/blackcoin-pos-protocol-v2-whitepaper.pdf. Accessed June 2017
Kravitz, D.W.: Digital signature algorithm (1993). US Patent 5,231,668
Wiki, N.: Whitepaper: nxt – nxt wiki (2016). https://nxtwiki.org/mediawiki/index.php?title=Whitepaper:Nxt. Accessed June 2017
Zamfir, V.: Introducing casper the friendly ghost. https://blog.ethereum.org/2015/08/01/introducing-casper-friendly-ghost/. Accessed June 2017
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Li, W., Andreina, S., Bohli, JM., Karame, G. (2017). Securing Proof-of-Stake Blockchain Protocols. In: Garcia-Alfaro, J., Navarro-Arribas, G., Hartenstein, H., Herrera-Joancomartí, J. (eds) Data Privacy Management, Cryptocurrencies and Blockchain Technology. DPM CBT 2017 2017. Lecture Notes in Computer Science(), vol 10436. Springer, Cham. https://doi.org/10.1007/978-3-319-67816-0_17
Download citation
DOI: https://doi.org/10.1007/978-3-319-67816-0_17
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-67815-3
Online ISBN: 978-3-319-67816-0
eBook Packages: Computer ScienceComputer Science (R0)