Smart contract sharding with proof of execution
Authors: Mazurok Igor E. , Leonchyk Yevhen Y. , Antonenko Oleksandr S. , Volkov Kyrylo S. 
Published: November 2021

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 thepossibility 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 consistentlyprove 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.