YODA: Enabling computationally intensive contracts on blockchains with Byzantine and Selfish nodes
One major shortcoming of popular permissionless blockchains such as Bitcoin and Ethereum is that they are un-suitable for running Computationally Intensive smart Contracts (CICs). This prevents such blockchains from running Machine Learning, Zero-Knowledge proofs, etc. which may need non-trivial computation. In this paper, we present YODA, which is to the best of our knowledge the first solution for efficient computation of CICs in permissionless blockchains that gives guarantees for a threat model which allows both Byzantine and selfish nodes in the system. YODA selects one or more execution sets (ES) via Sortition to execute a particular CIC off-chain. A key innovation is a MultI-Round Adaptive Consensus using Likelihood Estimation (MiRACLE) algorithm based on sequential hypothesis testing which allows the execution sets to be small thus making YODA efficient while ensuring correct CIC execution with high probability. MiRACLE adapts the number of ES sets automatically depending on the concentration of Byzantine nodes in the system and is optimal in terms of the number of ES sets used in certain scenarios. Through a suite of economic incentives and technical mechanisms such as the novel Randomness Inserted Contract Execution (RICE) algorithm, we force selfish nodes to behave honestly. We also prove that the honest behavior of selfish nodes is an approximate-Nash Equilibrium. We present the system design and details of YODA and prove the security properties of MiRACLE and RICE. Our prototype implementation built on top of Ethereum demonstrates the ability of YODA to run CICs with orders of magnitude higher gas per unit time as well as total gas requirements than Ethereum currently supports. It also demonstrates the low overheads of RICE.
READ FULL TEXT