You are currently viewing a new version of our website. To view the old version click .
Sensors
  • Article
  • Open Access

25 June 2021

Efficient Data Communication Using Distributed Ledger Technology and IOTA-Enabled Internet of Things for a Future Machine-to-Machine Economy

,
,
,
,
and
1
Department of Computer Engineering, Jamia Millia Islamia, New Delhi 110025, India
2
Department of Computer Science and Engineering, Jamia Hamdard, New Delhi 110062, India
3
School of Computer Science and Engineering, University of New South Wales, Sydney, NSW 2052, Australia
4
Department of Electrical and Information Engineering, Polytechnic University of Bari, 70126 Bari, Italy
This article belongs to the Section Communications

Abstract

A potential rise in interest in the Internet of Things in the upcoming years is expected in the fields of healthcare, supply chain, logistics, industries, smart cities, smart homes, cyber physical systems, etc. This paper discloses the fusion of the Internet of Things (IoT) with the so-called “distributed ledger technology” (DLT). IoT sensors like temperature sensors, motion sensors, GPS or connected devices convey the activity of the environment. Sensor information acquired by such IoT devices are then stored in a blockchain. Data on a blockchain remains immutable however its scalability still remains a challenging issue and thus represents a hindrance for its mass adoption in the IoT. Here a communication system based on IOTA and DLT is discussed with a systematic architecture for IoT devices and a future machine-to-machine (M2M) economy. The data communication between IoT devices is analyzed using multiple use cases such as sending DHT-11 sensor data to the IOTA tangle. The value communication is analyzed using a novel “micro-payment enabled over the top” (MP-OTT) streaming platform that is based on the “pay-as-you-go” and “consumption based” models to showcase IOTA value transactions. In this paper, we propose an enhancement to the classical “masked authenticated message” (MAM) communication protocol and two architectures called dual signature masked authenticated message (DSMAM) and index-based address value transaction (IBAVT). Further, we provided an empirical analysis and discussion of the proposed techniques. The implemented solution provides better address management with secured sharing and communication of IoT data, complete access control over the ownership of data and high scalability in terms of number of transactions that can be handled.

1. Introduction

