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
Journal ArticleDOI
TL;DR: In this research, a novel architecture for a smart building system, including a control system and automatic approaches, is proposed and an efficient cluster head selection algorithm is proposed to select the desired cluster head with the consideration of low energy consumption and fast head selection.
Abstract: Security, privacy, and transparency aspects of the Internet of Things (IoT) sensors have recently raised significant concerns among the public and policymakers. The distributed ledger and Blockchain technologies had brought solutions through transparently bridging two or multiple untrusted parties. In this research, a novel architecture for a smart building system, including a control system and automatic approaches, is proposed. An efficient cluster head selection algorithm is proposed to select the desired cluster head with the consideration of low energy consumption and fast head selection. An enhanced combination of IoT forwarding devices and Software-Defined Networking (SDN) technology is further advanced. Furthermore, the proposed “DistBlockBuilding” architecture is implemented for managing a safe and secure data transfer from one surface to another surface. Besides, Blockchain technology is performed for transferring data within the smart building. Finally, the performance of IoT-SDN based secured networks is evaluated.

70 citations

Journal ArticleDOI
TL;DR: A light-weighted Blockchain-based platform for IIoT is presented to address security, trust, and island connection problem in the process of IIoTs ecosystem construction.
Abstract: Blockchain is experiencing rapid development and has the full potential of revolutionizing the IoT platform in the industrial field. In this paper, a light-weighted Blockchain-based platform for IIoT is presented to address security, trust, and island connection problem in the process of IIoT ecosystem construction. BPIIoT is comprised of the on-chain network and the off-chain network. All transactions are processed in the on-chain network such as including digital signature based on access control and programmable permission. The off-chain network deals with the storage, complex data processing, and other problems that blockchain cannot solve. The smart contract is utilized as the service contract of consumers and manufacture resources, providing on-demand manufacturing service. Two smart application cases, manufacturing equipment data sharing and maintenance service sharing from smart manufacturing, are implemented to explain the smart contract for equipment maintenance service and status data sharing service throughout maintenance, repair, and operation service network by the BPIIoT.

70 citations


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

  • ...Broadly speaking, blockchain is a new distributed infrastructure and computing paradigm in a trustless environment, which generates and updates data by using the distributed node and the distributed consensus algorithm, guarantees the security of data transmission and access through the cryptography theory, and has a workoperating mechanism based on the smart contract composed by automation scripts [7]....

    [...]

  • ...A blockchain is a distributed data structure that is replicated and shared among the members of a network [7]....

    [...]

Journal ArticleDOI
TL;DR: The theoretical security analysis and evaluation results show that the proposed blockchain-based secure service provisioning mechanism helps the lightweight clients get rid of untrusted edge service providers and insecure services effectively with acceptable latency and affordable costs.
Abstract: The emerging network computing technologies have significantly extended the abilities of the resource-constrained IoT devices through the network-based service sharing techniques. However, such a flexible and scalable service provisioning paradigm brings increased security risks to terminals due to the untrustworthy exogenous service codes loading from the open network. Many existing security approaches are unsuitable for IoT environments due to the high difficulty of maintenance or the dependencies upon extra resources like specific hardware. Fortunately, the rise of blockchain technology has facilitated the development of service sharing methods and, at the same time, it appears a viable solution to numerous security problems. In this paper, we propose a novel blockchain-based secure service provisioning mechanism for protecting lightweight clients from insecure services in network computing scenarios. We introduce the blockchain to maintain all the validity states of the off-chain services and edge service providers for the IoT terminals to help them get rid of untrusted or discarded services through provider identification and service verification. In addition, we take advantage of smart contracts which can be triggered by the lightweight clients to help them check the validities of service providers and service codes according to the on-chain transactions, thereby reducing the direct overhead on the IoT devices. Moreover, the adoptions of the consortium blockchain and the proof of authority consensus mechanism also help to achieve a high throughput. The theoretical security analysis and evaluation results show that our approach helps the lightweight clients get rid of untrusted edge service providers and insecure services effectively with acceptable latency and affordable costs.

70 citations

Journal ArticleDOI
TL;DR: The method enables nodes to satisfy their power loads through local stored energy (self-sufficiency), before participating as sellers if they still have considerable surplus electricity, and it can achieve a good tradeoff between credit utility and operational overhead.
Abstract: The peer-to-peer energy trading has been achieved among nodes in industrial Internet of Things. To establish a secure private market, some meaningful works propose the concept of the energy chain, where one block is added in a linear and chronological order once the trading pair of nodes (buyer and seller) has a valid transaction verified by data audit (e.g., a hash value). Since the buyer applies virtual coins from the credit bank to buy others’ surplus energy, a considerable credit utility is obtained if all nodes are encouraged to meet local power loads out of self-interest. However, such frequent transactions have huge operational overhead, including a long chain maintaining many blocks and an expensive energy transportation cost between trading pairs. To solve these challenging issues, our method enables nodes to satisfy their power loads through local stored energy (self-sufficiency), before participating as sellers if they still have considerable surplus electricity. Without transactions made by some self-sufficient nodes, the operational overhead can be mitigated in a more secure environment. Taking the classic Internet of energy as a case study, we demonstrate the effectiveness of our solutions, and it can achieve a good tradeoff between credit utility and operational overhead.

70 citations


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

  • ...Intuitively, the credit bank’s utility will sharply increase once all nodes are encouraged to meet local power loads out of their own self-interest, which has been discussed in existing works [6], [8], [12]–[18]....

    [...]

  • ...The authors of [12] first demonstrated the powerful combination of the blockchain-based Internet of Things across several industries....

    [...]

Proceedings ArticleDOI
15 Apr 2018
TL;DR: This paper proposes a robust, transparent, flexible and energy efficient blockchain-based authentication mechanism called BCTrust, which is designed especially for devices with computational, storage and energy consumption constraints.
Abstract: Internet of Things becomes a major part of our lives, billions of autonomous devices are connected and communicate with each other. This revolutionary paradigm creates a new dimension that removes the boundaries between the real and the virtual worlds. The Wireless Sensor Networks are a masterpiece of the success of this technology, using limited capacity sensors and actuators, industrial, medical, agricultural and many other environments can be covered and managed automatically. This autonomous interacting things should authenticate each other, and communicate securely. Otherwise malicious users can cause serious damages on such systems. In this paper we propose a robust, transparent, flexible and energy efficient blockchain-based authentication mechanism called BCTrust, which is designed especially for devices with computational, storage and energy consumption constraints. In order to evaluate our approach, we realized a real implementation with C programming language, and Ethereum Blockchain.

70 citations


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

  • ...By giving a total decentralization, a high security of data, and a global view of a system, the Blockchain is the golden solution [17][18]....

    [...]

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]....

    [...]