Computing Resource Allocation Scheme for DAG-Based IOTA Nodes
Abstract
:1. Introduction
- ▪
- A light node is not directly connected to the Tangle; instead, it is connected to a full node. Light nodes consume the full node’s resources arbitrarily to validate and attach their Txs to the tangle [5]. The light nodes connections are not distributed fairly between full nodes. It happens that a full node has a high number of linked connections than others. Thus, it performs huge computing tasks while other full nodes are in idle state, leading to a performance issue during the peak time;
- ▪
- The established connection between light and full node is unstable since the latter is not replicated, and it is not guaranteed to be online all the time. This type of connection is considered as a single point of failure.
- Shed light on IOTA as an alternative DLT platform satisfies the massive IoT devices;
- Highlight the interconnection mechanism of different IOTA nodes and the resource allocation concern in the current situation;
- Propose a load balance scheme to redistribute the computing tasks fairly based on the different node capabilities.
2. Background and Distributed Ledger Technologies
2.1. Blockchain Overview
2.2. IOTA Infrastructure
2.2.1. Coordinator
2.2.2. IOTA Address
2.2.3. Creation Transaction Mechanism
- Create a bundle: whenever a node wants to add a Tx to the network, it should create a bundle of Txs called sub-Txs. A normal Tx is a bundle of four sub-Txs that are indexed from 0 to 3. Index 0 is the recipient’s address “output” of the external wallet with the amount to be sent. Index 1 is the sum of all the amounts inside the sender wallet called “inputs” and has half of the sender’s signature. Index 2 represents the second half of the sender’s signature. Index 3 is the remainder “output” that must return to the sender’s wallet, which is the output minus the input. Accordingly, successful bundle results in equal number of Txs in both output and input. The bundle is atomic so that either all its Txs are accepted or none of them.
- Select tips: Before attaching a Tx (bundle of Txs) to the Tangle, the node should select the two newest tips and approve them.Building a robust “select tip algorithm” is mandatory in a DAG-based decentralized environment. The motivations behind designing such an algorithm are based on pushing nodes to select the unapproved Txs (tips) and checking the conflict of transactions, double spending, and falsifying. There are three main algorithms that the coordinator can use to trigger the node to select tips [17]: unweighted random walk, weighted random walk, and Markov Chain Monte Carlo (MCMC).
- Proof of work (PoW): Performing PoW is the node’s last task before issuing its transaction. Once the bundle is created, signed, and tips are attached to the bundle, the node performs PoW for each Tx of the bundle. The PoW is a sophisticated mathematical approach represented by the node’s computational effort to achieve a predefined minimum weight magnitude (MWM) of the hash function Curl [16]. An MWM is the number of zeros included in a nonce to be accepted. During the execution of PoW, a nonce is found by combining a specific counter with Tx data that fit with the MWM. The PoW process is hard to achieve, but it is easy to verify the answer. Thus, the PoW validation will be the node task that signalizes this tip, and so on. Once PoW is performed, the bundle is attached to the Tangle as a new tip and broadcasted to the whole network to be validated by some node(s) later on.
2.3. IOTA Updates
- Autopeering: Currently, the process that allows nodes to join the network is applied manually, but it probably subjects the nodes to various attacks, such as the eclipse attack. Where the adversary can control the entire neighbor’s node. The autopeering mechanism is required to facilitate the neighboring operations and hinder attacker activities from targeting specific nodes. Autopeering consists of “peer discovery” and “neighbor selection” mechanisms. Peer discovery uses the authentication ping-pong protocol that allows every node to impart or perceive other network participants.
- Voting and Consensus: Tangle can comprise conflicting Txs due to the network propagation delay. Thus, it is required to reach a consensus on those conflicting transactions, which are currently applied by the tip selection algorithm. However, this algorithm is considered slow in solving the conflict since it uses random walking bias via honest nodes that leave conflicting branches behind. In addition, the Txs that select the wrong branch will be orphaned and reattached to the large number of Txs of the proper branch. Therefore, a consensus mechanism called “Shimmer” is introduced in the new release of IOTA. Hence, nodes query other nodes about their current opinion of the ledger and adjust their opinion based on the proportion of other opinions. Two voting mechanisms, fast probabilistic consensus (FPC) [18] and cellular automata (CA) [19] are used to allow nodes to communicate and decide on Txs status. There is a possibility of requiring a combination of both mechanisms to add flexibility to the voting process.
- Tip selection: Represents a crucial part of the IOTA network that pushes nodes to verify the Tangle Txs. Currently, the biased random walk used by the coordinator has computational drawbacks, as it adds complexity over the orphaned Txs and obligates nodes to reattach them later on. The new consensus mechanism is independent of the tip selection algorithms (TSA), so the current TSA algorithms can be enhanced to select faster tips and incentivize non-lazy nodes. Furthermore, the limitation behind the biased random walk behavior is improved by pushing the node to select from non-lazy nodes only while lazy nodes still have a chance to be promoted and approved if their issuer intends to. There is no direct intervention in the selection process, and at the same time, the selection becomes faster;
- Adaptive PoW: IOTA proposed this new algorithm [13] to allow devices with low computing resources to be involved in the attaching Txs’ process to the Tangle. Additionally, it seeks to limit the devices with high resources from attaching an infinite number of Txs. IOTA defines new parameters on each node. The basic difficulty represents the threshold difficulty level that fits with any small device capacity. The adaptive rate is calculated based on mana owned by the node [13] and the number of Txs issued by this node within a time w. Each node’s new difficulty is equal to the basic difficulty plus the adaptive rate multiplied by the number of issued Txs within a time interval w. Thus, the more a node issues Txs, the more the difficulty increases, and the allowed number of Txs is adjusted. On the other side, this algorithm empowers the low-resource devices to issue Txs with a minimal degree of difficulty;
- Global node identities: in the new coordicide architecture, each node in the network has its identity that must be well protected. The identity is based on a new common public-key cryptography created by the IOTA foundation to sign Txs and link it to the issuing node in a tamper-proof way. Additionally, the issuing node adds its public key to every signed Tx. On the other side, introducing identities leads to a Sybil attack [20]. By introducing “mana”, this kind of attack is mitigated. “Mana” is a reputation value that is equivalent to the total funds transferred within the transaction. In that way, the more mana, the more contributions in the network and vice versa.
3. Resource Allocation Proposal
- Full node: is similar to the full node categorized by IOTA. Such nodes are essential in the P2P system and are characterized by the full ledger size and high computing power. Full nodes are the only components of the IOTA network to attach the Txs to the Tangle;
- Light node: also similar to the light nodes categorized by the IOTA; it is the node that has computing capacity much less than the full nodes and higher than the zero nodes (defined below). The light node can create and sign Tx, but it does not store the ledger or attach its Tx to the Tangle directly;
- Zero node: the node that does not share its resource with any node and requests assistance from other nodes to attach its Tx(s) to the Tangle.Zero nodes are divided into two categories: permanent and temporary. The permanent zero nodes represent the weak IoT devices that cannot perform computing effort or store ledger information. This type of zero nodes does not participate in the Tangle network directly. However, they are attached to one of the active nodes. They are similar to the lightweight node in the current IOTA classification and assigned to nearly similar tasks. The second category is a temporary zero node that is one of either full nodes or light nodes which stops sharing their resources with other nodes and decides to request assistance from other nodes according to our algorithm rules. An active full node is turned into a temporary zero node in the below cases:
- ✠
- High traffic: an active node with a high number of Txs that bypasses a predefined limit. It forcibly turns into a temporary zero node and redistributes the incoming Txs to all other nodes based on the proposed resource allocation algorithm;
- ✠
- Offline status: in case of maintenance, loss of connection, or any other hardware failure, the node will be suppressed from all the neighbor lists. However, it can generate offline Txs in some cases;
- ✠
- Owner decision: The user can manually turn off the share node activities.
3.1. Load Balancing Overview
3.2. WLC Algorithm
4. Experiments and Results
4.1. Implementation: WLC in a Private Tangle
4.2. Simulation: Decentralized WLC
4.2.1. Nodes with Similar Resources
4.2.2. Nodes with Different Resources
4.3. Extension to a Tangle with Multiple Networks
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Li, Y. An Integrated Platform for the Internet of Things Based on an Open Source Ecosystem. Future Internet 2018, 10, 105. [Google Scholar] [CrossRef] [Green Version]
- Dey, N.; Hassanien, A.E.; Bhatt, C.; Ashour, A.; Satapathy, S.C. Internet of Things and Big Data Analytics toward Next-Generation Intelligence; Springer: Berlin, Germany, 2018; Volume 35. [Google Scholar]
- Yang, K.; Forte, D.; Tehranipoor, M.M. Protecting endpoint devices in IoT supply chain. In Proceedings of the 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), Austin, TX, USA, 2–6 November 2015; pp. 351–356. [Google Scholar]
- Reyna, A.; Martín, C.; Chen, J.; Soler, E.; Díaz, M. On blockchain and its integration with IoT. Challenges and opportunities. Future Gener. Comput. Syst. 2018, 88, 173–190. [Google Scholar] [CrossRef]
- Hellani, H.; Samhat, A.E.; Chamoun, M.; El Ghor, H.; Serhrouchni, A. On blockchain technology: Overview of bitcoin and future insights. In Proceedings of the 2018 IEEE International Multidisciplinary Conference on Engineering Technology (IMCET), Beirut, Lebanon, 14–16 November 2018; pp. 1–8. [Google Scholar]
- Sekaran, R.; Patan, R.; Raveendran, A.; Al-Turjman, F.; Ramachandran, M.; Mostarda, L. Survival Study on Blockchain Based 6G-Enabled Mobile Edge Computation for IoT Automation. IEEE Access 2020, 8, 143453–143463. [Google Scholar] [CrossRef]
- 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]
- Alexander, R. IOTA—Introduction to the Tangle Technology: Everything You Need to Know about the Revolutionary Blockchain Alternative; Independently Published; 2018; p. 96. ISBN 198041887X. Available online: https://www.abebooks.com/servlet/SearchResults?ltrec=t&isbn=9781980418870&bi=/ (accessed on 5 May 2021).
- Hellani, H.; Sliman, L.; Hassine, M.B.; Samhat, A.E.; Exposito, E.; Kmimech, M. Tangle the Blockchain: Toward IOTA and Blockchain Integration for IoT Environment. In Proceedings of the International Conference on Hybrid Intelligent Systems, Bhopal, India, 10–12 December 2019; pp. 429–440. [Google Scholar]
- Hassine, M.B.; Kmimech, M.; Hellani, H.; Sliman, L. Toward a Mixed Tangle-Blockchain Architecture. In Knowledge Innovation Through Intelligent Software Methodologies, Tools and Techniques: Proceedings of the 19th International Conference on New Trends in Intelligent Software Methodologies, Tools and Techniques (SoMeT_20), Kitakyushu, Japan, 22–24 September 2020; IOS Press: Tokyo, Japan, 2020; Volume 327, p. 221. [Google Scholar]
- Khrais, L.T. Comparison Study of Blockchain Technology and IOTA Technology. In Proceedings of the 2020 Fourth International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud)(I-SMAC), Palladam, India, 7–9 October 2020; pp. 42–47. [Google Scholar]
- Vigneri, L.; Welz, W.; Gal, A.; Dimitrov, V. Achieving Fairness in the Tangle through an Adaptive Rate Control Algorithm. In Proceedings of the 2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC), Seoul, Korea, 14–17 May 2019; pp. 146–148. [Google Scholar]
- Popov, S.; Moog, H.; Camargo, D.; Capossele, A.; Dimitrov, V.; Gal, A.; Greve, A.; Kusmierz, B.; Mueller, S.; Penzkofer, A.; et al. The Coordicide 2020. Available online: https://files.iota.org/papers/20200120_Coordicide_WP.pdf (accessed on 5 May 2021).
- Vigneri, L.; Welz, W. On the Fairness of Distributed Ledger Technologies for the Internet of Things. In Proceedings of the IEEE International Conference on Blockchain and Cryptocurrency (ICBC), Toronto, ON, Canada, 2–6 May 2020. [Google Scholar]
- Divya, M.; Biradar, N.B. IOTA-next generation block chain. Int. J. Eng. Comput. Sci. 2018, 7, 23823–23826. [Google Scholar]
- Heilman, E.; Narula, N.; Dryja, T.; Virza, M. Iota Vulnerability Report: Cryptanalysis of the Curl Hash Function Enabling Practical Signature Forgery Attacks on the Iota Cryptocurrency. 2017. Available online: https://github.com/mit-dci/tangled-curl/blob/master/vuln-iota.md (accessed on 5 May 2021).
- Popov, S. The tangle. Cit. On 2016, 131. Available online: http://www.descryptions.com/Iota.pdf (accessed on 5 May 2021).
- Popov, S.; Buchanan, W.J. FPC-BI: Fast Probabilistic Consensus within Byzantine Infrastructures. arXiv 2019, arXiv:1905.10895. [Google Scholar] [CrossRef]
- Codd, E.F. Cellular Automata; Academic Press: Cambridge, MA, USA, 2014. [Google Scholar]
- Douceur, J.R. The sybil attack. In Proceedings of the International Workshop on Peer-to-Peer Systems, Cambridge, MA, USA, 7–8 March 2002; pp. 251–260. [Google Scholar]
- Grosu, D.; Chronopoulos, A.T. Noncooperative load balancing in distributed systems. J. Parallel Distrib. Comput. 2005, 65, 1022–1034. [Google Scholar] [CrossRef] [Green Version]
- Alakeel, A.M. A guide to dynamic load balancing in distributed computer systems. Int. J. Comput. Sci. Inf. Secur. 2010, 10, 153–160. [Google Scholar]
- Beniwal, P.; Garg, A. A comparative study of static and dynamic load balancing algorithms. Int. J. Adv. Res. Comput. Sci. Manag. Stud. 2014, 2, 1–7. [Google Scholar]
- Rasmussen, R.V.; Trick, M.A. Round robin scheduling—A survey. Eur. J. Oper. Res. 2008, 188, 617–636. [Google Scholar] [CrossRef] [Green Version]
- Yu, S.; Yang, L.; Lu, S.; Zhou, J. Least-Connection Algorithm Based on Variable Weight for Multimedia Transmission; World Scientific and Engineering Academy and Society: Wuhan, China, 2002; pp. 1441–1445. Available online: http://www.wseas.us/e-library/conferences/skiathos2002/papers/447-144.pdf (accessed on 5 May 2021).
- IOTA-Documents. Run a GoShimmer Node. Available online: https://docs.iota.org/docs/node-software/0.1/goshimmer/how-to-guides/run-the-node (accessed on 5 May 2021).
- IOTA Foundation. Available online: https://docs.iota.org/docs/load-balancer/1.0/overview (accessed on 5 May 2021).
- Hellani, H.; Sliman, L.; Samhat, A.E.; Exposito, E. GitHub. Available online: https://github.com/housseinh/IOTA-WLC (accessed on 28 June 2021).
- Birman, K. The promise, and limitations, of gossip protocols. ACM SIGOPS Oper. Syst. Rev. 2007, 41, 8–13. [Google Scholar] [CrossRef]
- Voulgaris, S.; Jelasity, M.; Van Steen, M. A robust and scalable peer-to-peer gossiping protocol. In Proceedings of the International Workshop on Agents and P2P Computing; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Gremany, 2003; Volume 2872, pp. 47–58. [Google Scholar]
Functions | IOTA Structure | Proposed Structure | ||||
---|---|---|---|---|---|---|
Full Node | Light Node | Full Node | Light Node | Temporary Zero Node | Permanent Zero Node | |
Stores the Tangle | ✓ | ✕ | ✓ | ✕ | ✓ | ✕ |
Communicate with neighbors | ✓ | ✕ | ✓ | ✕ | ✓ | ✕ |
Bundle, create, sign tx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Tip selection | ✓ | ✕ | ✓ | ✕ | ✓ | ✕ |
Validation | ✓ | ✕ | ✓ | ✕ | ✓ | ✕ |
POW locally | ✓ | ✓ | ✓ | ✕ | ✓ | ✕ |
Attach to Tangle | ✓ | ✕ | ✓ | ✕ | ✓ | ✕ |
Receive Transaction request | ✓ | ✕ | ✓ | ✕ | ✕ | ✕ |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Hellani, H.; Sliman, L.; Samhat, A.E.; Exposito, E. Computing Resource Allocation Scheme for DAG-Based IOTA Nodes. Sensors 2021, 21, 4703. https://doi.org/10.3390/s21144703
Hellani H, Sliman L, Samhat AE, Exposito E. Computing Resource Allocation Scheme for DAG-Based IOTA Nodes. Sensors. 2021; 21(14):4703. https://doi.org/10.3390/s21144703
Chicago/Turabian StyleHellani, Houssein, Layth Sliman, Abed Ellatif Samhat, and Ernesto Exposito. 2021. "Computing Resource Allocation Scheme for DAG-Based IOTA Nodes" Sensors 21, no. 14: 4703. https://doi.org/10.3390/s21144703
APA StyleHellani, H., Sliman, L., Samhat, A. E., & Exposito, E. (2021). Computing Resource Allocation Scheme for DAG-Based IOTA Nodes. Sensors, 21(14), 4703. https://doi.org/10.3390/s21144703