Nowadays, blockchain is becoming a synonym for distributed ledger technology.\nHowever, blockchain is only one of the specializations in the field and is\ncurrently well-covered in existing literature, but mostly from a cryptographic\npoint of view. Besides blockchain technology, a new paradigm is gaining\nmomentum: directed acyclic graphs. The contribution presented in this paper is\ntwofold. Firstly, the paper analyzes distributed ledger technology with an\nemphasis on the features relevant to distributed systems. Secondly, the paper\nanalyses the usage of directed acyclic graph paradigm in the context of\ndistributed ledgers, and compares it with the blockchain-based solutions. The\ntwo paradigms are compared using representative implementations: Bitcoin,\nEthereum and Nano. We examine representative solutions in terms of the applied\ndata structures for maintaining the ledger, consensus mechanisms, transaction\nconfirmation confidence, ledger size, and scalability.\n
Subasri Mathiyalahan, Shobana Manivannan, Mahalakshmi Nagasundaram, R. Ezhilarasie
Data integrity of outsourced data is main problem in CSP (cloud service provider). Space overhead and computation complexity are very high issue in recent PDP(Provable Data Possession) verification schemes. To overcome such issues MPDP (Mobile Provable Data Possession) schemes using hash tree data structure and Boneh-Lynn-Snacham short signature scheme have been used over decade. Data dynamics is well supported in MPDP scheme via block less verification, dynamic data operations, stateless verification, and verification out sourcing. But still there are some operations which can be performed much more efficiently in some other way than that of the two methods prescribed above. Operations in particular, data modification operations like insertion and deletion operations is somewhat difficult or in other words time consuming in hash tree data structure. In this paper, we have deployed an improved hash tree structure called MPT (Merkle Patricia Tree) for integrity checking.MPT is combination of MHT (Merkle Hash Tree) and patricia tree where each node consists of key-value pairs. As of now, MPT has been used only in block chain technology for providing authentication of transactions through Ethereum.
John Collomosse, Tu Bui, Alan Brown, John Sheridan · 9 authors
We present ARCHANGEL; a de-centralised platform for ensuring the long-term integrity of digital documents stored within public archives. Document integrity is fundamental to public trust in archives. Yet currently that trust is built upon institutional reputation --- trust at face value in a centralised authority, like a national government archive or University. ARCHANGEL proposes a shift to a technological underscoring of that trust, using distributed ledger technology (DLT) to cryptographically guarantee the provenance, immutability and so the integrity of archived documents. We describe the ARCHANGEL architecture, and report on a prototype of that architecture build over the Ethereum infrastructure. We report early evaluation and feedback of ARCHANGEL from stakeholders in the research data archives space.
Blockchain has received much attention in recent years. This immense popularity has raised a number of concerns, scalability of blockchain systems being a common one. In this paper, we seek to understand how Ethereum, a well-established blockchain system, would respond to sharding. Sharding is a prevalent technique to increase the scalability of distributed systems. To understand how sharding would affect Ethereum, we model Ethereum blockchain as a graph and evaluate five methods to partition the graph. We analyze the results using three metrics: the balance among shards, the number of transactions that would involve multiple shards, and the amount of data that would be relocated across shards upon a repartitioning of the system.
Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin · 21 authors
The success of public blockchains, such as Bitcoin and Ethereum, led to growing interest in Blockchain technology and its application as a distributed system in the most innovative business use cases.
A trusted electronic election system requires that all the involved information must go public, that is, it focuses not only on transparency but also privacy issues. In other words, each ballot should be counted anonymously, correctly, and efficiently. In this work, a lightweight E-voting system is proposed for voters to minimize their trust in the authority or government. We ensure the transparency of election by putting all message on the Ethereum blockchain, in the meantime, the privacy of individual voter is protected via an efficient and effective ring signature mechanism. Besides, the attractive self-tallying feature is also built in our system, which guarantees that everyone who can access the blockchain network is able to tally the result on his own, no third party is required after voting phase. More importantly, we ensure the correctness of voting results and keep the Ethereum gas cost of individual participant as low as possible, at the same time. Clearly, the pre-described characteristics make our system more suitable for large-scale election.
Raymond Cheng, Fan Zhang, Jernej Kos, Warren He · 9 authors
Smart contracts are applications that execute on blockchains. Today they manage billions of dollars in value and motivate visionary plans for pervasive blockchain deployment. While smart contracts inherit the availability and other security assurances of blockchains, however, they are impeded by blockchains' lack of confidentiality and poor performance. We present Ekiden, a system that addresses these critical gaps by combining blockchains with Trusted Execution Environments (TEEs). Ekiden leverages a novel architecture that separates consensus from execution, enabling efficient TEE-backed confidentiality-preserving smart-contracts and high scalability. Our prototype (with Tendermint as the consensus layer) achieves example performance of 600× more throughput and 400× less latency at 1000× less cost than the Ethereum mainnet. Another contribution of this paper is that we systematically identify and treat the pitfalls arising from harmonizing TEEs and blockchains. Treated separately, both TEEs and blockchains provide powerful guarantees, but hybridized, though, they engender new attacks. For example, in naïve designs, privacy in TEE-backed contracts can be jeopardized by forgery of blocks, a seemingly unrelated attack vector. We believe the insights learned from Ekiden will prove to be of broad importance in hybridized TEE-blockchain systems.
Bitcoin und die zugrunde liegende Technologie der Blockchain sind längst keine Randphänomene mehr. Zwar ist Bitcoin in vielerlei Hinsicht neuartig. Das steht aber einer Einordnung als «Geld im weiteren Sinn» bzw. als «Kryptowährung» nicht im Weg. Bitcoin ient zurzeit primär als Spekulationsobjekt, aber auch zur Wertaufbewahrung und als Zahlungsmittel. Während das Bitcoin-System nur die Übertragung von Bitcoins erlaubt, ist die Blockchain von Ethereum, der zweitgrössten Kryptowährung, frei programmierbar and erlaubt die Emission beliebiger «Tokens». Diese können Währungen, Anleihen, Aktien oder beliebige andere Vermögenswerte mit oder ohne vom Emittenten garantierten Wert darstellen. Kryptowährungen haben das Potenzial, einen Digitalisierungsschub im Finanzbereich auszulösen. Um dieses Potenzial zu realisieren, bedarf es aber noch der Klärung verschiedener Rechtsfragen und der Beseitigung rechtlicher Hürden.
We present SBFT: a scalable decentralized trust infrastructure for Blockchains. SBFT implements a new Byzantine fault tolerant algorithm that addresses the challenges of scalability and decentralization. Unlike many previous BFT systems that performed well only when centralized around less than 20 replicas, SBFT is optimized for decentralization and can easily handle more than 100 active replicas. SBFT provides a smart contract execution environment based on Ethereum's EVM byte-code.
We tested SBFT by running 1 million EVM smart contract transactions taken from a 4-month real-world Ethereum workload. In a geo-replicated deployment that has about 100 replicas and can withstand $f=32$ Byzantine faults our system shows speedups both in throughput and in latency. SBFT completed this execution at a rate of 50 transactions per second. This is a $10\times$ speedup compared to Ethereum current limit of $5$ transactions per second. SBFT latency to commit a smart contract execution and make it final is sub-second, this is more than $10\times$ speedup compared to Ethereum current $>15$ second block generation for registering a smart contract execution and several orders of magnitude speedup relative to Proof-of-Work best-practice finality latency of one-hour.
Bitcoin has attracted everyone's attention and interest recently. Ethereum (ETH), a second generation cryptocurrency, extends Bitcoin's design by offering a Turing-complete programming language called Solidity to develop smart contracts. Smart contracts allow creditable execution of contracts on EVM (Ethereum Virtual Machine) without third parties. Developing correct smart contracts is challenging due to its decentralized computation nature. Buggy smart contracts may lead to huge financial loss. Furthermore, smart contracts are very hard, if not impossible, to patch once they are deployed. Thus, there is a recent surge of interest on analyzing/verifying smart contracts. While existing work focuses on EVM opcode, we argue that it is equally important to understand and define the semantics of Solidity since programmers program and reason about smart contracts at the level of source code. In this work, we develop the structural operational semantics for Solidity, which allows us to identify multiple design issues which underlines many problematic smart contracts. Furthermore, our semantics is executable in the K framework, which allows us to verify/falsify contracts automatically.
Starting with BitTorrent and then Bitcoin, decentralized technologies have been on the rise over the last 15+ years, gaining significant momentum in the last 2+ years with the advent of platform ecosystems such as the Blockchain platform Ethereum. New projects have evolved from decentralized games to marketplaces to open funding models to decentralized autonomous organizations. The hype around cryptocurrency and the valuation of innovative projects drove the market cap of cryptocurrencies to over a trillion dollars at one point in 2017. These high valued technologies are now enabling something new: globally scaled, decentralized business models. Despite their valuation and the hype, these new business ecosystems are frail. This is not only because the underlying technology is rapidly evolving, but also because competitive markets see a profit opportunity in exponential cryptocurrency returns. This extracts value from these ecosystems, which could lead to their collapse, if unchecked. In this paper, we explore novel ways for decentralized economies to protect themselves from, and coexist with competitive markets at a global scale utilizing decentralized technologies such as Blockchain.
Robert Norvill, Beltrán Borja Fiz Pontiveros, Radu State, Andréa Cullen
In this work we present E-EVM, a tool that emulates and visualises the execution of smart contracts on the Ethereum Virtual Machine. By working with the readily available bytecode of smart contracts we are able to display the program's control flow graph, opcodes and stack for each step of contract execution. This tool is designed to aid the user's understanding of the Etheruem Virtual Machine as well as aid the analysis of any given smart contract. As such, it functions as both an analysis and a learning tool. It allows the user to view the code in each block of a smart contract and follow possible control flow branches. It is able to detect loops and suggest optimisation candidates. It is possible to step through a contract one opcode at a time. E-EVM achieved an average of 85.6% code coverage when tested.
Sina Rafati Niya, Sanjiv S. Jha, Thomas Bocek, Burkhard Stiller
This work proposes an IoT- and Blockchain-based, distributed system, for automated measuring, storing, and monitoring of water and air quality in environments such as lakes, mountains, urban areas, or factories. Comparable state-of-the-art solutions, require human interaction to access the data or require high power consumption or space requirements, or they are based on centralized architectures. The proposed pollution monitoring system here, on one hand, employs LoRa to address the high power consumption and long-range transmission challenges of IoT protocols. On the other hand, it is designed to be fully decentralized by using the Ethereum Blockchain to store and retrieve the data recorded by IoT sensors. Thus, data integrity is provided without the need for a Trusted Third Party (TTP) and data is collected and captured automatically without any manual operations needed. Observations on the four different types of sensors for measuring Potential Hydrogen (PH), Turbidity, Carbon monoxide (CO), and Carbon dioxide (CO2), revealed a high accuracy with the expected time-lines of measurements, non-falsified experimental values collected and can be used as reliable evidence of presence of pollution.
Many of today's crypto currencies use blockchains as decentralized ledgers and secure them with proof of work. In case of a fork of the chain, Bitcoin's rule for achieving consensus is selecting the longest chain and discarding the other chain as stale. It has been demonstrated that this consensus rule has a weakness against selfish mining in which the selfish miner exploits the variance in block generation by partially withholding blocks. In Ethereum, however, under certain conditions stale blocks don't have to be discarded but can be referenced from the main chain as uncle blocks yielding a partial reward. This concept limits the impact of network delays on the expected revenue for miners. But the concept also reduces the risk for a selfish miner to gain no rewards from withholding a freshly minted block. This paper uses a Monte Carlo simulation to quantify the effect of uncle blocks both to the profitability of selfish mining and the blockchain's security in Ethereum (ETH). A brief outlook about a recent Ethereum Classic (ETC) improvement proposal that weighs uncle blocks during the selection of the main chain will be given.
In this paper, we propose IoTChain, a combination of the OSCAR architecture [1] and the ACE authorization framework [2] to provide an E2E solution for the secure authorized access to IoT resources. IoTChain consists of two components, an authorization blockchain based on the ACE framework and the OSCAR object security model, extended with a group key scheme. The blockchain provides a flexible and trustless way to handle authorization while OSCAR uses the public ledger to set up multicast groups for authorized clients. To evaluate the feasibility of our architecture, we have implemented the authorization blockchain on top of a private Ethereum network. We report on several experiments that assess the performance of different architecture components.
Introduction. Blockchain technology is becoming one of the main drivers of innovation in the global economy. Its adoption will have a huge impact on how businesses and governments operate and on the way people organize their everyday lives. Financial services industry is the one experiencing the biggest impact of the blockchain disruption so far, while financial institutions are among the first adopters of the technology. At the same time, being a relatively traditional industry, shipping has not yet seen many use cases with blockchain, but the technology is able to change this industry dramatically. Aim and tasks. As the industries of finance and shipping have huge potential in the blockchain space and often interact, determining how the blockchain technology adoption can influence the industries of finance and shipping in the future was the main purpose of this article. Research results. To fulfill this purpose, it was important to describe the origins of the blockchain technology, its main characteristics, functioning principles and consensus algorithms. Supported by the recent hype, cryptocurrencies are the biggest use case for blockchain so far, therefore, the article analyzes the largest of them, including Bitcoin, Ethereum and some others, as well as the cryptocurrency market as a whole. The level of worldwide adoption of blockchain and the overall market size are defined further in the article. Various applications in finance are also mentioned, paying particular attention to the insurance industry. Based on this information, the key areas in which blockchain can disrupt finance and insurance are identified. As the number of blockchain companies increases rapidly, the two main fundraising channels for such companies, venture capital and initial coin offering, are analyzed and compared. The ways in which blockchain may impact the shipping services industry are identified further. Conclusion. Afterwards, the article describes a number of blockchain consortia formed by public institutions and private entities to research and test possible applications of the technology across various industries and countries. While the potential of blockchain is still largely undiscovered, all the gathered information and performed research help to make a conclusion that the blockchain technology will have a big impact on many different industries, including financial and shipping services. The coming years will definitely see an exponentially growing interest in blockchain in academic and business fields, as the technology becomes more and more mainstream.
This article presents the formal syntax and semantics for a large subset of the Solidity programming language developed for the Etheruem blockchain platform based on our resent work about developing a general, extensible, and reusable formal memory (GERM) framework and an extension of Curry-Howard isomorphism, denoted as execution-verification isomorphism (EVI). This subset is denoted as Lolisa, which, to our knowledge, is the first mechanized and validated formal syntax and semantics developed for Solidity. The formal syntax of Lolisa adopts a stronger static type system than Solidity for enhanced type safety. In addition, Lolisa not only includes nearly all the syntax components of Solidity, such as mapping, modifier, contract, and address types, but it also contains general-purpose programming language features, such as multiple return values, pointer arithmetic, struct, and field access. Therefore, the inherent compatibility of Lolisa allows Solidity programs to be directly translated into Lolisa with a line-by-line correspondence without rebuilding or abstracting, and, in addition, the inherent generality of Lolisa allows it to be extended to express other programming languages as well. To this end, we also present a preliminary scheme for extending Lolisa to other languages systematically.
There is no doubt that Cryptocurrency is a word that provokes a very strong response these days. On one hand, Team Crypto proclaimers the arena as the next big thing as they speak in blue sky terms about the future of this new form of currency that takes digital shape and is beyond restriction. In direct opposition is Team Tradition that warns of the perils of decentralization and fraud around pure digital currency. Indeed, there was nothing short of a frenzy around trading on the CBOE Bitcoin futures a few days ago, while the day after reports detailed a large digital heist surrounding Ethereum. Doomsday sentiment around this new area of tech convergence with thaof the financial spectrum is plentiful. Just why is there so much fear around the area of cryptocurrency, and what will 2018 mean for this pioneering area, particularly as we move to a general cashless society that is easily driven and adopted by the massive Millennial demographic?
Blockchain technology has the potential to transform healthcare delivery by facilitating data sharing between providers and electronic health record (EHR) systems. However, significant roadblocks stand in the way of widespread implementation of this technology across the healthcare industry. Our blockchainbased data-sharing solution addresses two of the most critical challenges associated with using blockchain for health data sharing: protecting sensitive health information and deploying and installing blockchain software across diverse hospital environments. Since transparency is a fundamental feature of blockchain, we enabled user- and group-based secret sharing by adding purpose-built software that leverages a collection of well-established cryptographic algorithms. To streamline deployment, we built a containerized solution that guarantees portability, simplifies installation, and reduces overhead maintenance costs associated with administration. To ensure ease of implementation in a hospital system, we designed our blockchain solution using a distributed microservices architecture that allows us to encapsulate core functions of our system into isolated services that can be scaled independently based on the requirements of a particular hospital system deployment. As part of this architecture, we built core components for securely handling cryptographic secrets, interacting with blockchain nodes, facilitating large file sharing, enabling secondary-index based lookups, and integrating external business logic that governs how users interact with Smart Contracts. The innovative design of our blockchain solution, which addresses critical data security, deployment, and installation challenges, provides the healthcare community with a unique approach that has the power to connect providers while protecting sensitive data. Keywords: Blockchain, Data Sharing, Data Exchange, EHR,electronic health record, Ethereum, interplanetary file system, IPFS
Olivia Choudhury, Hillol Sarker, Nolan Rudolph, Morgan A. Foreman · 9 authors
Recent changes to the Common Rule, which govern Institutional Review Boards (IRB), require implementing new policies to strengthen research protocols involving human subjects. A major challenge in implementing such policies is an inability to automatically and consistently meet these ethical rules while securing sensitive information collected during the study. In this paper, we propose a novel framework, based on blockchain technology, to enforce IRB regulations on data collection. We demonstrate how to design smart contracts and a ledger to meet the requirements of an IRB protocol, including subject recruitment, informed consent management, secondary data sharing, monitoring risks, and generating automated assessments for continuous review. Furthermore, we show how we can employ the immutable transaction log in the blockchain to embed security in research activities by detecting malicious activities and robustly tracking subject involvement. We evaluate our approach by assessing its ability to enforce IRB guidelines in different types of human subjects studies, including a genomic study, a drug trial, and a wearable sensor monitoring study. Keywords: Blockchain, Data Sharing, Data Exchange, EHR, electronic health record, Ethereum, interplanetary filesystem, IPFS
Santiago Bragagnolo, Henrique Rocha, Marcus Denker, Sté́phane Ducasse
Solidity is a language used for smart contracts on the Ethereum blockchain. Smart contracts are embedded procedures stored with the data they act upon. Debugging smart contracts is a really 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 paper, we address the lack of inspectability of a deployed contract by analyzing contract state using decompilation techniques driven by the contract structure definition. Our solution, SmartInspect, also uses a mirror-based architecture to represent locally object responsible for the interpretation of the contract state. SmartInspect allows contract developers to better visualize and understand the contract stored state without needing to redeploy, nor develop any ad-hoc code.
Giuseppe Destefanis, Michele Marchesi, Marco Ortu, Roberto Tonelli · 6 authors
Smart Contracts have gained tremendous popularity in the past few years, to the point that billions of US Dollars are currently exchanged every day through such technology. However, since the release of the Frontier network of Ethereum in 2015, there have been many cases in which the execution of Smart Contracts managing Ether coins has led to problems or conflicts. Compared to traditional Software Engineering, a discipline of Smart Contract and Blockchain programming, with standardized best practices that can help solve the mentioned problems and conflicts, is not yet sufficiently developed. Furthermore, Smart Contracts rely on a non-standard software life-cycle, according to which, for instance, delivered applications can hardly be updated or bugs resolved by releasing a new version of the software. In this paper we advocate the need for a discipline of Blockchain Software Engineering, addressing the issues posed by smart contract programming and other applications running on blockchains.We analyse a case of study where a bug discovered in a Smart Contract library, and perhaps "unsafe" programming, allowed an attack on Parity, a wallet application, causing the freezing of about 500K Ethers (about 150M USD, in November 2017). In this study we analyze the source code of Parity and the library, and discuss how recognised best practices could mitigate, if adopted and adapted, such detrimental software misbehavior. We also reflect on the specificity of Smart Contract software development, which makes some of the existing approaches insufficient, and call for the definition of a specific Blockchain Software Engineering.
This thesis explains the working of a previously undocumented blockchain application developed for the energy sector. The application enables distributed market coordination for small-scale decentralized energy systems. An Ethereum smart contract is employed as a core component of the application, facilitating a marketplace for transacting electrical energy. A design science research methodology was applied to the application in an attempt to further develop it. The problem of high fees in the energy marketplace was identified, resulting from the smart contract's inefficient use of Ethereum gas. Two particular sources of inefficiency were identified, and solutions for fixing these inefficiencies were designed and implemented. Savings in transaction fees were created by replacing a function of the smart contract with off blockchain communication, and by editing the fund withdrawal mechanism of the smart contract so that it requires users to create fewer blockchain transactions. As a result, the smart contract's gas consumption was reduced by up to 11% in a certain use case. The reduction in gas consumption was not sufficient to make the deployment and use of the application economically feasible on the canonical public Ethereum blockchain. A Plasma child chain or a dedicated Ethereum blockchain were suggested as potentially more feasible deployment environments for the application. It was noted that the application relies on centralized components, and it is debatable whether its current blockchain-based implementation is justifiable.
This paper introduces the underlying mechanics and interface for PhoeniχCoin (PHX), an Ethereum ERC223-compliant cryptocurrency. The supply of PHX tokens is tied directly to the Ethereum balance of the smart contract underpinning the ‘EthPhoenix’ decentralised application, and mined using a novel, generalisable technique we refer to as proof-of-volatility.
Open access
Cryptographic Implementations and Security
Security and Verification in Computing
Physical Unclonable Functions (PUFs) and Hardware Security