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
Posted Content
TL;DR: This work aims to provide a comprehensive review on the state-of-the-art research approaches, technical workarounds and advanced cryptographic techniques that have been put forward to resolve this conflict and to discuss their potentials, constraints and limitations when applied in the wild to either permissioned or permissionless blockchains.
Abstract: Blockchain's evolution during the past decade is astonishing: from bitcoin to over 2.000 altcoins, and from decentralised electronic payments to transactions programmable by smart contracts and complex tokens governed by decentralised organisations. While the new generation of blockchain applications is still evolving, blockchain's technical characteristics are also advancing. Yet, immutability, a hitherto indisputable property according to which blockchain data cannot be edited nor deleted, remains the cornerstone of blockchain's security. Nevertheless, blockchain's immutability is being called into question lately in the light of the new erasing requirements imposed by the GDPR's ``\textit{Right to be Forgotten (RtbF)}'' provision. As the RtbF obliges blockchain data to be editable in order restricted content redactions, modifications or deletions to be applied when requested, blockchains compliance with the regulation is indeed challenging, if not impracticable. Towards resolving this contradiction, various methods and techniques for mutable blockchains have been proposed in an effort to satisfy regulatory erasing requirements while preserving blockchains' security. To this end, this work aims to provide a comprehensive review on the state-of-the-art research approaches, technical workarounds and advanced cryptographic techniques that have been put forward to resolve this conflict and to discuss their potentials, constraints and limitations when applied in the wild to either permissioned or permissionless blockchains.

27 citations


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

  • ...Otherwise, the individual copies of the ledger will diverge and it will end up with branches, called forks, of the chain; the nodes will have a different view of the global state [24]....

    [...]

  • ...would go with what the majority decides [24]....

    [...]

  • ...they hashed or encrypted, are visible to all participating nodes so that they can be validated [24]....

    [...]

  • ...algorithm which requires a majority of honest nodes: even when there is only one malicious participant, it can create multiple fake identities, get multiple votes, and thus influence the network to favour its interests, forcing the number of honest nodes to a minority [33], [24]....

    [...]

  • ...rencies, whereas a blockchain can stand on its own just fine - no cryptocurrency needed [24]....

    [...]

Proceedings ArticleDOI
07 Jul 2019
TL;DR: B-IoT, a blockchain based IoT system with credit-based consensus mechanism, is presented, which enhances security and improves transaction efficiency simultaneously and is built based on a directed acyclic graph (DAG)-structured blockchain, which is more efficient than the satoshi-style blockchain.
Abstract: Internet of Things (IoT) plays an indispensable role in our daily life, in many cases, IoT systems are implemented following the client-server paradigm, which are vulnerable to single point of failures and malicious attacks. Due to the resilience and security promise of blockchain, the idea of combining blockchain and IoT has gained considerable attention in recent years. However, blockchains are power-intensive and low-throughput, which may not suitable for power-constrained IoT devices. To tackle these challenges, we present B-IoT, a blockchain based IoT system with credit-based consensus mechanism. We propose a credit-based proof-of-work (PoW) mechanism for IoT devices, which enhances security and improves transaction efficiency simultaneously. In order to protect the confidentiality of sensitive IoT data, we design a data authority management method to regulate the access to sensor data. In addition, our system is built based on a directed acyclic graph (DAG)-structured blockchain, which is more efficient than the satoshi-style blockchain. We implement a prototype of B-IoT on Raspberry Pi, and conduct case studies of a smart factory. Extensive evaluation and analysis results demonstrate that the proposed credit-based PoW mechanism and data access control are practical for IoT.

27 citations


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

  • ...In recent years, with the emergence of blockchain, the idea of combining blockchain and IoT has gained considerable attention [9]–[12]....

    [...]

Journal ArticleDOI
TL;DR: This article proposes a novel Bitcoin lightweight IoT node-based system model while incorporating the improved simplified payment verification (SPV) process for e-healthcare application and formulates necessary models of background arts utilized in the work.
Abstract: Recent advancement of Bitcoin revolution has propelled unlimited opportunities for futuristic digital ecosystem design. Transactions belonging to Bitcoin are being fully supported, realized, and disseminated by a set of innovative hot and cold wallet technologies within the blockchain framework. While deploying smart applications under the niche of Internet of Things (IoT) plethora, such Bitcoin transactions aroused the issue of unsupported resource-constrained tool sets and demanded for a novel architecture. To cater this challenge, this article proposes a novel Bitcoin lightweight IoT node-based system model while incorporating the improved simplified payment verification (SPV) process for e-healthcare application. This article, first formulates necessary models of background arts utilized in the work that include inhomogeneous Poisson point process, block header structure formulation, depth and height relationship, bloom filter mechanism, pay-to-public key hash (P2PKH) base stack process, and transaction management. Second, developed models are deployed through several key algorithms and associated procedures. Finally, analysis and discussions are made that encompass the block confirmation time, appropriateness of the byzantine fault tolerance, smart contract policy, and SPV response in the proposed scenario.

