IOTALearn

What is IOTA?

  • IOTA is a permissionless distributed ledger “for a new economy”. IOTA was conceptualized in 2015 and officially released in June 2017.
  • It targets the Internet of Things, through the use of an open-source distributed ledger. IOTA aims at supporting the growth of a machine economy by enabling “fee-less machine-to-machine payments”, offering greater scalability than blockchain networks.
  • IOTA relies on the Tangle, which is a Directed Acyclic Graph (DAG). Unlike blockchains, DAGs do not rely on blocks, miners, nor a concept of a chain. Instead, a DAG is a network of transactions that are linked to each other in a tree-shape network.
  • According to the team, core features include: improved scalability (network activity is negatively correlated with settlement times), low resource requirements, zero-fee transactions, secure data transfers (through encryption), the addition of offline transactions, and quantum immunity.
IOTA is an open source, feeless, and scalable distributed ledger technology, designed to support frictionless data and value transfer.
Why use IOTA
As a distributed ledger technology, IOTA provides a trust layer for any devices that are connected to the global Internet.
Through its open network of nodes, IOTA allows you and your devices to:
  • Use the network as a source of truth for data
  • Transfer value in IOTA tokens
IOTA benefits

Who is IOTA for

IOTA can benefit many people, including the following important groups.

Anyone who does not trust centralized networks

IOTA networks are peer-to-peer networks where no central authority controls the data. Instead, all nodes hold a copy of it and reach a consensus on its contents.

Anyone who wants to secure their data

Everything in the Tangle is immutable and transparent. Through cryptography, you can prove that data has not changed.

Anyone who values security

IOTA uses quantum-robust signatures to protect the network against the next generation of computing power.

Anyone who wants the freedom to transact

IOTA is free to use. You don’t need to pay a subscription, sign a contract, or have any form of official identification. Even transactions are feeless.

How IOTA Works?

The Tangle

The Tangle is a public ledger that’s shared across devices called 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: It’s immutable. The integrity of the Tangle is guaranteed by cryptography.

Nodes

Nodes are the core of an IOTA network, and are the only devices that can attach transactions to the Tangle and that keep an up-to-date record of the balances.
Interconnected nodes form an IOTA network by running the same node software.

Clients

Clients are the users of an IOTA network who send transactions to nodes to be attached to the Tangle.
 
Nodes are the core of an IOTA network. They run the node software that gives them read and write access to the Tangle. This topic covers what nodes do in an IOTA network.
Nodes are responsible for the following:
  • Attaching new transactions to the Tangle
  • Synchronizing with the rest of the network
  • Keeping a record of the balances on addresses
  • Deciding which transactions are confirmed
  • Selecting tip transactions

Attaching new transactions to the Tangle

When nodes receive a new transaction, they attach it to the Tangle by adding it to their local database.
As a result, at any point in time, all nodes may have different transactions in their local databases. These transactions make up a node’s view of the Tangle.
To distribute the transactions across the rest of the network, nodes synchronize their local databases with their neighbors.

Synchronizing with the rest of the network

Like any distributed system, nodes in an IOTA network synchronize their databases with others called neighbors to form a single source of truth.
When one node, no matter where it is in the world, receives a transaction, it will try to gossip it to all its neighbors. This way, all nodes eventually see all transactions and store them in their local databases.
When a node is sychronized, it then has enough information to decide which transactions it considers confirmed.

Keeping a record of the balances on addresses

All nodes keep a record of the balances of addresses so they can do the following:
  • Check that a transaction is not transferring more IOTA tokens than are available on the address
  • Respond to clients’ requests for their balance
Only when a transaction is confirmed, can nodes update their record of balances.

Deciding which transactions are confirmed

All transactions remain in a pending state until the node is sure of its validity.
 
However, even when a transaction is valid, nodes may not be able to make a decision like in the case of a double spend.
 
When nodes detect double spends they must decide which transaction to consider confirmed and which one to ignore. Nodes do this by using consensus rules that are built into their node software. 

Selecting tip transactions

All transactions must be attached to two existing transactions in the Tangle.

To request tip transactions from the Tangle, clients use the node’s 

getTransactionsToApprove

 API endpoint.

All IOTA node software includes an algorithm for selecting tip transactions. These algorithms aim to select valid tip transactions with the best chance of being confirmed.
 
The Coordinator is a client that sends signed transactions called milestones that nodes trust and use to confirm transactions. This topic describes the role of the Coordinator.
All nodes use the following simple rule to determine if a transaction is confirmed.:
A transaction is confirmed if it is directly or indirectly referenced by a milestone.
Using this rule, nodes can easily agree on which transactions are confirmed by monitoring the Tangle for milestones. When a node receives a valid milestone, it validates the signature and marks the past cone of any referenced transactions as confirmed.
 
To make sure that nodes can continue confirming transactions, the Coordinator sends milestones at regular intervals.
 
