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: A proposed comprehensive study of blockchain technology, which refers to an evolution and a linked ring between business process management improvement and Internet-of-Things concepts, and a practical proof of this relationship for smart city.
Abstract: A Blockchain is considered the main mechanism for Bitcoin concurrency. A Blockchain is known by a public ledger and public transactions stored in a chain. The properties of blockchain demonstrate in decentralization as distribution blocks, stability, anonymity, and auditing. Blockchain can enhance the results of network efficiency and improve the security of network. It also can be applied in several fields like financial and banking services, healthcare systems, and public services. However, the research is still opening at this point. It includes a big number of technical challenges which prevents the wide application of blockchain, for example, scalability problem, privacy leakage, etc. This paper shows a proposed comprehensive study of blockchain technology. It also examines the research efforts in blockchain. It presents a proposed blockchain lifecycle which refers to an evolution and a linked ring between business process management improvement and Internet-of-Things concepts. Then, this paper presents a practical proof of this relationship for smart city. It presents a new algorithm and a proposed blockchain framework for 38 blocks (which recognized as smart-houses). Finally, the future directions are well presented in blockchain field.

27 citations


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

  • ...[6] blockchain-IoT combination distributed peer-to-peer systems Several industries It makes blockchain-IoT combination to facilitate the sharing of services and resources...

    [...]

  • ...By integrating IoT [6] with decentralized blockchain technology that combines smart contracts, BPM and BPO will...

    [...]

Proceedings ArticleDOI
01 Nov 2017
TL;DR: A service platform that supports BDD-style (Behavior-Driven Development) smart contract development, testing, and deployment for the Ethereum-based blockchains and experiences indicate that the burdens of developers when developing smart contracts can be effectively reduced and thus increases the quality of contracts.
Abstract: In recent years, Blockchain technology has been highly valued, and the related applications have begun to be developed in large numbers. A smart contract is a software component encompass business logics and transactions that run on a blockchain. Thus, verifying whether the contract logics fully reflect the business requirements are one of the most important software engineering issues in blockchain application development. Currently, developing smart contracts is still a challenging task even for experienced programmers due to the lacking of an integrated tool for developing and testing. In response to this challenge, this paper presents a service platform that supports BDD-style (Behavior-Driven Development) smart contract development, testing, and deployment for the Ethereum-based blockchains. This platform focuses on providing and resolving the cross-cutting concerns across the life-cycle of smart contract development. The feasibility of this platform is shown by demonstrating how an application scenario, namely, loyalty points exchange, can be implemented using the proposed platform. Our experiences indicate that the burdens of developers when developing smart contracts can be effectively reduced and thus increases the quality of contracts.

27 citations


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

  • ...The application of blockchains also extends from the digital currency to the general applications, such as remittance payments, equity liquidation, mass fundraising, asset registration and even the Internet of Things (IoT) applications [5]....

    [...]

Proceedings ArticleDOI
24 Jun 2019
TL;DR: A comprehensive review of the existing access control models based on Blockchain is presented and discussed with comparison and analysis.
Abstract: Access control models for the Internet of Things (IoT) proposed in the literature are based on centralized architecture and raise security issues due to the spontaneous and dynamic interaction between IoT devices. In addition to the scalability and lightweight features, the need of secure and distributed access control architecture to overcome the single point failure problem of a centralized entity becomes a big challenge. This can be done through the Blockchain technology which is used recently to provide access control services. Exploiting this technology to manage access IoT devices in term of distribution, heterogeneity, scalability, fault tolerance capability, security and privacy are promising. In this paper, a comprehensive review of the existing access control models based on Blockchain is presented and discussed with comparison and analysis.

27 citations


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

  • ...The Blockchain is a distributed peer-to-peer network where non-trusting members can interact with each other without a trusted intermediary and in a verifiable manner [9]....

    [...]

  • ...Whereas the smart contract is an autonomous script stored on the Blockchain with a unique address [9]....

    [...]

Journal ArticleDOI
TL;DR: A simple small subset of the actual distribution system is selected to illustrate the proposed methodology, which produces Distribution Locational Marginal Prices (DLMPs) for all phases at every node of the distribution grid.

27 citations

Journal ArticleDOI
TL;DR: In this article, a solution to solve safety, quality and traceability problems in food products by providing healthy electronic food networks based on blockchain technology and internet of things (IoT) is presented.
Abstract: This paper disputes describing a solution to solve safety, quality and traceability problems in food products by providing healthy electronic food networks based on Blockchain technology and internet of things (IoT). The delivery and use of fake food reaches thousands every year, and the system of fake foodstuffs and stakeholders in the food supply chain (FSC) system are not subject to appropriate conflict measures. The current status of food items is recorded at anytime and anywhere with the goal of ensuring the validity of information sources by means of IoT devices. The framework has also realized that data exchange and storage in any stage of the supply chain are enabled by Blockchain supplier ledger technology to ensure that data are available, traceable and unimpaired. It will become evident directly at any point on the network that unsafe food is identified and its further access blocked. The FSC is replicated with a Hyperledger fabric platform and compares its performance with other methods which effectively improve data transparency, enhance food safety and reduce manual operation.

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

    [...]