Probabilistic Smart Contracts: Secure Randomness on the Blockchain

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.

[1]  Karl J. O'Dwyer,et al.  Bitcoin mining and its energy footprint , 2014 .

[2]  Douglas Walker,et al.  The Economics of Casino Gambling , 2007 .

[3]  Krishnendu Chatterjee,et al.  Quantitative Analysis of Smart Contracts , 2018, ESOP.

[4]  Aggelos Kiayias,et al.  Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol , 2017, CRYPTO.

[5]  David A. Wagner,et al.  Security considerations for IEEE 802.15.4 networks , 2004, WiSe '04.

[6]  Eric van Damme,et al.  Non-Cooperative Games , 2000 .

[7]  Bruce Schneier,et al.  Cryptographic Design Vulnerabilities , 1998, Computer.

[8]  Krishnendu Chatterjee,et al.  Ergodic Mean-Payoff Games for the Analysis of Attacks in Crypto-Currencies , 2018, CONCUR.

[9]  Petar Tsankov,et al.  Securify: Practical Security Analysis of Smart Contracts , 2018, CCS.

[10]  David M. Kahn Undecidable Problems for Probabilistic Network Programming , 2017, MFCS.

[11]  Prateek Saxena,et al.  Making Smart Contracts Smarter , 2016, IACR Cryptol. ePrint Arch..

[12]  Silvio Micali,et al.  Algorand: Scaling Byzantine Agreements for Cryptocurrencies , 2017, IACR Cryptol. ePrint Arch..

[13]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[14]  Krzysztof Pietrzak,et al.  Simple Proofs of Sequential Work , 2018, IACR Cryptol. ePrint Arch..

[15]  Claudio V. Russo,et al.  A model-learner pattern for bayesian reasoning , 2013, POPL.

[16]  Erik P. de Vink,et al.  Mixing Up Nondeterminism and Probability: a preliminary report , 1998, PROBMIV.

[17]  Robert J. Aumann,et al.  16. Acceptable Points in General Cooperative n-Person Games , 1959 .

[18]  Usman W. Chohan,et al.  The Decentralized Autonomous Organization and Governance Issues , 2017 .

[19]  Hubert Ritzdorf,et al.  On the Security and Performance of Proof of Work Blockchains , 2016, IACR Cryptol. ePrint Arch..

[20]  Domenic Forte,et al.  SCRIPT , 2020, ACM Transactions on Design Automation of Electronic Systems.

[21]  Andrew D. Gordon,et al.  Bayesian inference using data flow analysis , 2013, ESEC/FSE 2013.

[22]  Massimo Bartoletti,et al.  A Survey of Attacks on Ethereum Smart Contracts (SoK) , 2017, POST.

[23]  Ron Lavi,et al.  Algorithmic Mechanism Design , 2008, Encyclopedia of Algorithms.

[24]  Thomas A. Henzinger,et al.  Probabilistic programming , 2014, FOSE.

[25]  Krishnendu Chatterjee,et al.  Hybrid mining: exploiting blockchain's computational power for distributed problem solving , 2019, SAC.

[26]  Thomas Locher,et al.  When Can a Distributed Ledger Replace a Trusted Third Party? , 2018, 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData).

[27]  Krishnendu Chatterjee,et al.  Computational Approaches for Stochastic Shortest Path on Succinct MDPs , 2018, IJCAI.

[28]  Alexandra Silva,et al.  Cantor meets Scott: semantic foundations for probabilistic networks , 2016, POPL.

[29]  Krishnendu Chatterjee,et al.  Termination Analysis of Probabilistic Programs Through Positivstellensatz's , 2016, CAV.

[30]  Vikash K. Mansinghka,et al.  A stochastic programming perspective on nonparametric Bayes , 2008 .

[31]  Alexandra Silva,et al.  Probabilistic NetKAT , 2016, ESOP.

[32]  Frank Piessens,et al.  Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2 , 2017, CCS.

[33]  Krishnendu Chatterjee,et al.  The treewidth of smart contracts , 2019, SAC.

[34]  Joost-Pieter Katoen,et al.  Reasoning about Recursive Probabilistic Programs* , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[35]  Micah Dameron,et al.  Beigepaper: An Ethereum Technical Specification , 2018 .

[36]  M. Whinston,et al.  Coalition-Proof Nash Equilibria I. Concepts , 1987 .

[37]  Christian Cachin,et al.  Architecture of the Hyperledger Blockchain Fabric , 2016 .

[38]  Jörg Schwenk,et al.  The Dangers of Key Reuse: Practical Attacks on IPsec IKE , 2018, USENIX Security Symposium.

[39]  Zoubin Ghahramani,et al.  Practical probabilistic programming with monads , 2015, Haskell.

[40]  Stefan Dziembowski,et al.  Proofs of Space , 2015, CRYPTO.

[41]  Tim Roughgarden,et al.  Algorithmic Game Theory , 2007 .

[42]  Krishnendu Chatterjee,et al.  Secure Credit Reporting on the Blockchain , 2018, 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData).

[43]  David Chaum,et al.  Minimum Disclosure Proofs of Knowledge , 1988, J. Comput. Syst. Sci..

[44]  Nick Szabo,et al.  Formalizing and Securing Relationships on Public Networks , 1997, First Monday.

[45]  Yoichi Hirai,et al.  Defining the Ethereum Virtual Machine for Interactive Theorem Provers , 2017, Financial Cryptography Workshops.

[46]  Pierre-Yves Piriou,et al.  Model-Checking of Smart Contracts , 2018, 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData).

[47]  Krishnendu Chatterjee,et al.  Algorithmic analysis of qualitative and quantitative termination problems for affine probabilistic programs , 2015, POPL.