Probabilistic Smart Contracts: Secure Randomness on the Blockchain
This addresses a critical problem for blockchain developers and users by enabling secure randomness, though it is an incremental improvement over existing ad-hoc methods.
The paper tackles the limitation of deterministic smart contracts on blockchains by proposing a game-theoretic approach to generate secure, unmanipulatable pseudorandom numbers, enabling probabilistic smart contracts for applications like casino games and lotteries.
In today's programmable blockchains, smart contracts are limited to being deterministic and non-probabilistic. This lack of randomness is a consequential limitation, given that a wide variety of real-world financial contracts, such as casino games and lotteries, depend entirely on randomness. As a result, several ad-hoc random number generation approaches have been developed to be used in smart contracts. These include ideas such as using an oracle or relying on the block hash. However, these approaches are manipulatable, i.e. their output can be tampered with by parties who might not be neutral, such as the owner of the oracle or the miners. We propose a novel game-theoretic approach for generating provably unmanipulatable pseudorandom numbers on the blockchain. Our approach allows smart contracts to access a trustworthy source of randomness that does not rely on potentially compromised miners or oracles, hence enabling the creation of a new generation of smart contracts that are not limited to being non-probabilistic and can be drawn from the much more general class of probabilistic programs.