Skip to main content

The Great Chia Glossary

This guide will act as a glossary for many of the concepts utilized in Chia. If you are familiar with how Bitcoin transactions work, a lot of this will be familiar.

  • Coin (TXO/transaction output) - A coin stores value. All coins are generated as the output of a transaction or a coinbase reward or fee target. A coin is spent exactly once, allowing its value to go into other coins, and is then permanently destroyed. Each unspent coin is locked with a Chialisp program which is that coin’s puzzle, and whoever has the information to solve that puzzle is the person who can spend that coin. The most basic puzzle has a public key and accepts a solution which contains a list of conditions signed by the corresponding private key, so only the owner of the private key can unlock the coin and spend it.
  • Unspent Coin/Coin Set (UTXO/unspent transaction output) - A coin which has been created but not yet spent and hence is storing value. Unspents (UTXO set/unspent transaction output set) - This is the set of all unspent coins on the network. It is used to check if a transaction is valid, acting as a lookup for the puzzles. It maps a coin ID to a birthdate in blockheight. A transaction must contain a reveal of the information used to calculate the ID in order for it to be possible to validate because the unspents doesn’t contain that information, only hashes which can be used to validate it.
  • Coin ID/CoinName (TXO ID/transaction output ID) - The ID of a coin in Chia is generated by hashing the primary input ID, puzzle hash, and amount concatenated in that order. This is very different from Bitcoin which uses much more data to form the TXO ID, restricting what smart coins are capable of. (See also: SegWit)
  • Coin Record - The format in which a coin is actually stored in the blockchain database and returned via the full node's RPC API. Contains the fundamental information about the coin as well as information about when it was confirmed and spent.
  • Primary Input/Parent - When a coin is created the coin that was used as input in the transaction is designated as the primary input. This is used to create the coin ID. If more that one coin is used up as an input in a transaction then one of the coins is designated the primary input, and the others simply reinforce the transaction.
  • Spend/CoinSolution - A spend is a reveal of a coin's ID, along with the full puzzle code, and a solution to be ran with the puzzle. The result of a spend is determined by the returned conditions after running the puzzle with the solution.
  • Spend Bundle - A spend bundle is a collection of spends grouped together with an aggregated signature to be sent to the network.
  • Fees - The difference between the sum of the amounts of new coins created in a spend and the sum of the amounts of the coins being spent in the same spend. All of this excess value is given to the farmer as part of their farming rewards.
  • Mempool - The set of transactions that are pending in a full node to be farmed into a block. The full node will presumably try to optimize the transactions it includes in a block in order to extract the most fees.
  • Chialisp - Chialisp is the Turing-complete functional language which the puzzles for spending coin are programmed in. For more information see our CLVM Guide
  • Puzzle (Scriptpubkey) - A Chialisp program which specifies the behavior of a coin when it is spent. A puzzle can either reject a solution or output a set of conditions.
  • Solution (Scriptsig) - This is some Chialisp which is passed to the puzzle for evaluation when a transaction is submitted. For more information about how transactions work, and how solutions can generate new coins check out this guide
  • CLVM - The CLVM is the Chialisp Virtual Machine which is the sandboxed environment that puzzles and solutions are run in. The CLVM only runs the compiled minimal version of Chialisp, though a compiler can convert the higher level Chialisp to the compiled minimal version. See more about that here
  • Aggregated Signature/AggSig - Aggregated Signatures allow us to condense multiple signatures into a single aggregated signature, such that if we know a public key and value we can verify if it exists inside of the single aggregate. This uses BLS non-interactive aggregation.
  • Augmented Signatures - Augmented Signatures require prepending the public key before the message, which means these signatures are guaranteed to be secure in aggregation, since the public key cannot be specifically crafted for a message (rogue public key)
  • Conditions/Op Constraints - Conditions are returned by the puzzle when it’s passed the solution. If all of the returned conditions are met then a transaction is valid.
  • Transaction Generator - A CLVM program stored in a block that runs each puzzle and solution that was included and returns an aggregation of all of the conditions that were output as a result. When full nodes validate the blockchain, they run the transaction generator and validate all of the spends as one large spend.
  • Wallet - Software written to track and interact with coins. Chia uses Hierarchical Deterministic Wallets (HD Wallets). This means that they can generate many different public keys that are all valid and verifiable as unique to that wallet. A wallet contains a coin if it possesses the information necessary to unlock that coin and create a transaction which spends it.
  • Smart Coin - A smart coin is a coin locked up with a specialized Chialisp puzzle that enables complex blockchain interactions. All coins in Chia are smart coins but this usually stands in for the term "smart contract" that most developers are familiar with.
  • Chia Asset Tokens - (Formerly named "Coloured Coins") Chia Asset Tokens (CATs) are a special kind of chia coin which are created by users. A CAT is a uniquely marked subset of chia which can't be forged and can be linked to other assets. The Chia Asset Token standard is called CAT1 and you can read more about it here.
  • Authorized Payees - Authorized Payees is a smart coin that means that Wallet A can give Wallet B some money, but Wallet B is only allowed to spend that money in ways that Wallet A has explicitly authorized.
  • Decentralized ID - A decentralized ID is a smart coin that enables a wallet to act as an ID which can create messages to other IDs. Based on the work of the identity foundation.
  • Currying - A Chialisp technique in which solution values are pre-committed to before a puzzle is hashed. Extremely useful and part of almost all Chialisp puzzles.
  • Outer/Inner Puzzles - A concept which describes the common design pattern of Chialisp puzzles in which an "outer" puzzle modifies the output of a distinct "inner" puzzle.
  • Delegated Puzzle - A puzzle that is passed to another puzzle as an argument and which is used to generate the final output conditions of the puzzle it is being passed to. This is used to give ultimate control of how the coin is spent to the solver as long as they meet some other criteria first.
  • Singleton - A singleton is a coin that is verifiably unique. Similar to (but more powerful than) NFTs, a singleton cannot be copied, duplicated, or recreated if it is destroyed. It is a common outer puzzle for things like DIDs, NFTs, or the pooling protocol.
  • Pooling Protocol - A collective term for the network protocol and Chialisp puzzles that enable pooling on the Chia network. You can see a breakdown of the Chialisp section here.