In the paper "A blockchain-Based Architecture for Collaborative DDoS Mitigation," Rodrigues, Bocek, Lareida, Hausheer, Rafati, and Stiller proposed a collaborative DDoS signaling system using the Ethereum blockchain and smart contract for AS owners to cooperate and mitigate a DDoS attack in a fully decentralized manner. Rodrigues, Bocek, and Stiller later created a proof-of-concept of this system and called it Blockchain Signaling System (BloSS). In their architecture, AS owners will deploy their smart contract on the Ethereum blockchain for other members to signal when they are under attack by sending IP addresses to be white or blacklisted to the smart contract. BloSS uses a central registry to store information on participating Autonomous Systems (AS) IP addresses it managed, Ethereum wallet addresses, and their smart contact address for victims to report attacker's IP addresses in the event of a DDoS attack. However, a trusted central authority is required to manage the registry. The members of the collaboration need to believe that the central authority is honest in performing its role since membership in the alliance is up to the central authority discretion. McCorry, Siamak, and Hao present a decentralized and self-tallying voting protocol with maximum voter secrecy using Ethereum smart contract called Open Vote Network (OV-net) that does not rely upon any trusted authority to tally the vote. Nevertheless, it still requires an administrator to set up the election and add voters to the election. Therefore, the voters still need to trust a central authority to manage the election and to make sure those who are eligible to vote are in the voters' list. The goal of this project is to implement a self-managed blockchain scheme based on the collaborative DDoS mitigation architecture proposed by Rodrigues et al., where participation in the collaboration requires members' consensus. We introduced a decentralized autonomous organization (DAO) smart contract called ElectionCommissioner to manage the membership to BloSS central registry. The addition or removal of member needs to the registry needs to be proposed by an existing member. When a member submits a proposal, the Election Commissioner will advertise the proposal to the community. The members then register their interest to vote by sending their voting key and Ethereum token (ETH) as a deposit, which is refundable after the election. The Election Commissioner executes an “election process” (described in section IV) to determine the support for a proposal to add or remove a member. After voting, the Election Commissioner will tally the vote and if the executes the proposal if it is accepted by most of the registered voters.
Denna studie undersöker huruvida avsiktligt implementerad friktion inom interaktionsdesign kan minska antal användarfel vid insatsprocessen för blockkedjor med Proof-of-Stake teknik. Friktion som avsiktligt implementerats har tidigare visats kunna leda till färre användarfel. Det spekuleras i att blockkedjor kan komma att användas i större utsträckning i framtiden. Eftersom fel i insatsprocessen för en blockkedja med Proof-of-Stake teknik kan leda till att pengar går förlorade valdes det området för att undersökas närmare om friktion kan leda till färre användarfel. Studien avgränsas till en typ av avsiktlig friktion som kallas design for pauses som syftar till att få användaren att tillfälligt stanna upp med sin interaktion. I studien skapades två versioner av en prototyp på en insatsprocess till blockkedjan Ethereum som testades på två olika testgrupper. Ena versionen av prototypen innehöll avsiktligt implementerad friktion och i den andra versionen adderades ingen friktion avsiktligt. Deltagarna i testet ombads utföra insatsprocessen i prototypen där deras interaktioner granskades och statistik fördes på antal användarfel. Användarfelen delades upp i två kategorier: slarvfel och misstag. Resultaten från testerna visar på att avsiktlig friktion av typen design for pauses minskar antal användarfel av typen misstag. Ytterligare forskning krävs för att besvara om design for pauses kan bidra till att minska antal användarfel av typen slarvfel.
Designed for commercial decentralized applications (DApps), EOSIO is a Delegated Proof-of-Stake (DPoS) based blockchain system. It has overcome some shortages of the traditional blockchain systems like Bitcoin and Ethereum with its outstanding features (e.g., free for usage, high throughput and eco-friendly), and thus becomes one of the mainstream blockchain systems. Though there exist billions of transactions in EOSIO, the ecosystem of EOSIO is still relatively unexplored. To fill this gap, we conduct a systematic graph analysis on the early EOSIO by investigating its four major activities, namely account creation, account vote, money transfer and contract authorization. We obtain some novel observations via graph metric analysis, and our results reveal some abnormal phenomenons like voting gangs and sham transactions.
Ákos Hajdu, Naghmeh Ivaki, Imre Kocsis, Attila Klenik · 8 authors
Blockchain has become particularly popular due to its promise to support business-critical services in very different domains (e.g., retail, supply chains, healthcare). Blockchain systems rely on complex middleware, like Ethereum or Hyperledger Fabric, that allow running smart contracts, which specify business logic in cooperative applications. The presence of software defects or faults in these contracts has notably been the cause of failures, including severe security problems. In this paper, we use a software implemented fault injection (SWIFI) technique to assess the behavior of permissioned blockchain systems in the presence of faulty smart contracts. We emulate the occurrence of general software faults (e.g., missing variable initialization) and also blockchain-specific software faults (e.g., missing require statement on transaction sender) in smart contracts code to observe the impact on the overall system dependability (i.e., reliability and integrity). We also study the effectiveness of formal verification (i.e., done by solc-verify) and runtime protections (e.g., using the assert statement) mechanisms in detection of injected faults. Results indicate that formal verification as well as additional runtime protections have to complement built-in platform checks to guarantee the proper dependability of blockchain systems and applications. The work presented in this paper allows smart contract developers to become aware of possible faults in smart contracts and to understand the impact of their presence. It also provides valuable information for middleware developers to improve the behavior (e.g., overall fault tolerance) of their systems.
Aufgrund des Hypes um Bitcoin und Cryptocurrencys haben Blockchains in den letzten Jahren viel Aufmerksamkeit erhalten. Aber Cryptocurrencys sind bei weitem nicht die einzige Anwendung der Blockchaintechnologie. Smart Contract, also Applikationen die nach vordefinierten und unveränderbaren Regeln agieren, stellen eine weitere Anwendung dar. Solche Smart Contracts benötigen jedoch spezielle Platformen um ausgeführt werden zu können: so gennante Smart Contract Platforms. Die momentan meistverwendete Plattform is Ethereum, aber es gibt weitere Plattformen die interessante Alternativen darstellen. Eine vielversprechende dieser möglichen Alternativen is NEO. NEO ist in vielen Belangen ähnlich zu Ethereum, aber verspricht gleichzeitig einige Probleme zu lösen, mit denen sich Ethereum momentan konfroniert sieht wie zum Beispiel die schlechte Skalierbarkeit. Literatur, die sich mit den Unterschieden zwischen Ethereum and NEO befasst, ist spärlich. Vor allem NEO wird in der Literatur selten berücksichtigt, und falls NEO behandelt wird, dann passiert dies in der Regel nur oberflächlich. Außerdem haben die meisten Vergleiche und Evaluierungen von Smart Contract Plattformen beziehungsweise von Blockchains keine strukturierte Herangehensweise, sondern verwenden unterschiedliche Kriterien für unterschiedliche Plattformen. Das bedeutet, dass die meiste Literatur zu diesem Thema eine Übersicht der Plattformen darstellt, aber wenig Hilfe bei der Auswahl von Smart Contract Plattformen liefert. Diese Arbeit schließt diese Lücke, indem sie einen detalierten Vergleich von Ethereum und NEO durchführt. Um eine strukturierte Herangehensweise zu gewährleiten, wird in dieser Arbeit ein Kriterienkatalog basierend auf Kritierien in wissenschaftlicher Literatur abgeleitet. Dieser Kriterienkatalog wird anschließend auf die beiden Plattformen Ethereum und NEO angewandt um die für den Vergleich notwendigen Daten zu erhalten, die dazu dienen, die relevanten Gemeinsamkeiten und Unterschiede zwischen Ethereum und NEO zu identifieren. Des weiteren ermöglicht dies eine Diskussion über die Auswirkungen dieser Unterschiede. Die Ergebnisse der Arbeit zeigen, dass obwohl Ethereum und NEO auf den ersten Blick sehr ähnlich zu sein scheinen, diese doch markante Unterschiede aufweisen. Die Unterschiede reichen vom allgemeinen Ziel der Plattform über die Reife der Dokumentation und Plattformfeatures bis hin zu praktischen Kritierien wie den Kosten für die Erstellung von Smart Contracts.
This research proposes a new method of data synchronization between public blockchain networks and local machines. We discussed the proposed algorithm, and the mathematical model which achieves the shortest delay required for data synchronization. Tests were conducted to verify the correctness of the proposed model. Then a comparison is made with the current available classical synchronization methods. Suggested method may be useful for future DApps applications on Ethereum network.
Seit der Einführung der Peer-to-Peer Währung Bitcoin sind viele ähnliche Projekte vorgestellt worden. Ein beliebtes Projekt heißt Ethereum, welches erlaubt, Smart Contracts in seinem Netzwerk einzusetzen. Diese Contracts können von NutzerInnen entwickelt werden, um die Fähigkeit von Ethereum zu erweitern. Um mit diesem System interagieren zu können, wird eine Client-Software benötigt, die Blockchain-Daten herunterlädt und anschließend validiert. Als Blockchain wird die Datenstruktur bezeichnet, welche alle getätigten Transaktionen im Netzwerk speichert. Da eine große Menge an Daten kontinuierlich generiert werden, ist Ethereum auf schwächeren Computern nicht mehr einsetzbar. Aus diesem Grund vertraut man sich einer Drittpartei an, dass die heruntergeladenen Daten valide sind, um den zeitaufwendigen Validierungschritt zu umgehen. Eine Alternative, die nicht die Validierung aller Daten benötigt, wird Simplified Payment Verification (SPV) genannt, welche nur ein Teil der Blockchain verarbeiten muss. Software dieser Art nennt man auch Light Clients. Allerdings ist auch dieses Verfahren zu rechenintensiv für Ethereum. Erst vor Kurzem wurde ein kryptografisches Verfahren namens FlyClient vorgestellt, welches eine schnellere Validierung verspricht. Jedoch existiert bislang noch keine praktische Implementierung. Es stellt sich also die Frage, wie man die Validierung der Ethereum Blockchain auf schwächeren Computern wieder ermöglichen kann. Eine Motivation liegt in der praktischen Anwendung, wie beispielsweise Zahlungen per Smartphone tätigen zu können. Bei sicherheitsrelevanten Anwendungen ist es von Vorteil, nicht von einer Drittpartei abhängig zu sein. Das Ziel dieser Arbeit ist daher die systematische Untersuchung von existierenden Verfahren, um Light Clients zu entwickeln. Der Fokus liegt besonders auf einer Schonung von Systemressourcen und die Vermeidung einer Drittpartei. Es werden existierende Ethereum Anwendungen und deren inbegriffenen Sicherheitsannahmen untersucht. Ein Ethereum Light Client Prototyp wird entwickelt, welcher den FlyClient-Ansatz verwendet. Es wird gezeigt, dass mit einer einfachen Modifikation der Ethereum Blockchain Light Clients entwickelt werden können, die: (1) Payment Channels unterstützen, (2) eine effiziente Verifikation der Blockchain ermöglichen, (3) in einer dezentralen Art und Weise arbeiten, (4) hohe Sicherheitsgarantien bieten, und (5) auf schwächeren Computern, wie Smartphones oder IoT-Geräten, eingesetzt werden können.
In this research, the evolution of Distributed Ledger Technology (DLT) in supply chains has been mapped from the inception of the technology until June 2020, utilising primarily public data sources. Two hundred seventy-one blockchain projects operating in the supply chain have been analysed on parameters such as their inception dates, types of blockchain, stages reached, sectors applied to and type of organisation that founded the project. We confirm generally understood trends in the blockchain market with the creation of projects following the general hype and funding levels in the industry. We observe most activity in the Agriculture/Grocery sector and the Freight/Logistics sector. We see the shift of market interest from primarily private companies (startups) to public companies and consortia and the change in blockchain adoption from Ethereum to Hyperledger. Finally, we observe higher success and lower failure rates for Hyperledger-based projects in comparison to Ethereum-based projects.
The paper presents a model for decentralizing building information modelling, through implementing its infrastructure using the decentralized web. We discuss the shortcomings of BIM in terms of its infrastructure, with a focus on tracing identities of design authorship in this collective design tool. In parallel we examine the issues with BIM in the cloud and propose a decentralized infrastructure based on the Ethereum blockchain and the Interplanetary filesystem (IPFS). A series of computing nodes, that act as nodes on the Ethereum Blockchain, host disk storage with which they participate in a larger storage pool on the Interplanetary Filesystem. This storage is made available through an API is used by architects and designers creating and editing a building information model that resides on the IPFS decentralised storage. Through this infrastructure central servers are eliminated, and BIM libraries and models can be shared with others in an immutable and transparent manner. As such Architecture practices are able to exploit their intellectual property in novel ways, by making it public on the internet. The infrastructure also allows the decentralised creation of a resilient global pool of data that allows the participation of computation agents in the creation and simulation of BIM models.
This demonstration presents an innovative Bluetooth blockchain payment terminal (PBT), built over an Arduino AVR processor, with a touch screen, a smartcard reader socket and a Bluetooth module. The system is bare metal, i.e. firmware's (both BPT and Bluetooth module) can be fully uploaded on-demand. The demo shows an Ethereum blockchain transaction protocol (BTP), performed between a user equipped with a BPT and a merchant using a mobile phone connected to Internet.
OAuth 2.0 is the industry-standard protocol for authorization. It facilitates secure service provisioning, as well as secure interoperability among diverse stakeholders. All OAuth 2.0 protocol flows result in the creation of an access token, which is then used by a user to request access to a protected resource. Nevertheless, the definition of access tokens is transparent to the OAuth 2.0 protocol, which does not specify any particular token format, how tokens are generated, or how they are used. Instead, the OAuth 2.0 specification leaves all these as design choices for integrators. In this paper, we propose a new type of OAuth 2.0 token backed by a distributed ledger. Our construction is secure, and it supports proof-of-possession, auditing, and accountability. Furthermore, we provide added-value token management services, including revocation, delegation, and fair exchange by leveraging smart contracts. We realized a proof-of-concept implementation of our solution using Ethereum smart contracts and the ERC-721 token specification.
Blockchain technology has raised a lot of discussions within academia as well as in financial industry. The founder of Ethereum, Vitalik Buterin, was first to introduce the idea of decentralized autonomous organization (DAO), in which blockchain and smart contracts are used to form a new kind of organization. This concept is at the center of this study: could DAO disrupt the insurance industry? \nDAO in this thesis is referred to as a system which utilizes transparent blockchain technology and smart contracts while being both governed and owned in a decentralized manner. This qualitative research focuses on providing a comprehensive view on DAO’s potential in insurance industry on a conceptual level. The findings combine expertise gathered from 17 informants in semi-structured interviews. This research describes the changes in insurance value chain. Additionally, several possibilities for DAO utilization in insurance industry were identified. The DAO potential is also reviewed from the perspective of a disruptive innovation, as the main research question of this study aims to understand the disruptive potential (if there is such) of DAO in insurance industry. \nThe main finding of this research is that DAO’s disruptive potential in insurance industry cannot be completely denied. However, there are still many open questions which stem from mindset change, regulation, governance, social construction, consumer perspective, quality of information, and technological maturity. The study did not find challenges that would have been seen as unsolvable barriers for DAO adoption. Furthermore, markets where DAO would not have any potential could not be identified. Another key finding concerns how DAO could affect insurance value chain — in essence, DAO has potential to affect all parts of the insurance value chain, depending on the chosen implementation strategy. \nBased on this research, DAO seems to have manifold potential in insurance industry. Three main categories arose from the expert interviews regarding opportunities to exploit DAO in insurance: (1) peer-to-peer insurance models, (2) new markets, and, most notably, (3) existing companies could also act as DAO exploiters. Specifically, it seems that existing companies may utilize DAOs in three different ways: (1) as internal startup for certain products, (2) as an entity to which a particular part of the value chain is outsourced to, and (3) in a way, we don't know yet.
Chunmiao Li, Shijie Nie, Yang Cao, Yijun Yu · 5 authors
Smart contracts on Ethereum can be used to encode business logic and have been applied to many different areas, such as token exchanges and games. Unlike general programs, the computations of contracts on Ethereum are restricted by the gas limit. If a transaction runs out of the gas limit before an execution finishes, the Ethereum virtual machine throws an out-of-gas exception, and the entire transaction fails, which reverts to the state before the transaction started, although the transaction fee is still deducted. It is therefore, essential to conduct a gas estimation before sending a transaction. Existing studies have mostly failed in estimating the gas for a loop function because the number of iterations of the loops cannot be statically determined. However, we found that a quarter of all contracts have loop functions, and the gas cost for the loops is higher than for the other functions. Therefore, it is necessary to apply a gas estimation for the loop functions. In this study, we propose a gas estimation approach based on the transaction trace to dynamically estimate the gas for the loop functions. Our belief is that we can learn the relationship between the historical transaction traces and their gas costs to estimate the gas for new transactions. We considered three different abstractions of the original transaction trace and fed them to different machine learning models. The results show that our approach is effective in gas estimation and that a random forest can achieve the most accurate estimation.
Ethereum is a decentralized blockchain technology equipped with so-called Smart Contracts. A contract is a program whose code is public, which can be triggered by any user, and whose actual execution is performed by miners participating in Ethereum. Miners execute the contract on the Ethereum Virtual Machine (EVM) and apply its effect by adding new blocks to the blockchain. A contract that takes too much time to be processed by the miners of the network may result into delays or a denial of service in the Ethereum system. To prevent this scenario, termination of Ethereum's Smart Contracts is ensured using a gas mechanism. Roughly, the EVM consumes gas to process each instruction of a contract and the gas provided to run a contract is limited. This technique could make termination of contracts easy to prove but the way the official definition of the EVM specifies gas usage makes the proof of this property non-trivial. EVM implementations and formal analysis techniques of EVM's Smart Contracts use termination of contracts as an assumption, so having a formal proof of termination of contracts is crucial. This paper presents a mechanized, formal, and general proof of termination of Smart Contracts based on a measure of EVM call stacks.
Cristian Kevorchian, Camelia Gavrilescu, Gheorghe Hurduzeu
Traditional agricultural insurance systems are mainly based on the relationship between two actors: (i) a farmer, who purchases a crop insurance policy in exchange for a premium paid before crop seeding, and (ii) an insurance company that provides compensation for crop damages caused by extreme weather events. Many crop insurance schemes are a mix of procedures, aiming at covering the weather risk by subsidizing (partially or totally) the insurance premium. Yet, the bureaucratic mechanisms designed to evaluate the damages related to the insured crops lead to complex procedures that result in significant delays in covering the damages and implicitly the disruption of the farms’ cash flow and production processes. The insurance system decentralization based on a P2P insurance system implemented on the basis of a framework supported by blockchain technologies dedicated to agricultural insurance through a smart contract system operated on the Ethereum platform can ensure, besides a less bureaucratic agricultural insurance system, a smoother payment to the farmer in a context of social economy that diminishes farmer's distrust of the risk coverage product. The paper is intended to design a technological solution based on the Ethereum blockchain that supports a financial product to cover the production risk through a structured framework on two levels: the analysis-decision level and the payment level.