Taneli Hukkinen, Juri Mattila, Juuso Ilomäki, Timo Seppälä
Abstract This report documents a blockchain application developed for the energy sector that enables distributed market coordination for decentralized energy systems. As its core element, it utilizes Ethereum-based smart contracts to facilitate market matching between individual producers and consumers of electricity. The motive for this application was to understand the process of developing blockchain applications with industrial partners. Moreover, the purpose of this exercise was to examine whether Ethereum-based smart contracts could be effectively utilized for similar applications in industry and society at large. The application and the discussions during its development indicate that similar horizontal market structures may spring up in value chains in which the dynamicity of the market is growing and in which the roles of the market actors are shifting from fixed roles towards switch-role markets.
Blockchain technology has the potential to disrupt how cryptography is done. In this work, we propose to view blockchains as an “enabler”, much like indistinguishability obfuscation [5, 23, 46] or one-way functions, for building a variety of cryptographic systems. Our contributions in this work are as follows:
1.
A Framework for Proof-of-Stake based Blockchains: We provide an abstract framework for formally analyzing and defining useful security properties for Proof-of-Stake (POS) based blockchain protocols. Interestingly, for some of our applications, POS based protocols are more suitable. We believe our framework and assumptions would be useful in building applications on top of POS based blockchain protocols even in the future.
2.
Blockchains as an Alternative to Trusted Setup Assumptions in Cryptography: A trusted setup, such as a common reference string (CRS) has been used to realize numerous systems in cryptography. The paragon example of a primitive requiring trusted setup is a non-interactive zero-knowledge (NIZK) system. We show that already existing blockchains systems including Bitcoin, Ethereum etc. can be used as a foundation (instead of a CRS) to realize NIZK systems. The novel aspect of our work is that it allows for utilizing an already existing (and widely trusted) setup rather than proposing a new one. Our construction does not require any additional functionality from the miners over the already existing ones, nor do we need to modify the underlying blockchain protocol. If an adversary can violate the security of our NIZK, it could potentially also take over billions of dollars worth of coins in the Bitcoin, Ethereum or any such cryptocurrency!
We believe that such a “trusted setup” represents significant progress over using CRS published by a central trusted party. Indeed, NIZKs could further serve as a foundation for a variety of other cryptographic applications such as round efficient secure computation [33, 36].
3.
One-time programs and pay-per use programs: Goldwasser et al. [29] introduced the notion of one time program and presented a construction using tamper-proof hardware. As noted by Goldwasser et al. [29], clearly a one-time program cannot be solely software based, as software can always be copied and run again. While there have been a number of follow up works [4, 6, 30], there are indeed no known constructions of one-time programs which do not rely on self destructing tamper-proof hardware (even if one uses trusted setup or random oracles). Somewhat surprisingly, we show that it is possible to base one-time programs on POS based blockchain systems without relying on trusted hardware. Our ideas do not seem to translate over to Proof-of-Work (POW) based blockchains.
We also introduce the notion of pay-per-use programs which is simply a contract between two parties — service provider and customer. A service provider supplies a program such that if the customer transfers a specific amount of coins to the provider, it can evaluate the program on any input of its choice once, even if the provider is offline. This is naturally useful in a subscription based model where your payment is based on your usage.
Scaling the transaction throughput of decentralized blockchain ledgers such as Bitcoin and Ethereum has been an ongoing challenge. Two-party duplex payment channels have been designed and used as building blocks to construct linked payment networks, which allow atomic and trust-free payments between parties without exhausting the resources of the blockchain. \n \nOnce a payment channel, however, is depleted (e.g., because transactions were mostly unidirectional) the channel would need to be closed and re-funded to allow for new transactions. Users are envisioned to entertain multiple payment channels with different entities, and as such, instead of refunding a channel (which incurs costly on-chain transactions), a user should be able to leverage his existing channels to rebalance a poorly funded channel. \n \nTo the best of our knowledge, we present the first solution that allows an arbitrary set of users in a payment channel network to securely rebalance their channels, according to the preferences of the channel owners. Except in the case of disputes (similar to conventional payment channels), our solution does not require on-chain transactions and therefore increases the scalability of existing blockchains. In our security analysis, we show that an honest participant cannot lose any of its funds while rebalancing. We finally provide a proof of concept implementation and evaluation for the Ethereum network.
The Internet of Things is a proliferating industry, which is transforming many homes and businesses, making them smart. However, the rapid growth of these devices and the interactions between these devices, introduces many challenges including that of a secure management system for the identities and interactions of the devices. While the centralized model has worked well for many years, there is a risk of the servers becoming bottlenecks and a single point of failure, thereby making them vulnerable to Denial-of-Service attacks. As a backbone of these interactions, Blockchain is capable of creating a highly secure, independent and distributed platform. Blockchain is a peer to peer, distributed ledger system that stores all the transactions taking place within the network. The main purpose of the servers that form a part of the distributed system is to provide a consensus, using various consensus algorithms, on the state of the blockchain at any given time and to store a copy of all the transactions taking place. This thesis explores the Blockchain technology in general and investigates its potential with regard to access management of constrained devices. A proof of concept system has been designed and implemented that demonstrates a simplified access management system using Ethereum Blockchain. This was done to check whether the concept can be applied at a global level. Although the latency of the network depends on the computing power of the resources participating in the Blockchain, an evaluation of the proof of concept system has been made, keeping in mind the smallest device that can be involved in the consensus process. Docker containers have been used to simulate a cluster of the nodes participating in the Blockchain, in order to examine the implemented system. An outline of the various advantages and the limitations of Blockchains in general, as well as the developed proof of concept system, has also been provided.
In every nation, democratic elections are a momentous and weighty occurrence, and the voting system that is now in place requires the use of ballots or electronic voting machines (EVM). Transparency, poor turnout, vote manipulation, distrust of electoral organizations, fabrication of unique IDs (voting party IDs), and delays in posting results are some of the issues that arise as a result of these procedures. The matter of safety is of the utmost importance. When considering the installation of a computerized voting system, voter confidentiality has always been one of the most important concerns. There is no question regarding the system's capability to secure itself in contrast to prospective assaults and safeguard data in the face of such big choices. Utilization of blockchain technology is one approach that might be taken to resolve security concerns. The blockchain technology has an endless number of different uses that might be implemented. The technology known as blockchain is a distributed ledger that makes it possible for peer-to-peer networks all over the world to handle digital assets. In this context, distributed ledger technology represents an intriguing development. A grouping of all transactions is referred to as a block. Immutability, decentralisation, security, transparency, and anonymity are some of the outstanding properties offered by blockchain technology. The combination of blockchain technology with smart contracts has shown promise as a viable option for the development of trustworthy and open-source electronic voting systems. In this article, we demonstrate how to use blockchain technology with the help of a wallet and the Solidity programming language to build an electronic voting application. The programme was designed as a smart contract for the Ethereum network. In order to avoid having the same person vote twice, the user's wallet will only hold a certain number of tokens (gas), which will be depleted each time the user casts a vote. This article talks about the pros and cons of using blockchain technology. It also shows a practical solution in the form of a web app for voting and analyses its limits.
Blockchains address trust through cryptography and consensus. Bitcoin is the first digital currency without trusted agents. Ethereum extends this technology by enabling agents on a blockchain, via smart contracts. However, a systemic trust model for smart contracts in blockchains is missing. This thesis describes the ecosystem of smart contracts as an open multi-agent system. A trust model introduces social control through deposits and review agents. Trust-related attributes are quantified in 2,561 smart contracts from GitHub. Smart contracts employ a mean of three variables and functions and one in ten has a security-related issue. Moreover, blockchains restrict computation tasks. Resolving these restrictions while maintaining trust requires verifiable computation. An algorithm for verifiable computation is developed and implemented in Solidity. It uses an arbiter enforcing the algorithm, computation services providing and verifying solutions, and a judge assessing solutions. Experiments are performed with 1000 iterations for one to six verifiers with a cheater prior probability of 30%, 50%, and 70%. The algorithm shows linear complexity for integer multiplication. The verification depends on cheater prior probability and amount of verifiers. In the experiments, six verifiers are sufficient to detect all cheaters for the three prior probabilities.
Marc Sel, Henning Diedrich, Sander Demeester, Harald Stieber
This paper explains the main features of and motivation for the “report once” demonstrator1 shown at the 2017 Data For Policy conference. It shows how Ethereum2 smart contracts, based on the semantics and algorithmic representations defined in ACTUS3 can implement “digital doppelgängers” of financial contracts. <br> <br> The implementation makes use of a private4 Ethereum blockchain, with smart contracts written in Solidity.5 The limitations of using ACTUS in a semi real-time scenario are explored, as well as how to overcome these limitations. <br> <br> The major innovation, visualized by the demonstrator, is that compliance reports can be generated in semi realtime, using the information present in the “digital doppelgängers”, residing in the blockchain. <br> <br> The demonstrator supports various use cases, illustrated through the narration of stories. In these stories, Alice, Bob and Eve are contracting parties, Romeo acts as regulator, and the narrator tells the stories. The stories cover trading a Bond, trading an Interest Rate Swap (IRS), the defaulting of a party (i.e. a payment stop), and various types of regulatory reports. <br>
Financial technology (FinTech) is the new business model and technology which aims to compete with traditional financial services and blockchain is one of most famous technology use of FinTech. Blockchain is a type of distributed, electronic database (ledger) which can hold any information (e.g. records, events, transactions) and can set rules on how this information is updated. The most well-known application of blockchain is bitcoin, which is a kind of cryptocurrencies. But it can also be used in many other financial and commercial applications. A prominent example is smart contracts, for instance as offered in Ethereum. A contract can execute a transfer when certain events happen, such as payment of a security deposit, while the correct execution is enforced by the consensus protocol. The purpose of this paper is to explore the research and application landscape of blockchain technology acceptance by following a more comprehensive approach to address blockchain technology adoption. This research is to propose a unified model integrating Innovation Diffusion Theory (IDT) model and Technology Acceptance Model (TAM) to investigate continuance intention to adopt blockchain technology.
In Chapter 5 , we discussed the concept of decentralized organizations and the modus operandi of a DAO. Here, we want to highlight a historic moment leading to the creation of the first DAO, and how it eventually got hacked. Our discussion begins with a fresh perspective on decentralized organizations from Buterin, and leads into the story of Slock.it, the company at the heart of the DAO revolution. Then, we present some code that made The DAO dysfunctional: pieces of the smart contract relevant to the vulnerability, the conditions that allowed repetitive withdrawals from The DAO, and the exploit itself. We conclude the chapter by talking about the consequences of this hack: the debate about hard versus soft forks, and the creation of Ethereum Classic.
In the preceding chapter, you learned how to use Solidity to create instructions for the Ethereum Virtual Machine. However, you stopped short of uploading your program to the EVM, a process known generally in computer application development as deployment . This chapter presents the process by which you can deploy your Solidity scripts to the EVM, making them available as a real product or service. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Cryptocurrencies allow users to securely transfer money without relying on a trusted intermediary, \nand the transparency of their underlying ledgers also enables public verifiability. This openness, \nhowever, comes at a cost to privacy, as even though the pseudonyms users go by are not linked to their \nreal-world identities, all movement of money among these pseudonyms is traceable. In this paper, \nwe present M¨obius, an Ethereum-based tumbler or mixing service. M¨obius achieves strong notions of \nanonymity, as even malicious senders cannot identify which pseudonyms belong to the recipients to \nwhom they sent money, and is able to resist denial-of-service attacks. It also achieves a much lower \noff-chain communication complexity than all existing tumblers, with senders and recipients needing \nto send only two initial messages in order to engage in an arbitrary number of transactions.
Many of civilization’s most nagging imperfections could become the domain of blockchain’s killer apps. For developers, designers, and product managers, there’s no better time to begin prototyping applications for the Ethereum network. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Loi Luu, Yaron Velner, Jason Teutsch, Prateek Saxena
Cryptocurrencies such as Bitcoin and Ethereum are operated by a handful of mining pools. Nearly 95% of Bitcoin's and 80% of Ethereum's mining power resides with less than ten and six mining pools respectively. Although miners benefit from low payout variance in pooled mining, centralized mining pools require members to trust that pool operators will remunerate them fairly. Furthermore, centralized pools pose the risk of transaction censorship from pool operators, and open up possibilities for collusion between pools for perpetrating severe attacks.
In this work, we propose SMARTPOOL, a novel protocol design for a decentralized mining pool. Our protocol shows how one can leverage smart contracts, autonomous blockchain programs, to decentralize cryptocurrency mining. SMARTPOOL gives transaction selection control back to miners while yielding low-variance payouts. SMARTPOOL incurs mining fees lower than centralized mining pools and is designed to scale to a large number of miners. We implemented and deployed a robust SMARTPOOL implementation on the Ethereum and Ethereum Classic networks. To date, our deployed pools have handled a peak hashrate of 30 GHs from Ethereum miners, resulting in 105 blocks, costing miners a mere 0:6% of block rewards in transaction fees.
Blockchain Technology Applications and Security
Cryptography and Data Security
Advanced Steganography and Watermarking Techniques
Achieving data confidentiality, authenticity, and integrity while maintaining secure access control is essential in the medical sector. Implementing a blockchain-based technology to secure medical data makes the data decentralized and protects the intellectual property of the data. The decentralized system of blockchain along with the presence of smart contracts to automate tasks are the two major features that can be utilized to replace our current health system and invent a secure, flexible, and more reliable system for data protection. Using this technology will require patients to be accountable for their medical records while allowing authorized medical authorities to securely share anonymized medical data between multiple clinics, individual doctors, pharmacies, and insurance providers globally. Additionally, the electronic medical records (EMR) per patient will be stored for lifetime, which is important to pharmaceutical scientists to develop precise medicines. In order to build such robust system to protect medical data, my research focuses on the security aspect of the system by analyzing the blockchain technology constraints, and carefully designing and implementing a secure and scalable system using Ethereum blockchains, smart contracts, and cryptography. Therefore, it is significant to use this emerging technology to reduce millions of medical data breaches each year.
In this chapter, we focus on three new technologies that have significantly advanced our understanding of blockchain-enabled applications and opened up several new avenues for research. We begin our discussion with EOS, an Ethereum competitor built with an OS inspired architecture and platform-support design philosophy. It uses a new consensus mechanism called delegated proof-of-stake to enable rapid transaction verification and a continuous cycle of voting for delegates that support the network. The message passing protocols implemented in EOS are very advanced, allowing automated response handlers and action triggers on message delivery. They make up most of the smart contract system. There is also support for parallel lockless execution of smart contract instructions across the network, massively reducing latency in communication and state updates.