A beginner’s guide to IOTA
What is IOTA?
According to the IOTA website,
IOTA is a revolutionary new transactional settlement and data transfer layer for the Internet of Things. It’s based on a new distributed ledger, the Tangle, which overcomes the inefficiencies of current Blockchain designs and introduces a new way of reaching consensus in a decentralized peer-to-peer system.
This post should help those who are completely new to IOTA to get an introduction to how it is different than other cryptoassets like bitcoin.
Similarities and differences from Bitcoin
Bitcoin transactions are processed by miners in sequential groups called blocks. There is a limit to how many transactions can be processed in one block which has led to intense debates over how to scale Bitcoin.
IOTA’s team aims to remove the need for blocks and allow for better scaling. In IOTA there is no concept of miners verifying network transactions like in Bitcoin or most other blockchains. Instead, for each transaction that occurs in IOTA, the transaction creator is required to approve two previous transactions on the network by doing some computational work. You can essentially think of the ability to transact in IOTA without fees as the reward for helping to secure the network.
This lack of transaction fees in IOTA enables extremely small transactions referred to as nanopayments. Due to Bitcoin’s current network congestion, transaction fees can be relatively high (average transaction fee over $40 at the time of writing) which makes it impractical for small payments. IOTA’s team believes a prime use case for nanopayments is for internet-connected devices to conduct transactions with each other.
In Dec 2015, the entire supply of IOTA was sold in a crowdsale that raised over $500,000 in bitcoin. Since the team didn’t premine any tokens (i.e. set aside tokens for themselves at the start), the community donated 5% of tokens to found the IOTA Foundation which focuses on development, research, and education to advance IOTA.
IOTA’s distributed ledger, the Tangle, is based on a data structure referred to as a Directed Acyclic Graph (DAG). For every transaction that occurs on IOTA’s network, the transaction needs to approve two previous transactions by conducting a small amount of Proof of Work for them. The premise is that as more transactions occur, the network will be able to scale faster since there are more verifications being performed in parallel.
Since the technology is still in its early days, IOTA relies on a “Coordinator” run by the IOTA foundation to protect the network against certain attacks. The Coordinator serves as a checkpoint for valid transactions. Past issues involving the Coordinator being shut down, rendering the official IOTA wallet unusable for a few days, has led to criticisms of centralization in the network. The team states there are plans to remove the Coordinator eventually.
In Aug 2017, a team at MIT published an article detailing their investigation into IOTA. The IOTA team developed their own cryptographic hash function which was discovered to have vulnerabilities involving different inputs hashing to the same output, which should never happen.
The golden rule of cryptographic systems is “don’t roll your own crypto.”
— Neha Narula (MIT Media Lab)
Rolling your own crypto means creating cryptographic systems from scratch. This is dangerous because systems that haven’t been battle tested over a long period of time can contain major vulnerabilities. The IOTA team has since fixed this issue but their choice to roll their own crypto was a red flag to many in the crypto community.
A member of IOTA’s team responded that this vulnerability was intentionally added to the code to protect against malicious groups copying their open source code. Whether this is true or not, the team’s reaction added to a growing list of concerns within the community.
While the technology behind IOTA may be interesting, it is always important to do your research and due diligence before investing in cryptoassets.
Below are some links that may help you understand IOTA further and keep up with their development.
Keeping up with IOTA