ACCOUNT
Mina uses an account model (public key) to track the state of the ledger. This is different from the UTXO model that Bitcoin uses to maintain the state of the ledger.
ARCHIVE NODE Archive Node
By default, Mina nodes are lightweight and do not need to maintain historical information about the network, blocks, or transactions. Archive nodes store historical chain data to a persistent data source for later retrieval.
BEST TIP
The best TIP is the latest block of the blockchain with the highest chain strength known to the guardian.
BLOCK
The block contains a set of transactions and consensus information about the network status. This information contains a proof that the current network status is legal.
BLOCKCHAIN
Blockchain is a data structure used in cryptocurrency to maintain a consistent state of all accounts in the network.
BLOCK CONFIRMATIONS
The number of successor blocks of the referenced block will continue to increase, and the reference of the new block to the ancestor block means confirmation of the block pair. As the number of confirmations increases, the possibility of reorganization decreases, thereby increasing the possibility of all transactions in the referenced block being confirmed.
BLOCK FILL RATEBlock fill rate
The block fill rate refers to the proportion of slots that generate blocks to the total number of slots. Some slots are intentionally left empty to ensure that the network can "catch up" in the event of message delays.
BLOCK PRODUCER
A block producer (miner) is a node that participates in deciding which blocks are allowed to be produced and in producing blocks containing transactions that can be broadcast to the network.
BOOTSTRAP
Bootstrapping is part of the node synchronization process. This process will fetch the root up to the current transition boundary from the peer node. The other transitions obtained during the catch-up process will be applied to this initial root state.
BREADCRUMB Breadcrumb navigation
Breadcrumbs are "nodes" in transition boundaries. Breadcrumbs are generated by applying transitions to previous states, including external transitions, staged ledgers, and pending coinbases.
CATCHUP
CATCHUP is the final phase of the synchronization process. During the catchup process, the node attempts to catch up with the current best TIP by determining and downloading all transitions that exist between the root of the transition boundary and the current best TIP. First, the node requests the missing transition hashes and a proof of the transaction chain. This proof verifies that the provided path is valid, i.e., the provided transition hash leads the root to the best TIP. Once the node has all transition hashes, it requests the full external transitions for each transition hash from its peers. For each external transition, the node builds its own transition boundary by applying each transition boundary to the previous state to build a breadcrumb guide. When the catchup is complete, the node's local best TIP is the same as the network's best TIP, and the breadcrumb guide has established all transitions from the root of the transition boundary (best TIP - k) to the current TIP, and each one has been verified. At this point, the node is synchronized. At any point, if the node sees discontinuous transitions on the same path, this may trigger a catchup, indicating that there is a missing transition.
CHAIN STRENGTH
Because there is no complete history in Mina, a node that has just connected to the network cannot sync from genesis by applying all previous transformations. Therefore a node needs to determine the strongest chain (the chain that is considered legitimate, the longest chain in Bitcoin). To confirm the strongest chain, the minimum chain density over a flowing time window is stored. Therefore, an honest node may choose the blockchain with the minimum density, i.e., the higher chain strength.
COMPRESSING
Generating a SNARK for a computation is considered a "compressed" output because the size of the proof is fixed. For example, Mina maintains a succinct blockchain by compressing all historical data in the blockchain using zk-SNARKs. However, this is computationally different from lossy compression, and the term "compression" more vividly describes the process of reducing the size of the requested data.
CONSENSUS
An algorithm or set of rules that all Mina nodes agree upon when deciding to update the network state is called consensus. The rules may include what data a new block can contain, as well as how nodes are selected to produce blocks and the rewards for producing a block. Mina uses Ouroboros Samisika as its consensus mechanism.
CONSENSUS NODE consensus node
A node that participates in consensus in the Mina network, for example, a block producer (miner). The node participates in the consensus process (mining) and requires the most recent state.
CRYPTOCURRENCY Cryptocurrency
A digital asset or currency that uses cryptographic primitives to secure financial transactions and public-private key pairs to verify ownership.
DAEMON Daemon
The Mina daemon is a background process that implements the Mina protocol and runs on the local node. This allows local clients or wallets to communicate with the Mina network. For example, when a CLI sends a transaction, the request is sent to the Mina daemon, which then broadcasts the request to the P2P network. It also listens for messages like new blocks and forwards them to clients via a pub-sub model.
DELEGATING
Because staking mina (i.e., participating in consensus, i.e., mining) requires nodes to be online, some nodes may wish to delegate their mina to another node that runs a staking service. This process is called delegated stake, and typically the service provider or staking pool operator may charge a fee for running this service, which will be deducted when the delegator is selected as a block producer.
EPOCH Era
Epoch is a unit of time, equivalent to 7140 slots on the mainnet. An epoch is divided into several slots of 3 minutes each.
EXTERNAL PORT External interface
This is the port that the Mina daemon uses to connect to other nodes on the network. You can set it using the -external-port option when starting the daemon.
EXTERNAL TRANSITION
An external transformation, also known as a block, is a transformation that is generated externally, i.e., generated by another block producer and passed to a node.
FINALITY
The consensus constant k is the point at which it is impossible to reorganize the chain. Once a block has k confirming blocks (descendants) (defined by the consensus constant), it is considered confirmed.
FULL NODE
A full node is a Mina node that can credibly verify the state of the network. In Mina, every node is a full node because all nodes can receive and verify zk-SNARKs.
INTERNAL TRANSITION
An internal transition is a transition that is generated locally, i.e. by a block producer. The generated transition is applied locally and added to the transition boundary before being broadcast to peer nodes.
CADEMLIA
A distributed hash table (DHT) for decentralized peer-to-peer networks. Mina uses Kademlia to discover peers so that nodes can find neighbor nodes to share information about the state of the network.
KEYPAIR key pair
A combination of a private key and a public key. Key pairs can be generated by running a daemon or using a dedicated key generator tool.
MINE
The capitalized "Mina" refers to the underlying cryptocurrency protocol and the network infrastructure that the system relies on. The lowercase "mina" refers to the cryptocurrency unit.
NODE
A node is a machine that runs the mina daemon.
NON-CONSENSUS NODE non-consensus node
A full node that does not participate in consensus in the Mina protocol, but can still verify zero-knowledge proofs and thus trustlessly verify the state of the chain. When it is mentioned that the size of Mina is 22kb, this refers to non-consensus nodes.
NONCE one-time random number
A random number is a monotonically increasing number attached to a transaction to prevent transactions from being duplicated on the network. Transactions are always included in a block in the order of the nonce.
PEER-TO-PEER
Network systems that rely on peer nodes to distribute information between each other are called peer-to-peer networks. These networks are usually distributed in nature and, unlike the client-server network model, do not rely on any centralized resource broker.
PICKLES SNARK
Pickles is a new proof system and associated toolkit that is the first SNARK that can be deployed and recursively composed without trusted initialization. Pickles is the foundation for developers to build private, scalable smart contracts on Mina. Read more here. LIBP2
PLIBP2P is a peer-to-peer network library that provides message broadcasting and file sharing. Mina uses it as the underlying P2P network library.
PRIVATE KEY
The private key is another component in public key cryptography, which is private, while the public key can be published publicly. Only the holder of the corresponding private key of the public key can prove the ownership of the public key. This makes it possible to sign transactions, thereby proving that you are the holder of the funds associated with a given public key.
PROTOCOL STATEProtocol status
The state of the network. The protocol state includes the protocol state hash previously used to connect the block, and the body containing the genesis state hash, blockchain state, consensus state, and consensus constants.
PROTOCOL STATE HASHProtocol state hash
The protocol state hash is the hash of the previous state hash and the protocol state body, and serves as a unique identifier for the block.
PROOF-OF-STAKE
The type of consensus algorithm in Mina enables nodes to reach a consensus on the state of the network. Proof of Stake (PoS) allows nodes to stake mina on the network to increase their chances of being selected as the next block producer.
PUBLIC KEY
Public key, as a component of public key cryptography, the public key address in the blockchain can be considered as a user address or unique identity.
PUB-SUB Publish-Subscribe
Short for publish-subscribe, publish-subscribe is a messaging pattern in which a message sender broadcasts a message and any listeners that have previously subscribed to the sender's messages are notified. For example, Mina uses this pattern as a way to notify clients when a new block is added to the chain. This event can be "heard" by all listeners, and each listener does not need to poll for new data independently.
REORGANIZATION
When the length of competing branches of the blockchain increases relative to the main branch, the blockchain is reorganized to map the stronger branch to the main chain. After the reorganization, transactions generated on the deleted branch are no longer guaranteed to be included in the blockchain.
ROOT (OF TRANSITION FRONTIER)
The root of the transition boundary is block k from the best TIP block. The root is obtained from peers during the bootstrap process. Once a new best TIP is seen, the root is moved so that only block k is persisted. The root is the point at which a block is finalized due to consensus.
RPC
Remote Procedure Calls (RPCs) are used to communicate between nodes on the network and to interact with running daemons.
SCAN STATE Scan status
The scan state is a data structure that queues transactions that require SNARK proofs and allows snark workers to process these transaction SNARKs in parallel.
SIGNATURES
Short for digital signature, a signature is a way to establish the authenticity or ownership of a message. Given a public-private key pair, the owner of the private key can sign a message, and anyone can verify the signature using the associated public key.
SLOT
Slot in Mina is a unit of time. When the mainnet is launched, a slot lasts for 3 minutes. An epoch is divided into several slots. Block producers can win the opportunity to generate a block within a slot.
SNARK POOL SNARK Pond
The snark pool contains work completed by snark workers in the scanning state. The snark pool, also known as the "snarketplace", contains only the cheapest work provided by the snark workers for each work package. If a node sees cheaper, valid work, it will replace the work already in the pool.
SNARK WORKER
SNARK workers are nodes on the network that participate in generating SNARK proofs for transactions. Since Snark workers are paid mina, they help compress transactions.
SNARKED LEDGER SNARK Ledger
The snark ledger is a ledger that only contains transactions that have associated proofs. The snark ledger is updated once a proof is issued from the scan state and the proof is included in all transactions in the transaction tree added by the previous block producer.
STAGED LEDGER
The staged ledger is the current account state. It contains a pending account ledger and a queue of pending non-SNARK transactions in a scanning state.
STAKING
According to the consensus mechanism, nodes on the network can increase their probability of being selected as block producers by increasing the mina they stake. The chance of winning a block is proportional to the amount of mina staked. For example, if a node stakes 50% of the mina in the network, they theoretically have a 50% chance of being selected to produce a new block. Mina uses the Ouroboros Samisika Proof of Stake protocol to implement the details of staking. If a node chooses to stake its mina (for mining), it needs to be online and connected to the Mina network.
STAKING LEDGER
The pledge ledger is used to determine the block producer in a time slot. The probability of winning a time slot is proportional to the amount of pledge. The distribution of mina of the current epoch is the snark ledger of the last block of the current epoch-2.
STAKING POOL
A delegated pool of funds operated by the staking pool owner. Other nodes may choose to delegate funds to the staking pool to avoid the online requirement.
SYNCING
In order to generate new blocks, the node needs to get the current state. To achieve this, the node connects to the peer node at initialization, goes through the bootstrap process, and then performs a catch-up. The synchronization process builds the node's transition boundary by creating breadcrumb navigation for all transitions between the root of the transition boundary and the current best TIP. After the process is complete, the node is synchronized.
TIME-LOCKED ACCOUNTS
A time-locked account is an account that holds a certain number of restricted tokens. Its assets cannot be transferred until certain conditions are met (such as the production of a certain number of blocks).
TRANSACTION POOL
The transaction pool is a list of all pending transactions, sometimes called the "memory pool". Each node has a local transaction pool that contains transactions that have been passed to the node and verified. If the transaction pool is full, transactions in the pool may be discarded according to the fee, and the lowest fee will be discarded.
TRANSITION
A transition in Mina is a synonym for a block.
TRANSITION FRONTIER
The transition boundary is a local data store that contains the last k blocks of the network. It is a tree-type data structure, where each "node" of the tree may have multiple child nodes, i.e. branches. Each node in the tree is called a breadcrumb navigation.
USER TRANSACTION
User transactions are transactions initiated by users, which can be payments or delegated changes.
VRF
A verifiable random function (VRF) is used to select a block producer within a slot. It accepts a random seed as input, which is derived from the VRF output of the previous epoch. VRF is deterministic, that is, no matter how often it is run, it will always return the same output.
ZERO-KNOWLEDGE PROOF
Zero-knowledge proofs are proofs where one party (the prover) proves to another party (the verifier) that they have knowledge of something without revealing that specific knowledge. Mina uses zero-knowledge proofs, specifically zk-SNARKs, to generate proofs that prove the validity of the blockchain and allow any node on the network to quickly verify it.
ZK-SNARK
It is a type of "zero-knowledge proof", which is an abbreviation of "zero-knowledge succinct non-interactive argument of knowledge". The specific characteristics of Mina's implementation of SNARKs are simplicity and non-interactivity, which allows any node to quickly verify the state of the network.
(Please pay attention!)