It is a fact that we live in a far more complex digital age than what we use to only a few decades ago. The digital era has acquired enormous importance around us as well as in our lives, ranging from handheld devices like mobile phones, tablets or laptops to home devices like Alexa, Google-mini, smart A.C., smart T.V., etc.
The Internet of Things is the concoction of communication within devices with other devices in the physical real world. All smart internet protocol (IP)-enabled devices such as cameras, thermostats, Fitbit devices, smart geysers, or smart A.C. work in a complimentary fashion sharing the real-world data between them. For example, when a person enters a home, sensors can identify his presence or a camera can recognize him and convey an instruction to the A.C. to turn on in accordance with that user’s preferred temperature [1]. IoT refers to the assimilation of devices when harnessed with the internet bubble [1,2]. According to reports from Statista (https://www.statista.com/statistics/1183457/iot-connected-devices-worldwide/, accessed on 22 January 2021) and IoT-Analytics (https://iot-analytics.com/state-of-the-iot-update-q1-q2-2018-number-of-iot-devices-now-7b, accessed on 20 December 2019), it is estimated that by 2025, there will be close to 22 billion devices connected to the internet, representing an annual increase of about 21% (https://www.gartner.com/en/newsroom/press-releases/2019-08-29-gartner-says-5-8-billion-enterprise-and-automotive-io, accessed on 5 November 2019).
The Internet of Things (IoT) is no longer a futuristic concept, instead it is already here. Many startups and companies are building solutions around the IoT. With the help of these innovations, we can now control the devices, appliances, and gadgets in our homes just from our smartphones from anywhere around the globe through the internet.

1.1. Problem Description

Current global supply chain and logistics are continuously facing multiple complications due to lack of transparency, trust and social sustainability involved in distributed businesses [3,4]. To mitigate such issues of trust and transparency in distributed networks, solutions like distribute ledger technology (DLT) (including blockchain in particular) combined with IoT can help the network to increase traceability and overall reliability. Also, in the present IoT implementation the data is highly unreliable and most of the time data integrity is not ensured [5,6]. In present-day critical applications like healthcare, military operations, weather forecasting, etc., data reliability is of prime importance since they work based on data-driven decision making. Thus, we need a reliable system to ensure data integrity. This paper aims to give the insights of future of distributed ledger technologies like IOTA applied on IoT.
Blockchain itself can be realized as either a public blockchain (Ethereum) or a private blockchain (Hyperledger Fabric). Blockchain and IoT are a perfect fit for each other. In the past, blockchain-based systems have proven to be highly secure systems. However, there are many factors which prevents the widespread adoption of blockchain-based systems like their low number of transactions per second (TPS), scalability issues and transaction fees [3]. In this paper, we presented our solution for eradicating these problems with other DLT solutions like IOTA [7].

1.2. Motivation and Problems with Current IoT Implementations

IoT applications come with lot of features like being omnipresent and pervasive. However, the IoT ecosystem is vulnerable due to a number of factors [5]. Major problems seen in IoT implementations are:
  • Highly centralized systems: Being centralized might not be an issue in today’s internet world but being the single point of failure increases the probability of concerns. Also, it is no hidden fact that such centralized authoritarian systems often pose issues like data leakage, transparency, availability, etc. Further, there is a high chance of data being sold to third parties without the consent of the data owner [8].
  • Data privacy and access control: IoT data or personal identifiable information (PII) is generally stored in raw format in the cloud storage or uses rudimentary encryption mechanisms which are easy to break. The existing system is always vulnerable to the trust and privacy issues. Hence, a reliable system is needed to secure the IoT implementation with respect to data privacy, access control and integrity [9].
  • Data Integrity and Authenticity: The current implementations of IoT devices are hardcoded with pre-configured weak passwords. Such limited security designs provided by IoT manufacturers attract attackers/hackers the most. Moreover, these systems are not considered reliable due to the absence of digital signatures to prove the integrity of the data packets [5].
  • Identity and data management: It is a key challenge to securely store data and to prevent it from any unauthorized access. With enormous amounts of devices associated with each person or thing, management of identities and data generated by these devices are often neglected in current IoT implementations. DLT systems have proven to be fit for storing information securely. With DLT, we can be sure of knowing if the settings have breached or tampered with [1].
The urgency for IoT security is increasing day by day. Even ahead of security, a system needs to be fast and reliable at all times. It must be highly scalable to handle the transmitted data for each second or microseconds from all the number of IoT device connected. Data reliability is the need of the hour. Multiple cases are seen where if IoT devices are compromised, they can lead to unprecedented situations including distributed denial of service (DDoS) attacks, spam attacks, etc. In the recent past, similar kind of DDoS particularly happened from Mirai Botnet in July 2016 on Dyn, a domain naming company which observed an uncontrollable speed of 665 Gigabytes per second (https://www.flashpoint-intel.com/cybercrime-forums-fraud/action-analysis-mirai-botnet-attacks-dyn/, accessed on 10 May 2019). After hours of logging and debugging, later it was found that the attack was programmed by the Mirai Botnet using just internet protocol-enabled security cameras, routers and printers at its disposal. Alternatively, integration of Internet-enabled devices such as mobile phones, Arduino Uno or Raspberry Pi with the DLT will lead a new way to the provide reliability, transparency and traceability of the DLT ecosystem. The advantage will not only be in the supply chain domain but also in many other areas like smart homes where electricity can be shared, or in the automotive industry for finding car parking spaces and directly paying through machine/car wallets, but the industry that will benefit the most will be pharmaceutical industry where the sensitive data such as temperature or humidity can be recorded on the DLT for complete trust between all the participants in the pharma supply chain, thus providing a more trustable ecosystem [3]. Taking the above stated issues as motivation, in this paper we have explored the use if the IOTA platform for pushing and fetching data from the IOTA tangle protocol as a solution for scalability.

1.3. Problem Definition

The current-information era is diverse and immersive where the data is being generated at an exponential rate. The IoT is one of the fastest growing industries in the technological space. With such high demand and deployment of IoT devices, it fails to prove its suitability for a number of parameters. These include quality of data, trust, reliability, ownership, security and privacy [10,11,12]. The built-in security in IoT devices for the communication with the internet is not based on cryptography. Generally IoT device implementations lack end-to-end encryption and decryption schemes. Even if some security schemes are deployed in the hardware, the overall system remains vulnerable to different types of attacks.

1.4. Our Contributions

This paper offers detailed research on IOTA convergence with the IoT. We have explored in depth the use of the IOTA platform for real-time IoT applications starting from the preliminaries, architecture, components and methodology for communication protocol used in our IoT case scenario. The major contributions of the paper are as follows:
  • It explores the role of Blockchain and DLT in the IoT ecosystem and the Machine-to-Machine (M2M) Economy.
An exhaustive discussion on the convergence of blockchain (Ethereum, Hyperledger) and DLT (IOTA platform) has been done in this paper. The approach provides a realistic view with a focus on the real world adoptability and evaluation of these techniques (see Section 2).
  • It provides detailed insights into IOTA platform ecosystem Version 1 (before Coordicide) for IoT applications.
The paper discusses exclusively the next generation blockchain i.e., IOTA platform ecosystem and dissects the components of the IOTA platform including the masked authenticated message (MAM) protocol which is used for sharing messages and data between IoT devices securely (see Section 3).
  • A novel Dual Signature Masked Authentication Message (DSMAM) is proposed by enhancing the classical IOTA ‘masked authentication message (MAM) version 0.x (v0) communication protocol’ protocol using a second digital signature scheme (Ed25519) layer.
We propose to add the Edwards Curve Digital Signature scheme (Ed25519) for verifications over the shared masked authenticated message (MAM) communication protocol and implement secured and verified data channels using MAM and IOTA Tangle. The proposed DSMAM is providing similar performance to the classical IOTA MAM with additional enhanced authenticity (see Section 4.1).
  • We develop a working proof of concept (PoC) of a micro-payment-enabled over-the-top (OTT) platform to showcase IOTA value transactions.
We have developed a new media streaming platform (OTT) based on pay-as-you-go and a consumption-based model that uses IOTA’s native cryptocurrency (iota). To the best of our knowledge, this is a kind of platform where the use directly pays the content creator, without any intermediary taking a profit share in the form of transaction fees (see Section 4.2 and Section 5.5).
  • The confirmation time of ‘value based transactions’ is reduced from linearly increasing time taking process to constant time (5.3 s) as average case using the index-based address value transaction (IBAVT) concept.
Using the browser level storage capability, we stored the index of the address where all the balances are currently present to make it a stateful application. With this, we highly reduced the value-transaction confirmation time and overall latency (see Section 6.2).
  • Finally, several solutions are provided for the re-usable address issues persisting in the classical IOTA platform.
Our work presents the readers with the state of the present classical IOTA platform maturity and discusses the weakness in the present system. We observed the problem of IOTA reusable addresses and have accumulated several solutions to solve this issue. We name this approach “reusable short address convenience” (RSAC) (see Section 6.4).

1.5. Paper Organization

The paper is divided into seven sections. The first section of the manuscript consists of an overview in the IoT ecosystem. It lays the foundation for the problems in the current IoT implementations and defines remedies for them through technological advancements in the Industry 4.0 era. The introduction discusses the implications of the shortcomings and the risk of ignorance behind the currently used methods. In the second section, a detailed description of the issues in the existing solutions of IoT ecosystem is provided. Along with security issues, it illustrates the state-of-the-art and provides insights into the historical background and research in the area of blockchain for the IoT ecosystem. Further, it provides insights about blockchain and the M2M economy. Section 3 describes each component of the IOTA platform beginning from the architectural level to different libraries. In Section 4, we describe how interactions and communications take place between devices and the IOTA Tangle. The section also introduces the mechanism of multiple protocols for secured communication and fully access control over shared IoT data in details. Section 5 focuses on the implementation fragment and multiple submodules of how results are achieved. It further highlights the key results achieved. Section 6 analyses and discusses several performance evaluation parameters like the storage management, scalability, transaction per seconds, implications, challenges, use, applications and security and privacy. This section holds the empirical evaluation of our paper in realistic view for the DLT for IoT adaptability and practicality for real world deployment purpose. The final section provides the future scope and concludes the manuscript.

3. Dissecting the IOTA Platform Ecosystem

IOTA in essence works significantly different than blockchain platforms currently available. In the following section, IOTA platform features and working are thoroughly explained.

3.1. Overview of the IOTA Platform

The IOTA Foundation was founded in 2015 by Serguie Popov, Dominik Scheiner, Sergey Ivancheglo, etc. By December 2015, the IOTA foundation had raised 1337 Bitcoin (approx. $0.5M) through initial coin offerings for project development (https://messari.io/asset/iota/profile accessed on 20 May 2021). The initial release of IOTA has been live since July 2016. Similar to the Satoshi (in Bitcoin) or Wei (in Ethereum), IOTA’s native cryptocurrency ‘iota’, is denoted as ‘i’ which is the smallest unit of the IOTA network.

Features of IOTA

The following are core features of the IOTA platform [7]:
(1)
It offers decentralization. Any node can easily join the network or be part of consensus.
(2)
Internally, the data structure used in IOTA is a directed acyclic graph (DAG) which in the IOTA ecosystem is called the ‘Tangle’.
(3)
There are no transaction fees involved for miners. It is a miner-free platform where all IOTA tokens have been created.
(4)
IOTA has deployed a post-quantum cryptography method which is based on a hash- based algorithm [73]. This particular algorithm is named the Winternitz One Time Signature scheme (W-OTS) [73].
(5)
Each node is a validator. In this platform, before we submit our transactions, we have to validate two previous transactions of others [7]. This way as more new transactions will join the network, more previous transactions will get confirmed.
Micropayments were never possible in existing blockchain platforms due to the fact transaction fees were higher than the transactions themselves, but with the IOTA fee-less environment, micropayments can happen for the future M2M economy.

3.2. Architecture of IOTA Platform

The IOTA platform is similar to Ethereum blockchain but the overall architecture involves several distinguishing layers and components. This manuscript briefly explains all the components of the IOTA platform in sufficient depth. IOTA too consists of a node architecture having different client types, communication protocols to network types as in the case of Ethereum blockchain (such as Main Net and Test Net). In IOTA, the community network (Comnet) is mostly used for testing and development purposes and the IOTA Foundation development in this regard is completely transparent to the community as a whole. We have analyzed the proposed work (Section 4.1 and Section 4.2) in this study based on the Comnet network.
Like the Ethereum block structure, IOTA has a transaction/bundle structure for each transaction in the directed acyclic graph Tangle data structure. The basic building block of one transaction comprises a transaction hash, value, confirmation status, tag, address, bundle, nonce, signature message fragment and address of parent transaction that this transaction approves to.
Similar to the way web3.js is a client application programming interface (API) library in Ethereum (https://web3js.readthedocs.io/en/v1.3.0/, accessed on 20 January 2021), IOTA has provided iota.js and mam.js as client API libraries for building applications in JavaScript language. The architecture of IOTA is shown in Figure 1.
Figure 1. Architecture of the IOTA Platform.

3.3. Components of IOTA Platform

The boxes shown in Figure 2 are called transactions/bundles and consist of multiple transactions within them, analogous to the blocks in blockchain.
Figure 2. IOTA ‘Tangle’ versus Blockchain.
Bundles are treated as atomic, i.e., either all the transactions within a bundle get confirmed or none all together. In IOTA, tips are the newest transactions in the network as shown in Figure 2 and have not been referenced by any other transactions but they reference two previous transactions using the Markov chain Monte Carlo (MCMC) tip selection algorithm [7]. Fully confirmed transactions are transactions that can be referenced directly or indirectly by all the tips. Unconfirmed transactions are transactions that are referenced directly or indirectly by a subset of tips.

3.3.1. Steps to Create a Bundle of Transactions for Attaching to the Tangle

The approach involves three fundamental processes for each bundle to be created by the user or an IoT device:
  • Transaction signing: First, the node (computer/IoT device/application) prepares a valid transaction for sending it to the Tangle by signing it using the node private key.
  • Selecting two previous tips: using the Markov chain Monte Carlo (MCMC) tip selection algorithm, the node analyzes the weighted mechanism and decides to choose two other previous transactions that are not confirmed yet [74]. Also, the tip selection must avoid the phase of being the lazy tip i.e., choosing two old transactions already confirmed by many others. Hence, coordinator is used for determining the tips using the tip selection API to ensure no one is selecting tips for their profit making or approving the double spending [75].
  • Proof of Work (PoW): the node must check two chosen tips to be conflict-free from double spending, etc., and then perform a level of proof of work against spam protection defined by minimum weight magnitude of the network.

3.3.2. Transaction Confirmation

By definition, every confirmed transaction is one whose path exists from any of the tips in the network. Each tip must be directly or indirectly referenced to it. Hence, as more and more new tips will join the network, the transaction confirmations will increase. It further serves as a confidence parameter in deciding the confirmation rate for a tip to be selected. Although, as the depth size grows, it will result into longer validation and confirmation time. However, many other tip selection algorithms are proposed in RFCs#0008 i.e., weighted Uniform Random Tip Selection (https://blog.iota.org/the-tangle-an-illustrated-introduction-4d5eae6fe8d4/, accessed on 25 June 2019) (URTS) where were developed for better efficiency and higher confirmation rate [76].

3.3.3. Client Nodes in IOTA

IOTA implemented IOTA Reference Implementation (IRI) as the first full node solution. However, this was negatively affected by to its heavy reliance on the computational power which is a key constraint in low power IoT devices. Figure 3 demonstrates how the network consisting of IOTA node is connected.
Figure 3. Network of IOTA nodes.
Presently, Hornet is the official second full node after IOTA IRI for the IOT devices or the low power client devices that can even run under 300 MB of available RAM. Moreover, we installed the Hornet community network (Comnet) on the Ubuntu 18.04, VPS. We used Contabo VPS for the setup of a Hornet node and remotely accessed it using the SSH protocol via the Git-Bash terminal using command ‘ssh root@<IPaddress>’ and with our chosen ‘password’. The root folder of Hornet is under ‘/var/lib/hornet’ directory and the list of the files of the same directory is displayed in Figure 4.
Figure 4. Accessing the Hornet node using SSH via Terminal.
Regularly, spam tests happen on the network from the Comnet community of the official IOTA Foundation to check its TPS and CTPS. These spam tests results led to better research around the platform and popular bug fixes.
Moreover, Tangle has a special property of getting ‘history’ branched out from the network based on how heavy a branch becomes or it even depends on the pruning index delay set by user/admin in the config_comnet.json file of the hornet node.
In the MCMC algorithm, a double spending event might still happen or some tips cannot get selected [77]. This problem cannot happen in a bigger network, but since at present, the IOTA network is small, comprising a few nodes, a ‘Coordinator’ (in short Coo) is placed as the supporting stem which keep a check on the activity of the transactions and prevent the double spending from happening. The network is still decentralized because each node can keep track of the activities of the coordinator to avoid approving double spending.

3.3.4. Snapshot

Snapshot is used to reset Tangle when the size of ledger increases. It lowers devices’ burden of storing a complete history of the Tangle. It groups all the transaction balances into a new address and maintains only the final balance [7].
If a node wants to store everything without snapshotting or pruning, the solution is called a permanode which stores the entire Tangle securely. The official project for the permanode framework established by the IOTA Foundation is Chronicle (https://blog.iota.org/introducing-chronicle-a-permanode-solution-8e506a2e0813, accessed on 22 January 2020). The permanode concept is out of the scope in our paper. In Section 6.1.1, we have however devised a formula based on the number of days we want to store the Tangle data on our node. We will prune out rest of the history data from our node maintaining only the final updated ledger state.

3.3.5. Hash Function: Kerl/Keccak-384

IOTA modified their ternary hash function Curl to the binary hash function Kerl (based on Keccak-384) after a vulnerability was found [78]. The Kerl hash function is used for generating the consecutive addresses from the seed and then using in signing transactions. This works similar to the sponge and squeeze function as described in the Keccak-384 core implementation.

3.3.6. Trits and Trytes Alphabet

Primarily, with the recent advancement in the construction of chips and integrated circuits, IOTA had planned to utilize the ternary system (having three values) instead of binary system (having two values) on the first ever built ternary chips named a under project named JINN (https://iota-news.com/the-origins-of-jinn-and-iota/, accessed on 25 January 2020). Such ternary systems are either balanced 1 ,   0 ,   1 or unbalanced 0 ,   1 ,   2 . IOTA uses a balanced ternary system as software implementation emulated on binary hardware in its core libraries where a trit can possess values 1 ,   0   or   1 . Trits in IOTA is analogous to bits and trytes is analogous to bytes (3 trits), for example 1   0   1   or   1   1   1 is a tryte. With this understanding, we can realize following ternary numeral system where [79]:
1   B y t e = 2 8 = 256   combinations
1   T r y t e = 3   t r i t s = 3 3 = 27   combinations

IOTA Tryte Alphabet

The Tryte Alphabet mapped with the ASCII character set are used in IOTA. However, character mapped with tryte can be determined based on the calculation used in the equation shown in flowchart diagram in Figure 5.
Figure 5. Flowchart for finding the Tryte Alphabet.
There is a conversion method by which the trits and trytes value look more human readable. This readability comes after the conversion done based on the Tryte Alphabet chart [79]. Also, an IOTA address once used in the signing process is not considered safe for another use. Hence, it is strictly advised not to reuse the same address twice for sending a transaction because a part of the arbitrary size of the key is revealed in the process of signing as IOTA uses the W-OTS signature scheme. However, one can receive as many transactions as wanted to a particular address, but once this address is used in sending some value from A to B, it is advised not to reuse this address again for receiving or sending further transactions. Hence, all hashes, address, seeds etc, are variants of trytes which are represented by combination of such tryte alphabet characters.
Example 1.
ASCII text “Cat” will be “MBPCHD” in Trytes.
Proof of Example 1. 
Since ,   ASCII   value   of   C   is   67
67 % 27 = 13 =   M   (from [79])
67 / 27 = 2 =   B   (from [79])
Which   means   C =   MB   in   tryte . (1)
and   since ,   ASCII   value   of   a   is   97
97 % 27 = 16 =   P   (from [79])
97 / 27 = 3 =   C   (from [79])
Which   means   a =   PC   in   tryte . (2)
and   since ,   ASCII   value   of   t   is   116
116 % 27 = 8 =   H   (from [79])
116 / 27 = 4 =   D   (from [79])
Which   means   t =   HD   in   tryte . (3)
Using   eqn .   1 ,   2   and   3 ,   we   get ,
Hence ,   Cat =   MBPCHD   in   tryte
One can find more such conversions using the IOTA utility tool (https://asecuritysite.com/encryption/iota, accessed on 20 January 2020). □

3.3.7. IOTA Seed and Addresses

An IOTA seed contains combination of 81 uppercase characters which result to 81 trytes [7]. Each tryte has 27 combinations, as shown in Section 3.3.6, which means an IOTA seed has 2781 ≈ 8.71 × 10115 combinations and on the other hand, a bitcoin random number has 2256 ≈ 1.15 × 1077 combinations [79]. In a UNIX or Linux environment, the command ‘cat/dev/urandom |tr -dc A-Z9|head -c${1:-81}’ will produce the 81 characters of a required unique seed using the entropy pool collected by the mechanical properties of devices and current timestamp (https://www.iotaprice.com/strong-seed-iota.html, accessed on 20 June 2020). With this unique seed at our disposal, we can generate corresponding addresses using the key index number. Example, address 0 has key index number 0, address 1 has key index number 1, etc., as shown in Figure 6.
Figure 6. Address generation from seeds.
On creating an address, we can specify a ‘security level’ ranging from 1 to 3. This indicates how long we want our private key and signature fragment to be in trytes. Security level 1 has 2187 trytes, security level 2 has 4374 trytes and security level 3 has 6561 trytes of private key and signature length. In practice, security level 2 is used by default.

3.3.8. Minimum Weight Magnitude (MWM)

MWM is used for the IOTA’s proof of work (PoW) just like Hashcash in Ethereum and Bitcoin for the number of difficulty level decided by the trailing Zeroes.
  • For Mainnet: 14
  • For Comnet: 10
The PoW in the IOTA network is comparatively much lower in computation compared to the PoW in Ethereum and Bitcoin. Further, if an IoT device does not want to perform PoW at their device end due to constraints, then they can opt for third party remote PoW or set-up their own node end for the remote PoW computation. In our study, we have enabled the remote PoW at our node to perform PoW on behalf of IoT devices.

4. Methodology

The proposed architecture is divided into two separate channels, i.e., Data and Value, as shown in Figure 7.
Figure 7. Proposed Architecture of DLT for IoT.

4.1. Data (IOTA Data Based System)

The data part will work on the IoT devices (in our case-Arduino Uno, ESP8266 and Raspberry pi 3b) for acquiring sensor data from a DHT11 (digital humidity and temperature sensor module) from the environment and send this data to the Tangle. It is further divided into two infrastructural architectures, i.e., master-slave architecture and master only architecture. IoT devices like Raspberry Pi acting as master nodes (MNs) are capable of processing data from the sensor attached to them and then sending this data to the Hornet node (HN) using IEEE 802.11n (Wi-Fi) as exchange protocol messages for further attaching it to the Tangle. However, other IoT devices are not capable of doing the same, hence, as self-acting slave nodes (SN), they will process the data from the sensors and then forward this data packet to the nearest MN either through IEEE 802.11n, Bluetooth or Arduino serial communication protocol responsible for sending to HN.
Based on the merkle tree root, a data is sent to the Tangle signed by the private key using the Kerl hash function (a variant of Keccak-384) (https://github.com/iotaledger/kerl, accessed on 10 June 2020) to prove the authenticity of the data to the network, but this signing action does not ensure that data is actually generated by the trusted IoT device and no man in the middle attack happened, as we cannot share the seed with anyone. However, after sending data to the Tangle, data is propagated to the whole network (to all nodes) using the Gossip protocol. All the data stored with merkle roots are connected and linked with each another resulting in a forward chain. Each root stores the data and references the next merkle root. This way, each root can decode the message in the next root maintaining a forward secrecy, but no root can look behind in the line. Anyone having a root can decode the whole channel message afterwards from the Tangle. Furthermore, to gain the access control over the data, three mode/channels for sending the data packet to the Tangle are described, namely public mode, private mode and restricted mode. These channels are known as masked authenticated messaging (MAM) channels. In practice, addresses are the actual placeholder where data is stored and can be accessed with. In public mode, no data encryption is done, hence the address is simply the root. In private mode, encryption is applied and the address is the hash of the root. In restricted mode, a sideKey is incorporated to press revoke/grant access to the channel. Here, address is the hash of the root and sideKey (https://medium.com/coinmonks/iota-mam-eloquently-explained-d7505863b413, accessed on 10 February 2020).
  • Public Mode Channel
    a d d r e s s = r o o t
  • Private Mode Channel
    a d d r e s s = H a s h r o o t
(MAM message is read using root).
  • Restricted Mode Channel
    a d d r e s s = H a s h r o o t + s i d e K e y
(MAM message is read using root and sideKey).
To make sure there are no man in the middle attacks, and data is actually being generated by the trusted IoT device, we propose dual signature masked authenticated message (DSMAM) by introducing one more level of signing of the IoT data packets using the (EdDSA), which is a new signature scheme based on the Schnorr signature algorithm and Elliptic curve. Internally, the EdDSA algorithm relies on (Ed25519) signature based on Curve25519 and SHA-512/256 to ensure the authenticity and the data integrity of the IoT device generated data. Our algorithms in DSMAM for key generation, signing and verifying for IoT devices are Algorithms 1–3 respectively.
Algorithm 1. Key generation of IoT devices
Step 1:for each IoT device do
Step 2:  generate keys using EdDSA (ed25519) scheme
Step 3:  export publicKey, privateKey in ‘PEM’ format
Step 4:  generate Seed of 81 Trytes character
Step 5:  embed privateKey and Seed in IoT device
Step 6:end for
Algorithm 2. Signing of data packets
Input:mode, sideKey, privateKey and interval
Initialization:
Step 1:connect to synced node endpoint url
Step 2:calculate first root using seed for sending data
LOOP process with (root, payload, interval)
Step 3:for every interval do
Step 4:   receive data from sensors to master node
temp = sensor temperature data
humd = sensor humidity data
Step 5:   create message payload
payload = (dateTime, temp, humd)
Step 6:  sign the payload using privateKey
signature = sign(payload)
Step 7:   store the signature in the payload
edsignature = signature
newpayload = (dateTime, temp, humd, edsignature)
Step 8:   attach the new message payload to the Tangle
attachToTangle(mode, sideKey, newpayload)
print(payload, address, root, nextroot)
Step 9:  Now REPEAT with root = nextroot
Step 10:end for
Algorithm 3. Verifying of data packets
Input:mode, sideKey, root and publicKey received
Initialization:
Step 1:connect to synced node endpoint url
Step 2:fetch the first packet from the Tangle using root
Step 3:flag == true and verified == false
LOOP process with (root, sideKey, mode)
Step 4:for each packet fetched from Tangle do
Step 5:  if (flag = = true) then
Step 6:   get the first payload & retrieve signature
verified = verify (Hash(payload), signature)
flag = false
Step 7:  end if
Step 8:   if (verified = = true) then
Step 9:   fetch all rest of the packets
Step 10:  else
Step 11:   return
Step 12:  end if
Step 13:end for

4.2. Value (IOTA Payment-Based System)

IOTA address plays an important role on how it is generated. Since the W-OTS scheme is used, each address must be used only once. However, transactions on IOTA are feeless, which enables the domain for the M2M economy, where multiple parties or devices can share information/services and get charged for the service they used in terms of micro-payments. To illustrate this power of M2M communication, we implemented the IOTA payment module in the novel proof of concept for the micro-payment enabled over the top (MP-OTT) media streaming platform service where the revenue model is a pay-as-you-go model. Content viewers will be charged based on the amount of time (in seconds) they watched the content at our platform and not according to the traditional way of subscription to media streaming platforms. We identified the classical IOTA value transaction payment consuming time in linearly increasing fashion and hence we propose an efficient constant time taking index-based address value transaction (IBAVT).

5. Implementation of Proposed Approach

The comprehensive implementation details are described in the following sections ranging from node setup to our developed DApps.

5.1. Setup and Arrangement of Hardware

The setup and arrangement for sending and receiving IoT data is shown in the Figure 8. This flow chart explores the interactive way how the hardware arrangement is set up. We implemented the proposed architecture following the system specifications and using the software shown in Table 3.
Figure 8. Setup of Hardware infrastructure.
Table 3. System and software specification.

5.2. Process of Sharing of IoT Data

Users can securely and privately share messages with each other using the MAM channel described in Section 4.1. The communication can take place using the distribution of three input parameters ‘Root’, ‘Public Key of IoT device’ and a ‘SideKey’ (only if private and restricted modes are used, as shown in Figure 7). The receiver can then fetch the data/message payload from the respective MAM channel using our Algorithm 3 described above. Only the valid receiver having the correct combination of these three input parameters can fetch and decode the message in the encrypted packet of MAM payload. However, before fetching the entire channel data, the receiver can check the verification status of the first payload and if the resultant is found to be true and valid, the rest of the payload extant in the channel can be fetched and read. The sequence diagram for the secured communication between Alice and Bob will take place as shown in Figure 9.
Figure 9. Sequence diagram for secured communication.

5.3. Sending and Receiving Data

IOTA provides its client side libraries written in JavaScript namely iota.js (https://github.com/iotaledger/iota.js/, accessed on 10 May 2020) and mam.js (https://github.com/iotaledger/mam.js, accessed on 15 May 2020). However, the library mam.js might cause some errors when running on different machines. To prevent that, we regenerated or rebuilt the mam.js file using Browserify (http://browserify.org/, accessed on 13 August 2020) to create one single bundle file for mam.js to interact with web-browsers. In order to achieve that we first installed the browserify node module and mam.js node module. Then we created a mamtobrowser.js file with “global.mam = require(‘@iota/mam.js’);” in it and run a command as “node_modules/browserify/bin/cmd.js mamtobrowser.js --standalone window > mamweb.js” in the console to get the mamweb.js file in the same directory. After that we can easily import it to our html page with “<script src=“mamweb.js”></script>” and use the MAM functions with “mam.”.
With the help of these libraries, we were able to build a command line interface application written in NodeJs for sending DHT11 sensor module data connected to an Arduino UNO and Raspberry Pi 3B model and receiving the data back from the IOTA Tangle.
Figure 10 displays the command line interface where a DHT 11 temperature and humidity sensor data is sent to the Tangle for intermediate decentralized storage using the function ‘sendTrytes()’ from the core API libraries. Before attaching data to the Tangle, the private key of the IoT device is used for generating and attaching a signature in the message payload for verification and authenticity.
Figure 10. Attaching the first message payload to the Tangle.
In similar fashion, the application will keep on attaching new message payload (IoT data, such as temperature and humidity) to the tangle on a continuous interval of 5 s which we predefined in our application.
However, the interval choice is based on the user and the requirements of any actual application. Figure 11 shows the attachment of a continuous epoch of payload to the Tangle in similar approach. Once all payload and packets are attached to the tangle, receiving the payload from the tangle becomes easy. According to our Algorithm 3 and the sequence diagram shown in Figure 9, we only need to fetch the first payload from the Tangle to check its validity that it is coming from the right person we had asked IoT sensor data from. To check the authenticity of the message payload, we need the ‘public key’ of the IoT device (the DHT 11 sensor in our case). Hence, we first verify the signature in the message payload of the first fetched data from the tangle by hashing the message payload (dateTime, temp, humd) as shown in Figure 11 and then comparing with the signature (edsignature) present in the payload itself. A verification message will be revealed as shown in Figure 12. By this virtue, if both signatures are found to be equal, a ‘true’ verification message will be displayed and it will fetch all the rest of the data packets extant in the MAM channel as shown in Figure 13.
Figure 11. Attaching the rest of the message payload to the Tangle.
Figure 12. Fetching of the first message payload using a public key and root in ‘public’ mode.
Figure 13. Fetching the rest of the message payload using a ‘public key’ and ‘root’ in ‘public’ mode.

5.4. IoT Sensor Data Visualizer App

While implementing all this, we built a IoT sensor data visualizer application shown in Figure 14, where a temperature and humidity graph can be shown on the dashboard which can help ML Scientist or individuals better understand sensor data fetched directly from the Tangle.
Figure 14. IoT sensor data visualizer app.
A user has to provide the ‘root’ value of the MAM message to fetch the temperature and humidity data. This graph helps in determining the factual representation of the condition of the goods and items carried for which DHT11 sensor module is used for. Once, a user gives the root value, all the messages in the next of the MAM channel are fetched and displayed. Any anomaly in the value of temperature and humidity can be easily detected.
We also incorporated a facility for downloading the fetched data in to the ‘csv’ format as shown in Figure 15 based on the fetched data in Figure 13 to be useful for other platforms like Jupyter notebook for running advance data mining algorithms on the data.
Figure 15. IoT data saved in a .csv file.

5.5. Proof of Concept (PoC) For Micro-Payment Enabled over the Top (MP-OTT) Platform

The solution developed for the micro-payment opens a wide variety of applications and revenue models for a future M2M economy. In this novel PoC, a user is charged based on the time particular video content is viewed, following the “pay-as-you-go model” and “consumption based model”. This provides a fair platform to the content creators. The transaction or the payment is received directly to the content creator wallet in fashion analogous to peer-to-peer protocol eliminating the intermediaries. The transaction flow for the process used in the proof of concept of MP-OTT is shown in Figure 16.
Figure 16. Transaction flow in PoC of MP-OTT.
The front-end of the proof of concept OTT application is shown in Figure 17.
Figure 17. MP-OTT platform dashboard.
For validation of our work, we assume a user is watching a video on our OTT application. The moment the consumer clicks the stop button after 5 s, 5 iotas will be deducted from his account and they directly reach to the account of the content creator using our IBAVT. This payment is done in background and can be explored using the transaction link received back.
If we click on the link in the transaction id, it will redirect to the Comnet Tangle Explorer official website (https://comnet.thetangle.org/, accessed on 25 August 2020). The webpage displayed on the Comnet Explorer using the transaction id received back is shown in Figure 18.
Figure 18. IOTA’s payment shown on website of comnet.thetangle.org.

6. Results and Discussion

Analysis, discussion and the empirical evaluations which show significant performance improvements based on storage management, scalability, transaction per seconds, implications, challenges, use, applications and security and privacy are presented below.

6.1. Scalability and Storage

We found MAM channels to be an efficient way of communication, storing, managing and sharing IoT sensor’s data due to the following:
  • Scalability: Scalability in terms of CTPS is set to increase with more IoT devices connecting to network as discussed in Section 3.3.2. These communications can be used for industrial IoT or commercial IoT applications.
  • Storage: Storing IoT data on VPS will increase the size of data with time. We can set options for how long we want to store the IoT device data in the field pruning index in comnet_config.json setup file as discussed in Section 3.3.3. The node will prune the old data in the database according to the pruning index delay value set.

6.1.1. Pruning Index Delay Formula

There are two methods to calculate and verify the pruning index interval value.
Method 1: Using number of days, we can directly calculate the size of database based on needs and resources available (after 30 days in this example). This method is approximate and not reliable due to changes in the actual TPS, but this can give an estimated size of the database if we take 30 TPS as average and 2673 Trytes as size of one transaction (https://domschiener.gitbooks.io/iota-guide/content/chapter1/transactions-and-bundles.html, accessed on 20 September 2020).
Size   of   one   Transaction   approx in   a   Bundle   TS   =   2673   Trytes     1800   Bytes   1600 + Metadata
Average   Transactions   per   Second   AvgTPS   =   30
Number   of   Seconds   in   a   day   TotalSeconds = 60 60 24 = 86,400
Number   of   Days   we   want   to   store   IoT   Data   Days   =   30
Using   eqn .   1 ,   2 ,   3   and   4 ,   we   get ,
Total   size   of   transaction   in   Bytes   =   TS   ×   AvgTPS   ×   TotalSeconds   ×   Days = 1800   ×   30   ×   86,400   ×   30 = 139,968,000,000   Bytes
Approximate   Size   of   Database   in   GB   after   30   days DbSize   = 139,968,000,000 / 1024     136,687,500   KB = 136,687,500 / 1024     133,483.88   MB = 133,483.88 / 1024     130.355   GB
Number   of   Milestones   in   1   Day   MS =   Number   of   Seconds   in   a   day   /   10   sec   per   milestone   =   60   ×   60   ×   24 / 10 = 8640
Number   of   Milestones   for   30   Days   =   MS   × 30 = 259,200
Hence, ‘295,200′ is to be specified in the pruning index in the config_comnet.json file for storing data for a month (30 days) that can lead to approx. 130.355 GB.
Method 2: This is a heuristic method in which milestones (MS) can be directly manipulated to calculate the size of database. On using a certain MS value in the pruning index, if the resultant size is sufficient to handle for the node maintainer, then they can continue using the same MS as the pruning index for the Comnet Tangle.
Number   of   Milestones   MS   = 259,200
Interval   of   Milestone   interval   in   seconds   = 10
Size   of   1   Transaction   in   bytes   sizeT   = 1800
Average   Transaction   per   Second   AvgTPS   = 30
Using   eqn .   1 ,   2 ,   3   and   4 ,   we   get
Size   of   Database   DbSize in   Bytes   =   MS   ×   interval   ×   sizeT   ×   AvgTPS   = 259,200   ×   10   ×   1800   ×   30     139,968,000,000   Bytes
Size   of   Database   in   GB   = DbSize 1,000,000,000 139,968,000,000 / 1,073,741,824   130.355   GB
Hence, ‘295,200′ is to be specified in the pruning index in the config_comnet.json file for storing 130.355 GB data.

6.2. Performance Evaluation

6.2.1. Efficiency Obtained in Term of Fast Payment Process in IBAVT against Classical IOTA Value Transaction Library

The IOTA current payment module works by finding balances at each address before making a transaction from person A to person B. We tested the IOTA payment library with the first 30 addresses where a balance is only present in the last n-th address. The library initially checks the balance in 1st, 2nd, 3rd addresses, ultimately reaching the n-th address which is a linearly increasing time-consuming process. This method is not efficient even if we only have 30 addresses with some balances in each. One seed alone can produce trillions of addresses. Hence, we transformed the application into an efficient and robust application using the browser level storage capability. We stored the value of index of the last address where all the balances are currently present and hence named this as index-based address value transaction (IBAVT). In IBAVT, we assume all the balances are present at a single address. Whenever, a new transaction is to be made, only the present index address where all the balances are currently present is checked and the transaction is made. This method highly reduced the value-transaction confirmation time to 5.3 s (5341 ms) as average case as shown in Table 4 against the linear time taken by IOTA library as shown in Figure 19 in the MP-OTT application for paying for each time a user consumed the content by viewing it. Our proposed IBAVT performed efficiently and fast for the communication of value transactions even if the addresses reach a high value. However, there are multiple ways to make a stateful application and other practitioner may adopt other technique to make a stateful application. With more addresses, the classical IOTA value transaction library will keep on increasing linearly.
Table 4. Latency achieved in IBAVT.
Figure 19. Comparison of latency between our proposed IBAVT and classical IOTA value transactions.

6.2.2. TPS Versus Confirmation Rate of the Comnet

We observed 24 instance of ‘Community Spam test’ from our Hornet node where multiple spammers joined using the official IOTA Foundation Discord channel arranged on 8th August 2020 and conducted spam tests using the ‘luca-moser iota-spammer’ program to check the Comnet capability for CTPS with respect to TPS (https://blog.iota.org/dev-status-update-august-2020-b08ccfd6f272/, accessed on 10 September 2020). The capability of the Comnet Network is shown in Figure 20 based on the spam test results in Table 5.
Figure 20. TPS versus Confirmation Rate.
Table 5. Result of the community spam test observed at our hornet node.
It is clear in the Figure 20, initially, when the spamming and TPS is low, the confirmation rate is high and over 100%. As spamming gradually increases, TPS increases and the confirmation rate start to decline at first. At the observed spam test number 16, when the TPS is close to 1000, the node went offline resulting in a node crash of the system which our VPS couldn’t handle. For the consecutive observed spam tests 17 and 18, the confirmation rate achieved was 0 thereafter at the out node. After, restarting the Hornet node, we joined the on-going spam test number 19 and onwards with once again observing high TPS crossing at 600 TPS and this time the confirmation rate at node end was found to be 96%. However, reaching over 1000 TPS resulted in a 89% confirmation rate. At the spam tests 23 and 24, spamming was brought to normal condition around 140 TPS achieving 96% CTPS.

6.2.3. Advantage over Other Blockchain Platforms

Since the proposed architecture is miner-free and fee-less, it prevents the grouping of mining pools and domination of the network. In Ethereum, mining pools like Spark Pool, F2Pool or Ethermine control the mining process monopolizing in mining stakes. Recently, a man paid $2.6 Million as transaction fees to send $130 of ether [80]. Hence, it is not safer to promote IoT applications on top of such architecture. IoT systems must be protected from such malicious behaviors of nodes or participants.

6.2.4. Performance Comparison with Other State-of-the-Art Work

For performance comparison, the proposed architecture is compared with seven related studies based on performance factors like scalability, energy consumption, confirmed transaction per second, reduced overhead/complexity, signature scheme, data integrity, access control, fee-less environment, time critical computing, decentralized nature and interoperability/modularity. The ‘✘’ corresponds the low performance and the ‘✓’ corresponds an acceptable performance for the respective category. It is observed in Table 6 that our proposed architecture with dual layer digital signature scheme in the classical MAM version 0.x (v0) provides all the necessary performance assurances.
Table 6. Performance comparison based on defined parameters.

6.3. Security and Privacy

We used the Edwards-curve digital signature scheme (EdDSA) for the second layer of signature module for proving the authenticity and data integrity of the data from IoT devices. EdDSA relies on Ed25519 which is newest and secured signature scheme used in cryptography. Since most of the earlier approaches used common signature methods like NIST P-254 and seckp256k1 they are not considered safe for use based on the SafeCurves (choosing safe curves for elliptic-curve cryptography) [81]. Ed25519 has now been adopted by the TLS 1.3, OpenSSH, saltpack, OpenBSD, GnuPG, cryptocurrency protocol and by many other softwares (https://ianix.com/pub/ed25519-deployment.html, accessed on 10 December 2020). Ed25519 provides speed benefits and security benefits. It is even immune to side channel attacks. Table 7 deliver some of the notable features of Ed25519 signature scheme over others based on work of Bernstein on Ed25519 Crypto [81].
Table 7. Some notable Ed25519 features.

6.3.1. Non-Reliability of the Random Number Generator

Since all elliptic curves are based on random number generators which are calculated by the entropy, enjoined by the device drivers, mechanical delays, user interrupts, network traffic, etc. This ensures the true random number to be generated each time. However, IoT devices are not heavily equipped with mechanical hardware, hence calculating entropy won’t always result in true randomness, whereas, the EdDSA scheme doesn’t uses a random number generator and instead uses a deterministic way of generating signatures.

6.3.2. Key Size, Signature Size and Payload Size

Since elliptic curves signatures yield small key sizes, hence they are very useful instead of RSA for achieving the same level of security. This helps in sending light data packets to the Tangle as the signatures are generated using small keys. The resultant signature using Ed25519 is only 64 bytes in size. This helps in keeping the payload size small.

6.3.3. Fast Signing and Verifying

Ed25519 based on EdDSA provides the fastest signing and verifying functions [82]. Hence, this improves the overall user-experience for the IoT system without any overhead delay in the operations between data packets.

6.3.4. Ensuring the Same Performance of DSMAM against IOTA MAM Protocol Along with Enhanced Security

We used the Ed25519 signature algorithm on the existing IOTA MAM channel to ensure the authenticity of each message based on the key pairs of IoT devices. We named this double signature implementation on MAM channels as Dual signature masked authenticated message (DSMAM) and have conducted empirical evaluations based on the latency achieved before and after our implementation as shown in Figure 21. The test involved 25 transactions at an interval of 10 s based on all three modes, i.e., public, private and restricted mode. Our proposed DSMAM outperformed the performance in private mode in the best case, average case and worst case with respect to the existing IOTA MAM. In restricted mode, our proposed DSMAM performed similar to IOTA MAM while providing additional benefits of authenticity and security over the data using the dual signature. In public mode, the DSMAM performed poorer than the MAM in each of the categories, however it provided data authenticity. The comparison of latency between DSMAM and classical IOTA MAM version 0.x is shown in Table 8.
Figure 21. Comparison of latency between IOTA MAM and our proposed DSMAM.
Table 8. Latency comparison between classical IOTA MAM and DSMAM.

6.4. Challenges and Limitations

We have identified some technical limitations in our developed micro-payment over the top (MP-OTT) application as follows:
  • Streaming video from cloud/database services to the client application was not within the scope of this project. This can be added as a feature for displaying multiple content on the OTT application. In our example, we had only one video by default in our application.
  • No moving/play forward option was present in the video player at the proof of concept level. Since these have their own implementation complexity we will enhance our payment logic to tackle these situations in a later version.
  • Problems of reuse of addresses exist in this system. Possible solutions are described below with insights into each solution.
Since the system uses W-OTS, it is must to use an address only once and not again [83]. This induces new challenges for the key and the address management task. For example, a donating address may be given by a non-government organisation (NGO), where any sender can donate iotas. But if the NGO ever uses this address for taking out the iotas out for any purpose, receiving future funds at this used address is not considered safe, so a new address known as remainder address has to be generated and shared with all the participants, which is not practical to implement. It might be easy to update the information between IoT devices about the new address but not possible in cases where people are in charge of those addresses. The problem is illustrated in Figure 22. Now, Alice should not use her Address 0 ever again. Bob can use his Address 0 any number of times for receiving funds, but once he uses this Address 0 to send any iotas, he cannot use his Address 0 again.
Figure 22. Problem of re-using used addresses.
One possible solution to this is usage of reusable short address convenience (RSAC) as shown in Figure 7. This can act as an alias on behalf of IOTA addresses and will not change while an IOTA address at the backend can change, hence, making it useful in the transaction process several times even if addresses keep on changing. In contrast, no regular updates about the new address to other participants are needed. A summary of such a solution can be provided in the following way:

6.5. Use and Application of the Proposed DSMAM and IBAVT

Decision-making behind the use of blockchain in any practical application can be realized through the Bart Suichies model (https://medium.com/block-chain/why-blockchain-must-die-in-2016-e992774c03b4, accessed on 25 April 2021). Alternatively, the IOTA platform aims to help the operational network engineers and blockchain architects in decision making to adopt IOTA if their use case and application require all the three aspects of ‘blockchain trilemma’ [85,86] which current blockchain platforms fail to provide.
However, in our opinion, the presence of a coordinator as already discussed in Section 3.3.3 in the IOTA network contradicts the decentralization parameter in the blockchain trilemma and acts as a limitation in the mass adoption of IOTA. Use cases and applications where IOTA can be adopted in the production use in the upcoming years are following:
  • Data Marketplaces: ML Scientist or individuals depend on data from sensors and the IoT, especially in the case of the medical field. If data integrity is ensured then it boosts practitioners to work on the data. Further, any user can give access to whosoever he wishes to share data with.
  • Micropayments and Micro-finance Applications: IOTA also has a built-in native cryptocurrency support named the same (iota) that can be used for micropayments in pay-as-you-go services.
  • Supply Chain and Logistics Applications: Covid-19 has exposed several vulnerabilities of current supply chain systems where tracking and tracing for better transparency can be achieved by digitalizing the logistics to prevent another pandemic [87,88].
  • Industrial Internet of Things (IIoT): Real time applications are possible and data integrity and full access control is ensured.
  • Healthcare Applications: People have control over their generated health-related data to prove data integrity and authenticity [89,90].
  • Data Centric Applications and Industry 4.0: Any data centric application can use our enhanced architecture for securely storing data and for efficiently sharing it.
  • Decentralized Identity (DID) Protocols: The IOTA platform can even further provide a trusted medium and protected environment for controlling decentralized identities for humans or things (https://www.iota.org/solutions/digital-identity, accessed on 30 April 2021) based on the (DIDs) specifications provided by W3C standards (https://www.w3.org/TR/did-core/#a-simple-example, accessed on 1 May 2021).
  • Decentralization and Access Control: In this aspect nodes are not easily compromised and hacking is prevented by the use of PoW (Hashcash), which also prevents spam flooding of messages. Data integrity and access control are back in the hand of user.
A summary of these results is shown in Table 9.
Table 9. Performance output against research objectives.

7. Conclusions and Future Scope

Access control, data integrity and security are important considerations when developing IoT device applications. We fully implemented our proposed our two architecture viz. index-based address value transaction (IBAVT) and dual signature masked authenticated message (DSMAM) by referencing IOTA for the Internet of Things. We achieved robust, fast and efficient results as compared to the classical IOTA libraries for value-based and data-based transactions. IBAVT demonstrates the importance of address management in the IOTA platform to reduce the confirmation time. Our IoT sensor data visualizer app serves the need for visualization and further prepares data for processing using machine learning. The resultant system is modular in nature and easily interoperable with the current standard IoT implementations. We observed 24 instances of spam tests and presented the results. Throughout the study, we kept the IoT device constraints (low power IoT devices, packet bandwidth, etc) in mind and efficiently evolved the system for all shortcomings and challenges.
Reusable short address convenience (RSAC) is needed for dealing with the challenge of address reusability due to the use of the Winternitz One Time Signature scheme. Apart from that, this system can be helpful in healthcare, agriculture, defense, industrial IoT, commercial IoT, supply-chains, logistics, etc. for ensuring the veracity of the data and its authenticity while providing full access control ownership over data and devices. In our future work, we will explore new IOTA networks such as Chrysalis with other networks such as Lightning Network. We also aim to analyze the new IOTA Stream cryptographic framework that will offer high security for sending authenticated messages.

Author Contributions

Conceptualization, M.M.A. and M.A.A.; methodology, M.M.A.; software, M.M.A. and G.C.; validation, D.R.R., M.A. and M.A.A.; formal analysis, G.C. and M.A.; investigation, M.M.A.; resources, M.A.A. and S.S.K.; data curation, M.M.A. and D.R.R.; writing—original draft preparation, M.M.A. and M.A.A.; writing—review and editing, S.S.K. and G.C.; visualization, G.C. and M.A.; supervision, D.R.R., M.A. and S.S.K.; project administration, D.R.R. and S.S.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors would like to sincerely thank Thoralf Müller, IOTA Software Engineer of the engineering team for his generous contribution in the smooth development of this paper and validating our work. Without his continued support and value this work would not have been possible. We sincerely thank the editors and anonymous reviewers for their constructive and insightful comments, which led to major improvements.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

APIApplication Programming InterfaceMNMaster Node
ASCIIAmerican Standard Code for Information InterchangeMWMMinimum Weight Magnitude
CPSCyber Physical SystemM2MMachine to Machine
CTPSConfirmed Transaction Per SecondNPMNode Package Manager
DAGDirected Acyclic GraphOSOperating System
DAppDecentralized ApplicationOTTOver The Top
DDoSDistributed Denial of ServicePCNPayment Channel Networks
DHT11Digital Humidity Temperature 11 (Sensor)PEMPrivacy Enhanced Mail
DLTDistributed Ledger TechnologyPoCProof of Concept
DSMAMDual Signature Masked Authenticated MessagePoWProof of Work
ECDSAElliptic Curve Digital Signature AlgorithmPoSProof of Stake
EdDSAEdwards-curve Digital Signature AlgorithmP2PPeer to Peer
HM-KitHigh Mobility KitRSARivest Shamir Adleman
HNHornet NodeRSACReusable Short Address Convenience
IBAVTIndex-based Address Value TransactionSHASecure Hash Algorithm
IDEIntegrated Development EnvironmentSNSlave Node
IoTInternet of ThingsSSHSecure Shell
IPFSInter-Planetary File SystemTPSTransaction Per Second
IRIIOTA Reference ImplementationURLUniform Resource Locator
LNLightning NetworkURTSUniform Random Tip Selection
MAMMasked Authenticated MessageVPSVirtual Private Server
MCMCMarkov Chain Monte CarloV2XVehicle to Everything
MLMachine LearningW-OTSWinternitz One Time Signature
MP-OTTMicro-Payment Over the Top (Platform)W3CWorld Wide Web Consortium

References

  1. Akhtar, M.M.; Khan, M.Z.; Ahad, M.A.; Noorwali, A.; Rizvi, D.R.; Chakraborty, C. Distributed ledger technology based robust access control and real-time synchronization for consumer electronics. PeerJ Comput. Sci. 2021, 7, e566. [Google Scholar] [CrossRef]
  2. Al-Fuqaha, A.; Guizani, M.; Mohammadi, M.; Aledhari, M.; Ayyash, M. Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications. IEEE Commun. Surv. Tutor. 2015, 17, 2347–2376. [Google Scholar] [CrossRef]
  3. Akhtar, M.M.; Rizvi, D.R. Traceability and Detection of Counterfeit Medicines in Pharmaceutical Supply Chain Using Blockchain-Based Architectures. In Sustainable and Energy Efficient Computing Paradigms for Society; Ahad, M.A., Paiva, S., Zafar, S., Eds.; Springer International Publishing: Cham, Switzerland, 2021; pp. 1–31. [Google Scholar]
  4. Venkatesh, V.G.; Kang, K.; Wang, B.; Zhong, R.Y.; Zhang, A. System architecture for blockchain based transparency of supply chain social sustainability. Robot. Comput. Integr. Manuf. 2020, 63, 101896. [Google Scholar] [CrossRef]
  5. Akhtar, M.M.; Rizvi, D.R. IoT-Chain: Security of things for Pervasive, Sustainable and Efficient Computing using Blockchain. EAI Endorsed Trans. Energy Web 2020, 7, e7. [Google Scholar] [CrossRef]
  6. Moore, S.J.; Nugent, C.D.; Zhang, S.; Cleland, I. IoT reliability: A review leading to 5 key research directions. CCF Trans. Pervasive Comput. Interact. 2020, 2, 147–163. [Google Scholar] [CrossRef]
  7. Popov, S. The Tangle-Whitepaper. 2018. Available online: https://assets.ctfassets.net/r1dr6vzfxhev/2t4uxvsIqk0EUau6g2sw0g/45eae33637ca92f85dd9f4a3a218e1ec/iota1_4_3.pdf (accessed on 10 January 2020).
  8. Atlam, H.F.; Alenezi, A.; Alassafi, M.O.; Alshdadi, A.A.; Wills, G.B. Security, Cybercrime and Digital Forensics for IoT. In Principles of Internet of Things (IoT) Ecosystem: Insight Paradigm; Peng, S.-L., Pal, S., Huang, L., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 551–577. [Google Scholar]
  9. Atlam, H.F.; Alenezi, A.; Alassafi, M.O.; Wills, G. Applications, Blockchain with Internet of Things: Benefits, Challenges, and Future Directions. Int. J. Intell. Syst. Appl. 2018, 10, 40–48. [Google Scholar]
  10. Ali, M.S.; Dolui, K.; Antonelli, F. IoT data privacy via blockchains and IPFS. In Proceedings of the Seventh International Conference on the Internet of Things; Association for Computing Machinery: Linz, Austria, 2017; p. 14. [Google Scholar]
  11. Dorri, A.; Kanhere, S.; Jurdak, R. Blockchain in internet of things: Challenges and Solutions. arXiv 2016, arXiv:1608.05187. [Google Scholar]
  12. Dorri, A.; Kanhere, S.S.; Jurdak, R.; Gauravaram, P. Blockchain for IoT security and privacy: The case study of a smart home. In Proceedings of the 2017 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Kona, HI, USA, 13–17 March 2017; pp. 618–623. [Google Scholar]
  13. Abou-Nassar, E.M.; Iliyasu, A.M.; El-Kafrawy, P.M.; Song, O.; Bashir, A.K.; El-Latif, A.A. DITrust Chain: Towards Blockchain-Based Trust Models for Sustainable Healthcare IoT Systems. IEEE Access 2020, 8, 111223–111238. [Google Scholar] [CrossRef]
  14. Huh, S.; Cho, S.; Kim, S. Managing IoT devices using blockchain platform. In Proceedings of the 2017 19th International Conference on Advanced Communication Technology (ICACT), PyeongChang, Korea, 19–22 February 2017; pp. 464–467. [Google Scholar]
  15. Novo, O. Blockchain Meets IoT: An Architecture for Scalable Access Management in IoT. IEEE Internet Things J. 2018, 5, 1184–1195. [Google Scholar] [CrossRef]
  16. Pustišek, M.; Kos, A. Approaches to Front-End IoT Application Development for the Ethereum Blockchain. Procedia Comput. Sci. 2018, 129, 410–419. [Google Scholar] [CrossRef]
  17. Özyilmaz, K.R.; Doğan, M.; Yurdakul, A. IDMoB: IoT Data Marketplace on Blockchain. In Proceedings of the 2018 Crypto Valley Conference on Blockchain Technology (CVCBT), Zug, Switzerland, 20–22 June 2018; pp. 11–19. [Google Scholar]
  18. Red, V.A. Practical Comparison of Distributed Ledger Technologies for IoT. In Proceedings of the SPIE Defense + Commercial Sensing 2017, Anaheim, CA, USA, 9–13 April 2017. [Google Scholar]
  19. Sagirlar, G.; Carminati, B.; Ferrari, E.; Sheehan, J.D.; Ragnoli, E. Hybrid-IoT: Hybrid Blockchain Architecture for Internet of Things-PoW Sub-Blockchains. In Proceedings of the 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Halifax, NS, Canada, 30 July–3 August 2018; pp. 1007–1016. [Google Scholar]
  20. Restuccia, F.; D Oro, S.; Kanhere, S.; Melodia, T.; Das, S.K.A. Blockchain for the Internet of Things: Present and Future. arXiv 2019, arXiv:1903.07448. [Google Scholar]
  21. Stoyanova, M.; Nikoloudakis, Y.; Panagiotakis, S.; Pallis, E.; Markakis, E.K. A Survey on the Internet of Things (IoT) Forensics: Challenges, Approaches, and Open Issues. IEEE Commun. Surv. Tutor. 2020, 22, 1191–1221. [Google Scholar] [CrossRef]
  22. Wazid, M.; Das, A.K.; Shetty, S.; Jo, M. A Tutorial and Future Research for Building a Blockchain-Based Secure Communication Scheme for Internet of Intelligent Things. IEEE Access 2020, 8, 88700–88716. [Google Scholar] [CrossRef]
  23. Ali, M.S.; Vecchio, M.; Pincheira, M.; Dolui, K.; Antonelli, F.; Rehmani, M.H. Applications of Blockchains in the Internet of Things: A Comprehensive Survey. IEEE Commun. Surv. Tutor. 2019, 21, 1676–1717. [Google Scholar] [CrossRef]
  24. Lupascu, C.; Lupascu, A.; Bica, I. DLT Based Authentication Framework for Industrial IoT Devices. Sensors 2020, 20, 2621. [Google Scholar] [CrossRef]
  25. Putra, G.D.; Dedeoglu, V.; Kanhere, S.S.; Jurdak, R. Trust Management in Decentralized IoT Access Control System. In Proceedings of the 2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC), Toronto, ON, Canada, 2–6 May 2020; pp. 1–9. [Google Scholar]
  26. Cha, S.-C.; Chen, J.-F.; Su, C.; Yeh, K.H.A. A Blockchain Connected Gateway for BLE-Based Devices in the Internet of Things. IEEE Access 2018, 6, 24639–24649. [Google Scholar] [CrossRef]
  27. Yavari, M.; Safkhani, M.; Kumari, S.; Kumar, S.; Chen, C.-M. An Improved Blockchain-Based Authentication Protocol for IoT Network Management. Secur. Commun. Netw. 2020, 2020, 8836214. [Google Scholar] [CrossRef]
  28. Dorri, A.; Kanhere, S.S.; Jurdak, R. Towards an Optimized BlockChain for IoT. In Proceedings of the 2017 IEEE/ACM Second International Conference on Internet-of-Things Design and Implementation (IoTDI), Pittsburgh, PA, USA, 18–21 April 2017; pp. 173–178. [Google Scholar]
  29. Zhou, L.; Wang, L.; Sun, Y.; Lv, P. BeeKeeper: A Blockchain-Based IoT System with Secure Storage and Homomorphic Computation. IEEE Access 2018, 6, 43472–43488. [Google Scholar] [CrossRef]
  30. Hassan, M.U.; Rehmani, M.H.; Chen, J. Privacy preservation in blockchain based IoT systems: Integration issues, prospects, challenges, and future research directions. Future Gener. Comput. Syst. 2019, 97, 512–529. [Google Scholar] [CrossRef]
  31. Rahulamathavan, Y.; Phan, R.C.; Rajarajan, M.; Misra, S.; Kondoz, A. Privacy-preserving blockchain based IoT ecosystem using attribute-based encryption. In Proceedings of the 2017 IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS), Bhubaneswar, India, 17–20 December 2017; pp. 1–6. [Google Scholar]
  32. Le, D.; Meng, H.; Su, L.; Yeo, S.L.; Thing, V. BIFF: A Blockchain-based IoT Forensics Framework with Identity Privacy. In Proceedings of the TENCON 2018–2018 IEEE Region 10 Conference, Jeju, Korea, 28–31 October 2018; pp. 2372–2377. [Google Scholar]
  33. Sodhro, A.H.; Pirbhulal, S.; Muzammal, M.; Zongwei, L. Towards Blockchain-Enabled Security Technique for Industrial Internet of Things Based Decentralized Applications. J. Grid Comput. 2020, 18, 615–628. [Google Scholar] [CrossRef]
  34. Dwivedi, A.D.; Srivastava, G.; Dhar, S.; Singh, R. A Decentralized Privacy-Preserving Healthcare Blockchain for IoT. Sensors 2019, 19, 326. [Google Scholar] [CrossRef] [Green Version]
  35. Lin, J.; Shen, Z.; Zhang, A.; Chai, Y. Blockchain and IoT based Food Traceability for Smart Agriculture. In Proceedings of the 3rd International Conference on Crowd Science and Engineering, Singapore, 28–31 July 2018; Association for Computing Machinery: Singapore, 2018; p. 3. [Google Scholar]
  36. Rahman, M.A.; Rashid, M.; Hossain, M.S.; Hassanain, E.; Alhamid, M.F.; Guizani, M. Blockchain and IoT-Based Cognitive Edge Framework for Sharing Economy Services in a Smart City. IEEE Access 2019, 7, 18611–18621. [Google Scholar] [CrossRef]
  37. Tesei, A.; Mauro, L.D.; Falcitelli, M.; Noto, S.; Pagano, P. IOTA-VPKI: A DLT-Based and Resource Efficient Vehicular Public Key Infrastructure. In Proceedings of the 2018 IEEE 88th Vehicular Technology Conference (VTC-Fall), Chicago, IL, USA, 27–30 August 2018; pp. 1–6. [Google Scholar]
  38. Gallersdörfer, U.; Matthes, F. Towards Valid Use Cases: Requirements and Supporting Characteristics of Proper Blockchain Applications. In Proceedings of the 2020 Seventh International Conference on Software Defined Systems (SDS), Paris, France, 20–23 April 2020; pp. 202–207. [Google Scholar]
  39. Zavolokina, L.; Zani, N.; Schwabe, G. Why Should I Trust a Blockchain Platform? Designing for Trust in the Digital Car Dossier; Springer International Publishing: Cham, Switzerland, 2019; pp. 269–283. [Google Scholar]
  40. Malik, S.; Dedeoglu, V.; Kanhere, S.S.; Jurdak, R. TrustChain: Trust Management in Blockchain and IoT Supported Supply Chains. In Proceedings of the 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 14–17 July 2019; pp. 184–193. [Google Scholar]
  41. Manzoor, A.; Braeken, A.; Kanhere, S.S.; Ylianttila, M.; Liyanage, M. Proxy re-encryption enabled secure and anonymous IoT data sharing platform based on blockchain. J. Netw. Comput. Appl. 2021, 176, 102917. [Google Scholar] [CrossRef]
  42. Alam, T. Blockchain and its Role in the Internet of Things (IoT). Int. J. Sci. Res. Comput. Sci. Eng. Inf. Technol. 2019, 5, 151–157. [Google Scholar]
  43. Panarello, A.; Tapas, N.; Merlino, G.; Longo, F.; Puliafito, A. Blockchain and IoT Integration: A Systematic Survey. Sensors 2018, 18, 2575. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  44. Li, J.; Liang, G.; Liu, T. A Novel Multi-link Integrated Factor Algorithm Considering Node Trust Degree for Blockchain-based Communication. KSII Trans. Internet Inf. Syst. 2017, 11, 3766–3788. [Google Scholar]
  45. Qiu, H.; Qiu, M.; Memmi, G.; Ming, Z.; Liu, M. A Dynamic Scalable Blockchain Based Communication Architecture for IoT; Qiu, M., Ed.; Smart Blockchain: Cham, Switzerland; Springer International Publishing: Cham, Switzerland, 2018; pp. 159–166. [Google Scholar]
  46. Sharma, P.K.; Rathore, S.; Park, J.H. DistArch-SCNet: Blockchain-Based Distributed Architecture with Li-Fi Communication for a Scalable Smart City Network. IEEE Consum. Electron. Mag. 2018, 7, 55–64. [Google Scholar] [CrossRef]
  47. Dorri, A.; Kanhere, S.S.; Jurdak, R.; Gauravaram, P. LSB: A Lightweight Scalable Blockchain for IoT security and anonymity. J. Parallel Distrib. Comput. 2019, 134, 180–197. [Google Scholar] [CrossRef]
  48. Othman, M.; Abdullah, M.; Ibrahim, H.; Subramaniam, S. A2DLT: Divisible Load Balancing Model for Scheduling Communication-Intensive Grid Applications; Bubak, M., van Albada, G.D., Dongarra, J., Sloot, P.M.A., Eds.; Computational Science–ICCS 2008; Springer: Berlin/Heidelberg, Germany, 2008; pp. 246–253. [Google Scholar]
  49. Sun, Y.; Zhang, L.; Feng, G.; Yang, B.; Cao, B.; Imran, M.A. Blockchain-Enabled Wireless Internet of Things: Performance Analysis and Optimal Communication Node Deployment. IEEE Internet Things J. 2019, 6, 5791–5802. [Google Scholar] [CrossRef] [Green Version]
  50. Aldweesh, A.; Alharby, M.; Mehrnezhad, M.; Moorsel, A.V. OpBench: A CPU Performance Benchmark for Ethereum Smart Contract Operation Code. In Proceedings of the 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 14–17 July 2019; pp. 274–281. [Google Scholar]
  51. Nepomuceno, K.; Nepomuceno, T.; Sadok, D. Measuring the Internet Technical Efficiency: A Ranking for the World Wide Web Pages. IEEE Lat. Am. Trans. 2020, 18, 1119–1125. [Google Scholar] [CrossRef]
  52. Lamtzidis, O.; Gialelis, J. An IOTA Based Distributed Sensor Node System. In Proceedings of the 2018 IEEE Globecom Workshops (GC Wkshps), Abu Dhabi, United Arab Emirates, 9–13 December 2018; pp. 1–6. [Google Scholar]
  53. Shabandri, B.; Maheshwari, P. Enhancing IoT Security and Privacy Using Distributed Ledgers with IOTA and the Tangle. In Proceedings of the 2019 6th International Conference on Signal Processing and Integrated Networks (SPIN), Noida, India, 7–8 March 2019; pp. 1069–1075. [Google Scholar]
  54. Divya, M.; Biradar, N. IOTA-Next Generation Block chain. Int. J. Eng. Comput. Sci. 2018, 7, 23823–23826. [Google Scholar]
  55. Mehrwald, P.; Treffers, T.; Titze, M.; Welpe, I. Blockchain Technology Application in the Sharing Economy: A Proposed Model of Effects on Trust and Intermediation. In Proceedings of the 52nd Hawaii International Conference on System Sciences, Maui, HI, USA, 8–11 January 2019; pp. 4585–4594. [Google Scholar]
  56. Calvo, J.A.L.; Mathar, R. Secure Blockchain-Based Communication Scheme for Connected Vehicles. In Proceedings of the 2018 European Conference on Networks and Communications (EuCNC), Ljubljana, Slovenia, 18–21 June 2018; pp. 347–351. [Google Scholar]
  57. Lei, A.; Cao, Y.; Bao, S.; Li, D.; Asuquo, P.; Cruickshank, H.; Sun, Z. A blockchain based certificate revocation scheme for vehicular communication systems. Future Gener. Comput. Syst. 2020, 110, 892–903. [Google Scholar] [CrossRef]
  58. Kamal, M.; Srivastava, G.; Tariq, M. Blockchain-Based Lightweight and Secured V2V Communication in the Internet of Vehicles. IEEE Trans. on Intell. Transp. Syst. 2020, 1–8. [Google Scholar] [CrossRef]
  59. Danzi, P.; Kalor, A.E.; Sorensen, R.B.; Hagelskjaer, A.K.; Nguyen, L.D.; Stefanovic, C.; Popovski, P. Communication Aspects of the Integration of Wireless IoT Devices with Distributed Ledger Technology. IEEE Netw. 2020, 34, 47–53. [Google Scholar] [CrossRef]
  60. Musso, S.; Perboli, G.; Rosano, M.; Manfredi, A. A Decentralized Marketplace for M2M Economy for Smart Cities. In Proceedings of the 2019 IEEE 28th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE), Napoli, Italy, 12–14 June 2019; pp. 27–30. [Google Scholar]
  61. Yin, S.; Bao, J.; Zhang, Y.; Huang, X. M2M Security Technology of CPS Based on Blockchains. Symmetry 2017, 9, 193. [Google Scholar] [CrossRef]
  62. Strugar, D.; Hussain, R.; Mazzara, M.; Rivera, V.; Lee, J.Y.; Mustafin, R. On M2M Micropayments: A Case Study of Electric Autonomous Vehicles. In Proceedings of the 2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), Halifax, NS, Canada, 30 July–3 August 2018; pp. 1697–1700. [Google Scholar]
  63. Leiding, B.; Vorobev, W.V. Enabling the V2X Economy Revolution Using a Blockchain-Based Value Transaction Layer for Vehicular Ad-hoc Networks. MCIS 2018 Proceedings. 33.: 2018. Available online: https://aisel.aisnet.org/mcis2018/33 (accessed on 20 January 2021).
  64. Silvano, W.F.; Marcelino, R. Iota Tangle: A cryptocurrency to communicate Internet-of-Things data. Future Gener. Comput. Syst. 2020, 112, 307–319. [Google Scholar] [CrossRef]
  65. Blechschmidt, B.; Stöcker, C. How Blockchain Can Slash the Manufacturing “Trust Tax”. Cognizant: 2017. Available online: https://www.cognizant.com/whitepapers/how-blockchain-can-slash-the-manufacturing-trust-tax-codex2279.pdf (accessed on 12 December 2020).
  66. Lundqvist, T.; Blanche, A.D.; Andersson, H.R.H. Thing-to-thing electricity micro payments using blockchain technology. In Proceedings of the 2017 Global Internet of Things Summit (GIoTS), Geneva, Switzerland, 6–9 June 2017; pp. 1–6. [Google Scholar]
  67. Robert, J.; Kubler, S.; Ghatpande, S. Enhanced Lightning Network (off-chain)-based micropayment in IoT ecosystems. Future Gener. Comput. Syst. 2020, 112, 283–296. [Google Scholar] [CrossRef]
  68. Mercan, S.; Kurt, A.; Erdin, E.; Akkaya, K. Cryptocurrency Solutions to Enable Micro-payments in Consumer IoT. IEEE Consum. Electron. Mag. 2021, 1. [Google Scholar] [CrossRef]
  69. Kurt, A.; Mercan, S.; Erdin, E.; Akkaya, K. Enabling Micro-Payments on IoT Devices using Bitcoin Lightning Network. arXiv 2020, arXiv:2012.10576. [Google Scholar]
  70. Zhang, Y.; Yang, D. RobustPay: Robust Payment Routing Protocol in Blockchain-based Payment Channel Networks. In Proceedings of the 2019 IEEE 27th International Conference on Network Protocols (ICNP), Chicago, IL, USA, 8–10 October 2019; pp. 1–4. [Google Scholar]
  71. Manogaran, G.; Rawal, B.S.; Saravanan, V.; Kumar, P.M.; Martínez, O.S.; Crespo, R.G.; Montenegro-Marin, C.E.; Krishnamoorthy, S. Blockchain based integrated security measure for reliable service delegation in 6G communication environment. Comput. Commun. 2020, 161, 248–256. [Google Scholar] [CrossRef]
  72. Danzi, P.; Kalør, A.E.; Stefanović, Č.; Popovski, P. Delay and Communication Tradeoffs for Blockchain Systems with Lightweight IoT Clients. IEEE Internet Things J. 2019, 6, 2354–2365. [Google Scholar] [CrossRef] [Green Version]
  73. Hülsing, A. W-OTS+—Shorter Signatures for Hash-Based Signature Schemes. In Progress in Cryptology—AFRICACRYPT 2013; Youssef, A., Nitaj, A., Hassanien, A.E., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; Volume 7918. [Google Scholar]
  74. Popov, S.; Saa, O.; Finardi, P. Equilibria in the tangle. Comput. Ind. Eng. 2019, 136, 160–172. [Google Scholar] [CrossRef] [Green Version]
  75. Son, B.; Lee, J.; Jang, H. A Scalable IoT Protocol via an Efficient DAG-Based Distributed Ledger Consensus. Sustainability 2020, 12, 1529. [Google Scholar] [CrossRef] [Green Version]
  76. Kusmierz, B.; Sanders, W.; Penzkofer, A.; Capossele, A.; Gal, A. Properties of the Tangle for Uniform Random and Random Walk Tip Selection. In Proceedings of the 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 14–17 July 2019; pp. 228–236. [Google Scholar]
  77. Kusmierz, B.; Gal, A. Probability of Being Left Behind and Probability of Becoming Permanent Tip in the Tangle v0.2; IOTA Foundation: Berlin, Germany, 2018; Available online: https://assets.ctfassets.net/r1dr6vzfxhev/6FMwUH0b4WIyi6mm8oWWgY/8f1d7b30f7b652098a5e68b6634c63df/POLB-02.pdf (accessed on 25 June 2020).
  78. Heilman, E.; Narula, N.; Tanzer, G.; Lovejoy, J.; Colavita, M.; Virza, M.; Dryja, T. Cryptanalysis of Curl-P and Other Attacks on the IOTA Cryptocurrency. IACR Trans. Symmetric Cryptol. 2020, 2020, 367–391. [Google Scholar] [CrossRef]
  79. Mobilefish IOTA Tutorial 2: Trit and Tryte. Available online: https://www.mobilefish.com/download/iota/trits_trytes_part2.pdf (accessed on 5 July 2020).
  80. Young, J. Why A Mysterious Ethereum User Paid $2.6 Million To Send $130 Of Crypto. Available online: https://www.forbes.com/sites/youngjoseph/2020/06/10/why-a-mysterious-crypto-user-paid-26-million-to-send-merely-130-in-ethereum/?sh=4b487fac588a (accessed on 10 July 2020).
  81. Bernstein, D.J.; Lange, T. SafeCurves: Choosing Safe Curves for Elliptic-Curve Cryptography. 2013. Available online: https://safecurves.cr.yp.to/ (accessed on 12 January 2020).
  82. Bernstein, D.J.; Duif, N.; Lange, T.; Schwabe, P.; Yang, B.-Y. High-speed high-security signatures. J. Cryptogr. Eng. 2012, 2, 77–89. [Google Scholar] [CrossRef] [Green Version]
  83. Buchmann, J.; Dahmen, E.; Ereth, S.; Hülsing, A.; Rückert, M. On the Security of the Winternitz One-Time Signature Scheme; Progress in Cryptology–AFRICACRYPT 2011; Nitaj, A., Pointcheval, D., Eds.; Springer: Berlin/Heidelberg, Germany, 2011; pp. 363–378. [Google Scholar]
  84. Foundation, IOTA. The Coordicide. 2020. Available online: https://files.iota.org/papers/20200120_Coordicide_WP.pdf (accessed on 20 August 2020).
  85. Viswanathan, S.; Shah, A. The Scalability Trilemma in Blockchain. Available online: https://aakash-111.medium.com/the-scalability-trilemma-in-blockchain-75fb57f646df (accessed on 15 July 2020).
  86. Zhou, Q.; Huang, H.; Zheng, Z.; Bian, J. Solutions to Scalability of Blockchain: A Survey. IEEE Access 2020, 8, 16440–16455. [Google Scholar] [CrossRef]
  87. Cisneros, B.; Ye, J.; Park, C.H.; Kim, Y. CoviReader: Using IOTA and QR Code Technology to Control Epidemic Diseases across the US. In Proceedings of the 2021 IEEE 11th Annual Computing and Communication Workshop and Conference (CCWC), Las Vegas, NV, USA, 27–30 January 2021; pp. 0610–0618. [Google Scholar]
  88. Bekrar, A.; Ait El Cadi, A.; Todosijevic, R.; Sarkis, J. Digitalizing the Closing-of-the-Loop for Supply Chains: A Transportation and Blockchain Perspective. Sustainability 2021, 13, 2895. [Google Scholar] [CrossRef]
  89. Aileni, R.M.; Suciu, G. IoMT: A Blockchain Perspective. Decentralised Internet of Things: A Blockchain Perspective; Khan, M.A., Quasim, M.T., Algarni, F., Alharthi, A., Eds.; Springer International Publishing: Cham, Switzerland, 2020; pp. 199–215. [Google Scholar]
  90. Lima, V.; Bernardi, F.; Rijo, R.; Ueyama, J.; Alves, D. A Mechanism for Verifying the Integrity and Immutability of Tuberculosis Data Using IOTA Distributed Ledger Technology. Stud. Health Technol. Inform. 2021, 279, 130–135. [Google Scholar]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.