Today, the number of IoT devices in all aspects of life is exponentially increasing. The cities we are living in are getting smarter and informing us about our surroundings in a contextual manner. However, there lay significant challenges of deploying, managing and collecting data from these devices, in addition to the problem of storing and mining that data for higher-quality IoT services. Blockchain technology, even in today's nascent form, contains the pillars to create a common, distributed, trustless and autonomous infrastructure system. This paper describes a standardized IoT infrastructure; where data is stored on a DDOS-resistant, fault-tolerant, distributed storage service and data access is managed by a decentralized, trustless blockchain. The illustrated system used LoRa as the emerging network technology, Swarm as the distributed data storage and Ethereum as the blockchain platform. Such a data backend will ensure high availability with minimal security risks while replacing traditional backend systems with a single "smart contract".
Without the design for inherent security, the Border Gateway Protocol (BGP) is vulnerable to prefix/subprefix hijacks and other attacks. Though many BGP security approaches have been proposed to prevent or detect such attacks, the unsatisfactory cost-effectiveness frustrates their deployment. In fact, the currently deployed BGP security infrastructure leaves the chance for potential centralized authority misconfiguration and abuse. It actually becomes the critical yield point that demands the logging and auditing of misbehaviors and attacks in BGP security deployments. We propose a blockchain-based Internet number resource authority and trustworthy management solution, named BGPcoin, to facilitate the transparency of BGP security. BGPcoin provides a reliable origin advertisement source for origin authentication by dispensing resource allocations and revocations compliantly against IP prefix hijacking. We perform and audit resource assignments on the tamper-resistant Ethereum blockchain by means of a set of smart contracts, which also interact as one to provide the trustworthy origin route examination for BGP. Compared with RPKI, BGPcoin yields significant benefits in securing origin advertisement and building a dependable infrastructure for the object repository. We demonstrate it through an Ethereum prototype implementation, and we deploy it and do experiment on a locally-simulated network and an official Ethereum test network respectively. The extensive experiment and evaluation demonstrate the incentives to deploy BGPcoin, and the enhanced security provided by BGPcoin is technically and economically feasible.
Internet of Things (IoT) devices present different security challenges that have not been addressed yet and there is no clear commitment from stakeholders to do so. Such problems have become evident and IoT devices are targets of malicious actors that employ them as instruments to fulfill their nefarious purposes. Recent attacks to major Internet services have shown the real damage vulnerable devices can make when compromised. Many of the endangered devices sit in home-based environments with users that are not familiar with security or network best practices, which make them easy targets for bad actors. Therefore, there exists the need to find practical solutions using existing technologies that have been, so far, proven to be efficient, such as the blockchain. This paper implements a proof of concept to secure consumer/home-based IoT devices and the networks around them using blockchain technology powered by Ethereum. The results obtained support the idea of a whitelisting application based on the Ethereum protocol.
With the rapid development of distributed renewable energy (DRE), demand response (DR) programs, and the proposal of the energy internet, the current centralized trading of the electricity market model is unable to meet the trading needs of distributed energy. As a decentralized and distributed accounting mode, blockchain technology fits the requirements of distributed energy to participate in the energy market. Corresponding to the transaction principle, a blockchain-based integrated energy transaction mechanism is proposed, which divides the trading process into two stages: the call auction stage and the continues auction stage. The transactions among the electricity and heat market participants were used as examples to explain the details of the trading process. Finally, the smart contracts of the transactions were designed and deployed on the Ethereum private blockchain site to demonstrate the validity of the proposed transaction scheme.
Lexi Brent, Anton Jurisevic, Michael Kong, Eric Liu · 8 authors
The rise of modern blockchains has facilitated the emergence of smart contracts: autonomous programs that live and run on the blockchain. Smart contracts have seen a rapid climb to prominence, with applications predicted in law, business, commerce, and governance. Smart contracts are commonly written in a high-level language such as Ethereum's Solidity, and translated to compact low-level bytecode for deployment on the blockchain. Once deployed, the bytecode is autonomously executed, usually by a %Turing-complete virtual machine. As with all programs, smart contracts can be highly vulnerable to malicious attacks due to deficient programming methodologies, languages, and toolchains, including buggy compilers. At the same time, smart contracts are also high-value targets, often commanding large amounts of cryptocurrency. Hence, developers and auditors need security frameworks capable of analysing low-level bytecode to detect potential security vulnerabilities. In this paper, we present Vandal: a security analysis framework for Ethereum smart contracts. Vandal consists of an analysis pipeline that converts low-level Ethereum Virtual Machine (EVM) bytecode to semantic logic relations. Users of the framework can express security analyses in a declarative fashion: a security analysis is expressed in a logic specification written in the \souffle language. We conduct a large-scale empirical study for a set of common smart contract security vulnerabilities, and show the effectiveness and efficiency of Vandal. Vandal is both fast and robust, successfully analysing over 95\% of all 141k unique contracts with an average runtime of 4.15 seconds; outperforming the current state of the art tools---Oyente, EthIR, Mythril, and Rattle---under equivalent conditions.
Reza M. Parizi, Ali Dehghantanha, Kim‐Kwang Raymond Choo, Amritraj Singh
The emerging blockchain technology supports decentralized computing paradigm shift and is a rapidly approaching phenomenon. While blockchain is thought primarily as the basis of Bitcoin, its application has grown far beyond cryptocurrencies due to the introduction of smart contracts. Smart contracts are self-enforcing pieces of software, which reside and run over a hosting blockchain. Using blockchain-based smart contracts for secure and transparent management to govern interactions (authentication, connection, and transaction) in Internet-enabled environments, mostly IoT, is a niche area of research and practice. However, writing trustworthy and safe smart contracts can be tremendously challenging because of the complicated semantics of underlying domain-specific languages and its testability. There have been high-profile incidents that indicate blockchain smart contracts could contain various code-security vulnerabilities, instigating financial harms. When it involves security of smart contracts, developers embracing the ability to write the contracts should be capable of testing their code, for diagnosing security vulnerabilities, before deploying them to the immutable environments on blockchains. However, there are only a handful of security testing tools for smart contracts. This implies that the existing research on automatic smart contracts security testing is not adequate and remains in a very stage of infancy. With a specific goal to more readily realize the application of blockchain smart contracts in security and privacy, we should first understand their vulnerabilities before widespread implementation. Accordingly, the goal of this paper is to carry out a far-reaching experimental assessment of current static smart contracts security testing tools, for the most widely used blockchain, the Ethereum and its domain-specific programming language, Solidity to provide the first...
Blockchain platforms such as Ethereum and several others execute complex transactions in blocks through user-defined scripts known as smart contracts. Normally, a block of the chain consists of multiple transactions of smart contracts which are added by a miner. To append a correct block into the blockchain, miners execute these transactions of smart contracts sequentially. Later the validators serially re-execute the smart contract transactions of the block. If the validators agree with the final state of the block as recorded by the miner, then the block is said to be validated. It is then added to the blockchain using a consensus protocol. In Ethereum and other blockchains that support cryptocurrencies, a miner gets an incentive every time such a valid block successfully added to the blockchain. In most of the current day blockchains the miners and validators execute the smart contract transactions serially. In the current era of multi-core processors, by employing the serial execution of the transactions, the miners and validators fail to utilize the cores properly and as a result, have poor throughput. By adding concurrency to smart contracts execution, we can achieve better efficiency and higher throughput. In this paper, we develop an efficient framework to execute the smart contract transactions concurrently using optimistic Software Transactional Memory systems (STMs). Miners execute smart contract transactions concurrently using multi-threading to generate the final state of blockchain. STM is used to take care of synchronization issues among the transactions and ensure atomicity. Now when the validators also execute the transactions (as a part of validation) concurrently using multi-threading, then the validators may get a different final state depending on the order of execution of conflicting transactions. To avoid this, the miners also generate a block graph of the transactions during the concurrent execution and store it in the block. This graph captures the conflict relations among the transactions and is generated concurrently as the transactions are executed by different threads. The miner proposes a block which consists of set of transactions, block graph, hash of the previous block, and final state of each shared data-objects. Later, the validators re-execute the same smart contract transactions concurrently and deterministically with the help of block graph given by the miner to verify the final state. If the validation is successful then proposed block appended into the blockchain and miner gets incentive otherwise discard the proposed block. We execute the smart contract transactions concurrently using Basic Time stamp Ordering (BTO) and Multi-Version Time stamp Ordering (MVTO) protocols as optimistic STMs. BTO and MVTO miner achieves 3.6x and 3.7x average speedups over serial miner respectively. Along with, BTO and MVTO validator outperform average 40.8x and 47.1x than serial validator respectively.
It is commonly believed that blockchain is a revolutionary technology for doing business on the Internet. Blockchain is a decentralized, distributed database or ledger of records. It ensures that the records are tamper-proof but publicly readable. Blockchain platforms such as Ethereum [3] and several others execute complex transactions in blocks through user-defined scripts known as smart contracts. Normally, a block of the chain consists of multiple transactions of smart contracts which are added by a miner. To append a correct block into the blockchain, miners execute these transactions of smart contracts sequentially. Later the validators serially re-execute the smart contract transactions of the block. If the validators agree with final state of the blocks as recorded by the miner, then the block is said to be valid and added to the blockchain using a consensus protocol.
Blockchain has received great attention in recent years and motivated innovations in different scenarios. However, many vital issues which affect its performance are still open. For example, it is widely convinced that high level of security and scalability and full decentralization are still impossible to achieve simultaneously. In this paper, we propose Bicomp, a bilayer scalable Nakamoto consensus protocol, which is an approach based on high security and pure decentralized Nakamoto consensus, and with a significant improvement on scalability. In Bicomp, two kinds of blocks are generated, i.e., microblocks for concurrent transaction packaging in network, and macroblocks for leadership competition and chain formation. A leader is elected at beginning of each round by using a macroblock header from proof-of-work. An elected leader then receives and packages multiple microblocks mined by different nodes into one macroblock during its tenure, which results in a bilayer block structure. Such design limits a leader's power and encourages as many nodes as possible to participate in the process of packaging transactions, which promotes the sharding nature of the system. Furthermore, several mechanisms are carefully designed to reduce transaction overlapping and further limit a leader's power, among which a novel transaction diversity based metric is proposed as the second level criteria besides the longest-chain-first principle on selecting a legitimate chain when fork happens. Security issues and potential attacks to Bicomp are extensively discussed and experiments for evaluation are performed. From the experimental results based on 50 nodes all over the world, Bicomp achieves significant improvement on scalability than that of Bitcoin and Ethereum, while the security and decentralization merits are still preserved.
Marian Gidea, Daniel Goldsmith, Yuri A. Katz, Pablo Roldan · 5 authors
We analyze the time series of four major cryptocurrencies (Bitcoin, Ethereum,\nLitecoin, and Ripple) before the digital market crash at the end of 2017 -\nbeginning 2018. We introduce a methodology that combines topological data\nanalysis with a machine learning technique -- $k$-means clustering -- in order\nto automatically recognize the emerging chaotic regime in a complex system\napproaching a critical transition. We first test our methodology on the complex\nsystem dynamics of a Lorenz-type attractor, and then we apply it to the four\nmajor cryptocurrencies. We find early warning signals for critical transitions\nin the cryptocurrency markets, even though the relevant time series exhibit a\nhighly erratic behavior.\n
Blockchain has evolved a lot in the last years: one of the most important features is the possibility, for mutually untrusted parties, to interact with one another without relying on a third party trusted entity. This interaction is made possible by the so-called smart contracts, passive arbitrary programs executed in a decentralized network and usually manipulating money. One of the main platforms in this sense is Ethereum, and a number of programming languages exist in its ecosystem, all with points of strength and flaws. Of these, the most widely used is for sure Solidity. In spite of its high potential, repeated security concerns have undercut the trust in this way of handling money. Bugs and undesired behaviors are worsened by the impossibility of patching a contract once it is deployed on the blockchain. As a consequence, many analysis tools have been developed by researchers. However, those operating on Solidity lack a real formalization of the core of this language. We aim to fill the gap with Featherweight Solidity (FS). To the best of our knowledge, this is the first calculus including the semantics as well as the type system. Thanks to it, we proved the theorem of Type Safety for Solidity (claimed in the official documentation, although not supported by any public proof). We also formalized, and proved, an extended Type Safety statement addressing groups of transactions. During this process, we found out that Solidity's type system is far from being safe with respect to any type of error: in many occasions, contract interfaces are not consulted at compile-time, and this makes the execution raise an exception and the user waste money. Sometimes, in particular when transferring money from one party to another, exceptions can be avoided by simply looking at, at compile-time, contract interfaces. We also propose an extension of the type system, FS+, that targets this undesired behavior. We prove that Type Safety is maintained, but we formalize additional theorems stating new safety properties, too. In particular, but not only, FS+ statically detects, and consequently rules out, ill-formed money transfers made by means of the Solidity's built-in transfer function. We compared it with Solidity, and showed that including this extension does not change radically the way of writing smart contracts, whereas it makes them much safer.
Akash Sarda, Vijesh Ghandare, Aditya Malu, Jibi Abraham
In the last decade, there has been an exponential growth in the number of cryptocurrencies and the technology that underpins all the cryptocurrencies is the Blockchain. The blockchain serves as a decentralized, cryptographically signed ledger that enables payments in a trustless manner. While there are limitless applications of the blockchain, the problem that persists is the limited scaling of the blockchain. The bitcoin blockchain and the ethereum blockchain, are able to process only 7 transactions per second and 15 transactions per second respectively. All the participating mining nodes in the blockchain network perform heavy computation and compete to mine a block, but only one of them succeeds and others waste their computation. In this paper, we propose a new node count based transaction propagation protocol for less competitive mining called as NoCo. NoCo distributes a transaction from a node to the nearby miners based on the node count between them and thereby decreasing the competition, and hence this is beneficial for the miners as well as for the networks scalability. The protocol tries to parallelize the mining in the network. The protocol scales the transaction rates almost linearly.
Software engineering principles have enabled us to continually increase the complexity of the problems that we can solve using software by promoting the sensible use of abstraction, separation, composition and generalisation. Writing software for a public blockchain makes the code we write publicly available for inspection, and potential exploits may result in the loss of funds that the program manages. This unprecedented level of exposure and ease of exploitation requires new methods to improve our confidence in the correctness of the code that we write. This paper explores the main current techniques used to achieve this increased level of confidence, especially in the area of programming language design, starting from the first Turing Complete blockchain implementation Ethereum, and ending with some of the more principled approaches, Scilla and Rholang.
BlAsT is an efficient scheme for achieving certification of data continuity through a history attached to a public blockchain. The scheme guarantees the properties of linearity, non-equivocation, time-stamping and transparency. We discuss the implementation of BlAsT over the Bitcoin and the Ethereum blokchains, provide a techno-economic analysis to evaluate the costs related to blockchain adoption, and numerically assess the performance of the proposed architecture in terms of storage and bandwidth requirements. Results show that the above properties can be guaranteed with a small cryptocurrency payment. The proposed scheme can be used for IoT devices under the assumption that the device is able to either perform blockchain validation or delegate it to a trusted node.
Fear of stigmatization and discrimination from colleagues, friends and family drives patients with various type of mental health problems away from a traditional face-to-face therapy and enforces them to look for an alternative treatment methods. Internet-based mental health therapy helps patients to get their needed therapies and support from healthcare professional and peers, or as a part of automated online form of therapy. Conducting Internet based therapy anonymously is vital for the patient privacy. However, lack of trust, access permission, ownership control and traceability undermines patient safety and security. Blockchain technology is an innovative technology initially designed for a cryptocurrency. However, with the introduction of programming blockchain and smart contracts, the technology has extended its importance to other areas for developing decentralized application (DApp), such as mental health related information management, which is the primary focus of this thesis. Privacy and security are very crucial for patient safety and to preserve patient’s medical history from adversaries. Sharing of private medical information online between the patient and their respective provider contains sensitive information that can easily be compromised if a proper security measure is not put in place. Blockchain is consensus-based peer-to-peer distributed ledger technology that stores and maintains an updated copy of all transactions within the network. It makes trust more transparent and traceable by keeping auditable-logs of all transactions in the form of blocks. In this thesis, Blockchain and its underlying technology are studied, and a prototype has been developed to explore the potential of the blockchain technology. Furthermore, we explore alternative distributed ledger technologies and their respective security models such as consensus protocols, cryptographic techniques, privacy and scalability. The prototype was proposed based on Ethereum blockchain.
Open access
Artificial Intelligence in Healthcare and Education
Students at the University of Wyoming designed two blockchain-based voting systems during a class offered only once at the University. The first system (re-use) branched Ethereum to leverage its security and privacy benefits. The second system (re-invent) created a new blockchain voting system which used two separate chains, one for validating voters and another for securing votes. This research looked at the benefits and flaws of current election systems as well as benefits and flaws of blockchain technology to improve upon the current election infrastructure. These systems aim to provide integrity, privacy and security to its users. Further, they strive to be fault-tolerant. Finally, these systems could be extended to mobile voting platforms and smart contracts. Based on current decentralized services, this research demonstrates a proof-of-concept that elections could benefit from blockchain-based systems. These types of systems would be ideal in smart cities to ensure the reliability of the voting procedure.
Recently, there is a growing trend towards machine learning models that run on client devices such as smartphones, with constraints such as model size and time. Often, the user data on client devices is considered private and so cannot be uploaded to an external server for processing and running the model. Blockchain provides a new way of sharing data that is secure and decentralized. In this paper, we provide a way to use blockchain to run a machine learning model in a decentralized way using various nodes to compute part of the learning task. We apply our system in a smart home IoT setting to generate user customizations based on user activity prediction for IoT devices. We use distributed association rule mining to generate the rules of user activity from the device logs. We describe the system architecture and simulate the system using Ethereum based tools.
Nota: Currently, the implementation of smart contracts is growing at impressive speeds, the \nnew blockchain technology and the proven accuracy of the data it offers means that more and \nmore private and public institutions adhere to this type of technology with the aim of take \nadvantage of all the benefits they offer. \nA specific problem that we face at the moment is the price variation in terms of the value of the \ncryptocurrencies used in the Smart Contracts, the so-called volatility, which directly affects the \nrate of adoption of the user who is accustomed to agree a value and receive the same agreed \nvalue, when cryptocurrencies are used to deploy intelligent contracts, the resulting values to \ncomply with them, is usually a different value from the agreed one. \nTo solve this problem, we propose the creation of a Token fixed to the anchored value of a \nstable currency, such as Dollar USD, Euro EUR, GBP Pound Sterling, etc., in this work a token \nwill be created with parity 1: 1 With the value of the dollar and how the network used for \ndevelopment is Ethereum, it has been named Ethereum-USA, USA, because it is the place \nwhere the American Dollar was originally used, and its symbol will be "E-USA”. \nThe Tokens have been created through intelligent contracts through Solidity and the TestNet \nRopsten test network has been used. \nThe present work presents a particular and novel tonic that justifies its creation, using the \nvarious cryptographic techniques that maintain the security of the network, the intelligent \ncontract that creates and uses the Tokens valued at $ 1 usd for the payment of services and \nsuppliers for the value of salaries quoted in Ecuador on the date of implementation. The same \nthat will be paid each end of the month. And for security and veracity, its support in the \nblockchain.
Ferdinando Bosco, Vincenzo Croce, Giuseppe Raveduto
In the last years the interest around blockchain technologies is increasing. The peculiarity of this technology is to offer some relevant features as decentralization, transparency and reliability by design. Initially the application field was principally the financial one, but over the time many others have been investigated. In this paper we are reporting a real case of study in the financial sector, applied to the renewable energy exchange in a local district. In particular, this study reports the development of a Financial Platform, based on a private implementation of Ethereum blockchain, that enables a series of services for Renewable Energy Sources (RES) investments. The Platform implements a Peer-to-Peer (P2P) trustable energy marketplace, price-based, addressing both the RES Financial investors and the district energy prosumers. The amounts of energy exchanged and their monetary counter values are represented by specific “tokens”, automatically exchanged by participants to track and record trades, ensuring auditability. The financial services offered to the investors range from an investment performance monitoring to more complex models of shared revenues and equity. The marketplace and all the participants within the microgrid are nodes of the blockchain. All the platform features were implemented exploiting Ethereum smart contracts, ensuring trustworthiness and transparency.
Micael Ferreira, Sven Rodrigues, Catarina I. Reis, Marisa Maximiano
Bitcoin continues to get more and more attention from the media, mainly because of the volatility of its value and insignificantly associated with the technological innovation. This cryptocurrency is supported by an immutable database and is distributed throughout a network of thousands of nodes, known as Blockchain. One way to ensure that all the concepts behind the Blockchain technology and infrastructure are seized is to conduct the development of one of the most popular context applications for it: a wallet for well-known cryptocurrencies. Yet Another Bitcoin Wallet (YABW) is a hybrid application available for both Android and iOS, which was developed with the Ionic and Angular frameworks. This application communicates with Bitcoin Blockchain to send, receive and store bitcoins; provides a set of features focused on security and user experience, and is available on the Play Store and Apple Store. A rather relevant issue that is becoming a major subject of current research is the application of the Blockchain infrastructure to other contexts that are neither directly connected to cryptocurrencies, nor are finance related. The implementation of a proof-of-concept application proposes the use of a blockchain for a specific case study: the exchange of meal vouchers of an institution amongst students. This is achieved using the decentralized platform Ethereum, which allows us to create a Smart Contract using the Solidity programming language to create a token that follows the Ethereum Request for Comment (ERC), the ERC-20 standard and represents the meal vouchers. This second application uses the architecture defined for YABW, reusing major components and custom developing specific modules to enhance the required features. There is still a lot of research to be done on the non-financial applicability of the Blockchain infrastructure and technology, but for the moment, we have left further evidence that it is possible and is a relative straight-forward process to accomplish from the technological perspective.