Glossary
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Are you looking for a zero knowledge or Mina term that isn't here yet? To let us know, please create an issue or click EDIT THIS PAGE to submit a PR.
A
account
Mina uses accounts to track each public key's state. This is distinct from Bitcoin's UTXO model of maintaining ledger state.
archive node
A Mina node that stores the historical chain data to a persistent data source so it can later be retrieved. A zkApp can retrieve events and actions from one or more Mina archive nodes.
B
Base58
A group of encoding/decoding schemes used to switch data between binary format (hexadecimal) and alphanumeric text format (ASCII). The Base58 alphabet includes numbers (1 to 9) and English letters, except O (uppercase o), I (uppercase i), and l (lowercase L). These letters are omitted to avoid confusion.
Base64
A binary-to-text encoding scheme that represents binary data in a human-readable ASCII string format string. For example, the zero knowledge proof is a Base64 string inside the authorization field of a transaction.
best tip
The blockchain's latest block with the highest chain strength known to the mina daemon.
bitwise operations
Generally available in most programming languages, including TypeScript, bitwise operations manipulate individual bits within a binary representation of a number. o1js provides versions of bitwise operations that operate on Field elements and result in the necessary circuit constraints to generate a zero knowledge proof of the computation.
block
A set of transactions and consensus information that extend the state of the network. A block in Mina includes a proof that the current state of the network is fully valid. See also extensional blocks and precomputed blocks. See What's in a Block?
blockchain
The data structure that is used in a cryptocurrency to maintain a shared state of all accounts in the network.
block confirmations
The number of blocks added after the reference block. As the number of confirmations increases, the likelihood of a reorganization decreases, thereby increasing the likelihood of all transactions in the reference block being confirmed.
block explorer
A web-based tool to extract, visualize, and review blockchain network metrics, including transaction histories, wallet balances, and details about individual blocks and transactions. Block explorers for Mina include:
block fill rate
The proportion of slots that should contain a block. Some slots are intentionally empty to ensure the network can catch up in case of delay of messages.
block header
The portion of a block that contains information about the block itself (block metadata), typically includes a timestamp, a hash representation of the block data, the hash of the previous block's header, and a cryptographic nonce (if needed).
block producer
A node that participates in a process to determine what blocks it is allowed to produce and then produces blocks containing transactions that can be broadcast to the network. People who run block producer nodes are also called block producers.
bootstrap
Part of the syncing process of a node, bootstrapping gets the current root of the transition frontier from peers. Additional transitions obtained during the catchup process are applied from this initial root state.
breadcrumb
A node in the transition frontier that contains the external transition, staged ledger, and pending coinbases and is generated by applying the transition to the prior state.
C
catch up
The final stage of the syncing process where the node attempts to catch up to the current best tip by determining and then downloading all transitions between the transition frontier root and the current best tip. First, a node requests the missing transition hashes and a transaction chain proof. This proof proves the path provided is valid, for example, that the provided transition hashes lead from the root to the best tip. After the node has all transition hashes, it requests the full external transition for each transition hash from peers.
With each external transition, the node builds up its transition frontier by applying each to the prior state to construct a breadcrumb. When the catch up stage is complete, the node's local best tip is the same as the network's best tip, and breadcrumbs have been constructed for all transitions from the transition frontier root (best tip - k) to the current tip, and each has been validated. At this point, the node is synced.
A catch up can be triggered at any time if the node sees a disjoint transition in the same path that indicates there are missing transitions.
chain strength
Full history is not available in Mina, so a newly connected node to the network cannot sync from genesis by applying all prior transitions. To allow a node to determine the strongest chain, a minimum chain density is stored for a sliding window of time. As a result, honest nodes can choose the blockchain with the higher minimum density or chain strength.
cold wallet
A cold wallet is not, and never has been, available on the internet. Cold storage is safer for wallets associated with meaningful stake.
compressing
Generating a SNARK for a computation output can be thought of as compressing that output, as the proofs are fixed size. For example, Mina maintains a succinct blockchain by compressing all the historical data in a blockchain into a zk-SNARK. However, this is computationally different from lossy compression. The term compress is used to more figuratively describe the process of reducing the size of required data.
consensus
A process through which all the peers of a blockchain network reach a common agreement about the present state of the distributed ledger. A consensus algorithm or set of rules that Mina nodes all agree upon when deciding to update the state of the network. Rules can include what data a new block can contain and how nodes are selected and rewarded for adding a block. Mina implements the Ouroboros Samisika consensus mechanism.
consensus node
A participant in the Mina network that performs the consensus function, for example, a block producer.
cryptocurrency
A digital asset or currency that uses cryptographic primitives to secure financial transactions and to verify ownership by using public/private key pairs.
D
daemon
The Mina daemon is a background process that implements the Mina protocol and runs on a node locally so a local client or wallet can talk to the Mina network. For example, when a CLI is used to issue a command to send a transaction, this request is made to the Mina daemon, which then broadcasts it to the peer-to-peer network. The daemon also listens for events like new blocks and relays this to the client by using a publish-subcribe model.
DAO
A decentralized autonomous organization (DAO) operates based on rules that are encoded on a blockchain and executed through smart contracts. DAOs are an organizational structure built with blockchain technology.
Dapp
A decentralized application (Dapp) runs on a blockchain or decentralized network and offers benefits such as transparency, security, and censorship resistance. In the Mina ecosystem, Dapps are known as zkApps.
delegating
Because staking MINA requires nodes to be online, some nodes delegate their MINA to another node that runs a staking service. This process is called delegating a stake. The service provider or staking pool operator can charge a fee that is deducted any time the delegator gets selected to be a block producer.
deploy alias
Created with the zkApp CLI, a deploy alias in your project config.json file contains the details to manage deployments.
Devnet
Dedicated for developers building on top of the Mina protocol, Devnet is designed for testing and experimentation so you can test tooling and integrations before going live on Mainnet. See Connect to Devnet.
distributed ledger technology (DLT)
A digital system for recording the transaction of assets in which the transactions and their details are recorded in multiple places at the same time. In contrast to traditional databases, distributed ledgers have no central data store or administration functionality.
E
ECDSA
Elliptic Curve Digital Signature Algorithm (ECDSA) a cryptographic algorithm used to sign and verify messages. It is used in many blockchains, including Ethereum, to sign transactions.
elliptic curves
Equations with a specific template, including: y^2 = x^3 + ax^ + b: secp256k1.
elliptic-curve cryptography (ECC)
An approach to public key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC is the basis of how Ethereum and other cryptocurrencies use private keys and digital signatures.
epoch
A unit of time equal to 7140 slots at Mainnet. An epoch is divided into slots of 90 seconds each.
extensional blocks
Blocks extracted from the mina-archive database contain only the information required to restore data to the archive node and are more lightweight than precomputed blocks.
external port
The port that the Mina daemon uses to connect to other nodes on the network. When starting the daemon, set using -external-port.
external transition
Also referred to as a block, an external transition is generated externally, for example, by another block producer, and gossiped to a node.
F
fee payer account
A developer account that is funded and can always pay fees immediately. When you configure a zkApp, you can choose to use a stored account or create a new fee payer account.
field element
The basic unit of data in zero knowledge proof programming. Each field element can store a number up to almost 256 bits in size. You can think of a field element as a uint256 in Solidity. For the cryptography inclined, the exact max value that a field can store is 28,948,022,309,329,048,855,892,746,252,171,976,963,363,056,481,941,560,715,954,676,764,349,967,630,336.
finality
A consensus constant k is the point at which chain reorganizations are no longer possible. After a block has k block confirmations as defined by the consensus constants, it is considered final.
foreign field
A finite field different from the native field of the proof system. Foreign Field Arithmetic lets you perform algorithms that connect your zkApp with the outside world of cryptography.
full node
A Mina node that is able to verify the state of the network trustlessly. In Mina, every node is a full node since all nodes can receive and verify zk-SNARKs.
G
gadgets
Small, reusable, low-level building blocks that simplify the process of creating new cryptographic primitives. Most gadgets build upon custom gates and act as low-level accelerators in the proof system.
H
hash
A mathematical cryptographic function that converts an input of arbitrary length into an encrypted output of a fixed length. Hashing provides security through encryption and is an efficient store of data because the hash is of a fixed size.
hot wallet
A hot wallet has a private key that is available on a machine that is connected to the internet. To mitigate risk, avoid having hot wallets with substantial stake.
I
internal transition
A transition that is produced locally, for example, by a block producer. The generated transition is applied locally and added to the transition frontier before being broadcast to peers.