What is IOTA and some terminology explained
In this video series different topics will be explained which will help you to understand IOTA.
It is recommended to watch each video sequentially as I may refer to certain IOTA topics explained earlier.
IOTA is not an acronym for Internet of Things, (IoT) but it just mean something very small.
David Sønstebø, Sergey Ivancheglo, Dominik Schiener and Serguei Popov founded IOTA in 2015.
IOTA Foundation main focus is Internet of Things and the Machine Economy but this technology is well suited for payments between humans as well.
The IOTA white paper can be found at: https://iota.org/IOTA_Whitepaper.pdf
All IOTA’s which will ever exist have already been created.
The total IOTA supply is: 2,779,530,283,277,761 IOTAs
The network becomes stronger when the number of transactions increases.
IOTA can achieve high transaction throughput.
IOTA has no miners. Every transaction maker is also a transaction validator which means every transaction maker actively participates in the consensus.
- No transaction fees
IOTA has no transaction fees which means IOTA can be used for micropayments.
- Quantum computing protection
Quantum computers will be able to crack current data encryption methods much faster than current classical computers.
IOTA uses the Winternitz One-Time Signature Scheme which is a quantum-resistant algorithm.
IOTA is the 3rd generation public permissionless distributed ledger, based on a Directed Acyclic Graph (DAG). IOTA called this DAG the tangle. The tangle is NOT the same as the Blockchain.
A tangle is a data structure based on Directed Acyclic Graph (DAG). Each transaction always validates 2 previous non validated transactions. Directed means the graph is pointing to one direction.
Tips are the unconfirmed transactions in the tangle graph. Height is the length of the longest oriented path to the genesis. Depth is the length of the longest reverse-oriented path to some tip.
- Making a transaction is a 3 step process:
– Signing: Your node (computer / mobile) creates a transaction and sign it with your private key.
– Tip Selection: Your node chooses two other unconfirmed transactions (tips) using the Random Walk Monte Carlo (RWMC) algorithm.
– Proof of Work: Your node checks if the two transactions are not conflicting.
Next, the node must do some Proof of Work (PoW) by solving a cryptographic puzzle (hashcash).
Hashcash works by repeatedly hashing the same data with a tiny variation until a hash is found with a certain number of leading zero bits.
This PoW is to prevent spam and Sybil attacks.
The goal of the Random Walk Monte Carlo algorithm is to generate fair samples from some difficult distribution.
- The Random Walk Monte Carlo (RWMC) algorithm is used in two ways:
– To choose two other unconfirmed transactions (tips) when creating a transaction.
– And to determine if a transaction is confirmed.
To determine the confirmation level of your transaction we need the depth to start from and we execute the Random Walk Monte Carlo algorithm N times, the probability of your transaction being accepted is therefore M of N. M being the number of times you land on a tip that has a path to your transaction.
If you execute RWMC 100 times, and 60 tips has a path to your transaction, than your transaction is 60% confirmed. It is up the the merchant to decide to accept the transaction and exchange goods. It is the same as Bitcoins where you want to wait for at least 6 blocks for high value transactions. Transactions with bigger depths takes longer to be validated.
An IOTA Reference Implementation (IRI), wallet and libraries are available at: https://github.com/iotaledger
To setup a full node you need to tether with neighbours by exchanging your ip address with theirs.
Once you have sent a transaction from an address, you should never use this address again.
A tangle can get branch off and back into the network. This is called partitioning.
The Coordinator or ‘Coo’ for short, are several full nodes scattered across the world run by the IOTA Foundation. It creates zero value transactions called milestones which full nodes reference to.