YODA: Enabling computationally intensive contracts on blockchains with Byzantine and Selfish nodes

11/08/2018
by   Sourav Das, et al.
0

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
research
04/14/2018

Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contract Execution

Smart contracts are applications that execute on blockchains. Today they...
research
11/12/2019

Smart Contract Interactions in Coq

We present a model/executable specification of smart contract execution ...
research
04/19/2021

Off-chain Execution and Verification of Computationally Intensive Smart Contracts

We propose a novel framework for off-chain execution and verification of...
research
05/24/2020

Better Late than Never; Scaling Computation in Blockchains by Delaying Execution

Proof-of-Work (PoW) based blockchains typically allocate only a tiny fra...
research
11/11/2019

GRuB: Gas-Efficient Blockchain Storage via Workload-Adaptive Data Replication

Modern Blockchains support the execution of user programs, called smart ...
research
01/02/2020

Reparo: Publicly Verifiable Layer to Repair Blockchains

Although blockchains aim for immutability as their core feature, several...
research
02/09/2021

OptSmart: A Space Efficient Optimistic Concurrent Execution of Smart Contracts

Popular blockchains such as Ethereum and several others execute complex ...

Please sign up or login with your details

Forgot password? Click here to reset