IOTA Report: Decoding the Tangle Part 4
- Post by: bag2q
- May 11, 2018
- Comments off
A tangled present, a tangled future?
IOTA Report Overview
This four-part series aims to provide an in-depth analysis of IOTA. We further discussed the purpose of this series in Part 1: IOTA Report: Decoding the Tangle — Part 1
Part 2 focuses on the history of the team, token and protocol: IOTA Report: Decoding the Tangle Part 2.
Part 3 contrasts the technological promises of the Tangle, as outlined in the Whitepaper, with the current practical implementation of the IOTA protocol: IOTA Report: Decoding the Tangle Part 3.
Part 4 will start by looking at the current use cases of IOTA, and the likely reasons behind a lack of them, before examining the planned developments to the network, and what must happen if IOTA is to have a chance of realizing its aims.
Summary / TL;DR
- Real world applications of IOTA are currently limited. The proofs of concept (PoCs) produced thus far mostly involve machines transacting real world data, such as environmental or agricultural data, for IOTA tokens.
- This is likely because the network in its current iteration is not suitable for IoT devices, and does not have the flexibility of a platform such as Ethereum.
- There are a number of prospective developments to the network, both in the pipeline and speculative, which seek to solve IOTA’s three principle problems: its centralized characteristics, its apparent lack of a complete ledger, and its unsuitability for the IoT target market.
- The commercial future of IOTA will rest on the ability of the IOTA Foundation to solve these problems.
Current Use Cases of IOTA , and recent developments to the network
Real world data
Given the nature of IOTA, most proofs of concept (PoCs) have involved potential use cases in which basic data is transferred between two machines. Many of these projects are hosted on IOTA’s official data marketplace, where it is possible to buy and sell data streams using IOTA tokens. Examples of data currently tradable on the marketplace include; location-specific environmental data, agricultural data and anonymized healthcare data from wearables. It hosts projects from some big players like Orange, Accenture and Fujitsu.
There is also hardware available for developers to do their own DIY projects: Ruuvi have released “the first IOTA compatible low-power sensor device”, which tracks temperature, air humidity, air pressure, and acceleration, and hosted a ‘summer camp’ exploring the possibilities of combining IOTA with real world sensors. Bosch also sell their XDK IoT developer kit. Other POCs have included a charging station and a smart parking solution.
The release of ‘Flash Channels’, which allows for instant microtransactions off the tangle, (IOTA’s answer to Bitcoin’s Lightning Network, more on why this is necessary later), has also given rise to a few PoCs. It has allowed Satoshipay, a startup located in Berlin that developed one of the first Bitcoin-based micropayment channels on the web, to integrate IOTA. Moreover, The IOTA Foundation hosted a Flash channels hackathon in February 2018.
Though the IOTA Foundation has got into some trouble in the past surrounding the use of the word ‘partnership’, the Tangle has attracted interest from a number of industries. In January 2018, IOTA announced a partnership with Taipei City. They stated, “the IOTA Foundation will work with the Taipei City and BiiLabs, a startup focused on Distributed Ledger Technology (DLT), to explore more possibilities of incorporating IOTA’s Tangle and data marketplace into the smart city”. Most intriguing perhaps, was the announcement in December that Bosch’s venture capital arm had made an investment in IOTA tokens. See this Reddit post for an informal and occasionally updated list of IOTA’s corporate connections.
Why not so serious?
Though there are certainly a few outliers experimenting with the Tangle, it’s certainly worth asking why, around two years after the network went live, we are seeing so few PoCs, and relatively little innovation and adoption, especially compared to Ethereum at a similar stage. As we see in this Coindeskarticle from January 2017, around 18 months after the system first went live Ethereum already boasted a global network of 20,000 developers, and interest from “every self-respecting innovation lab”. As of today, State of the dApps, a website showcasing a curated list of decentralized applications built on Ethereum, lists over 1250 Dapps (23.04.2018).
We propose a number of reasons for the lack of adoption of the IOTA protocol:
Current unsuitability to the IoT industry
So far, IOTA has been designed as a platform for the efficient exchange of value and data between machines, and is therefore aimed directly for the Internet of Things (IoT) economy. The PoCs we have seen until now — a charging station, pollution data, smart parking — work along these lines, but we are yet to see a more mainstream IoT product using the tangle. There are a few reasons behind this:
Firstly, the growth of the IoT economy has not been as breakneck as first predicted — in reality it is still in its infancy. A widely touted prediction made in 2010, of 50 billion connected devices by 2020, seems to have stuck, despite being a considerable overestimate. The real figure will be closer to 30 billion. Adoption has faltered, at times due to concerns over privacy and heavy handed regulation, and at times due to lack of consumer appetite and immature technology.
A greater problem, however, is that the IOTA network in its current state is not at all suited for IoT devices. What is meant by this? As outlined in Part 1, in order for a node to issue a valid transaction, it must first solve ‘a cryptographic puzzle similar to those in the Bitcoin blockchain’; proof of work (PoW). At the moment the difficulty of this cryptographic puzzle (called the Minimum Weight Magnitude) is set to a level which is impractically difficult for devices with low processing power (i.e IoT devices, or a Raspberry Pi). This is currently necessary to keep the network safe from attacks.
To give an idea of the scale of this, we ran a very informal benchmark using an otherwise idle Macbook Pro with a 2.7 GHz Intel Core i5 CPU with an integrated Intel Iris Graphics 6100 1536 MB GPU. On the ‘IOTA transaction spammer’, doing the PoW for a transaction took anywhere from 10–30 seconds (you can try it yourself here, although it’s a bit buggy). So, even on a device vastly more powerful than a Raspberry Pi, transacting takes too long for many of the touted use cases. This means that not only is IOTA currently impractical for real world use, but also frustrating for developers who may want to experiment with the technology.
The IOTA Foundation is aware of the issue: “one of the more tedious parts of IOTA development is waiting for PoW, which can take a long time”. They are attempting to patch this problem with a new feature called PoWbox, which allows developers using the testnet to outsource the PoW to cloud-based processors provided by the IOTA Foundation. It hoped that in the future network growth, swarm clients, and ternary processor adoption will provide the solution to this problem (see below). If they do not, then it is likely that individuals will begin to offer services to outsource the PoW on the mainnet for a fee.
No smart contracts
Currently IOTA seems to find itself in an odd position between pure cryptocurrencies like Bitcoin and Litecoin, which are solely used to exchange value, and incredibly flexible platforms like Ethereum and NEO, which support smart contracts and decentralized applications (dApps).
On the one hand IOTA is missing out on the lion’s share of development and innovation within the blockchain space, which is currently focused on the possibilities of smart contracts and dApps, which IOTA does not support. On the other hand, IOTA does not have the usability, availability, or network of pure cryptocurrencies like BTC or LTC, and so has not seen adoption on that front: for most of the network’s existence, making transactions safely has required much more technical knowledge than can be expected of a regular consumer. We saw the malign effects of this in January when $4 million in IOTA was stolen from users who used an online seed generator. It is hoped that usability and safety for casual users will improve with the release of the new ‘Trinity’ and ‘Nelium’ wallets.
Overall it’s not hard to see why things are not accelerating for IOTA. It does not support the most heavily developed area of the blockchain space, smart contracts, it cannot compete with other market players as platform for exchanging value, and it is not practically usable for its stated purpose as an IoT platform.
If uptake as a cryptocurrency and as an IoT platform has been sluggish (although to a large extent, adoption is a problem that is affecting the blockchain space in general), in the second half of this report we look at the steps being taken to improve the network, and the developments without which IOTA cannot hope to achieve widespread adoption.
Future Developments to the IOTA network
#1: Improving consumer availability and developer adoption
Improved wallets for consumers
The current wallets on offer are not particularly popular with members of the IOTA community. It is hoped that the IOTA Trinity Wallet, initially developed by Charlie Varley as a Masters thesis at UCL, will boost adoption by providing “a wallet that is not only more user friendly, but works across different platforms”. One of its most important features will be a transaction record. Given the nature of snapshots, whereby the transaction history is periodically ‘pruned’ (see Part 3 for more on this), on current wallets with each snapshot you also lose your transaction history. The wallet is currently in Alpha testing on both mobile and desktop, and as well as undergoing an audit. Support for the Ledger Nano S is also currently being tested, having been developed by community member Peter Willi.
IOTA Innovation Hub
The lack of development, as outlined at the beginning, has not escaped the notice of the IOTA Foundation, which has moved to mobilise some of the ‘tens of millions of dollars’ in their Ecosystem Development Fund. The IOTA Ecosystem, ‘a hub of education, innovation, tools, collaboration and development for the IOTA distributed ledger protocol’, looks set to be unveiled soon.
Some rightly raise issues with the concept of the ecosystem fund. Throwing money at developers is not going to achieve anything if the platform is not ready to be developed on. However, the idea that “when investors contributed to a project’s ICO, they did not contribute so that the company could start a fund. They contributed so that the company could *build the thing*” does not apply here, as the money was donated back in 2017 specifically for this purpose.
IOTA eXtension Interface Hub (IXI)
The IOTA Foundation is currently developing a plug and play solution for exchanges to integrate IOTA in their listings, called “Hub IXI, which takes care of some of the complexity related to input management for exchanges, wallets, faucets and other services.”
#2: Movement from centralization to decentralization
In the future, IOTA plans to introduce Permanodes, which are said to store the entire history of the Tangle. While wallets that save transaction history may be able to work around the fact that at present full nodes only store transaction history to the latest snapshot, if IOTA is to be adopted as a credible decentralized platform, there will be applications that require that “the full raw data of the ledger […] be kept and be accessible permanently” (IOTA Roadmap), as with blockchains. Permanodes will act as a pay-per-query service to full and light nodes.
A well designed incentivisation model will be crucial for integrating the Permanodes into a scalable IoT infrastructure that can provide global consensus in a decentralized fashion, but the Foundation is yet to release specifics on how this will work. A possible reason for this could be concerns that it be seen as a subtle relapse towards the proven blockchain model, which places great emphasis on state storage, i.e. being able to go back the entire history of the network. We also do not know what Permanodes will mean for the network’s core claim — that it is ‘feeless’, as a working incentivization model relies on paying Permanodes a fee for their service.
Snapshots act to reduce the size of the tangle periodically. In the future the snapshotting process is planned to be automated and at the discretion of full nodes, rather than being centrally decided by the IOTA Foundation. Full nodes may choose to snapshot frequently should they have little storage space. Others, such as corporate actors, may choose to keep more of the tangle history saved for easy access or to sell data.
Sharding of the Coordinator
Before letting the network run completely on its own, the Foundation plans on delegating the job of the Coordinator to multiple individuals. The creation of milestones (i.e. confirming which transactions are valid) will be distributed among multiple Delegates, similar to a classic DPoS model. The Foundation has not yet released any information on how nodes will be incentivised to become a delegate. This is the first step towards decentralizing from the IOTA Foundation. The next step will be to shut down the Coordinator completely and let the network run by itself.
#3: Real world use
Masked Authenticated Messaging
This feature claims to allow for encrypted data streams to be embedded into the Tangle in a quantum proof fashion. Only authorized parties will be able to reconstruct the data. This has applications in supply chain, banking, and a variety of other industries dealing with sensitive data.
In October 2017, IOTA released a demo for Flash Channels, a “bi-directional off-Tangle payment channel”, similar to Bitcoin’s Lightning Network, that enables an “instant and feeless value transfer”, which is highly suitable for microtransactions.
Why is this needed on a network which is supposed to be per se highly suited for microtransactions? Firstly, it is part of the push to optimize the network for low-processor IoT devices: with Flash channels, the PoW needs to be only performed once, to open the payment channel, rather than with every transaction that require additional resource consumption. Secondly, it optimizes the network for use cases that require lots of transactions in a short amount of time. As discussed in part 3, transactions currently take around two minutes to be officially confirmed by the coordinator, which clearly prohibits a product that requires you to pay pay per second, or per unit of energy.
Overall, IOTA is for general purpose transacting; whereas Flash is for use-case specific applications where token streaming between two parties is required.
Another attempt to combat the fact that the network is not yet practical for the very devices it is intended for. Given that small IoT devices are not currently even be able to run a light client, the Foundation plans to allow many small devices to pool resources and collectively behave like a client. Individual devices will only store and execute portions of the core logic yet together the swarm will be able to efficient make transactions.
The fruits of the JINN project that we outlined in Part 1 are yet to be seen, however, speculation surrounding a mooted ternary processor has been rife in the IOTA community, stoked by continual teasing of a project called ‘Q’. The IOTA Foundation seemed to confirm that there is such a processor in development in a recent tweet. A ternary processor would hypothetically make the PoW more accessible to low-power devices, as the computation would require less power than using traditional binary processors. Banking on this achieving mainstream adoption is no small gamble: until now the 50+ year history of processor development has been focussed on developing binary processors.
Real world data, such as timestamps, or even biometric data (and therefore the so-called ID of things (IDoT)), may soon be fed into the IOTA network. This has the potential to significantly extend the applications of the network. As discussed above, with current technology, these are still not completely trustless.
#4: Long term goals
Plans to incorporate smart contracts as a seperate layer on top of the core tangle were recently announced. If successful, this could significantly expand the scope of IOTA.
The IOTA Foundation is actively working on this additional smart contracts layer which will likely need until the end of 2018 to become GA [general availability].
It’s too early to come to any firm conclusions about the wiseness of this move until the IOTA foundation release technical details. However it is worth noting that historically, attempts to integrate additional layers on top of platforms not designed for modularisation have not met with much success. See Mastercoin, which tried and failed to add a layer for smart contracts on top of the Bitcoin protocol, for an example.
With the network at the size it is, it is unable to work as outlined in the whitepaper. Alon Gal of the IOTA Foundation puts it bluntly: “there are not enough transactions going through the system for it to be safe from a concentrated double-spend attack”. Though it remains to be seen how the network would cope with vastly increased usage, in theory, growth would allow for the removal of the coordinator and the lowering of the difficulty of PoW, thus decentralizing it and making it more suitable for IoT applications.
The future of IOTA / Wrap up
Over the course of these four reports we have come to a number of conclusions about the current iteration of the IOTA network. We wrote to the IOTA Foundation asking for comment on these claims, but received no reply.
- It is not fit for purpose as a platform for IoT devices: low processing power devices are unable to perform the proof of work for transactions within a practical timeframe.
- It is centralized: transactions are only considered confirmed once they have been referenced by the centrally controlled coordinator.
- It is not fast: Even with unlimited processing power, transactions are only validated every two minutes.
As we have seen, the IOTA Foundation hopes that this will be addressed by a range of developments on the network, both completed (Flash networks, PoWbox), planned (Swarm clients, automated snapshotting, coordinator sharding) and hoped for (network growth, ternary processing).
For the project to become commercially usable as a DLT for IoT devices, at the very least the following must happen:
- The network needs the credibility of having a publicly available ledger which can be traced back to the genesis transaction
- It must speed up and become genuinely decentralized: more people and devices must start using the network, and the network must function without the coordinator.
- A meaningful segment of the IoT industry must be persuaded to gamble on using their ternary processor.
The commercial future of IOTA will rest on the ability of the IOTA Foundation to solve these problems.
The move to start developing a layer for smart contracts on top of the tangle is also hugely significant, and will move IOTA away from its initial model. History suggests that this could be unwise. Nevertheless, it is important to mention that this shift perhaps reflects a recognition by the IOTA Foundation that simply decentralising data transfer is not enough of a challenge to already existing centralized models: that the future of this sort of technology will lie in a platform that can both support instant microtransaction of data and value, as well as smart contract and dApps.
All in all, in order to become a viable option for real world implementation, IOTA must perform a balancing act. It needs to be agile enough to move with the market, rather than dogmatic about its founding ideology. At the same time, however, it must keep moving towards the tangle described in the whitepaper, and its promotional videos.
At Konfidio we have composed a detailed report on the IOTA project: we provide a condensed but informative four-part summary on Medium, aimed to give an overview of IOTA for entrepreneurs and companies that are planning to build on the protocol, as well as for developers and crypto-enthusiasts that are interested in the Tangle.
What is Konfid.io?
Konfidio is a technology consultancy and venture studio based in Berlin that focuses on Blockchain technology to build decentralized applications in private as well as public distributed systems. We constantly research the practical usability of distributed ledger projects and like to share our findings with the wider community.
Disclosure: Dr. Mervyn G. Maistry, CEO & Founder of Konfid.io, is an early supporter of DLTs since 2014 and a strong believer in the potential of DAGs as a technology. He was an advisor to IOTA and personally to Dominik Schiener and David Sonstebo, advocating for setting up a transparent and corruption-free foundation in Germany and introducing them to a number of Fortune 500 and Dax 30 clients . Since June 2017, there has been no communication and no business relationship between Dr. Mervyn G. Maistry and the IOTA foundation, its founders or any of its functionaries.