Ilya Grishchenko, Matteo Maffei, Clara Schneidewind
The recent growth of the blockchain technology market puts its main cryptocurrencies in the spotlight. Among them, Ethereum stands out due to its virtual machine (EVM) supporting smart contracts, i.e., distributed programs that control the flow of the digital currency Ether. Being written in a Turing complete language, Ethereum smart contracts allow for expressing a broad spectrum of financial applications. The price for this expressiveness, however, is a significant semantic complexity, which increases the risk of programming errors. Recent attacks exploiting bugs in smart contract implementations call for the design of formal verification techniques for smart contracts. This, however, requires rigorous semantic foundations, a formal characterization of the expected security properties, and dedicated abstraction techniques tailored to the specific EVM semantics. This work will overview the state-of-the-art in smart contract verification, covering formal semantics, security definitions, and verification tools. We will then focus on EtherTrust [ 1 ], a framework for the static analysis of Ethereum smart contracts which includes the first complete small-step semantics of EVM bytecode, the first formal characterization of a large class of security properties for smart contracts, and the first static analysis for EVM bytecode that comes with a proof of soundness.
There are several distributed ledger protocols potentially suitable for the Internet of things (IoT), including the Ethereum, Hyperledger Fabric and IOTA. This paper briefly presents and compares them from the IoT application development perspective. The IoT applications based on blockchain (BC) can incorporate the on-chain logic –the smart contracts– and Web, mobile or embedded client front-end application parts. We present three possible architectures for the IoT front-end BC applications. They differ in positioning of Ethereum blockchain clients (local device, remote server) and in positioning of key store needed for the management of outgoing transactions. The practical constraints of these architectures, which utilize the Ethereum network for trusted transaction exchange, are the data volumes, the location and synchronization of the full blockchain node and the location and the access to the Ethereum key store. Results of these experiments indicate that a full Ethereum node is not likely to reliably run on a constrained IoT devices. Therefore the architecture with remote Ethereum clients seems to be a viable approach, where two sub-options exist and differ in key store location/management. In addition, we proposed the use of architectures with a proprietary communication between the IoT device and remote blockchain client to further reduce the network traffic and enhance security. We expect it to be able to operate over low-power, low-bitrate mobile technologies, too. Our research clarifies differences in architectural approaches, but final decision for a particular ledger protocol and front-end application architecture is at strongly based on the particular intended use case.
Ilya Grishchenko, Matteo Maffei, Clara Schneidewind
Smart contracts are programs running on cryptocurrency (e.g., Ethereum) blockchains, whose popularity stem from the possibility to perform financial transactions, such as payments and auctions, in a distributed environment without need for any trusted third party. Given their financial nature, bugs or vulnerabilities in these programs may lead to catastrophic consequences, as witnessed by recent attacks. Unfortunately, programming smart contracts is a delicate task that requires strong expertise: Ethereum smart contracts are written in Solidity, a dedicated language resembling JavaScript, and shipped over the blockchain in the EVM bytecode format. In order to rigorously verify the security of smart contracts, it is of paramount importance to formalize their semantics as well as the security properties of interest, in particular at the level of the bytecode being executed. In this paper, we present the first complete small-step semantics of EVM bytecode, which we formalize in the F* proof assistant, obtaining executable code that we successfully validate against the official Ethereum test suite. Furthermore, we formally define for the first time a number of central security properties for smart contracts, such as call integrity, atomicity, and independence from miner controlled parameters. This formalization relies on a combination of hyper- and safety properties. Along this work, we identified various mistakes and imprecisions in existing semantics and verification tools for Ethereum smart contracts, thereby demonstrating once more the importance of rigorous semantic foundations for the design of security verification techniques.
Blockchain technology becomes increasingly popular. It also attracts scams, for example, Ponzi scheme, a classic fraud, has been found making a notable amount of money on Blockchain, which has a very negative impact. To help dealing with this issue, this paper proposes an approach to detect Ponzi schemes on blockchain by using data mining and machine learning methods. By verifying smart contracts on Ethereum, we first extract features from user accounts and operation codes of the smart contracts and then build a classification model to detect latent Ponzi schemes implemented as smart contracts. The experimental results show that the proposed approach can achieve high accuracy for practical use. More importantly, the approach can be used to detect Ponzi schemes even at the moment of its creation. By using the proposed approach, we estimate that there are more than 400 Ponzi schemes running on Ethereum. Based on these results, we propose to build a uniform platform to evaluate and monitor every created smart contract for early warning of scams.
Albeit the primary usage of Bitcoin is to exchange currency, its blockchain and consensus mechanism can also be exploited to securely execute some forms of smart contracts. These are agreements among mutually distrusting parties, which can be automatically enforced without resorting to a trusted intermediary. Over the last few years a variety of smart contracts for Bitcoin have been proposed, both by the academic community and by that of developers. However, the heterogeneity in their treatment, the informal (often incomplete or imprecise) descriptions, and the use of poorly documented Bitcoin features, pose obstacles to the research. In this paper we present a comprehensive survey of smart contracts on Bitcoin, in a uniform framework. Our treatment is based on a new formal specification language for smart contracts, which also helps us to highlight some subtleties in existing informal descriptions, making a step towards automatic verification. We discuss some obstacles to the diffusion of smart contracts on Bitcoin, and we identify the most promising open research challenges.
Industry 4.0 will enable the development of hyper-efficient plants, which facilitate the implementation of emerging production models such as Made-to-Order and Configure-to-Order. In this direction, the H2020 FAR-EDGE project has introduced a reference architecture and an accompanying platform that facilitates the implementation of digital automation solutions based on edge computing and distributed ledger technologies, which enable fast, reliable and responsive automation. In this paper, we illustrate the use of these technologies for the implementation and deployment of a practical use case in the white appliances industry. Specifically, we present how a sorter component can be automatically programmed in order to ensure that items arriving at a conveyor are optimally placed in various bays. The use case leverages the edge computing paradigm in order to ensure that each physical item is able to communicate its status to all the others. At the same time, distributed ledger technologies enable the modelling of the sorting process as a reliable smart contract among all physical entities. The benefits of the deployment include tangible improvements in productivity, along with a significant reduction in the effort and time needed for the reconfiguration of the sorter.
This paper describes how Distributed Ledger Technologies can be used to design a class of cyber-physical systems, as well as to enforce social contracts and to orchestrate the behaviour of agents trying to access a shared resource. The first part of the paper analyses the advantages and disadvantages of using Distributed Ledger Technologies architectures to implement certain control systems in an Internet of Things (IoT) setting, and then focuses on a specific type of DLT based on a Directed Acyclic Graph. In this setting we propose a set of delay differential equations to describe the dynamical behaviour of the Tangle, an IoT-inspired Directed Acyclic Graph designed for the cryptocurrency IOTA. The second part proposes an application of Distributed Ledger Technologies as a mechanism for dynamic deposit pricing, wherein the deposit of digital currency is used to orchestrate access to a network of shared resources. The pricing signal is used as a mechanism to enforce the desired level of compliance according to a predetermined set of rules. After presenting an illustrative example, we analyze the control system and provide sufficient conditions for the stability of the network.
Ioannis Karamitsos, Maria Papadaki, Nedaa Baker Al Barghuthi
Blockchain is a fast-disruptive technology becoming a key instrument in share economy. In recent years, Blockchain has received considerable attention from many researchers and government institutions. This paper aims to present the Blockchain and smart contract for a specific domain which is real estate. A detailed design of smart contract is presented and then a use case for renting residential and business buildings is examined.
Wolfgang Gräther, Sabine Kolvenbach, Rudolf Ruland, Julian Schütte · 6 authors
Certificates play an important role in education and in professional development in companies. Individual learning records become essential for people’s professional careers. It is therefore important that these records are stored in long-term available and tamper-proof ledgers. A blockchain records transactions in a verifiable and permanent way, therefore it is very suitable to store fingerprints of certificates or other educational items. Blockchain reveals forgery of certificates and it supports learning histories. In this paper, we present the Blockchain for Education platform as a practical solution for issuing, validating and sharing of certificates. At first, we describe the conceptual system overview and then we present in detail the platform implementation including management of certification authorities and certificates, smart contracts as well as services for certifiers, learners and third parties such as employers. Finally, we describe use cases and first evaluation results that we gathered from end user tests with certifiers and conclude with a discussion.
In traditional cloud storage systems, attribute-based encryption (ABE) is regarded as an important technology for solving the problem of data privacy and fine-grained access control. However, in all ABE schemes, the private key generator has the ability to decrypt all data stored in the cloud server, which may bring serious problems such as key abuse and privacy data leakage. Meanwhile, the traditional cloud storage model runs in a centralized storage manner, so single point of failure may leads to the collapse of system. With the development of blockchain technology, decentralized storage mode has entered the public view. The decentralized storage approach can solve the problem of single point of failure in traditional cloud storage systems and enjoy a number of advantages over centralized storage, such as low price and high throughput. In this paper, we study the data storage and sharing scheme for decentralized storage systems and propose a framework that combines the decentralized storage system interplanetary file system, the Ethereum blockchain, and ABE technology. In this framework, the data owner has the ability to distribute secret key for data users and encrypt shared data by specifying access policy, and the scheme achieves fine-grained access control over data. At the same time, based on smart contract on the Ethereum blockchain, the keyword search function on the cipher text of the decentralized storage systems is implemented, which solves the problem that the cloud server may not return all of the results searched or return wrong results in the traditional cloud storage systems. Finally, we simulated the scheme in the Linux system and the Ethereum official test network Rinkeby, and the experimental results show that our scheme is feasible.
Conceptually, the blockchain is a distributed database containing records of transactions that are shared among participating members. Each transaction is confirmed by the consensus of a majority of the members, making fraudulent transactions unable to pass collective confirmation. Once a record is created and accepted by the blockchain, it can never be altered or disappear. Nowadays the blockchain technology is considered as the most significant invention after the Internet. If the latter connects people to realize on-line business processes, the former could decide the trust problem by peer-to-peer networking and public-key cryptography. The purpose of this paper is to consider on distinct use cases at the all-pervasive impact of the blockchain technology and look at this as an inalienable part of our daily life.
Open access
Blockchain Technology Applications and Security
Advanced Steganography and Watermarking Techniques
Roman Beck, Christoph Müller-Bloch, John Leslie King
Blockchain technology is often referred to as a groundbreaking innovation and the harbinger of a new economic era. Blockchains may be capable of engendering a new type of economic system: the blockchain economy. In the blockchain economy, agreed-upon transactions would be enforced autonomously, following rules defined by smart contracts. The blockchain economy would manifest itself in a new form of organizational design—decentralized autonomous organizations (DAO)—which are organizations with governance rules specified in the blockchain. We discuss the blockchain economy along dimensions defined in the IT governance literature: decision rights, accountability, and incentives. Our case study of a DAO illustrates that governance in the blockchain economy may depart radically from established notions of governance. Using the three governance dimensions, we propose a novel IT governance framework and a research agenda for governance in the blockchain economy. We challenge common assumptions in the blockchain discourse, and propose promising information systems research related to these assumptions.
Smart contracts are blockchain-based programs that have developed with the emergence of Ethereum, one of the most well-known blockchains. Gas, paid in Ethers (i.e., the cryptocurrency in Ethereum), is required for the costs to upload and run smart contracts on Ethereum. As cost-inefficiently designed smart contracts result in unnecessary costs, it is vital to eliminate any gas-wasteful code fragments to optimize the deployment costs. In this study, we define five gas-wasteful patterns: 'Over-public variables', 'Redundant initial values', 'Loose packing', 'Non-base unit types', and 'Nonconstant variables', based on the state variables in Solidity, the most commonly used implementation language for smart contracts in Ethereum. We also propose improvement methods related to these patterns and a solution to identify and eliminate the patterns. Furthermore, we analyze 143 real-world contracts deployed on Ethereum and find that 56% of them include the above-mentioned patterns. We also upgrade 43 of the patternmatched contracts and demonstrate that their deployment costs are decreased on an average by 13.47%, and the most-reduced rate is 64%.
Shelly Grossman, Ittai Abraham, Guy Golan-Gueta, Yan Michalevsky · 7 authors
Callbacks are essential in many programming environments, but drastically complicate program understanding and reasoning because they allow to mutate object's local states by external objects in unexpected fashions, thus breaking modularity. The famous DAO bug in the cryptocurrency framework Ethereum, employed callbacks to steal $150M. We define the notion of Effectively Callback Free (ECF) objects in order to allow callbacks without preventing modular reasoning. An object is ECF in a given execution trace if there exists an equivalent execution trace without callbacks to this object. An object is ECF if it is ECF in every possible execution trace. We study the decidability of dynamically checking ECF in a given execution trace and statically checking if an object is ECF. We also show that dynamically checking ECF in Ethereum is feasible and can be done online. By running the history of all execution traces in Ethereum, we were able to verify that virtually all existing contract executions, excluding these of the DAO or of contracts with similar known vulnerabilities, are ECF. Finally, we show that ECF, whether it is verified dynamically or statically, enables modular reasoning about objects with encapsulated state.
Santiago Bragagnolo, Henrique Rocha, Marcus Denker, Sté́phane Ducasse
Smart contracts are embedded procedures stored with the data they act upon.Debugging deployed Smart Contracts is a difficult task since once deployed, the code cannot be reexecuted and inspecting a simple attribute is not easily possible because data is encoded.In this technical report, we present SmartInspect to address the lack of inspectability of a deployed contract.Our solution analyses the contract state by using decompilation techniques and a mirror-based architecture to represent the object responsible for interpreting the contract state.SmartInspect allows developers and also end-users of a contract to better visualize and understand the contract stored state without needing to redeploy, nor develop any ad-hoc code.
A mathematical model for smart contracts for deployment of the initial coin offering (ICO), widely used on the Ethereum platform, is proposed. The analysis of dependence of the network capacity on such parameters as the transaction buffer size, the average transaction processing time, is performed. Evaluations are obtained of which parameters have the greatest impact on the capacity of Ethereum within the developed model.
Bitcoin has emerged as a popular digital currency and arouses the interest not only of programmers, but also of investors and academics. What interests them most is its underlying technology, the blockchain. This thesis aims at giving an overview of the current state of cryptocurrencies and compares their different designs and approaches to Bitcoin. The blockchain technology will be explained, as well as how it could impact many aspects in life by showcasing different applications of Ethereum blockchain-based smart contracts. Based on the evaluation of the different cryptocurrencies and preceding conclusions, specific cryptocurrencies will be applied to the Tasklet system before proposing the implementation of the blockchain technology in such a system, in order to establish a reward system. The paper reviews a heterogeneous, scattered body of knowledge including academic literature, but also non-scientific sources due to the constantly evolving technology. On this basis, the advantages of Bitcoin, but also its weaknesses, as well as the vast potential of blockchain are discussed. Results indicate that although Bitcoin’s framework may be limited, it will still play an important role in the future due to its dominance in the cryptocurrency market. The short display of blockchain-fueled applications and its effects has shown its potential to transform the internet, leading to the rise of the Web 3.0. Keywords: Bitcoin, Blockchain, Cryptocurrency, Distributed Ledger Technology, Smart Contract
The analysis of using so-called smart contracts, which have become widespread in recent years. The definition of the term “smart contract” is given, some classification is offered for them. A comparative analysis of traditional and smart contracts in the part of legal regulation of their application was conducted. The article formulates legal problems of the theoretical and practical direction, which are a significant barrier to the use of smart contracts in the context of widespread use of Internet of Things, some solutions have been suggested for them.
A spectre is haunting the globe. It is not the spectre of communism to which Marx and Engels referred. It is the spectre of smart contracts. These are contracts whose execution is automated, excising human intervention. There is even the pretension that they can circumvent judicial control. The purpose of this manifesto is to raise concern about the ambitions of technocrats to get rid of the law.
The electricity distribution grid was not designed to cope with load dynamics imposed by high penetration of electric vehicles, neither to deal with the increasing deployment of distributed Renewable Energy Sources. Distribution System Operators (DSO) will increasingly rely on flexible Distributed Energy Resources (flexible loads, controllable generation and storage) to keep the grid stable and to ensure quality of supply. In order to properly integrate demand-side flexibility, DSOs need new energy management architectures, capable of fostering collaboration with wholesale market actors and pro-sumers. We propose the creation of Virtual Distribution Grids (VDG) over a common physical infrastructure , to cope with heterogeneity of resources and actors, and with the increasing complexity of distribution grid management and related resources allocation problems. Focusing on residential VDG, we propose an agent-based hierarchical architecture for providing Demand-Side Management services through a market-based approach, where households transact their surplus/lack of energy and their flexibility with neighbours, aggregators, utilities and DSOs. For implementing the overall solution, we consider fine-grained control of smart homes based on Inter-net of Things technology. Homes seamlessly transact self-enforcing smart contracts over a blockchain-based generic platform. Finally, we extend the architecture to solve existing problems on smart home control, beyond energy management.
The internet and digital transfer of money is set to fundamentally change the way financial audits are conducted. This paper critically assesses the way that such assets are currently audited when stored in distributed ledgers, transmitted via a blockchain or whose value is stored in crypto rather than sovereign currency form. In it, we identify the self-verifying nature of such financial data which negates the need for traditional audit methods. Despite the promise of such methods, we highlight the many weaknesses that still exist in the blockchain and how these presents issues for verification. We address distributed transaction and custody records and how these present auditing challenges. We suggest how auditors can use smart contracts to address these and at the same time provide arbitration and oversight. Our contribution is to propose a protocol to audit the movement of blockchain transmitted funds in order to make them more robust going forward.
Die Entwicklung von Blockchain-Technologie und Smart-Contract-Applikationen macht es erstmals möglich, Softwaresysteme zu bauen, welche das dezentrale Halten und Transferieren von Vermögenswerten ohne Intermediäre erlauben. Die Autoren zeigen in diesem Beitrag anhand verschiedener Fallgruppen auf, wie Smart Contracts im Rahmen von Escrow-Verhältnissen genutzt werden können und welche rechtlichen Fragen sich dabei stellen.