IOTA is the Internet of Things (IoT) Transaction settlement and data transfer layer. Its distributed ledger, Tangle, is based on a data structure called a directed acyclic graph (DAG). There are no blocks or miners in Tangle, and every transaction on the Iota network has to go through a small proof of work (PoW) to verify the previous two transactions. Thus, the more transactions that occur, the faster the network can process new transactions, theoretically allowing the network to become more efficient as it expands.
The main principle of tangle is as follows: To send a transaction, the user must make an effort to approve other transactions. Once the transactions are confirmed, they will be broadcast to the whole network, another unconfirmed transaction can decide to approve the newly confirmed transaction, assuming the node checks that the approved transaction does not conflict with the Tangle transaction history. If a node adds a transaction that conflicts with tangle history, the node will not approve the conflicting transaction directly or indirectly. As transactions receive additional approvals, the system accepts them with a higher degree of confidence.
Approval adds "weight" to transactions. The weight of the transaction is proportional to the amount of work put into the issuing node. Trades with higher weights are more important than those with lower weights. Transactions accumulate weight over time. The cumulative weight of a transaction is the sum of the weight of the transaction plus the weight of all transactions that directly or indirectly approve the transaction. The time it takes for a transaction to be approved is inversely proportional to the volume of transactions sent over the network. Once a deal is approved, their weight will grow along with the flow of deals.
But IOTA networks currently rely on coordinators to provide nodes for trusted milestone transactions, as well as snapshots for scaling down the network. The Coordinator node is a special node operated by the IOTA Foundation to protect the IOTA network from attacks as it grows. The coordinator node publishes milestones every minute, referencing valid transactions. The milestone is a special transaction issued by the coordinator to prevent Tangle branching too widely, which could lead to a fork in the distributed ledger. It effectively pulls the branch back to the main Tangle to solve the potential double flower problem in the process. Transactions on IOTA are considered confirmed only if they are referenced by a milestone. All nodes running IOTA software treat all transactions referenced by the coordinator as valid.
Snapshots are periodic events triggered solely by the IOTA Foundation, It removes all zero balances in the system and restarts Tangle from The "New Innovation Century". Snapshots occur about once a month and are designed to reduce the size of the IOTA network and prevent it from swelling. Full nodes in IOTA only store the history of the latest snapshot.
IOTA plans to remove the coordinator once the network reaches size. In addition, it eventually plans to incentivize the full node to store the entire Tangle history except the snapshots published by the IOTA Foundation.