scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Blockchains and Smart Contracts for the Internet of Things

10 May 2016-IEEE Access (IEEE)-Vol. 4, pp 2292-2303
TL;DR: The conclusion is that the blockchain-IoT combination is powerful and can cause significant transformations across several industries, paving the way for new business models and novel, distributed applications.
Abstract: Motivated by the recent explosion of interest around blockchains, we examine whether they make a good fit for the Internet of Things (IoT) sector. Blockchains allow us to have a distributed peer-to-peer network where non-trusting members can interact with each other without a trusted intermediary, in a verifiable manner. We review how this mechanism works and also look into smart contracts—scripts that reside on the blockchain that allow for the automation of multi-step processes. We then move into the IoT domain, and describe how a blockchain-IoT combination: 1) facilitates the sharing of services and resources leading to the creation of a marketplace of services between devices and 2) allows us to automate in a cryptographically verifiable manner several existing, time-consuming workflows. We also point out certain issues that should be considered before the deployment of a blockchain network in an IoT setting: from transactional privacy to the expected value of the digitized assets traded on the network. Wherever applicable, we identify solutions and workarounds. Our conclusion is that the blockchain-IoT combination is powerful and can cause significant transformations across several industries, paving the way for new business models and novel, distributed applications.
Citations
More filters
Book ChapterDOI
27 Mar 2018
TL;DR: The generic model study data supported in blockchain technology for smart places, especially when applied to smart cities and the specific field of the mobility ecosystem, is confirmed with the use of the new concepts of the application of blockchain in IoT, smart contracts and e-governance.
Abstract: The smart places are vulnerable with corrupted or compromised data, with the false integration of new devices, and devices with firmware versions inconsistent. These risks worsen with the increasing volume and diversity of data, devices, infrastructures and users connected to the Web. The systematic review of the literature were selected 190 documents, which reveals the growing interest on the theme of blockchain technology with the publication of 14 documents in 2014 to about 100 already in 2017. The articles focused on the areas bitcoin (about 40%), IoT (about 30%), financial (about 15%), cryptocurrencies, electronic government (about 12%), smart contracts, smart cities, business (with about 10% each) and health (about 5%). This perspective confirms the generic model study data supported in blockchain technology for smart places, especially when applied to smart cities and the specific field of the mobility ecosystem, with the use of the new concepts of the application of blockchain in IoT, smart contracts and e-governance.

36 citations

Posted ContentDOI
TL;DR: In this article, the authors carried 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...
Abstract: 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...

36 citations

Proceedings ArticleDOI
15 Apr 2019
TL;DR: Results from performance evaluation demonstrate that the proposed secure trust management system provides security features including tamper-proof and attacks resiliency, reliability in addition to a low complexity for IoT scenarios and applications.
Abstract: Security presents a significant challenge for the implementation and the realization of IoT scenarios. Its requirements include data confidentiality, authentication, access control as well as privacy and trust among things and services. To evaluate entities trustworthiness, exchanging trust information is crucial to reach an accurate assessment. Secure sharing and storage of trust information is essential for its confidentiality, integrity and privacy. In this context, our objective is to propose a secure trust management system based on the blockchain technology so that we can take advantages of security features it provides regarding reliability, traceability and information integrity. Blockchain based trust management can provide tamper proof data, enable a more reliable trust information integrity verification, and help to enhance its privacy and availability during sharing and storage. For this purpose, we design and implement a blockchain based trust architecture to collect trust evidences, to define a trust score for each device and to securely store and share them with other devices within the network by embedding them into blockchain transactions. Results from performance evaluation demonstrate that our proposal provides security features including tamper-proof and attacks resiliency, reliability in addition to a low complexity for IoT scenarios and applications.

36 citations


Cites background from "Blockchains and Smart Contracts for..."

  • ...The decentralized, fault tolerant computing, storage and sharing of blockchain technology [4] can lead to a whole wave of IoT security innovations in general and more specifically in trust management field....

    [...]

