IOTA is a distributed-ledger protocol powered by the Tangle, a DAG-based data structure. With its feeless transactions and tremendous scalability IOTA seeks to be useful in the age of the Internet of Things
What is IOTA?
IOTA is a public and permissionless protocol that aims to be the backbone of the emerging machine-to-machine economy and enables seamless interoperability of devices in the age of the Internet of Things. It can also be used by people as a conventional cryptocurrency. IOTA is powered by the Tangle technology.
Instead of a blockchain, IOTA uses the Tangle, a special architecture based on a Directed Acyclic Graph (DAG). This may sound rather complex but in reality a DAG is simply a way of representing data, much like blockchain. However, whereas a blockchain is a chain of blocks each referencing (validating) the one before it, the Tangle is a web where each transaction references two earlier transactions.
There is no mining in IOTA as each participant in the network has to validate two past transactions to send a new one. It follows that the more the network grows, the more scalable it becomes.
Making a transaction includes four steps:
- Signing: a node creates a transaction and signs it with the private key.
- Tip selection: the node randomly selects two tips (unconfirmed transactions, grey squares in the picture above) using the Random Walk Monte Carlo algorithm.
- Proof-of-Work: the node checks if the two transactions are valid and then attaches a small proof-of-work. This process is necessary to prevent spam attacks.
- Broadcast: the node broadcasts the transaction to neighboring nodes and it is further propagated through the network using a standard P2P gossip protocol.
The transaction is considered 100% confirmed when 100 randomly selected tips all have a path to the transaction (confidence) or when a milestone references the transaction. Milestones are empty transactions issued every two minutes by the coordinator, an entity controlled by the IOTA Foundation. The coordinator is a temporary solution used to protect the network from attacks in its infancy stage.
A transaction has four properties:
- Height: the length of the longest path from the transaction to the genesis;
- Depth: the length of the longest path from a tip to the transaction;
- Weight: the amount of proof-of-work done by the author node (usually 1);
- Cumulative weight: the sum of its own weight and the weights of transactions that directly or indirectly validate it.
The smallest unit of IOTA the cryptocurrency is Iota but most operations are done in mega Iotas (MIOTA, or Mi). One mega Iota equals one million Iotas. The total supply of 2,779,530,283,277,761 Iotas has already been distributed and no more coins can be mined. The number of tokens is not arbitrary. IOTA uses ternary-based logic (as opposed to binary) and this is the largest 33-digit ternary number.
111,111,111,111,111,111,111,111,111,111,111 (base-3) = 2,779,530,283,277,761 (base-10)
There are no transaction fees in IOTA which makes the cryptocurrency a good choice for micro- and nanopayments. The same feature coupled with IOTA’s infinite scaling potential allows a great multitude of interconnected devices to constantly exchange information in the Internet of Things economy.
The IOTA Foundation is a non-profit organization behind the IOTA technologies. The Foundation houses researchers, industry experts, developers and engineers who work on the development and adoption of the IOTA protocol.
The IOTA Foundation is headquartered in Berlin, Germany.
- IOTA raised 1337 BTC (approx. $0.5 million) in ICO in December 2015.
- The IOTA network becomes stronger when the number of transactions increases. A stress test conducted in April 2017 showed a throughput of 112 confirmed transactions per second in a network of only 250 nodes.
- IOTA uses Winternitz signatures which make the Tangle impossible to compromise even by a quantum computer, anticipated to arrive within the next two or three decades.
- To keep the ledger at a reasonable size, the IOTA Foundation creates a Snapshot every two months. A Snapshot is a pruned version of the ledger, it removes all events and addresses which do not have a positive balance. Full nodes can keep the unpruned version if they choose so.
- IOTA used its own ternary based hash function called Curl, which was found to have critical vulnerabilities by MIT. Curl produced the same output to different inputs. IOTA later replaced it with Kerl.