Glossary
Find terms used in IOTA defined below.
C
Causal History
Causal history is the relationship between an object in IOTA and its direct predecessors and successors. This history is essential to the causal order IOTA uses to process transactions. In contrast, other blockchains read the entire state of their world for each transaction, introducing latency.
Causal Order
Causal order is a representation of the relationship between transactions and the objects they produce, laid out as dependencies. Validators cannot execute a transaction dependent on objects created by a prior transaction that has not finished. Rather than total order, IOTA uses causal order (a partial order).
Certificate
A certificate is the mechanism proving a transaction was approved or certified. Validators vote on transactions, and aggregators collect a Byzantine-resistant majority of these votes into a certificate and broadcasts it to all IOTA validators, thereby ensuring finality.
E
Epoch
Operation of the IOTA network is temporally partitioned into non-overlapping, fixed-duration epochs. During a particular epoch, the set of validators participating in the network is fixed.
Equivocation
Equivocation in blockchains is the malicious action of dishonest actors giving conflicting information for the same message, such as inconsistent or duplicate voting.
Eventual Consistency
Eventual consistency is the consensus model employed by IOTA; if one honest validator certifies the transaction, all of the other honest validators will too eventually.
F
Finality
Finality is the assurance a transaction will not be revoked. This stage is considered closure for an exchange or other blockchain transaction.
G
Gas
Gas refers to the computational effort required for executing operations on the IOTA network. In IOTA, gas is paid with the network's native currency IOTA. The cost of executing a transaction in IOTA units is referred to as the transaction fee.
Genesis
Genesis is the initial act of creating accounts and gas objects for a IOTA network. IOTA provides a `genesis` command that allows users to create and inspect the genesis object setting up the network for operation.
I
Iota
IOTA refers to the IOTA blockchain, and the IOTA open source project as a whole, or the native token to the IOTA network.
M
Multi-Writer Objects
Multi-writer objects are objects that are owned by more than one address. Transactions affecting multi-writer objects require consensus in IOTA. This contrasts with transactions affecting only single-writer objects, which require only a confirmation of the owner's address contents.
O
Object
The basic unit of storage in IOTA is object. In contrast to many other blockchains, where storage is centered around address and each address contains a key-value store, IOTA's storage is centered around objects. IOTA objects have one of the following primary states:
- Immutable - the object cannot be modified.
- Mutable - the object can be changed.
Further, mutable objects are divided into these categories:
- Owned - the object can be modified only by its owner.
- Shared - the object can be modified by anyone.
Immutable objects do not need this distinction because they have no owner.
P
PoS
Proof-of-stake is a blockchain consensus mechanism where the voting weights of validators or validators is proportional to a bonded amount of the network's native currency (called their stake in the network). This mitigates Sybil attacks by forcing bad actors to gain a large stake in the blockchain first.
S
Single-Writer Objects
Single-writer objects are owned by one address. In IOTA, transactions affecting only single-writer objects owned by the same address may proceed with only a verification of the sender's address, greatly speeding transaction times. These are simple transactions. See Single-Writer Apps for example applications of this simple transaction model.
Smart Contract
A smart contract is an agreement based upon the protocol for conducting transactions in a blockchain. In IOTA, smart contracts are written in Solidity/EVM or Move.
T
Total Order
Total order refers to the ordered presentation of the history of all transactions processed by a traditional blockchain up to a given time. This is maintained by many blockchain systems, as the only way to process transactions. In contrast, IOTA uses a causal (partial) order wherever possible and safe.
Transaction
A transaction in IOTA is a change to the blockchain. This may be a simple transaction affecting only single-writer, single-address objects, such as minting an NFT or transferring an NFT or another token. These transactions may bypass the consensus protocol in IOTA.
More complex transactions affecting objects that are shared or owned by multiple addresses, such as asset management and other DeFi use cases, go through theNarwhal and Bullshark DAG - based mempool and efficient Byzantine Fault Tolerant(BFT) consensus.
Transfer
A transfer is switching the owner address of a token to a new one via command in IOTA. This is accomplished via the IOTA CLI client command line interface. It is one of the more common of many commands available in the CLI client.
V
Validator
A validator in IOTA plays a passive role analogous to the more active role of validators and minors in other blockchains. In IOTA, validators do not continuously participate in the consensus protocol but are called into action only when receiving a transaction or certificate.