Rethinking General-Purpose Decentralized Computing Enis Ceyhun Alp∗ Eleftherios Kokoris-Kogias∗
[email protected] [email protected] EPFL EPFL Georgia Fragkouli Bryan Ford
[email protected] [email protected] EPFL EPFL Abstract 1 Introduction While showing great promise, smart contracts are difficult Decentralized systems have been studied extensively over to program correctly, as they need a deep understanding of the past decades [14, 17, 40, 44, 50]. One of the most recent, cryptography and distributed algorithms, and offer limited and arguably the most popular, decentralized system is the functionality, as they have to be deterministic and cannot blockchain and its most promising application is smart con- operate on secret data. In this paper we present Protean, tracts. Smart contracts are user-defined programs that are a general-purpose decentralized computing platform that executed by a network of nodes that reach consensus on addresses these limitations by moving from a monolithic program state. Ethereum, the world’s second largest cryp- execution model, where all participating nodes store all the tocurrency, claims to be a general-purpose decentralized state and execute every computation, to a modular execution- computer that can support execution of arbitrary code in model. Protean employs secure specialized modules, called smart contracts. However, Ethereum and its successors [1, 2] functional units, for building decentralized applications that fall short of their claim due to several shortcomings. First, are currently insecure or impossible to implement with smart they do not support non-deterministic operations and cannot contracts. Each functional unit is a distributed system that securely operate on private data.