IOTA does not work according to the traditional blockchain technology, but works with the innovative concept of a “Tangle”. The Tangle is the distributed ledger in IOTA. It contains the current transaction history. The Tangle is the single source of truth. Any client around the world can send valid transactions to a Node. This transaction is replicated throughout the network to form this single version of the truth.
IOTA architecture includes the following basic components:
Clients: Users of an IOTA network (wallets, apps, etc.) that send transactions to nodes to attach to the Tangle.
Nodes: Connected devices responsible for ensuring the integrity of the Tangle. These devices form an IOTA network.
Tangle: An attached data structure (public ledger, main ledger), which is replicated on all nodes in an IOTA network. All data in the Tangle is stored in objects called transactions. When a transaction is attached to the Tangle, it cannot be changed and is immutable.
In mathematical terms, the Tangle is a Directed Acyclic Graph – DAG.
A set of transactions is connected by paths, this is a graph Each of these paths has a unique direction, so it is a directed graph If a path can never be found that returns to its starting point, the graph is acyclic (circular paths would be cyclic)
In the image above, we can see what the Tangle looks like. In this representation of the graph, the transactions are represented as squares and the arrows (called Edges) between the transactions are references. On the left side of the graph are the older transactions, while on the right side of the graph there are the newly attached transactions.
Transactions validate up to eight previous transactions. They can be in one of three different states:
Confirmed (green): Transactions are considered confirmed if they have been directly or indirectly referenced by all tips (gray). There is consensus on these transactions.
Pending / unconfirmed (white): These are transactions waiting to be confirmed.
Tip (gray): Tips are newly attached transactions that have not yet been referenced by other transactions.
In a highly simplified manner, the transaction process proceeds in five steps:
Create transaction: With recipient address, sender, value and optionally with a message.
Sign: By means of the private key (seed) the transaction is signed. This confirms that one is the owner of the entries made.
Tip selection: A node selects up to eight randomly unconfirmed transactions (tips) to be referenced in the new transaction.
Proof of Work: This is only needed for spam protection and not for consensus. Anyway, some work has to be done now and a small arithmetic problem (nonce) has to be solved. In addition, the tips assigned to you are checked to see if the account is sufficiently covered or if there are conflicting transactions.
Execution: The finished transaction is finally sent to a node, which then distributes it in the network to all its neighbors (other nodes). Someone else will now come and in turn get your transaction assigned in the “tip selection”, check it and thus confirm your transaction.
Blockchain Data Structure
The blockchain data structure consists of a chain of sequential blocks, with each block containing a limited number of transactions. Consequently, new transactions can only be appended at one point: A block at the end of the chain. Because of this limitation, blockchain networks often experience slow confirmation times. This limitation is referred to as the blockchain bottleneck.
Tangle Data Structure
The Tangle data structure is a directed acyclic graph (DAG) where each transaction is attached to up to eight previous transactions. Instead of being limited to a single place to append new transactions, you can append transactions anywhere in the Tangle, resulting in a chaotic order in which all transactions run in parallel. This way of working will allow for scaling upwards in an open-ended way, as the number of transactions increases, so do the confirmation rates, rather than going exactly in the opposite direction, as is currently the case with classic blockchains.
Tangle Data Flow
Each component can be viewed as a black box, and interaction between them occurs via events. More specifically, the data flow starts with either the GossipMessages or the MessageFactory. Then the parser takes care of validating the structure of the messages. The storage component stores the messages and their metadata in the DB and creates the tangle structure. The solidifier makes sure that all missing messages are requested and ensures that the tangle grows monotonically with respect to the timestamps of the messages.
The scheduler plans messages, which then go into the booker and are posted. When a message contains a transaction as a payload, the Booker performs a series of checks (e.g., signature validity, balance validity, duplicate issues) and posts the transaction to the appropriate reality. The OpinionFormer determines the message and payload opinion with FCoB and performs reconciliation on FPC (statements) if necessary. Finally, depending on the result of the message opinion and the past-related status of the message, liked (liked) messages are added to the weak or strong Tip Set.
Financial service providers such as Visa or Mastercard do not need consensus mechanisms, as they control the entire network themselves. When someone uses their Visa credit card, the information is sent to a central database managed by Visa. All Visa credit card users trust that the company will protect all sensitive personal information and process the transactions they order. Because only Visa controls the network, it can reverse and censor transactions. In addition to censorship and the resulting lack of power to resolve disputes, these centralized databases are also exposed to increased risk of hacking and corruption.
With the release of the Bitcoin Blockchain in 2009, a solution to conduct transactions in a peer-to-peer network in a trustworthy, traceable and immutable manner is available for the first time. In such a network, there is no superior authority to ensure that all participants adhere to the established rules. Meanwhile, there are different consensus mechanisms to ensure that all participants in a decentralized network agree on the rules.
What is a consensus mechanism?
A consensus mechanism is the way in which a group of people without a superior authority reaches a decision and ensures agreement.
A consensus mechanism is mainly responsible for three things:
It ensures that the next block in a blockchain is the one and only version of the truth.
It prevents malicious attackers from taking over the system and successfully forking the chain. To do so 51% of hash power is required.
It ensures reliability for the network, which includes multiple nodes, and is one of the most important aspects because it ensures the integrity of the data. One of the main goals of the consensus mechanisms is to prevent users from spending the same coin twice (double spending). If a user could send the same coin to two different wallets, the supply of coins could be inflated indefinitely, which would lead to hyperinflation (significant decrease in purchasing power). To avoid double spending, each computer that manages the blockchain must have the same information about which wallets contain which values. Therefore, users of the blockchain must constantly update the transaction history to keep all wallet balances up to date.
There are currently about three dozen different consensus mechanisms, but none of them is perfect. Each consensus mechanism has its own strengths and weaknesses. In the following I will roughly describe the most important ones:
Proof of Work (PoW)
Proof of Work (PoW) is the very first distributed consensus mechanism. It was developed by Bitcoin creator Satoshi Nakamoto. This consensus mechanism has already been described in the topic Blockchain: function & disadvantages.
Proof of Stake (PoS)
Proof of Stake (PoS) is a consensus mechanism that requires no special mining hardware. All coins are created right at the beginning (premining) and their quantity does not change. This means that there is no block premium in the PoS system so that miners cannot charge transaction fees. In PoS each node is linked to an address and the more coins this address contains, the more likely it is to create the next block. The address which is allowed to place the next block is determined by chance, but the more coins it has, the more chances it has to do so.
An attacker who wants to perform a fraudulent transaction would need more than 50% of all coins to complete the required transactions reliably. The purchase of this amount of coins would drive up the price and make such an undertaking unaffordable.
Since the PoS system is not as energy consuming as PoW, the costs do not have to be covered in the same way as for Bitcoin. Thus, PoS systems are well suited for platforms with a static number of coins without the inflation of block rewards (creation of new coins). The rewards for staking consist only of transaction fees.
Delegated Proof of Stake (DPoS)
Delegated Proof of Stake (DPoS) was developed in 2014 by Daniel Larimer who was significantly involved in the development of the crypto currencies BitShares, STEEM and EOS.
The principle of DPoS is based on the principle of PoS, with the difference that the work of the stakeholders is outsourced to third parties. In other words, the coin owner can vote for certain delegates to secure the network in his name.
The delegates can also be called witnesses and are responsible for reaching consensus when creating and validating new blocks. Voting rights are proportional to the number of coins each user holds on his address. The voting system varies from project to project, but in general each delegate makes an individual proposal when asking for votes. Usually, the rewards collected by the delegates are shared proportionally with their respective voters. Therefore, the DPoS algorithm creates a voting system that depends directly on the delegates’ call. If a dialed node behaves poorly or does not work efficiently, it is quickly rejected and replaced by another. In terms of performance, DPoS block chains are more scalable because they can process more transactions per second.
Other consensus mechanisms include proof of asset, storage, intelligence, believability, devotion, retrievability, authority, …
In order to understand the advantages of IOTA’s distributed ledger technology over the classic blockchain, we first need to understand how the blockchain works in general and why the current disadvantages disqualify the blockchain for use in future IoT.
Which problem does blockchain solve?
This question can best be illustrated with the trust problem of the Byzantine generals. In a fictional story there is a king in a castle defended by 1000 soldiers. This castle is attacked simultaneously by five armies of 500 men each. Each army has its own camp in the surrounding area and is commanded by its own general. To agree on an attack strategy the generals have to communicate with each other, but the generals do not trust each other because they suspect that some of the generals are traitors. If at the time of the attack the situation changes and a strategy adjustment is necessary, a message has to be sent by messenger from one camp to another, then the disloyal generals could easily change this message and pass wrong information on to the next camp. Sending a simple message in this way is not safe because written text is easy to change. Misinformation could lead to the traitors winning the battle because the different camps attack at the wrong time or not at all.
Nowadays a telephone conference or a news service could replace the messenger, but the problem still exists. How can you be sure that the message is authentic and not manipulated? Phone calls or emails can be faked, for example, people on the phone might pretend to be someone else and the content of an email could be read, deleted and manipulated.
How does the Blockchain solve the problem of the Byzantine generals?
In simple terms, the blockchain can be considered a decentralized cash book. As soon as a transaction takes place between a sender and a recipient, it is entered into the cash book as a new transaction. There are thousands of copies of this cash book on computers around the world. As soon as a new transaction is entered into one of these cash books, this transaction appears in all other cash books and is authenticated by the computers on which the cash books are stored. A transaction is only valid and immutable in the cash book when it has been validated by the so-called miners.
Blockchains are databases that manage transaction data without a central control instance, without the need for mutual trust and with complete transparency, and are therefore forgery-proof. In other words, with the blockchain you can directly carry out transactions to another person without having to rely on the help of an intermediary (bank, company). You no longer need to trust a third party to make sure that your transaction is executed.
To illustrate it visually: Frank puts money in Katja’s hand and several hundred people watch. These people confirm the exact amount and that Frank really gave the money to Katja. The control over this transaction is now in the hands of many and not, as before, in the hands of one actor, such as a bank. However, they only have control over the transaction. Nobody can see who Frank and Katja really are, because every participant in the transaction is pseudonymous – unless they want to be recognized.
Projected onto the blockchain, Frank does not give the money directly into Katja’s hand, but places it in Katja’s electronic mailbox, her “wallet”. The address of this wallet cannot simply be associated with one person and everyone can maintain several wallets.
The classic blockchain basically consists of the users, the full nodes and the miners.
Full nodes maintain the network. They are computers that are connected to the blockchain network via a client. They have the task of checking and forwarding transactions. Each full node receives a copy of the entire blockchain, which is automatically downloaded when joining the network.
Since the overall state in a decentralized blockchain is no longer managed by centralized units, we need the miners to do this for us. So the whole thing remains decentralized. The more miners there are, the more stable the blockchain network is and the less vulnerable it is to a 51% attack and thus the takeover of the blockchain.
Miners therefore keep the blockchain in an identical “overall state”. They verify whether new transactions comply with the protocol and confirm them. They are responsible for ensuring that nobody makes a double spending transaction or violates other rules of the blockchain protocol. These activities must be recorded and managed so that they can later be traced by every user. For this purpose, all transactions within the network that have taken place during a certain period of time are summarized in a block (a kind of list) with a defined size. When a block has reached its capacity limit, it is closed and attached to the blockchain for all eternities. Confirmation of transactions is done by consensus mechanisms, in the case of Bitcoin it is “Proof of Work”. To validate transactions at PoW, miners solve a difficult mathematical problem using computing power. This leads to the use of enormous energy. The idea behind PoW is to create the longest chain. The chain that at least 50% of the miners work on is continued. PoW becomes more and more difficult over time as the computing power needed to solve a block increases.The determined difficulty remains to ensure a constant block time of about 10 minutes.
For these computation-intensive calculations, miners receive a reward, consisting of the transaction fees charged and the block rewards received when a valid block is found and attached to the blockchain. (Bitcoin currently charges 6.25 BTC every 10 minutes, as of 2020. The blockward is halved approximately every four years)
In order to guarantee the security of the blockchain, the addition of a new block only takes place after an encryption of the block in the form of a hash (stringing together of letters and numbers). This hash cannot be cracked with today’s computer technology and is currently considered secure. The hash value of a block is kind of a signature that identifies the block as valid. Each newly generated block uses parts of the hash from the previously generated block. A retroactive manipulation of transactions already entered in a block would be immediately noticed by the change of the hash value and would be rejected as invalid.
Advantages of the blockchain
Transparency: Every user in a classic blockchain network can track all transactions. It is a completely transparent system.
Instant transactions: Blockchain transactions take much less time than transactions that require some sort of middleman because they validate themselves.
Decentralized: There is no centralized manager over the network, all participants are equal
The double spending problem is solved: One of the main advantages of blockchain technology is that it solves the double spending problem. Explanation: Since digital money is just a computer file, it is easy to forge by simply copying and pasting. Without blockchain, banks keep track of everyone’s money in their accounts, so no one can spend the same money twice. Blockchain solves this problem differently and more efficiently than banks: it makes all transactions and accounts public, so it is obvious when money is used twice.
Tamper-proof: There are separate validation and authorization mechanisms across the entire network. Forgery-proof mathematical hash methods make the data in the blockchain trustworthy. Integrity is assured as thousands of nodes validate each blockchain transaction. There is also only one single “source of truth”. Every unauthorized change in the network is directly disclosed, so you can be absolutely sure of its accuracy.
The blockchain technology is a good approach, but…
The idea of decentralized networks, which enable peer-to-peer transactions without intermediaries, has not yet been fully implemented or thought through to the end. The implementation has some shortcomings.
For example, the acceptance of Bitcoin has increased steadily in recent years and users were confronted with slow transaction times and exploding fees during the boom period (Hype 2017). The battle for block rewards developed into a race for the biggest hash power. This can only be increased with an ever increasing accumulation of computing power. In order to find blocks, mathematically intensive calculations have to be performed. The greater the hash power, the greater the probability of finding or generating a block. In order to remain competitive or to get a higher chance of getting the block rewards some players have joined together to form so-called mining pools. These powerful pools have become concentrated in China because the price of energy there is very favorable.
Further disadvantages of the classic blockchain, using Bitcoin as an example
Transaction costs (volatile and in some cases very high, in the boom phase at the end of 2017 over 30$)
High electricity costs for the computation-intensive mining, in Germany the electricity costs (per BTC) are estimated at about 14,000 dollars (per 1 cent for 1 kWh you have to reckon with about 500$), this is also the reason why many miners are located in countries with very low electricity costs.
Longer transaction times, currently a transaction takes several minutes (without Lightning).
High memory requirements, it has to store the whole blockchain (210GB, April 2019), unless you use Light-Clients. Light-Clients trust another client, which has stored the whole blockchain.
Gigantic mining pools endanger decentralization (3 pools have together over 51% hash power, Dec 2018)
Decreasing throughput with steadily increasing blockchain size.
The traditional blockchain is currently completely unsuitable for the Internet of Things because of the disadvantages listed above. How it will turn out in the future will be shown by time, because the development does not stop here either. The industry already relies heavily on private, centralized block chains, such as hyperledgers. These blockchains are currently mainly used for internal workflows and work without a coin. Due to the centrality, significantly faster transaction times are achieved and from the industry’s point of view it is important to always keep control over internal workflows, even if you have to trust a provider (Hyperledger, IBM-Linux).
“Be your own bank” is a common battle cry in the Bitcoin and Blockchain scene. But why should you want to be your own bank? One of the answers could be observed in 2008, when the US investment bank Lehman Brothers misspeculated, filed for bankruptcy and triggered a global financial crisis.
As a result, a lot of other banks had to be supported (rescued) with taxpayers’ money to restore trust among each other and keep the flow of money in the system going. In addition, some banks had become so systemically relevant over time that they could not simply be allowed to go bankrupt without completely losing control. The phrase “too big to fail” was heard often in the financial world.
A lot of idealists therefore criticize the current banking system for the fact that control over money is centrally in the hands of a few powerful institutions. The question is whether such a centralized system can be secure and trustworthy in the long run. How, for example, does a centralized system guarantee that no changes are made to the cash books? How does it protect itself against an incident (fire etc.) or cyber attack? How can it guarantee that only authorized persons have access to sensitive data? Such dangers and uncertainties could be reduced, if not eliminated, with a decentralized solution.
Shortly after Lehman Brothers filed for bankruptcy in 2008, a nine-page script appeared on the internet under the pseudonym “Satoshi Nakamoto”, outlining a new virtual currency: “Bitcoin: A Peer-to-Peer Electronic Cash System”. The founding document describes the technical and economic foundations of the currency in detail. Funds should be transferred directly from participant to participant (peer-to-peer) using cryptographic techniques. The term Bitcoin was born. It is an artificial word consisting of the words bit and coin.
The founding document is full of mathematical formulas, written in English. This leads to the assumption that the author, or the collective of authors, is probably rooted in the university world of computer scientists or mathematicians. The only known fact is that Nakamoto’s Bitcoin network first produces 50 Bitcoins as digital currency and limits the maximum number of all Bitcoins ever available to 21 million units. On January 03, 2009, the *Genesis block was created and on January 12, 2009, the first Bitcoin was exchanged between two users.
*The Genesis Block is the very first block within the block chain. Unlike all other blocks, it was not calculated by the network, but instead was created before the official release of Bitcoin, and it is firmly anchored in the source code.
Independent from central banks and states
The Bitcoin concept is a real innovation and there has been nothing similar in the history of money. Unlike other currencies, there are no bills or coins in Bitcoins. It is rather an abstract unit of value that can nevertheless be traded on exchanges and exchanged for other currencies. Also new is that the money is not managed and controlled by a central bank, but rather decentrally via the computers of Bitcoin users according to certain algorithms. The money is held in storage with the help of digital wallets.
There can be no inflation with Bitcoin, because the total quantity is constant and limited to 21 million units. The independence from states and central banks is one of the greatest advantages and weaknesses of virtual money at the same time. Unlike with Euros, US dollars, Yen, etc., there can be no centralized money supply control and policy. This freedom from manipulation is often seen as an advantage over real currencies in an era of loose monetary policy. On the other hand, the lack of control has certainly also contributed to the high volatility and bubble formation.
Bitcoin currently tends to be more volatile than conventional currencies. For the central banks themselves, the lack of access is a thorn in their side. They observe the development of the Internet currency as intensively as they do suspiciously.
The term distributed-ledger-technology (DLT) is a database architecture that enables the owners of digital goods to document and transfer these goods from peer to peer. Each transfer in a DLT is stored as a record in a distributed ledger (database). This database is stored in all nodes of a network.
In contrast to the classical approach, where a cash book is usually managed by only one instance, any number of equal copies of the cash book are stored decentrally by different parties. Appropriate measures are taken to ensure that new transactions to be added are taken over in all copies of the cash book and that an agreement (consensus) is reached on the current status of the cash book.
We also speak of decentralized account books or transaction databases. The technology is considered to be groundbreaking for the management of data on the Internet without having to rely on an owner platform.
Distributed ledger technologies differ in the way the networked computers come to an agreement (consensus protocols), for example by “proof of work”, “proof of stake” or other processes or combinations.
A DLT can have two types of ledgers:
Permissionless ledger: A ledger that is distributed on nodes that can be executed by anyone without permission. The purpose of a permissionless ledger is to allow anyone to contribute data to the ledger and have identical copies for anyone who owns the ledger. Nodes maintain the integrity of the cash book by reaching a consensus on its condition. A permissionless ledger can be used as an unalterable global record for transfers.
Permissioned ledger: A ledger that is distributed only to nodes that are selected by a central authority such as a bank or government.
Which main problem does DLT solve?
Problem: When data is stored in owner-managed databases, it is difficult to share this data with others without the possibility to modify it or lose it in other databases.
Solution: DLT creates a single truth that all participants can trust. When data is added to a distributed cash book, anyone with an Internet connection can access it by connecting to a node on the network.
The main features and advantages are:
The network is not controlled by any central instance. All network participants have equal rights, therefore the network cannot be shut down by a single actor. In addition, in a decentralized network there is no single point of failure in the technical system, whose failure causes the failure of the entire system. This also increases security against potential attackers. A decentralized network is more secure against manipulation because there are validation and authorization mechanisms across the entire network. Forgery-proof mathematical hash methods ensure that the data is trustworthy. Integrity is ensured as thousands of nodes validate each transaction.
Transactions once executed cannot be changed or reversed. With the DLT there is only one “source of truth”. Every unauthorized change in the network is directly disclosed, so that the correctness of transactions can be absolutely certain.
Trust, which was previously offered by intermediaries (banks, traders, etc.) as a service, can now be made available on a technical level. Since the financial crisis of 2008, trust in the traditional institutions of the economy, the financial market and even the state has decreased significantly. With DLT, two people or companies that do not know each other can do business with each other without having to trust each other and without an intermediary. This saves time (no contracts etc.) and money (no intermediary commissions).
Double spending problem is solved
One of the main advantages of decentralized technologies is that they solve the problem of double spending. Explanation: Since digital money is just a computer file, it is easy to forge by simply copying and pasting. Without DLT, banks track the money of all actors in their accounts, so no one can spend the same money twice. The DLT solves this problem differently and more efficiently than banks: it makes all transactions and accounts public so that it is immediately apparent when money is used twice.
Every user can track all transactions. It is a completely transparent system. Note: There are also so-called “privacy” solutions.
Transactions take much less time than transactions that require some kind of intermediary (bank).
In order to understand the advantages of IOTA’s distributed ledger technology over the classic blockchain, we first need to understand how the blockchain works in general and why the current disadvantages disqualify the blockchain for use in future IoT.
IOTA does not use the conventional blockchain technology but works with the innovative concept of a “tangle”. In a tangle, the user has to confirm at least two other transactions before a transaction can be made.
Shortly after Lehman Brothers filed for bankruptcy in 2008, a nine-page script appeared on the internet under the pseudonym “Satoshi Nakamoto”, outlining a new virtual currency: “Bitcoin: A Peer-to-Peer Electronic Cash System”.