Exclusive Interview with MicroHash, let’s talk about ICT
The full article was originally published by Daniel De Michele on IOTA Hispano. Read the full article here.
Last year we had the opportunity to interview MicroHash (Lukas Tassanyi) who explained to us about Qubiota, one of the first Ecosystem’s projects related to Qubic.
A couple of months ago, Lukas became part of the IOTA Foundation team and has been actively working on IOTA Controller AgentT (ICT) development.
On this occasion we wanted Lukas to help us understanding a bit more about what ICT does and will do and how it enables Economic Clustering. So, if you’re interested in learning more about this topics, you can’t miss this interview.
In our last interview you weren’t part of the IF yet. Could you describe how a day at work is now that you are part of IF?
I really enjoy working at the Foundation. Since I‘m working remotely, I have a lot of freedom in regards to how I manage my time and can basically work from anywhere where I have internet access. My work day consists of checking in on the ict channels on Discord to help, find out about bugs, discuss various concepts with the community and the team. But obviously the vast majority of time is spent on coding: figuring out how to tackle a required feature or technical problem and implementing the solution.
Due to time zone differences, work mixes a lot into other daily activities as well. It‘s quite common that someone tries to initiate a technical conversation with me in the middle of the night. But you get used to that after some time , haha.
We would like to take this opportunity to understand as much as possible about the things you are working on. How would you introduce ICT?
Ict – short for Iota Controlled agenT – is our IOTA node implementation built specifically for edge devices in the Internet-of-Things. In contrast to IRI, the standard IOTA full node software, Ict is much more lightweight in design. This allows even weak devices with low computational resources to connect to the IOTA network and operate on the Tangle – a very important step towards IOTA‘s end vision for the Internet-of-Things.
Although Ict will define the final IOTA protocol – which IRI will adjust to at some point in the future, Ict is still in a very experimental state. It‘s a fastly developing prototype currently being built by the Omega-Team. Once the development transitions to the Alpha team, it will be rebuilt in a more efficient language with a higher focus on performance to meet the demands of edge devices.
Ict does not store the entire Tangle history. Instead, it is intended for nodes with a specific use case. Based on that use case, it filters through all incoming transactions and only considers those relevant for the application. These applications are realized through custom modules which are plugged into Ict. They communicate with the Tangle through a minimal and simplified interface – the IOTA eXtension Interface (IXI). Hence these plugins are called IXI modules. Examples for existing IXI modules are CHAT.ixi [https://blog.iota.org/chat-ixi-using-ict-for-permissionless-chat-on-the-iota-tangle-59ce6c5b95fb] (a dezentralized chat running on the Tangle), the community-built Report.IXI [https://github.com/Trifel/Report.ixi] (an Ict network monitoring tool) and EC.ixi [https://github.com/iotaledger/ec.ixi].
What is Economic Clustering and why is it necessary for IOTA to become the backbone of IoT?
Economic Clustering or short EC is the consensus mechanism used for Ict. Due to the limited computational resources of edge devices in the Internet-of-Things, we cannot expect every Ict node to validate the entire ledger themselves. Instead, Economic Clustering allows Ict nodes to „follow“ the opinion of other nodes.
Those latter nodes are called Economic Actors. They publicly tell the network how confident they are that a specific part of the Tangle is confirmed. That confidence can reach from 0% to 100% and will be adjusted constantly. Depending on which actors you follow, you are part of a different Economic Cluster. Each cluster comes to their own consensus and therefore their own ledger.
Other Ict nodes rely on multiple of these actors to estimate the probability that a specific transaction confirmed in their cluster. As such, these actors can be compared to a distributed coordinator. However, everybody can maintain their own actor to do the ledger validation themselves if they are running Ict on a more powerful device.
How would you explain, in a not technical way, how Ict contributes to build EC?
Ict itself makes it possible for custom plugins (the IXI modules) to talk to and listen to the Tangle. This happens by sending new transactions to the network, looking up existing transactions or analyzing incoming transaction as soon as they are received.
EC is built on top of Ict as such an IXI module, hence it is called EC.ixi. The IXI, actors in EC.ixi can issue new transactions to the Tangle. These transactions, called markers, state how likely a certain Tangle is confirmed. Other nodes use EC.ixi to listen to the Tangle and find these markers. This way EC can simply utilize the Tangle to transfer data from one node to another without the need to know how Ict works on a lower level.
Could you provide an ICT use case in real life?
Sure. I think the most illustrative one might be a car. Imagine a highway with many cars from a multitude of different manufacturers. If you want to let them communicate, they need a shared underlying protocol. The IOTA Tangle offers exactly this a permissionless, lightweight way with data-integrity and feeless value transfers directly implemented.
Now those cars have little reason to run a heavy full node. After all, they try to solve domain specific problems (e.g. prevent traffic issues and improve efficiency). Therfore they only care about a very tiny subset of transactions. With Ict they can hook into the entire stream of transactions and find those transactions relevant. This will be mostly those transactions issued by cars nearby with content that can be interpreted.
For example, your car might agree with the car behind to let it drive in behind in very close distance to decrease the air resistance. This is called „platooning“ and as a result, the other car will waste significantly less fuel or electricity and can reward your car with a part of these savings by streaming micro-payments through an IOTA Flash channel back to your car‘s wallet.
Due to the use of Ict, your car can decrease the resources used to run a node enourmously. While this might not be that big of a deal for a car, weaker devices (sensors, toasters, drones etc.) would certainly benefit even more of any resource reducations.