The Iota Tangle
Because there are no block producers in the Tangle, every user has the freedom to issue new transactions and link them to various Tangle portions without the need for a third party to serve as a middleman between them.
The Tangle does not consist of a single chain of blocks that are placed one after the other. It is a network of transactions that are handled in parallel (so-called Tips). Parallel transactions serve as the “front” of the Tangle, providing a plethora of points to which newly issued transactions may be linked, resulting in a huge increase in the speed with which transactions are processed.

Every node in the network has the ability to add new transactions to the network at any moment without restriction. There is no requirement for a third party to determine when and if such transactions should be included. As long as they adhere to the fundamental principles of the protocol (valid signatures, no duplicate spending of money, etc.), such transactions will be included in the ledger simply by being sent to a node in the network.
IOTA is a protocol that does not have a leader. It does not need the use of a middleman to incorporate transactions into the Tangle. As long as they adhere to the core layout design of the protocol, anybody is allowed to attach transactions to their messages.
There is no need to elect a leader since the Tangle is capable of executing new transactions in parallel processing without the requirement for a leader to be selected. As a result, IOTA is a multi-threaded distributed ledger.
This is one of the reasons why IOTA is able to achieve very high transaction throughput while maintaining a feeless transaction model.
Tangle’s Data Structure
In the Tangle data structure, each message is related to two to eight messages that came before it. The data structure is a directed acyclic graph (DAG). Instead of being restricted to a single location for adding new messages, you may attach messages in a variety of locations at the front of the Tangle.
The protocol is capable of processing all of these attachments in simultaneously.
Consensus In Tangle
Because there are no miners or stakers on the Tangle network, there are no costs associated with sending messages. PoW is not utilized to secure the network in the Tangle environment. Instead, PoW is employed only to hinder the transmission of spam messages.
For the IOTA network to attain consensus, all nodes must evaluate messages and employ a variety of functions alongside messages in their confirmation. For the time being, communications will only be deemed genuine if they include a reference to a milestone. The Coordinator, a particular network node, is responsible for issuing these milestones.
The Coordinator
Coordinators are clients that provide signed messages known as milestones, which nodes trust and utilize to confirm messages sent by other nodes. This subject covers how nodes utilize milestones to decide which messages are verified and which messages are not confirmed by nodes.
The Coordinator is only intended to be a temporary solution. The Coordinator will be decommissioned in the next IOTA 2.0 network, according to IOTA. The following information outlines the current deployment of the Coordinator inside the IOTA organization.
Messages in the Tangle are evaluated for confirmation only if they are directly or indirectly referenced by a milestone that has been confirmed by all of the nodes in the network.
All nodes that participate in the same IOTA network are setup with the Ed25519 signatures of a coordinator that they trust, which allows the nodes to identify genuine milestones. Nodes may validate the signatures in issued milestones to determine whether or not the trusted Coordinator signed them if they are aware of the signatures of the trusted Coordinator.
For new communications to have the best possible chance of being verified, the Coordinator distributes indexed milestones signed with the signatures of individuals who have previously confirmed them on a regular basis (every 10 seconds). This method guarantees that nodes may compare the indexes of respective milestones to determine whether or not they are in sync with the rest of the network, which is important for fault tolerance.
Transfer Of Data
IOTA allows users to send and receive data for free. One of the fundamental aspects of IOTA is the data transport, which is quick, immutable, unforgeable, and safe. This functionality allows IOTA to support a broad range of use cases that most other cryptocurrencies cannot.
Clients, which might be wallets or programs, use IOTA nodes to send and receive messages (data objects). The entrance and exit locations for these messages are known as nodes, and these nodes interact with one another as well as the linked clients.
In IOTA, there are various different sorts of messages. Other communications carry value (such as the IOTA token or digital assets), while others merely transfer data, and some message types may even include both. This adaptable message format allows decentralized data and value delivery in a single message with the highest security grade and no costs. All of the messages in the Tangle are distributed securely via the network nodes.