Journal ArticleDOI
TL;DR: In this article, the authors focus on the challenges and potential solutions for an effective integration of DLTs in the context of the Internet of Things (IoT), and review the technical challenges encountered in the integration of resource-constrained devices with distributed trust networks.
Abstract: The pervasive need to safely share and store information between devices calls for the replacement of centralized trust architectures with decentralized ones. DLTs are seen as the most promising enabler of decentralized trust, but they still lack technological maturity, and their successful adoption depends on the understanding of the fundamental design trade-offs and their reflection in the actual technical design. This work focuses on the challenges and potential solutions for an effective integration of DLTs in the context of the Internet of Things (IoT). We first introduce the landscape of IoT applications and discuss the limitations and opportunities offered by DLTs. Then we review the technical challenges encountered in the integration of resource-constrained devices with distributed trust networks. We describe the common traits of lightweight synchronization protocols, and propose a novel classification rooted in the IoT perspective. We identify the need for receiving ledger information at the endpoint devices, implying a two-way data exchange that contrasts with the conventional uplink-oriented communication technologies intended for IoT systems.

35 citations

Journal ArticleDOI
TL;DR: In this paper, the authors proposed a three-layered architecture for real-time collection, processing, and transmission of medical data using blockchain-based UAV path planning to provide privacy-preservation in Healthcare 4.0.
Abstract: The Internet of Things (IoT) provides billions of Internet-enabled devices connections across the globe. In the IoT era, the healthcare industry has grown up from Healthcare 1.0 to Healthcare 4.0. As in Healthcare 3.0, patients visit hospital for their regular checkups, which increases the overall expenditure on medical treatment. However, with the recent technological advancements such as UAVs and blockchain, healthcare problems are solved with minimum payments and security of shared medical data. Motivated by these facts, this article provides blockchain-based UAV path planning to provide privacy-preservation in Healthcare 4.0. We propose a three-layered architecture for real-time collection, processing, and transmission of medical data. The proposed architecture provides a distributed platform for UAVs that ensures security and privacy for the transfer of medical data from one location to another with the proof of work (PoW) consensus mechanism. The simulation results show that the proposed model provides an effective solution for reliable data transmission and privacy-preserving sensitive healthcare information against potential threats. The comparative analysis also demonstrates the performance improvements in sharing medical data with patients and doctors. In summary, this article provides insights into the end users for the use of blockchain with UAVs in Healthcare 4.0 for future research directions.

35 citations

References
More filters
Journal ArticleDOI
TL;DR: The Albanian Generals Problem as mentioned in this paper is a generalization of Dijkstra's dining philosophers problem, where two generals have to come to a common agreement on whether to attack or retreat, but can communicate only by sending messengers who might never arrive.
Abstract: I have long felt that, because it was posed as a cute problem about philosophers seated around a table, Dijkstra’s dining philosopher’s problem received much more attention than it deserves. (For example, it has probably received more attention in the theory community than the readers/writers problem, which illustrates the same principles and has much more practical importance.) I believed that the problem introduced in [41] was very important and deserved the attention of computer scientists. The popularity of the dining philosophers problem taught me that the best way to attract attention to a problem is to present it in terms of a story. There is a problem in distributed computing that is sometimes called the Chinese Generals Problem, in which two generals have to come to a common agreement on whether to attack or retreat, but can communicate only by sending messengers who might never arrive. I stole the idea of the generals and posed the problem in terms of a group of generals, some of whom may be traitors, who have to reach a common decision. I wanted to assign the generals a nationality that would not offend any readers. At the time, Albania was a completely closed society, and I felt it unlikely that there would be any Albanians around to object, so the original title of this paper was The Albanian Generals Problem. Jack Goldberg was smart enough to realize that there were Albanians in the world outside Albania, and Albania might not always be a black hole, so he suggested that I find another name. The obviously more appropriate Byzantine generals then occurred to me. The main reason for writing this paper was to assign the new name to the problem. But a new paper needed new results as well. I came up with a simpler way to describe the general 3n+1-processor algorithm. (Shostak’s 4-processor algorithm was subtle but easy to understand; Pease’s generalization was a remarkable tour de force.) We also added a generalization to networks that were not completely connected. (I don’t remember whose work that was.) I also added some discussion of practical implementation details.

5,208 citations

Book ChapterDOI
TL;DR: In this article, a group of generals of the Byzantine army camped with their troops around an enemy city are shown to agree upon a common battle plan using only oral messages, if and only if more than two-thirds of the generals are loyal; so a single traitor can confound two loyal generals.
Abstract: Reliable computer systems must handle malfunctioning components that give conflicting information to different parts of the system. This situation can be expressed abstractly in terms of a group of generals of the Byzantine army camped with their troops around an enemy city. Communicating only by messenger, the generals must agree upon a common battle plan. However, one or more of them may be traitors who will try to confuse the others. The problem is to find an algorithm to ensure that the loyal generals will reach agreement. It is shown that, using only oral messages, this problem is solvable if and only if more than two-thirds of the generals are loyal; so a single traitor can confound two loyal generals. With unforgeable written messages, the problem is solvable for any number of generals and possible traitors. Applications of the solutions to reliable computer systems are then discussed.

