Abstract: We propose a trustless blockchain-based protocol for secure and decentralized generation of secret random numbers. In our protocol, which can be implemented as a smart contract, a client Cassie can ask for a secret random number $r$. The protocol will then allow anyone on the blockchain network to contribute to the process of generating $r$, but crucially, only Cassie would be able to see the final result. Additionally, our approach is auditable, i.e. if Cassie later wishes to announce her secret random number $r$, she can prove that the output of the process was indeed the claimed value. Finally, we ensure no one else is able to deduce $r$ before Cassiediscloses it. A primary use-case of this approach is to enable auditable online gambling and casinos with verifiable and tamper-proof randomness. If Cassie is a casino, she can ask for a secret random number $r$ at the beginning of the day, and then use it as a seed in a predefined pseudo-random number generator which is in turn used as the source of randomness for all bets during the day. At the end of the day, Cassie can prove that the seed was indeed generated by our decentralized protocol. Thus, she can prove that the casino had no control over the outcomes of the bets. Moreover, this is a cost- and time-efficient approach as it does not require us to generate a new random number for every bet.
Loading