Our interview about IOTA Foundation implied that non-blockchain solutions like IOTA seem to be better than blockchains, which has prompted me to ask: does Blockchain have a future?
I am interviewing Michele Nati (left) – a personal data expert and Lead tech analyst at the IOTA Foundation, and Jens Munch Lund-Nielsen (right) the Head of Global Trade & Supply Chains.
Coinisseur: Let’s start with the basics of IOTA. I think that the most distinctive thing about it is that it’s not a blockchain at all. Why is that?
Michele: The main ambition of IOTA when it was designed in 2015 was to overcome the issues of blockchain, mainly related to scalability. IOTA was built to be a ledger that satisfies the scalability request for the Internet of Things with devices sharing data and payments for exchange of services and data.
The scalability issues are mainly due to the fact that the blockchain is built by creating blocks, which have a given structure and intrinsic computation complexity. IOTA overcomes this by moving toward a new way to create and manage consensus around a monetary transaction, which also fulfils the criterion of not allowing double-spending. To do this, a new data structure that is not a block-based, but rather a Directed Acyclic Graph (DAG) based data structure has been introduced.
C: How does the proposed structure work?
M: In brief, you can visualize the transaction-structure as a tree, and every new transaction can be attached to any point of this tree. If you think about the blockchain you see it as a sequence of blocks that can only attach a new transaction, new blocks, to the previous block.
This shows why that approach to blockchain won’t scale as much as another approach like the IOTA that is not a blockchain (block-based). It will scale because you move from one point where you can attach a new transaction to many points where many actors can collaborate and add new transactions. Blockchain was the first to successfully create a distributed consensus without requiring a third party but didn’t offer the scalability requirement that IOTA wants to achieve. The new structure, a DAG-based structure, that IOTA leverages can better fulfil the scalability needs.
C: Is IOTA a DLT, DAG, or …?
M: I will give you my way to conceptualize these things. All these blockchains like Bitcoin, Ethereum, etc., they are all distributed ledgers, in my view. This includes also IOTA. They all have one ambition – they want to find consistency across different entries that you have in the ledger if these entries come from different actors, and without a third party that can verify and agree on which one is the right one. All of them are distributed ledgers that try to solve this problem without having a third party or a clearinghouse doing this, especially in the financial world.
Then you can break it down further into how this is achieved; the initial, original Bitcoin blockchain does it by creating blocks, and also introduces a monetary incentive – there is an idea of competition and gaming that the miner that is the first to mine the block wins the prize. That is a particular way, a subset of distributed ledgers, a subset of how this goal of finding the right entry in the ledger is achieved. Outside of this, there are a set of other techniques that try to achieve this and constitute a broader set of DL technologies.
One way to do that is to base it on a data structure at is the DAG. The latter is not based on monetary incentive, but rather a collaborative incentive.
In IOTA, whenever I have a new transaction that needs to be attached to the ledger, I validate a transaction of somebody else. My incentive is that if I do this work I will be rewarded by somebody else doing the work of attaching my transaction. Inside the distributed ledger area there are also other ways for doing this, for instance, different entities can vote on the transaction that they believe is the right one.
I would say, all of them are distributed ledgers, the difference is in how they solve the consensus and the trust problem without requiring a central third party. IOTA is definitely a distributed ledger which uses an underlying structure for inserting transactions called a Directed Acyclic Graph (DAG), instead of a chain of blocks.
C: And what makes IOTA so lightweight?
M: Fewer elements. In a blockchain, you have to put a very high stake into winning the price of finding a transaction hash. This means that in order to be sure that the miner behaves properly there is a high request for resources and work to be done by them.
I would say that blockchain creates trust by keeping the stakes high (you might lose a lot for acting improperly on the network). To do this, it needs to be a very energy and resource-demanding process which is in this case based heavily on the proof-of-work. In IOTA, this part can be removed because there is no heavy consensus algorithm that is driven by proof of work, the node doesn’t have to prove that they are honest by investing a lot of work in what they are doing.
The main ambition of IOTA is to create a network that is self-sustained, where all the parties are disconnected from the other. Additionally, the work they have to do can’t be heavy, so that everyone has more interest to do a little work but to do it in the right way, to validate other party’s transaction and get their transaction validated. Basically, in IOTA, the incentive of the node is no longer to gain the price that counts after a heavy work that the PoW requires. If I am a node that has to validate IOTA payments received by connected clients, I need to offer them to the IOTA network so that other nodes can validate them. However, if I don’t work to validate other nodes’ transactions, I will never see my transaction accepted in the IOTA network. That is, if I want to be part of the IOTA network, I need to be collaborative and be honest. This allows us at IOTA to remove competition and the PoW races that lead nodes to compete for a monetary price at cost of high energy consumption.
C: How do incentives work to achieve feeless transactions?
M: It is possible because the network does not require any work that has an extra cost. In the blockchain, you have miners that do the work and they have to invest a lot of work in doing the proof-of-work and as a result, they get a prize (e.g. minted bitcoins and transaction fees). Every given period, a new block is added and bitcoins are minted. In the bitcoin blockchain, for instance, the network has very high friction, and a lot of work needs to be done in order to validate a transaction. Since the network capacity is limited, it was brought to a point where there is more demand to validate the transaction than a capacity of the nodes to mine this transaction. Nodes operate a fee-based mechanism to select transactions to validate first. And this increases friction to access the network services.
As a result, the nodes also started to charge a fee that is actually a fee that you need to attach to your transaction to be the first one mined by the miners. That makes miners much more selective in which transactions they accept. When you want to make a payment with the Bitcoin blockchain you have to add a fee (“show me that pushing you ahead of the queue to have your transaction validated first is worth my while”). When you want to buy something, you don’t want your transaction waiting forever. And so you need to add the fee, which depends on how much workload the miners have. This is only going up if there is a continuous demand, which makes it impossible to pay a micro fee, because, in order to see your transaction accepted by the network, the fee you have to pay (if you don’t want to wait forever) may be higher than the value of the transfer.
In IOTA, there is no monetary incentive that is embedded into the protocol, the protocol doesn’t need a monetary incentive to work nor any competition to be triggered. Because of that, there is no need to jump ahead of any queue, and you don’t need to overcharge every transaction to join the network because the nodes in the IOTA network don’t have to do a very heavy workload (proof-of-work), and therefore they don’t need to regain that cost through fees.
That’s why you can achieve feeless transfers and microtransactions. And not having fees allows you to transfer any value you want, including data.
Jens: I just wanted to add to that my non-technical perspective. IOTA is feeless, but it’s not costless. Let me explain. First of all, as Michele said, we don’t have miners so everybody is in the same boat here. You don’t pay somebody for doing something, everybody does work for each other – when you issue a transaction, others will confirm it, and you will as part of the protocol also help confirm other’s transactions. So the cost you pay is that you use a little bit of your computer power to help confirm other transactions, so the cost is CPU power if you like. So you don’t have to pay anyone but you do a little bit of work with a computer. We say it’s feeless, but of course, you have to pay for the infrastructure of the computer you’re running.
Michele: And there is no need for a computer as powerful as those that mine blocks in the blockchain. That’s also one other difference. The kind of work that requires computation is not based on PoW, it’s not based on heavy computation, at least not necessarily as heavy as in most blockchain-based networks. The kind of work that is done is mainly the work of verifying that the ledger is right. It is done in a way that all the nodes check the ledger at least once, but this check is much more basic than doing the proof-of-work. That’s also why the machine and the infrastructure cost associated with IOTA is not as heavy and costly as the Bitcoin or the Ethereum blockchain. If you want to run an IOTA node, you can get away with a very standard machine instead of building a server farm as you have seen in China-based mining pools.
C: I know that there are some elements of proof of work. How does IOTA use PoW?
M: Yes, there is little proof-of-work in IOTA and the main use of proof-of-work in IOTA is to avoid spam – if you, as a client, want to attach a new transaction in IOTA you need to attach the proof-of-work of the transaction (which means hash the transaction many times until you don’t find the required number of 0 that end your transaction’s hash – at the moment it’s 14 zeros. This is a much lighter way to use PoW compared to other blockchain-based solutions).
PoW in IOTA is similar to when you want to send an email. In that case too, there is this little proof of work that you have to attach to an email. There is a sort of game for spammers: “do I want to send this email that will cost me some extra work or will I be detected as a spammer because I don’t do the work” – that’s the trade-off. PoW is not used to build the consensus, but it’s useful to remove malicious actors that want to degrade the performance of the network.
C: Let’s move on to Coordicide: what is it, why does it matter, and when is it coming?
M: This is an ongoing, developing topic, it is evolving as we speak. IOTA, in the initial 2015 paper, had proposed this new way to do transactions and to achieve a consensus that accommodates most issued of blockchain-like scalability, in order to be a suitable ledger for the IoT and IoT economy.
But it was based on assumptions. It was based on the assumption that there is enough inflow of transactions in the network. This is a good assumption but it only works when the network is constantly above a certain number of transactions per second, which will take time. One thing is the theory, one thing is practice. We all like Bitcoin blockchain, IOTA, etc, but we are still living in a world where banks accept a credit card transaction rather than other transactions. It will continuously be this way until consortium like Facebook’s Libra will force to establish themselves. Otherwise, you just have to wait for adoption to happen. Because of this limitation of the number of transactions, there was the need for adding an element that gives security that the number of transactions that is currently not possible to achieve is not pushed to the network by people using IOTA like any other blockchain. As there may not be enough traffic, an element was introduced which is called the Coordinator. The coordinator is basically a piece of software that runs on a machine and double-checks all the transactions in the ledger, picks some of these transactions in the ledger and selects them as a milestone. The coordinator has a global view of the ledger, which allows the network to converge much faster.
This speeds up another process which is not the transaction per second but confirmed transactions per second. If you think about the example of me paying for a product using IOTA, there is a dilemma when that product should be sent to me by the store – there’s a need to be sure that the transaction is valid (I am not double-spending). There are a number of checks that the transaction is correct and nothing will change. With a coordinator, this is much faster because the coordinator issues a milestone after a global view and all the transactions that come from a milestone transaction can be considered confirmed much faster. Again, there is not enough load in today’s IOTA network (like most other blockchain networks), because more people need to start to use this new technology.
Some say this is an element of centralization. The coordinator is actually a centralized piece of software, but is runs and provides a very decentralized way, as it is open source. Everybody can see what the Coordinator does, how it works, transactions are public and open to everybody storing the ledger, and it produces an output which is again visible to everybody. So the coordinator is central but can be replicated by anybody else and anybody else can verify that the coordinator responds in the right way. Having said that, this is still an element of centralization. Coordicide is actually about removing this element of centralisation – it is producing a set of tools, a set of new technologies, a new way to achieve consensus. We are now moving towards a different approach, still having the core of IOTA but trying to achieve that confirmation time much faster even if there are not enough transactions that reach the network. That’s the overlay of Coordicide.
How can you do that? There is a lot of research going on, there is a resolution in place, but all these solutions are probabilistic, not deterministic. What this means is that you can achieve given security that all the solutions work only with a high probability, you cannot be ever 100 per cent sure that everything works. In the Bitcoin blockchain, things work because so far there is not enough computation power that can grab the network, and it is distributed in a way that is not a possible hack. At any time in the future, there could be a change in this and the probability of being 100% sure might be rewritten. The same will be the transition to the Coordicide – the solution works in theory, on paper. But when you move from theory to practice you cannot foresee some of the attacks that might happen. So we need to be careful with that. In the IOTA network, there is a stake, there is a money stake of the people that are actually trading on IOTA. We need time to ensure that our solution is 99 or 100% sure and this may affect the timeline a bit when Coordicide project will be in place. It’s not about implementing and deciding what Coordicide is, it’s about having that 100% certainty.
The way it will happen is, we will progressively release some of the building blocks that will create this new way of achieving consensus without the coordinator while adding much more functionality that will allow the network to confirm transactions faster. We will release this progressively into a test network and we will ask people to hack the network, there will be a bounty program, and if you can break this new way of doing the consensus you get money. When we see that there are enough attempts and no success, we will be confident that the solution is as sound in real life as it is on paper. As soon we are able to say that, there will be a switch on fully toward Coordicide. But again, this will happen in parts, functionalities will be added one by one as soon as this level of security is achieved when there is no success in breaking it in our sandbox environment, there will be a point when the network will be rolled out, with all the new functionalities. It’s already started – few functionalities are already rolled out.
C: Can you say when will it be ready – when will it be launched?
M: It really depends. We will soon launch a test and a program to try to break this functionality. I think the first roll out of this functionality will be after three months of trying to break it with no success. It also depends on the number of attempts that will be done, because if there is no interest, if nobody will try to break the network then three months are not enough. But if in three months we have 10,000 attempts to break the network and nobody is successful, then we can say “yes the network is safe” and it can be rolled out.
C: Now we come to the main question: do blockchains have a future?
Jens: First of all, maybe you’re taking this question purely from a technical angle. I think there’s also a usability angle to this. Bitcoin is very, very widely used by many users and they’re using it to store value. I don’t think it’s only about the technology, it’s also about all the investments into it, it’s its history and that there’s a community around it. I don’t foresee in the short-term that blockchain solutions will die, it depends on whether they’re useful, what they’re used for currently. It’s not just a technical question, it’s also a question of adoption and community around it. For large-scale use case (a large amount of data and many transactions), it’s gonna be hard to achieve on classical blockchains, simply because of the numbers. You can only have a maximum number of transactions in these blocks and that doesn’t really fit if you need large-scale throughput. So there I think it’s clearer Blockchain doesn’t have what it takes, but it’s not the same as saying that Bitcoin or some of the other solutions will cease to exist.
Michele: I think that there are at least two blockchains that are well-established – Bitcoin and Ethereum blockchains. But they were born with a different ambition. Bitcoin, to allow people that don’t have a bank account to transfer money and send things. The thing is that it has all been changed too much, it is now only good for trading and speculation on an exchange, but still has some core features, some core functionalities. Definitely, there will be ways for this network to prove its value. The Ethereum blockchain has proved its value with smart contracts. But again, in software, the effect of fees and the price of the gas for running a smart contract is going up, so there is a way to evolve this. But the Ethereum foundation is working on that and will find new solutions to keep this blockchain alive.
Some blockchain companies have a given solution, and then they seem to try to find a problem that this solution solves – I don’t think those companies are going to survive. They are not core infrastructure, like IOTA wants to be, a ledger for the Internet of Things. There will be many other major tools that will evolve and probably be successful. We will probably see a shifting toward a DAG-based solution, like Hashgraph. I think those will survive, but again, I would not say that there will be one blockchain to rule them all. The world is quite diverse and there will be many projects looking into the interoperability of how this will work together and interconnect.