4,901 citations

Book ChapterDOI
John R. Douceur1
07 Mar 2002
TL;DR: It is shown that, without a logically centralized authority, Sybil attacks are always possible except under extreme and unrealistic assumptions of resource parity and coordination among entities.
Abstract: Large-scale peer-to-peer systems face security threats from faulty or hostile remote computing elements. To resist these threats, many such systems employ redundancy. However, if a single faulty entity can present multiple identities, it can control a substantial fraction of the system, thereby undermining this redundancy. One approach to preventing these "Sybil attacks" is to have a trusted agency certify identities. This paper shows that, without a logically centralized authority, Sybil attacks are always possible except under extreme and unrealistic assumptions of resource parity and coordination among entities.

4,816 citations


"Blockchains and Smart Contracts for..." refers background in this paper

  • ...Because of the Sybil attack [15], consensus in public networks is costly...

    [...]

  • ...anyone can join though, this would be catastrophic because of the Sybil attack [15]: a single entity could join with multiple identities, get multiple votes, and thus influence the network to favor this entity’s interests....

    [...]

Proceedings ArticleDOI
22 Feb 1999
TL;DR: A new replication algorithm that is able to tolerate Byzantine faults that works in asynchronous environments like the Internet and incorporates several important optimizations that improve the response time of previous algorithms by more than an order of magnitude.
Abstract: This paper describes a new replication algorithm that is able to tolerate Byzantine faults. We believe that Byzantinefault-tolerant algorithms will be increasingly important in the future because malicious attacks and software errors are increasingly common and can cause faulty nodes to exhibit arbitrary behavior. Whereas previous algorithms assumed a synchronous system or were too slow to be used in practice, the algorithm described in this paper is practical: it works in asynchronous environments like the Internet and incorporates several important optimizations that improve the response time of previous algorithms by more than an order of magnitude. We implemented a Byzantine-fault-tolerant NFS service using our algorithm and measured its performance. The results show that our service is only 3% slower than a standard unreplicated NFS.

3,562 citations


"Blockchains and Smart Contracts for..." refers background or methods in this paper

  • ...5If more than 3f + 1 nodes are used, then the quorum thresholds listed in [26] may lead to forks....

    [...]

  • ...Tendermint vs PBFT—Tendermint....

    [...]

  • ...Sieve [38], a mechanism used in the HyperLedger Fabric project, augments the PBFT algorithm [26] by adding speculative execution and verification phases, inspired by the execute-verify architecture presented in [39]....

    [...]

  • ...Tendermint [32] provides BFT tolerance and is similar to the PBFT algorithm; however it provides a tighter guarantee with regards to the results returned to the client when more than one third of the nodes are faulty, and allows for a dynamically changing set of set of validators, and leaders that can be rotated in a round-robin manner, among other optimizations [33]....

    [...]

  • ...PBFT works on the assumption that less than one third of the nodes are faulty (f ), which is why say that it requires at least5 3f + 1 nodes....

    [...]

Proceedings Article
19 Jun 2014
TL;DR: Raft is a consensus algorithm for managing a replicated log that separates the key elements of consensus, such as leader election, log replication, and safety, and it enforces a stronger degree of coherency to reduce the number of states that must be considered.
Abstract: Raft is a consensus algorithm for managing a replicated log. It produces a result equivalent to (multi-)Paxos, and it is as efficient as Paxos, but its structure is different from Paxos; this makes Raft more understandable than Paxos and also provides a better foundation for building practical systems. In order to enhance understandability, Raft separates the key elements of consensus, such as leader election, log replication, and safety, and it enforces a stronger degree of coherency to reduce the number of states that must be considered. Results from a user study demonstrate that Raft is easier for students to learn than Paxos. Raft also includes a new mechanism for changing the cluster membership, which uses overlapping majorities to guarantee safety.

1,811 citations


"Blockchains and Smart Contracts for..." refers methods in this paper

  • ...popular Raft algorithm [30], is used as a consensus mechanism in Juno [31]....

    [...]