Smart contract sharding with proof of execution
DOI:
https://doi.org/10.15276/aait.03.2021.6Keywords:
Proof of execution, cumulative proof, sharding, smart contracts, zero-knowledge proofAbstract
Nowadays, Decentralized Networks based on Blockchain technology are actively researched. A special place in these
researches is occupied by Smart Contracts that are widely used in many areas, such as Decentralized Finance (DeFi), real estate,
gambling, electoral process, etc. Nevertheless, the possibility of their widespread adoption is still not a solved problem. This is
caused by the fact of their limited flexibility and scalability. In other words, Smart Contracts cannot process a large number of
contract calls per second, lack of direct Internet access, inability to operate with a large amount of data, etc. This article is devoted to
the development of the Sharding Concept for Decentralized Applications (DApps) that are expressed in form of Smart Contracts
written in WebAssembly. The aim of the research is to offer a new Concept of Smart Contract that will increase the scaling due to
applying the idea of Sharding that allows avoiding doing the same work by all nodes on the Network and flexibility due to the
possibility of interaction with the Internet without special Oracles. During the research, decentralized 0ata storages with the
possibility of collective decision-making were developed. The scheme of forming Drives that assumes that each Contract is executed
by a set of randomly selected nodes that allows avoiding cahoots and prevents Sybil Attack is offered. Such an approach allowed
using Drives as a base layer for Smart Contracts. Moreover, Drives can be used as a standalone solution for decentralized data storing.
The features of coordination of results of Contracts execution that greatly expands the possibilities of the Contracts compared to
Ethereum Smart Contracts, and, in particular, allow the Contracts to interact with the Internet are described. The Rewards Concept
that incentivizes all nodes that honestly execute the Contracts, unlike other systems where only the block producer is rewarded, is
developed. It is based on the specially developed Proof of Execution – a special algorithm that allows detecting all the nodes that
honestly execute the Contracts. In order to make the Proof of Execution more compact, an extension for the existing discrete
logarithm zero-knowledge proofs that makes it possible to consistently prove knowledge of dynamically expanding set of values with
minimal computational and memory complexity so-called Cumulative Discrete Logarithm Zero-Knowledge Proof is developed. Thus,
in this article, the new concept of Smart Contracts Sharding empowered by economic leverages is researched. The main advantages
of the proposed approach are the possibility of interaction with the Internet and big data processing. Moreover, the mechanism of
incentivizing nodes to honestly execute the Smart Contracts is developed. In addition, the Cumulative Proof that is necessary for the
cryptographic strength of the specified mechanism is offered and its correctness is proven. The obtained results can be used to
implement Smart Contracts in decentralized systems, in particular, working on the basis of Blockchain technology, especially in the
case of demanding high bandwidth and performance.