-
An Alternative Paradigm for Develo** and Pricing Storage on Smart Contract Platforms
Authors:
Christos Patsonakis,
Mema Roussopoulos
Abstract:
Smart contract platforms facilitate the development of important and diverse distributed applications in a simple manner. This simplicity stems from the inherent utility of employing the state of smart contracts to store, query and verify the validity of application data. In Ethereum, data storage incurs an underpriced, non-recurring, predefined fee. Furthermore, as there is no incentive for freei…
▽ More
Smart contract platforms facilitate the development of important and diverse distributed applications in a simple manner. This simplicity stems from the inherent utility of employing the state of smart contracts to store, query and verify the validity of application data. In Ethereum, data storage incurs an underpriced, non-recurring, predefined fee. Furthermore, as there is no incentive for freeing or minimizing the state of smart contracts, Ethereum is faced with a tragedy of the commons problem with regards to its monotonically increasing state. This issue, if left unchecked, may lead to centralization and directly impact Ethereum's security and longevity. In this work, we introduce an alternative paradigm for develo** smart contracts in which their state is of constant size and facilitates the verification of application data that are stored to and queried from an external, potentially unreliable, storage network. This approach is relevant for a wide range of applications, such as any key-value store. We evaluate our approach by adapting the most widely deployed standard for fungible tokens, i.e., the ERC20 token standard. We show that Ethereum's current cost model penalizes our approach, even though it minimizes the overhead to Ethereum's state and aligns well with Ethereum's future. We address Ethereum's monotonically increasing state in a two-fold manner. First, we introduce recurring fees that are proportional to the state of smart contracts and adjustable by the miners that maintain the network. Second, we propose a scheme where the cost of storage-related operations reflects the effort that miners have to expend to execute them. Lastly, we show that under such a pricing scheme that encourages economy in the state consumed by smart contracts, our ERC20 token adaptation reduces the incurred transaction fees by up to an order of magnitude.
△ Less
Submitted 3 February, 2019;
originally announced February 2019.
-
On the Practicality of Smart Contract PKI
Authors:
Christos Patsonakis,
Katerina Samari,
Aggelos Kiayias,
Mema Roussopoulos
Abstract:
Public key infrastructures (PKIs) are one of the main building blocks for securing communications over the Internet. Currently, PKIs are under the control of centralized authorities, which is problematic as evidenced by numerous incidents where they have been compromised. The distributed, fault tolerant log of transactions provided by blockchains and more recently, smart contract platforms, consti…
▽ More
Public key infrastructures (PKIs) are one of the main building blocks for securing communications over the Internet. Currently, PKIs are under the control of centralized authorities, which is problematic as evidenced by numerous incidents where they have been compromised. The distributed, fault tolerant log of transactions provided by blockchains and more recently, smart contract platforms, constitutes a powerful tool for the decentralization of PKIs. To verify the validity of identity records, blockchain-based identity systems store on chain either all identity records, or, a small (or even constant) sized amount of data to verify identity records stored off chain. However, as most of these systems have never been implemented, there is little information regarding the practical implications of each design's tradeoffs.
In this work, we first implement and evaluate the only provably secure, smart contract based PKI of [1] on top of Ethereum. This construction incurs constant-sized storage at the expense of computational complexity. To explore this tradeoff, we propose and implement a second construction which, eliminates the need for trusted setup, preserves the security properties of [1] and, as illustrated through our evaluation, is the only version with constant-sized state that can be deployed on the live chain of Ethereum. Furthermore, we compare these two systems with the simple approach of most prior works, e.g., the Ethereum Name Service, where all identity records are stored on the smart contract's state, to illustrate several shortcomings of Ethereum and its cost model. We propose several modifications for fine tuning the model, which would be useful to be considered for any smart contract platform like Ethereum so that it reaches its full potential to support arbitrary distributed applications.
△ Less
Submitted 3 February, 2019;
originally announced February 2019.
-
Distributed, End-to-end Verifiable, and Privacy-Preserving Internet Voting Systems
Authors:
Nikos Chondros,
Bingsheng Zhang,
Thomas Zacharias,
Panos Diamantopoulos,
Stathis Maneas,
Christos Patsonakis,
Alex Delis,
Aggelos Kiayias,
Mema Roussopoulos
Abstract:
E-voting systems are a powerful technology for improving democracy. Unfortunately, prior voting systems have single points-of-failure, which may compromise availability, privacy, or integrity of the election results.
We present the design, implementation, security analysis, and evaluation of the D-DEMOS suite of distributed, privacy-preserving, and end-to-end verifiable e-voting systems. We pres…
▽ More
E-voting systems are a powerful technology for improving democracy. Unfortunately, prior voting systems have single points-of-failure, which may compromise availability, privacy, or integrity of the election results.
We present the design, implementation, security analysis, and evaluation of the D-DEMOS suite of distributed, privacy-preserving, and end-to-end verifiable e-voting systems. We present two systems: one asynchronous and one with minimal timing assumptions but better performance. Our systems include a distributed vote collection subsystem that does not require cryptographic operations on behalf of the voter. We also include a distributed, replicated and fault-tolerant Bulletin Board component, that stores all necessary election-related information, and allows any party to read and verify the complete election process. Finally, we incorporate trustees, who control result production while guaranteeing privacy and end-to-end-verifiability as long as their strong majority is honest.
Our suite of e-voting systems are the first whose voting operation is human verifiable, i.e., a voter can vote over the web, even when her web client stack is potentially unsafe, without sacrificing her privacy, and still be assured her vote was recorded as cast. Additionally, a voter can outsource election auditing to third parties, still without sacrificing privacy.
We provide a model and security analysis of the systems, implement complete prototypes, measure their performance experimentally, and demonstrate their ability to handle large-scale elections. Finally, we demonstrate the performance trade-offs between the two versions of the system. A preliminary version of our system was used to conduct exit-polls at three voting sites for two national-level elections and is being adopted for use by the largest civil union of workers in Greece, consisting of over a half million members.
△ Less
Submitted 2 August, 2016;
originally announced August 2016.
-
D-DEMOS: A distributed, end-to-end verifiable, internet voting system
Authors:
Nikos Chondros,
Bingsheng Zhang,
Thomas Zacharias,
Panos Diamantopoulos,
Stathis Maneas,
Christos Patsonakis,
Alex Delis,
Aggelos Kiayias,
Mema Roussopoulos
Abstract:
E-voting systems have emerged as a powerful technology for improving democracy by reducing election cost, increasing voter participation, and even allowing voters to directly verify the entire election procedure. Prior internet voting systems have single points of failure, which may result in the compromise of availability, voter secrecy, or integrity of the election results. In this paper, we pre…
▽ More
E-voting systems have emerged as a powerful technology for improving democracy by reducing election cost, increasing voter participation, and even allowing voters to directly verify the entire election procedure. Prior internet voting systems have single points of failure, which may result in the compromise of availability, voter secrecy, or integrity of the election results. In this paper, we present the design, implementation, security analysis, and evaluation of D-DEMOS, a complete e-voting system that is distributed, privacy-preserving and end-to-end verifiable. Our system includes a fully asynchronous vote collection subsystem that provides immediate assurance to the voter her vote was recorded as cast, without requiring cryptographic operations on behalf of the voter. We also include a distributed, replicated and fault-tolerant Bulletin Board component, that stores all necessary election-related information, and allows any party to read and verify the complete election process. Finally, we also incorporate trustees, i.e., individuals who control election result production while guaranteeing privacy and end-to-end-verifiability as long as their strong majority is honest. Our system is the first e-voting system whose voting operation is human verifiable, i.e., a voter can vote over the web, even when her web client stack is potentially unsafe, without sacrificing her privacy, and still be assured her vote was recorded as cast. Additionally, a voter can outsource election auditing to third parties, still without sacrificing privacy. Finally, as the number of auditors increases, the probability of election fraud going undetected is diminished exponentially. We provide a model and security analysis of the system. We implement a prototype of the complete system, we measure its performance experimentally, and we demonstrate its ability to handle large-scale elections.
△ Less
Submitted 18 December, 2015; v1 submitted 24 July, 2015;
originally announced July 2015.
-
Interactive Consistency in practical, mostly-asynchronous systems
Authors:
Panos Diamantopoulos,
Stathis Maneas,
Christos Patsonakis,
Nikos Chondros,
Mema Roussopoulos
Abstract:
Interactive consistency is the problem in which n nodes, where up to t may be byzantine, each with its own private value, run an algorithm that allows all non-faulty nodes to infer the values of each other node. This problem is relevant to critical applications that rely on the combination of the opinions of multiple peers to provide a service. Examples include monitoring a content source to preve…
▽ More
Interactive consistency is the problem in which n nodes, where up to t may be byzantine, each with its own private value, run an algorithm that allows all non-faulty nodes to infer the values of each other node. This problem is relevant to critical applications that rely on the combination of the opinions of multiple peers to provide a service. Examples include monitoring a content source to prevent equivocation or to track variability in the content provided, and resolving divergent state amongst the nodes of a distributed system. Previous works assume a fully synchronous system, where one can make strong assumptions such as negligible message delivery delays and/or detection of absent messages. However, practical, real-world systems are mostly asynchronous, i.e., they exhibit only some periods of synchrony during which message delivery is timely, thus requiring a different approach. In this paper, we present a thorough study on practical interactive consistency. We leverage the vast prior work on broadcast and byzantine consensus algorithms to design, implement and evaluate a set of algorithms, with varying timing assumptions and message complexity, that can be used to achieve interactive consistency in real-world distributed systems. We provide a complete, open-source implementation of each proposed interactive consistency algorithm by building a multi-layered stack of protocols that include several broadcast protocols, as well as a binary and a multi-valued consensus protocol. Most of these protocols have never been implemented and evaluated in a real system before. We analyze the performance of our suite of algorithms experimentally by engaging in both single instance and multiple parallel instances of each alternative.
△ Less
Submitted 27 July, 2015; v1 submitted 27 October, 2014;
originally announced October 2014.
-
Asynchronous Rumour Spreading in Social and Signed Topologies
Authors:
Christos Patsonakis,
Mema Roussopoulos
Abstract:
In this paper, we present an experimental analysis of the asynchronous push & pull rumour spreading protocol. This protocol is, to date, the best-performing rumour spreading protocol for simple, scalable, and robust information dissemination in distributed systems. We analyse the effect that multiple parameters have on the protocol's performance, such as using memory to avoid contacting the same n…
▽ More
In this paper, we present an experimental analysis of the asynchronous push & pull rumour spreading protocol. This protocol is, to date, the best-performing rumour spreading protocol for simple, scalable, and robust information dissemination in distributed systems. We analyse the effect that multiple parameters have on the protocol's performance, such as using memory to avoid contacting the same neighbor twice in a row, varying the stop** criteria used by nodes to decide when to stop spreading the rumour, employing more sophisticated neighbor selection policies instead of the standard uniform random choice, and others. Prior work has focused on either providing theoretical upper bounds regarding the number of rounds needed to spread the rumour to all nodes, or, proposes improvements by adjusting isolated parameters. To our knowledge, our work is the first to study how multiple parameters affect system behaviour both in isolation and combination and under a wide range of values. Our analysis is based on experimental simulations using real-world social network datasets, thus complementing prior theoretical work to shed light on how the protocol behaves in practical, real-world systems. We also study the behaviour of the protocol on a special type of social graph, called signed networks (e.g., Slashdot and Epinions), whose links indicate stronger trust relationships. Finally, through our detailed analysis, we demonstrate how a few simple additions to the protocol can improve the total time required to inform 100% of the nodes by a maximum of 99.69% and an average of 82.37%.
△ Less
Submitted 15 January, 2015; v1 submitted 23 October, 2013;
originally announced October 2013.