26 citations


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

  • ...SPV thus facilitates a great support for materializing the IoT-based BLWN system model to work efficiently [35], [36]....

    [...]

Posted Content
TL;DR: Li et al. as discussed by the authors developed a more general framework of block-structured Markov processes in the queueing study of blockchain systems, which can provide analysis both for the stationary performance measures and for the sojourn times of any transaction and block.
Abstract: In this paper, we develop a more general framework of block-structured Markov processes in the queueing study of blockchain systems, which can provide analysis both for the stationary performance measures and for the sojourn times of any transaction and block. Note that an original aim of this paper is to generalize the two-stage batch-service queueing model studied in Li et al. \cite{Li:2018} both ``from exponential to phase-type" service times and ``from Poisson to MAP" transaction arrivals. In general, the MAP transaction arrivals and the two stages of PH service times make our blockchain queue more suitable to various practical conditions of blockchain systems with crucial random factors, for example, the mining processes, the block-generations, the blockchain-building and so forth. For such a more general blockchain queueing model, we focus on two basic research aspects: (1) By using the matrix-geometric solution, we first obtain a sufficient stable condition of the blockchain system. Then we provide simple expressions for the average number of transactions in the queueing waiting room, and the average number of transactions in the block. (2) However, comparing with Li et al. \cite{Li:2018}, analysis of the transaction-confirmation time becomes very difficult and challenging due to the complicated blockchain structure. To overcome the difficulties, we develop a computational technique of the first passage times by means of both the PH distributions of infinite sizes and the $RG$-factorizations. Finally, we hope that the methodology and results given in this paper will open a new avenue to queueing analysis of more general blockchain systems in practice, and can motivate a series of promising future research on development of lockchain technologies.

26 citations

Journal ArticleDOI
TL;DR: This paper implements a vehicle speed measuring system using the Hyperledger Fabric blockchain platform, demonstrating that blockchain-based measuring systems can impact the way measuring instruments are used in consumer relations while improving security and simplifying metrological regulation and control.
Abstract: In recent years, measuring instruments have become quite complex due to the integration of embedded systems and software components and the increasing aggregation of new features. Consequently, metrological regulation and control require more efforts from notified bodies, becoming slower and more expensive. In this paper, we evaluate the use of blockchains as a resource to overcome such challenges. We start with a conceptual model for implementing measuring instruments in a distributed blockchain-based architecture and compare it with traditional measuring instruments and distributed measuring models discussed in previous works. We also made a security analysis, demonstrating that blockchain-based measuring systems can impact the way measuring instruments are used in consumer relations while improving security and simplifying metrological regulation and control. We implement a vehicle speed measuring system using the Hyperledger Fabric blockchain platform. We evaluate the security and performance of our blockchain-based measuring system by executing tests with data from real speed meter sensors. The results are promising and validate the feasibility of our idea. Finally, we point out the main challenges related to our approach, suggesting alternatives and potential issues to be addressed by future works.

26 citations


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

  • ...A blockchain can be described as a distributed data structure which assures information integrity and authenticity while providing a platform for executing self-enforced software procedures, called smart contracts [8]....

    [...]

  • ...Initially associated with crypto-currency markets due to Bitcoin popularity [7], blockchain-based architectures have been proposed for a wide set of application areas, including sensor networks, Internet of Things, smart cities, among others [8]....

    [...]

  • ...Conceptually, a blockchain can be regarded as a distributed append-only data structure (designated as ledger), which is replicated and shared among a set of network peers [8]....

    [...]

  • ...This makes blockchains not only a data storage solution but also a complete distributed platform for proper and distributed automated workflow [8]....

    [...]

  • ..., Bitcoin and Ethereum), inspiring its use in different applications and knowledge areas [7], [8]....

    [...]

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

    [...]