Milestones being attached to the Tangle

Verifying milestones

Every node in the same IOTA network is hard-coded with the address of a Coordinator. So, whenever nodes see a milestone, they validate it by doing a number of checks, including:
  • The milestone came from the Coordinator’s address
  • The milestone doesn’t reference any invalid transactions
As a result, if the Coordinator were to ever send an invalid milestone such as one that references counterfeit transactions, the rest of nodes would not accept it.
To allow the Coordinator to sign many bundles whose signatures can still be verified against one address, that address is derived from a Merkle signature scheme.

The Coordinator’s Merkle tree

To generate an address from a Merkle tree, first a number of addresses are generated from a seed, using the process described above.
 

Because these addresses don’t appear in transactions, they are referred to as public keys in the rest of this section.

Each public key has one corresponding private key, making it safe to sign only one transaction for each public key in the Merkle tree.
The total number of public keys that are generated depends on the depth of the Merkle tree in this formula:
2depth
In this example, the Merkle tree’s depth is 2, resulting in 4 public keys. As a result, this Merkle tree could be used to sign 4 transactions that prove ownership of the address.
Example Merkle tree
To allow nodes to verify a transaction’s signature where the address is the Merkle root, the bundle must contain the following:
  • Enough zero-value transactions to contain the fragmented signature
  • One transaction whose
    signatureMessageFragment

     field contains enough missing data from the Merkle tree to allow the node to rebuild the Merkle root

If the rebuilt Merkle root is the same as the transaction’s address, the signature is valid.
For example, a node receives a transaction that was signed with the private key of public key 1.
First, the node verifies the W-OTS to find out public key 1.
Then, the node looks at the rest of the bundle for the following:
  • Public key 2
  • The hash of public key 3 and 4
Using this information, the node hashes public keys 1 and 2. Then, the node hashes that hash along with the hash of public key 3 and 4 to find the Merkle root.
If the Merkle root is the same as the transaction’s address, the signature is valid.
 
The Tangle is the distributed ledger in IOTA that contains an up-to-date history of transactions. This topic describes the structure of the Tangle and what makes it immutable.
The Tangle is a single source of truth. Any client, anywhere in the world, is able to send valid transactions to any node, and that transaction will be replicated across the rest of the network to form one version of truth: The Tangle.

Immutablity in the Tangle

To make the Tangle immutable, each transaction in it is attached to two previous transactions by their transaction hashes.

If any of the values in a transaction’s fields were to change, the transaction hash would be invalid, which would also invalidate the transactions that are attached to it.

For example, if transaction 6 instructs a node to withdraw 10 Mi from an address, the past cone of that transaction’s parents must lead to a point where that address is sent at least 10 Mi.

A directed acyclic graph
These attachments form a data structure called a directed acyclic graph (DAG). Transactions on the left come first in the sequence. The arrows (also called edges) represent the attachments among transactions. The numbered boxes (also called a vertices) represent transactions. For more information about DAGs, see Directed acyclic graph on Wikipedia.
 
Tangle
 
To show you what the tangle looks like when everyone uses this random selection strategy (technically called “uniform random tip selection”), we’ve made a visual simulation of it. This simulation generates random tangles, with the very first transaction (called the genesis) on the left and the most recent transactions on the right. The tips are marked with a gray square. When you put your mouse over a transaction, all the transactions approved by it are highlighted in red, and all those which approve it turn blue.
 
The IOTA token is a unit of value (i, Ki, Mi, Gi, Ti, Pi) that can be transferred over an IOTA network. This topic describes the history of the IOTA token, what makes it valuable, and how it’s counted.

How the IOTA token was created

The IOTA token was launched on the Mainnet in June 2017. At this point, nodes in the network were hard-coded with a total supply of 2,779,530,283 277,761.
This large supply allows each of the billions of devices, which are expected to be a part of the Internet, to have its own wallet and transact with other devices.

Value of the IOTA token

The following attributes give the IOTA token its value:
  • It’s finite: The maximum number of IOTA tokens is built into the network and can’t ever be changed
  • It’s useful: To transfer value in an IOTA network, you must use the IOTA token
The value of the IOTA token is determined by supply and demand on any of the available markets.
About author

Experienced Founder with a demonstrated history of working in the newspapers industry. Skilled in Data Research, Management, Investment Research, Teamwork, and Leadership. Influencing the technology, people, and technical analysis of the Cryptocurrency and Blockchain world.
Related posts
BlockchainIOTA

Frankfurt Airport Uses IOTA-Based Solution to Check Coronavirus Tests

CryptocurrencyLearn

CoinMarketCap Launches Alexandria Cryptocurrency Learning Platform

IOTA

IOTA Chrysalis Update Set To Launch Next Week

DAILearn

What is DAI?

Sign up for our newsletter and stay informed

0 0 votes
Page Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
USD
0
Would love your thoughts, please comment.x
()
x