Pool mining is a common way to reduce income variance for miners in Proof of Work Cryptocurrencies. A vast majority of mining does happen in pools, where a popular scheme to distribute rewards is Pay per last N Shares (PPLNS). In PPLNS and related schemes, miners are frequently making decisions whose rewards are not immediate and will only manifest in the future. This implies that models of inter-temporal utility are relevant when considering the incentives of miners. We show that when including these features of human behaviour in models of rational pool miners, the conditions that lead to decentralisation are hampered because larger pools may be more attractive to miners. We present a new game theoretical model of PPLNS where rational miners have time preferences. In this setup, the incentives of miners to work for a pool depend on the initial distribution of power between mining pools, as well as the specific details of how time is discounted. Agents jumping to larger pools face a trade-off between reducing the expected payoff from their shares in their current pool, or getting faster rewards in the future by joining a larger pool. We consider a case where pools of different mining power have the same size of reward window N. According to our study, in equilibrium larger pools have a tendency to accumulate a disproportionate share of the network power at the expense of smaller pools. This outcome is prevalent over a large range of realistic model parameters. Our model shows that PPLNS may be harmful to the decentralised governance of cryptocurrencies. A way to ameliorate these negative effects, is to encourage pools to have diverse window sizes, or use different reward mechanisms. Doing this in a decentralised fashion is an open challenge.
Ray Neiheiser, Gustavo Inácio, Luciana Rech, Joni Fraga
Transparency is a problem in the hiring process of many institutions. For applicants, this process is often difficult to follow since applicants never know the state of their application and can't be sure that they are being evaluated in a fair manner. This is especially important in the public sector. Based on these premises, we propose a transparent and decentral model for the application processes by using Blockchain and smart contracts. In this system, vacancies are published to the blockchain as smart contracts, and candidates, as well as application reviewers and institutions, are rewarded for their honest participation in the process. This paper evaluates the proposed system and offers an example application to prove the viability of the model.
Ethereum is still the most prominent platform for smart contracts. For the deployment of contracts on its blockchain, the so-called deployment code is executed by Ethereum's virtual machine. As it turns out, deployment code can do a lot more than merely deploying a contract. This paper identifies less-anticipated uses of contract deployment in Ethereum by analyzing the available blockchain data. In particular, we analyze the specifics of deployment code used beyond actually deploying a contract in a quantitative and qualitative manner. To this end, we identify code patterns in deployment code by distilling recurring code skeletons from all external transactions and internal messages that contain deployment code. Tracking the use of these patterns reveals a set of vulnerabilities in contracts targeted by skillfully crafted deployment code. We summarize the encountered exploitative cases of collateral use of deployment code and report respective quantities. Example scenarios illustrate the recent usage. Collateral use of deployment code starts to appear in the middle of 2018 and becomes dominant among contract creations in autumn of 2018. We intend to raise awareness about the less obvious uses of deployment code and its potential security issues.
Afiya Ayman, Amna Aziz, Mohammad Amin Alipour, Áron Lászka
Blockchain based platforms are emerging as a transformative technology that can provide reliability, integrity, and auditability without trusted entities. One of the key features of these platforms is the trustworthy decentralized execution of general-purpose computation in the form of smart contracts, which are envisioned to have a wide range of applications from finance to the Internet of Things. As a result, a rapidly growing and active community of smart contract developers has emerged in recent years. A number of research efforts have investigated the technological challenges that smart contract developers face. However, very little is known about the community itself, about the developers, and about the issues that they discuss and care about. To address this gap, we study the online community of smart contract developers on Stack Overflow. We provide insight into the topics that they discuss, their technological and demographic background, and their awareness of security issues and tools. Our results show that the community of smart contract developers is very active and growing rapidly, in comparison with the general user population. However, a large fraction of smart contract related questions remain unanswered, which can pose a real threat to the viability of a sustainable community and may indicate gaps in community knowledge. Further, we observe very limited discussion of security related topics, which is concerning since smart contracts in practice are plagued by security issues.
Ηλίας Κουτσουπιάς, Philip Lazos, Foluso Ogunlana, Paolo Serafino
We study the strategic implications that arise from adding one extra option to the miners participating in the bitcoin protocol. We propose that when adding a block, miners also have the ability to pay forward an amount to be collected by the first miner who successfully extends their branch, giving them the power to influence the incentives for mining. We formulate a stochastic game for the study of such incentives and show that with this added option, smaller miners can guarantee that the best response of even substantially more powerful miners is to follow the expected behavior intended by the protocol designer.
Manuel M. Vindiola, Jared C. Willard, Bryan P. Dawson, David Harman · 6 authors
This work develops a principled approach for coordinating decentralized systems that can exchange information, issue and service requests, and perform outcome-focused actions together. It harnesses the resiliency and robustness offered by blockchain frameworks to enable sustained activity in the presence a diverse set of failure modes, operating constraints, and changing task requirements. We accomplish this through the Tactical Distributed Ledger, a distributed computer that can accommodate a wide range of sensors, agents, vehicles, and devices to create a decentralized system. We have used this framework to deploy a multi-participant system that combines sensing, vehicle mobility, and situational awareness to perform coordinated activities in a simulated city environment. The key mechanism that enables this interaction is a robust auction framework implemented on top of a smart contract blockchain system. This paper details the design, components, and features of the auction system.
Trusted collaboration satisfying the requirements of (a) adequate transparency and (b) preservation of privacy of business sensitive information is a key factor to ensure the success and adoption of online business-to-business (B2B) collaboration platforms. Our work proposes novel ways of stringing together game theoretic modeling, blockchain technology, and cryptographic techniques to build such a platform for B2B collaboration involving enterprise buyers and sellers who may be strategic. The B2B platform builds upon three ideas. The first is to use a permissioned blockchain with smart contracts as the technical infrastructure for building the platform. Second, the above smart contracts implement deep business logic which is derived using a rigorous analysis of a repeated game model of the strategic interactions between buyers and sellers to devise strategies to induce honest behavior from buyers and sellers. Third, we present a formal framework that captures the essential requirements for secure and private B2B collaboration, and, in this direction, we develop cryptographic regulation protocols that, in conjunction with the blockchain, help implement such a framework. We believe our work is an important first step in the direction of building a platform that enables B2B collaboration among strategic and competitive agents while maximizing social welfare and addressing the privacy concerns of the agents.
Felix Franz, Tobias Fertig, Andreas E. Schütz, Henry Vu
In the late 90s the author Ian Grigg defined that smart contracts have to be human-readable like paper contracts while remaining processible by computer programs. The Ethereum Foundation has created a new programming language Solidity that can be used to implement smart contracts. However, the contracts are neither easy to implement nor easy-to-use by the common user. In order to enable users without programming skills to take advantage of the new technology, we propose a generator for smart contracts. Our prototype uses a configuration wizard to determine the requirements of the generated contract. Based on the official ERC Standards of the Ethereum community we will implement a prototype that can configure and generate customized contracts. Moreover, we are covering the challenges that we have to face in order to support automated test case generation and automated deployment processes.
Bruno Biais, Christophe Bisière, Matthieu Bouvard, Catherine Casamatta
Blockchains are distributed ledgers. Their protocol aims at ensuring that the miners in charge of recording transactions reach a consensus about a unique ledger. In this paper, we highlight that the game induced by the blockchain proof-of-work protocol generates several equilibria. In some equilibria, different versions of the ledger or “branches” coexist, breaching consensus. Such forks arise because of the interplay of miners' incentives to coordinate on the same branch, and miners' incentives to protect their vested interests on a given branch. We illustrate that these elements were present in the recent hard forks that occurred on Bitcoin.
Robert Norvill, Beltran Fiz, Radu State, Andréa Cullen
Ethereum smart contracts have become common enough to warrant the need for standards to ensure ease of use. The most well known standard was created for the emerging token ecosystem and the exchanges serving it: the ERC20 standard. In this work we use the function selectors present in Ethereum smart contract bytecode to define contract purpose. Contracts are clustered according to the selectors they have. A Reverse look-up from selectors to function names is used to label clusters. We use the function names in clusters to suggest candidates for ERC standardisation.
Smart contracts are designed to facilitate the performance of trackable and irreversible transactions without the need for third party involvement. Therefore, as a result of this lack of oversight, it is essential that these smart contracts are written and properly tested. In this paper, we examine some of the prominent risks and challenges involved with writing and implementing smart contracts and discuss how each of these challenges can be overcome. We focus on contracts executed on Ethereum, the most prominent smart contract platform.
Philip Daian, Steven Goldfeder, Tyler Kell, Yunqi Li · 8 authors
Blockchains, and specifically smart contracts, have promised to create fair and transparent trading ecosystems. Unfortunately, we show that this promise has not been met. We document and quantify the widespread and rising deployment of arbitrage bots in blockchain systems, specifically in decentralized exchanges (or "DEXes"). Like high-frequency traders on Wall Street, these bots exploit inefficiencies in DEXes, paying high transaction fees and optimizing network latency to frontrun, i.e., anticipate and exploit, ordinary users' DEX trades. We study the breadth of DEX arbitrage bots in a subset of transactions that yield quantifiable revenue to these bots. We also study bots' profit-making strategies, with a focus on blockchain-specific elements. We observe bots engage in what we call priority gas auctions (PGAs), competitively bidding up transaction fees in order to obtain priority ordering, i.e., early block position and execution, for their transactions. PGAs present an interesting and complex new continuous-time, partial-information, game-theoretic model that we formalize and study. We release an interactive web portal, http://frontrun.me/, to provide the community with real-time data on PGAs. We additionally show that high fees paid for priority transaction ordering poses a systemic risk to consensus-layer security. We explain that such fees are just one form of a general phenomenon in DEXes and beyond---what we call miner extractable value (MEV)---that poses concrete, measurable, consensus-layer security risks. We show empirically that MEV poses a realistic threat to Ethereum today. Our work highlights the large, complex risks created by transaction-ordering dependencies in smart contracts and the ways in which traditional forms of financial-market exploitation are adapting to and penetrating blockchain economies.
Increased interest in scalable and high-throughput blockchains has led to an explosion in the number of committee selection methods in the literature. Committee selection mechanisms allow consensus protocols to safely select a committee, or a small subset of validators that is permitted to vote and verify a block of transactions, in a distributed ledger. There are many such mechanisms, each with substantially different methodologies and guarantees on communication complexity, resource usage, and fairness. In this paper, we illustrate that, despite these implementation-level differences, there are strong statistical similarities between committee selection mechanisms. We concretely show this by proving that the committee selection of the Avalanche consensus protocol can be used to choose committees in the Stellar Consensus Protocol that satisfy the necessary and sufficient conditions for Byzantine agreement. We also verify these claims using simulations and numerically observe sharp phase transitions as a function of protocol parameters. Our results suggest the existence of a "statistical taxonomy" of committee selection mechanisms in distributed consensus algorithms.
This article presents WekaCoin, a peer-to-peer cryptocurrency based on a new distributed consensus protocol called Proof-of-Learning. Proof-of-learning achieves distributed consensus by ranking machine learning systems for a given task. The aim of this protocol is to alleviate the computational waste involved in hashing-based puzzles and to create a public distributed and verifiable database of state-of-the-art machine learning models and experiments.
Open access
Blockchain Technology Applications and Security
Advanced Steganography and Watermarking Techniques
Wei‐Tek Tsai, Ning Ge, Jiaying Jiang, Kevin Feng · 5 authors
This paper presents a new Beagle framework for Smart Contracts (SCs) taking account of law. Different from previous SC development or execution frameworks, this framework takes a practical approach to integrate law into SCs. Instead of translating legal contracts into codes directly, this paper proposes to treat SCs as a key component of legal contracts, use SCs to partially automate the executions of legal contracts, and produce legal evidence during the process. Thus, the proposed SC design will be significantly different from previous SC designs, not in programming languages to be used, but in the way SCs are designed and executed. This Beagle framework has five stages: SC template development from domain analysis, formal SC model and code development from templates, verification and validation (V&V), SC execution, and runtime monitoring.
Decentralized application users may face unexpected situations that the smart contract implementing the application should handle, but cannot, because the smart contract cannot be modified once it is deployed. Therefore, we need 'stronger' smart contracts with flexible structures that are resilient in such unexpected situations. In this paper, we propose a generic mechanism to strengthen smart contracts and handle possible unexpected situations. Given a smart contract, this mechanism automatically generates an action list which offers actions as interfaces to change parameters of smart contracts and a voting system that utilizes a limited voter group randomly chosen from the peers. Each action in the action list can change a corresponding parameter of smart contracts. The actions, when approved by the majority, are executed to change the parameters. When users face unexpected situations in a transaction, they choose some actions as the solution and pass them to the voting system. Since a smart contract has finite parameters, there are finite actions. By arranging and combining these actions, our mechanism offers solutions that can handle wide-ranging unexpected situations. Also, to execute a solution, the majority of voters need to approve it, thus not violating the protocol of the original smart contract. Voters are rewarded based on quadratic rules for peer prediction, which makes telling true preferences the only way to maximize rewards. Using machine learning, we predict users' preferences based on the voting records. The predictions are provided as default values for future votes to avoid users' need to vote manually each time.
Smart Contracts bring Ethereum transactions great convenience, meanwhile they can have potentially devastating financial consequences. To address the lack of security guarantee, we investigate state-of-art bug detection tools and conduct experiments to analyze their pros and cons. Finally, we conduct research to answer why they have false positives and a convincing bug benchmark is provided.
This paper focuses on two of the key challenges a developer encounters when reusing smart contracts: finding actionable information about existing smart contracts (descriptors) and writing the necessary integration logic to invoke selected contracts and implement missing functions. As for the former issue, the paper proposes a smart contract description format that allows the developer to search for publicly available contracts, understand which features a contract exposes and how to invoke them, according to a service-oriented approach. For the latter, the paper implements a simple, model-driven development environment consisting in a visual programming editor that provides a set of modeling constructs encoding specific, reuse-oriented code patterns. The approach is implemented and demonstrated in the context of the blockchain platform Ethereum and its programming language Solidity. The results obtained show that the proposed approach can be beneficial in the development of composite smart contracts and generic blockchain applications.
Sharing clinical data using Distributed Ledger Technologies (DLT) is increasing in momentum. Fast Healthcare Interoperability Resources (FHIR) standard provides a standard based shared vocabulary and widely accepted mechanisms enabling healthcare providers to share patient data across institutions. Many DLT based solutions are capitalizing on these standards to enable trustworthy electronic health record sharing among institutions. In this paper, we present our preliminary work on capturing the semantics of the FHIR standard in smart contracts. We also discuss the appropriate data to mine from transaction logs in decentralized ledgers to find any anomalies and information misuses by leveraging these standards-based ontological concepts.
The aim of this work is to study the use of decentralization and smart contracts on blockchain networks. We investigate the implementation and use of smart contracts on the platforms Bitcoin, Ethereum and Hyperledger Fabric. Additionally, we have researched consensus algorithms and their respective uses, mentioning both advantages and disadvantages where necessary. To conclude, there is an example contract that is meant to be a close to direct translation of a generic legal house rental contract to show how a legal contract can be translated.
The terms governing the provision of supplies, services, or works by an economic operator to a governmental entity are set into a public contract that is signed, following a procurement process. This article explores whether the public administration can utilise smart contracts to incorporate the terms governing the provision of supplies, services, or works. The fundamental elements of a contract are assessed, in order to determine whether a smart contract can be considered as fulfilling these requirements. Following this assessment, the main hurdles to the use of smart contracting are examined and a possible solution proposed. The case for utilising smart contracting within the realm of public procurement is finally advocated.