Cryptocurrency Smart Contracts for Distributed Consensus of Public Randomness
This addresses the need for secure randomness in distributed systems, particularly for applications like cryptocurrencies, and is incremental as it builds on existing smart contract technology.
The paper tackles the problem of generating trustworthy public random numbers among distrusting entities by using cryptocurrency smart contracts to prevent producers from predicting or controlling outputs, achieving a system that mitigates threats like collusion between providers and miners.
Most modern electronic devices can produce a random number. However, it is difficult to see how a group of mutually distrusting entities can have confidence in any such hardware-produced stream of random numbers, since the producer could control the output to their gain. In this work, we use public and immutable cryptocurrency smart contracts, along with a set of potentially malicious randomness providers, to produce a trustworthy stream of timestamped public random numbers. Our contract eliminates the ability of a producer to predict or control the generated random numbers, including the stored history of random numbers. We consider and mitigate the threat of collusion between the randomness providers and miners in a second, more complex contract.