An in-depth overview of the IOTA ICT client for swarm nodes and swarm intelligence in the context of Economic Clustering.
“Complex system theory deals with dynamical systems containing a very large number of variables, showing a plethora of emergent features, arising in a broad range of contexts. A central focus of these notes is the notion of complexity arising within evolving and dynamical network structures, such as the gene expression networks at the basis of all living, adaptive ecological networks or neural networks for cognitive information processing. Complex systems theory ultimately forms the basis of our long-standing quest for exploring and understanding cognitive systems in general and our brain in particular – the mammalian brain is probably the most complex of all adaptive networks known to humanity.”
One of the more interesting recent developments on the IOTA front has been the release of the IOTA Control AgeNT (ICT for short) initial working implementation. ICT is an alternative IOTA implementation for swarm nodes running on low-end devices, which Sergey Ivancheglo (a.k.a. Come-From-Beyond) describes as follows:
“…using the final design of the transaction structure, swarm logic and relying on (static) Economic Clustering instead of the Coordinator for double-spending protection. Extra service plugins can be attached to ICTs to allow their operators earn iotas. ICT is being developed for the Internet, not for the Internet-of-Things.”
The swarm node version of the IOTA client has always been on the roadmap:
“Another approach planned to enable the IOTA client running in these very resource restrained environments is to shard the core logic and database amongst different devices that then collectively run it. Similarly to swarm intelligence, this enables a cluster of devices to efficiently make transactions without being a full node, but having reduced trust requirements from SPV and light clients.”
At present, Swarm intelligence and control capabilities are in a preliminary testing phase and there is limited available information regarding the exact nature of ICT and its role in the broader IOTA ecosystem. What is known is that, as indicated above, ICT allows for a full node to be sharded across many edge nodes (e.g., single-board computers, sensors or micro-controllers) in a highly scalable manner. The capacity of nodes to self-organize in loosely coupled subsystems and clusters, optimized around a particular role or function also obviously relates to the notion of Economic Clustering (EC) that was brought up earlier this year in a blog post by Sergey Ivancheglo.
Economic Clustering and Local Modifiers
Ivancheglo (CfB) describes the concept of Economic Clustering:
“Economic clustering (EC) is the name of a hypothesis created by me in 2013 during the development of Nxt, the hypothesis creation was triggered by Economic majority post of Meni Rosenfeld. EC hypothesis states that the ledger state of a cryptocurrency is determined by the participants of the economic cluster who try to maximize their wealth even if breaking “Longest chain wins” rule is required. IOTA relies on EC to enable infinite scalability, the Tangle allows doing that in a seamless manner, a blockchain-based solution would require a band-aid. So how IOTA may look in a few years when EC is deployed to the mainnet? I envision the following picture. There is Cluster 0. It consists of nodes interacting via the Internet, main economic cluster actors – big companies – run special software playing the role of a distributed Coordinator. This software does only one thing — it signals that a particular actor has seen certain transactions and will accept them as legitimate ones with some probability. There are thousands of other clusters formed by nodes interacting via the Internet-of-Things. Some of them are connected to Cluster 0 directly. A single cluster can be a group of devices in a building, in a park, in a town, or even on a stretch of road. The structure depends on economic activity in an area. A single cluster is connected to several other clusters, mainly adjacent ones (in spatial meaning). Each cluster processes its own transactions and transactions of the neighbor clusters, all the other transactions are ignored because they simply don’t reach the cluster. This picture leads to the following consequences (not applicable to Cluster 0). It’s impossible to send iotas to someone in a distant cluster unless someone else offers a special exchange service between the clusters (and charges fees), the payment must do several hops from cluster to cluster. It’s the price to pay for the scalability. Your iotas must repeat your itinerary during a long trip. While your car goes from one cluster to another you need to spend the iotas back to yourself periodically. As was said, this is for IoT-based IOTA, keep your iotas in Cluster 0 if the mentioned consequences make you feel uncomfortable. The picture drawn by me may actually be different when EC comes to the mainnet. Keep this in mind. “
An important distinction must be noted here. There is a difference between the standard domain of the Internet as we know it, with its user-centric human-sided interface and logic, and the realm and inner logic of entangled IoT meshnets, their machine economies and convoluted workings. Either way, to give a loose analogy of an example of economic clustering from Ethereum, one can take the Plasma side-chains design space.