What is an IOTA message?
A message is an object that contains information that has been sent in the Tangle.
These information items may be sent to a node by any application that utilizes the protocol. An Iota node’s role is to check incoming messages and broadcast them over the network if they are genuine and match the protocol’s standard requirements.
If a node determines that a message is legitimate, it will use the gossip protocol to relay it to its immediate neighbors. Each neighbor who gets the message passes it on to their neighbors, and so on. Every other node in the network rapidly receives the message and has the same information and knowledge of the network’s “state” at any given moment.
A message is made of of fundamental information that determines the message’s type and structure, as well as various payloads. A payload is an attachment that may include an IOTA transaction as well as a variety of additional data.
The IOTA protocol divides these data packets into distinct categories and treats them accordingly. As a result, every message delivered to the network must have a unique label that identifies the message and specifies what should be done with it. A node will only receive and handle a message if this information is supplied appropriately. TIP-0006 has a more extensive explanation of this procedure at the protocol level (Tangle Message).
Sending a message in IOTA
Messages are created by so-called clients. An IOTA wallet or any other program that generates IOTA messages might be one of such clients. The messages are sent from the client to an IOTA node, which processes them.
The message label produced by a client must offer various pieces of information for the node to be processed and enter the network in order to guarantee that a message is genuine and that a node understands what to do with the message.
ID of the message
The message ID is generated as a one-of-a-kind cryptographic hash of the message’s bytes. The client (application) or wallet that sends the message creates it.
ID of the network
Nodes will only receive messages that identify themselves as part of the network to which the node belongs (Mainnet / Testnet / private network).
Parents’ length and identification
This is the total number of messages referenced by the new message, as well as their identification. Every new message in the Tangle must reference 2 – 8 previous messages in order to build up the graph structure of the Tangle. The node chooses those two messages and transmits the IDs to the client, who must then include this information in the “label” of the message. As a result, nodes ensure that the Tangle’s data structure changes according to the protocol.
Length of payload
Because IOTA communications are limited to 32 kilobytes, the message must reveal the amount of its payload to the node, just as you would need to notify the weight of a box if you wanted to send it by courier ahead of time.
Type of payload
A description of which payload types are included in the message. Because certain payload types need different processing than others, the node must be aware of this.
Nonce
This is the nonce that allows this message to pass the Proof-of-Work test. Proof of work is a kind of spam prevention that is mostly done locally on the device that sends the message. However, if the node permits it, the node may do PoW instead of the client.
This is a useful feature since it allows extremely low-powered devices (such as sensors, chips, and so on) to send messages without having to conduct the PoW in the local device. Those low-power devices may transmit messages when connected to a node that permits remote PoW, and the node (which is normally operating on a more powerful device) executes the PoW for them.
One of the reasons IOTA is so well-suited to IoT (Internet Of Things) and data applications is because of this. Users that want to send a large number of data messages from a large number of very low-power devices just need to link those devices to a node that can conduct the PoW for them (which will be, in most cases, their own node).
Because the PoW requirement in IOTA is so minimal, it’s no difficulty to perform this for a large number of devices by a single node.
Message validation
If the following syntactic rules are followed, the message is deemed valid:
- The maximum message size is 32 KiB (32 * 1024 bytes).
- Analyzing the message’s syntax structure (parsing) leaves no unknown bits, indicating that all of the message’s data is completely readable by the node… illegible data might include harmful code, and is therefore refused.
- If the node is aware of the payload type.
- If the Message PoW Hash shows that the network or node’s minimal PoW criteria have been met.
- The number of parent messages must range from 1 to 8.
Only if these criteria are satisfied and the message is readable by the node will it be approved for processing.

Payloads
A message’s payload The mainnet presently defines three payload types, but developers may design their own and attach them to messages if they meet the basic criteria. The IOTA token as transaction payload is simply one of several sorts of information an IOTA message may include. The current core payloads are listed below with links to their specifications.
Unsigned data messages may be transmitted without a signature. If the data is parsable and meets the syntactic and size requirements, it may be sent.
The message is identified by an index, which allows users to search the network for the message and its Data.
A message on the IOTA network does not need a specified recipient. All network communications are available to all users and are relayed to all nodes. Also, the payload data (if not encrypted by the sender) is available to all recipients. The IOTA Streams architecture is designed to convey data messages to a limited set of recipients. It will permit direct receiver access and encrypt data from the rest of the network.
Anyone who knows the message’s index may readily find it. To transmit an arbitrary message or sensitive data, you must inform the recipient of the index. An explorer may search the network for messages using this index.
In a value transaction, the payment recipient is an IOTA address. The owner of the receiving address may then access the money by unlocking them using the private key associated with that address. Read more about IOTA value exchanges here: a value swap
As the IOTA protocol evolves, a new payload standard has been created to further enhance message and payload capabilities. IOTA tokenization framework specs. Those adjustments will be made after extensive testing in the forthcoming IOTA mainnet upgrade.

