Files

Abstract

Smart contracts have emerged as the most promising foundations for applications of the blockchain technology. Even though smart contracts are expected to serve as the backbone of the next-generation web, they have several limitations that hinder their widespread adoption, namely limited computational functionality, restricted programmability, and lack of data confidentiality. Moreover, addressing these challenges manually in application-specific ways requires a lot of developer effort and time due to the monolithic architecture of smart contracts. In this dissertation, we start over with a novel architecture for building and deploying general-purpose decentralized programs. To this end, we first propose a new architecture that replaces the monolithic execution model of smart contracts with a modular one to support a rich set of functionality, which can be easily and permissionlessly extended at any time. Second, to support the efficient deterministic execution required by computationally-advanced smart contracts, we build a deterministic sandbox with floating-point arithmetic support that brings safe and deterministic execution together with general-purpose programming without having to sacrifice performance. Finally, we combine threshold cryptography and the blockchain technology to build a framework that enables mutually distrustful parties to share their confidential data in a fully auditable, transparent and decentralized manner. Through prototyping and evaluation using real-world applications, we demonstrate that it is possible and feasibly-practical to build a decentralized computing platform that can support general-purpose computations.

Details

PDF