Clients
It all begins with a customer. For a user, a client is software that creates IOTA transactions (whether human, machine or device). Most users’ clients will be wallet software like the IOTA Firefly Wallet.
Professional command-line programs like CLI Wallet are also available.
Machines, sensors, and devices will utilize the IOTA wallet libraries’ code to initiate and execute transactions.
A client generates an IOTA message with a signed transaction payload to deliver into the IOTA network. This payload specifies how many tokens from address A (owned by the message sender) should be transferred to address B, allowing the IOTA network to update the status of the IOTA Ledger.
The signed transaction payload must include a digital signature proving the sender owns the location where the funds are presently kept. This is ensured by signing the transaction using the address’s private key. A public key included in the communication will be used to verify ownership. More on how private and public keys work together here:
The client then connects to an IOTA node and requests for valid suggestions to include in the message. The client may then include the tips (between one and eight previous messages of the tangle) in the message, creating a reference route for this message in the Tangle. Finally, the client sends this message (with transaction payload) to the node for validation and processing.
Nodes
Nodes are the IOTA network’s bookkeepers, decision-makers, and validators. Every IOTA node knows the precise state and contained value of every IOTA address at any moment. The ledger state.
Clients enter the network via a Node. Clients send messages to the node over a defined port. The node takes all incoming communication from this entry port and examines whether it is structured appropriately and can be handled.
If the node can read all bits of the message and recognizes the signed transaction payload, the validation procedure begins.
First, the node checks whether the address trying to transmit the cash has enough funds to do so. So he examines his present knowledge of that address (his ledger state) for monies. The node also checks for network conflicts that would allow spending more cash than are already on the address (in other words, a double spend). If another message already exists and wishes to spend the same money, a conflict is discovered and both messages are processed into conflict resolution – more on this process later.
If no conflicts are found, a node may change the ledger state by submitting “remove amount Funds x from address A and add to address B”. Submission is done using the gossip protocol.
The node updates the ledger status of all immediately linked neighbors. Every node is linked to others. Their neighbors provide them the new ledger state. This is done by each node checking for conflicts. If no conflicts are identified, the node adjusts his ledger state and re-sends it.
As a result, ledger changes are accepted and validated by every node in the network within seconds. The message is now fully confirmed and regarded solid. It is now added to every node’s tip pool and may be referenced by new messages.
Why IOTA has no fees
Most decentralized cryptocurrencies, including Bitcoin, Ethereum, Dogecoin, and others, require users to pay a charge for the services offered. This is not a tacked-on feature of those coins. It’s part of how they function.
IOTA was meant to have no transaction costs. This means the amount taken from a sender’s wallet is precisely matched by what’s placed to the recipient’s wallet.
Blockchains
Cryptocurrencies like Bitcoin have three categories of participants: nodes, miners, and users. To learn more about these individuals, we must first understand blockchain.
A blockchain is a distributed ledger that can be followed by anybody. Nodes are participants who keep track of the ledger’s current status. The ledger is made up of blocks of data linked together chronologically, thus the term “blockchain”. Every data block has a header and a body.
An unsigned four-byte version number, a 32-byte double hash of the previous block’s header, a 32-byte Merkle root of the current block’s transactions, a four-byte Unix time when the block was mined, a four-byte rounded version of the target difficulty in mining that block, and finally a four-byte nonce that can be any value set by the miner to meet a specific condition we’ll discuss shortly.
The block body includes protocol-dependent transaction data, generally 1,000,000 bytes or more.
We discussed mining before. What does it signify for proof-of-work cryptocurrencies? A race starts when a new block is added to the blockchain. They then compute the Merkle root from that, and other information for their new block header, everything except the four-byte nonce indicated above.
The miner may adjust this nonce to whatever value they like, as long as the block header hash meets the specified difficulty. To put it simply, the nonce is altered and the header hashed until the result contains enough zeros. At the present difficulty, about one in every 75,000,000,000,000,000,000,000 potential headers will provide a valid hash. It is mined and added to the blockchain by the nodes, and the race for the next block starts.
One of the primary security features of blockchain is the mining competition. By obtaining enough nodes to broadcast a rival blockchain, an attacker might easily conduct fake transactions, reverse genuine ones, or do other acts that would quickly erode faith in the system and the value of the linked currency.
Because each block includes a double hash of the preceding block’s header, every modification to the blockchain implies changes to all following blocks, which necessitates additional mining. It is clear that this mechanism secures not only new transactions, but also existing transactions on the blockchain.
Mining is vital to the blockchain. But mining is costly and must be paid.
When a block is mined successfully, the miner receives a fixed amount of coins as a block reward. These freshly created coins may be sold by the miner and are presently the main method of payment. Regrettably for miners, several crypto schemes gradually diminish the block reward. But there is another method to pay miners. Here comes the user.
Users’ roles are basic. They purchase, sell, and exchange the blockchain’s native money. If blockchain transactions were free, anybody could sign a transaction using their private key, placing a fixed amount of crypto in the hands of the receiver whose public key is included.
But the user has an issue. The goal difficulty of mining blocks is meant to keep the pace of new blocks constant. And blocks themselves have a set size, limiting the number of transactions per block. If multiple transactions are waiting to be included in a block, miners normally choose transactions that contain a payment (a “tip”) to the miner of the block. Higher fees lead to faster selection.
No solution has yet been offered that allows blockchain miners to sufficiently safeguard the system without charging consumers.
Decentralization Plan
The long-awaited Coordicide upgrade will decentralize IOTA.
Coordicide, also known as IOTA V2, is a forthcoming modification to IOTA’s core technology that will allow total decentralization while improving speed.
This IOTA Foundation video series provides a summary of the Coordicide concepts:
Coordicide Specifications
Here is our Wiki’s complete specification for each component:
Coordinates
The first Coordicide installation is now live: learn more here:
IOTA DEVNET2
The next step is to implement the Coordicide protocol on a paid testnet. So the Shimmer network and $SMR token are born. It will be the first network to put Coordicide ideas to the test in an operational network. Lessons learned on the Shimmer network will be applied to the IOTA mainnet.
When is Coordicide?
Despite the lack of a current roadmap date, Coordicide has been included to the official IOTA roadmap.
You Can Stake IOTA as of 12/21/2021 !
Note: Stakers do not need to split their IOTA tokens to stake for SMR and ASMB. IOTA tokens can be staked for ASMB and SMR simultaneously.
Stake IOTA and receive SMR tokens
In addition to serving as the Shimmer network’s economic underpinning, SMR will enhance the security of the network and make it easier for users to engage and trade with one another in the network’s growing ecosystem on the staging network. The token will be used to allow forthcoming DeFi, NFT, DAO, and other decentralized applications.
During this time, every staked MIOTA will produce one SMR for its staker every ten seconds for up to ninety days, and each staked wallet must achieve a minimum quantity of ten million SMR in order to qualify for the airdrop.
The maximum amount of time you may spend staking is 90 days. Staking is done in the form of liquid staking, which allows users to quickly unstake or transfer their tokens at any moment – there is no lockup of any kind.
You may use the rewards calculator on the Shimmer website to determine your possible staking rewards. You can find the calculator here.
Stake IOTA and receive ASMB tokens
In addition to serving as the Shimmer network’s economic underpinning, SMR will enhance the security of the network and make it easier for users to engage and trade with one another in the network’s growing ecosystem on the staging network. The token will be used to allow forthcoming DeFi, NFT, DAO, and other decentralized applications.
During this time, every staked MIOTA will produce one SMR for its staker every ten seconds for up to ninety days, and each staked wallet must achieve a minimum quantity of ten million SMR in order to qualify for the airdrop.
The maximum amount of time you may spend staking is 90 days. Staking is done in the form of liquid staking, which allows users to quickly unstake or transfer their tokens at any moment – there is no lockup of any kind.
You may use the rewards calculator on the Shimmer website to determine your possible staking rewards. You can find the calculator here.
NOTE: Staking IOTA is only be possible in IOTA’s Firefly wallet and is not supported by any third party
Additional Info
You have the ability to transmit your staked tokens at any moment from your staked wallet. However, if you do, you will have to manually retake any tokens that are still in your possession. If you attempt to transmit staked tokens, Firefly will provide a warning.
You must earn a minimum amount of token awards in order to obtain the tokens when the networks become live. This is due to dust protection measures implemented by the network operators. The minimum prize for Shimmer is ten million SMR (ten million SMR). The bare minimum for Assembly is one ASMB in reward. Firefly will notify you if you have not yet attained the required minimum prize value for the game.
Additional monies received on a staked wallet will need to be explicitly staked in order to avoid the tokens being lost. Firefly will notify you if you receive tokens on a wallet that is already being staked from by another user.
