Skip to content

Commit

Permalink
Merge pull request #643 from Chia-Network/include-glossary
Browse files Browse the repository at this point in the history
include glossary
  • Loading branch information
danieljperry committed Aug 19, 2024
2 parents 90cabeb + 6b3d311 commit 19ebb51
Show file tree
Hide file tree
Showing 2 changed files with 114 additions and 0 deletions.
113 changes: 113 additions & 0 deletions docs/resources/glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
title: Glossary
slug: /glossary
---

# The Great Chia Glossary

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

---

- **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.

- **Authorized Payees** - Authorized Payees is a smart contract 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 authorised.

- **CATs** - Chia Asset Token - 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. More information can be found on the [CATs Puzzles page](https://chialisp.com/docs/puzzles/cats).

- **CAT1** - First version of the Chia token standard, there was a bug in this standard and its fix deprecated the standard creating the CAT2 standard.

- **CAT2** - Second version of the Chia token standard, there was a bug in the first standard and its fix deprecated the standard creating the CAT2 standard.

- **Chia** - Uppercase “Chia”. The software, the blockchain, or the company.

- **chia** - Lowercase "chia" represents the coin aka "xch".

- **Chia Network Inc.** - Proper format for Chia the company's name.

- **chia reference wallet** - our own implementation which supports many features, but does not use wallet SDK and contains other wallets - e.g CAT wallets, DID wallet, NFT wallets and is mapped to a specific wallet key.

- **ChiaLisp** - ChiaLisp is the Turing-complete functional language which the puzzles for spending coin are programmed in. For more information see our [Chialisp site](https://chialisp.com/).

- **CHIPs** - CHia Improvement Proposals.

- **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](https://chialisp.com/clvm/)

- **CNI** - Chia Network Inc.

- **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.

- **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 contracts are capable of. (See also: [SegWit](https://en.wikipedia.org/wiki/SegWit))

- **DAO** - Decentralized Autonomous Organization.

- **dApp** - Decentralized Application.

- **DataLayer™** - Datalayer connects an offchain database to the chia blockchain via merkel tree hashes ensuring any and all changes to the database are transparent and auditable. https://chia.net/chia-datalayer.

- **Decentralised ID (DID)** - A decentralised ID is a smart contract that enables a wallet to act as an ID which can create messages to other IDs. Based on the work of the [identity foundation](https://identity.foundation/).

- **Farming** - Verifying transactions and creating blocks on the chia blockchain.

- **full node rpc api** - Full node access with JSON formatting.

- **green paper** - Overviews the chia blockchain and the various new technologies implemented at the consensus level.

- **Light Wallet** - Chia client functionality - a chia wallet that does not require a full node but rather gets balance and transaction data from peers in a decentralized method.

- **NFT** - Non-fungible Token, a token that is inherently and provably unique.

- **NFT0** - Chia’s in development NFT standard before NFT1 was launched.

- **NFT1** - Chia’s current NFT standard.

- **Op Constraints/Conditions** - Constraints are returned by the puzzle when it’s passed the solution. If all of the returned conditions are met then a transaction is valid.

- **PFP** - Profile picture.

- **plugin wallet** - A wallet implementation that uses the wallet SDK to provide extremely easy access to adding new coins and app types.

- **PoS or POS** - Proof of Stake.

- **PoSpace** - Proof of Space.

- **PoST** - Proof of Space and Time.

- **Prepend Signature** - Prepend signatures are used so that we can retain metadata about the structure of an aggregated signature.

- **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 than 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.

- **Puzzle (Scriptpubkey)** - A ChiaLisp program which specifies the behaviour of a coin when it is spent. A puzzle can either reject a solution or output a set of constraints.

- **Puzzle Generator** - A wallet will use a Puzzle Generator to define how it wants to receive transactions. Most wallets will want to generate the standard transaction, however by storing a ChiaLisp program that generate a puzzle, all a Sending Wallet needs to do is ask the Recipient Wallet what its Program Generator is and then run that to create the puzzle to lock the coin up with.

- **Puzzle Generator ID** - This is the hash of a wallet's puzzle generator. A wallet can do a hash-lookup and see if it already knows the source code for that puzzle generator. If not, it will request the full source code and store that information in its lookup table.

- **Rue** - Rue is an alternative language to Chialisp that compiles to CLVM which the puzzles for spending coin are programmed. Rue is being developed by a community member (Rigidity) and more information can be found on his [github repo](https://github.com/Rigidity/rue) or the [Rue website](https://rue-lang.com/).

- **Smart Contract/Puzzle** - A smart contract is a specialised ChiaLisp puzzle which locks a coin up and enables complex blockchain interactions.

- **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](https://docs.chia.net/guides/crash-course/signatures/#build-a-solution)

- **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 Op Constraints 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.

- **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.

- **Unspent Coin (UTXO/unspent transaction output)** - A coin which has been created but not yet spent and hence is storing value.

- **VDF** - Verifiable Delay Function. This creates the proofs of time in a method that is verifiable and requires some amount of time to complete.

- **VPB** - Virtual Private Blockchain.

- **Wallet** - Software written to interact with transactions. 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.

- **wallet protocol** - Communication protocol for wallets and full nodes to interact via WebSocket Streamable integrations.

- **wallet rpc api** - Wallet node access with JSON formatting.

- **wallet SDK** - Software that calls wallet protocol, potentially abstracting out sync and rollbacks.

- **white paper** - Overviews Chia Network Inc as a business and its founding objectives.
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@ module.exports = {
'resources/k-sizes',
'resources/faq',
'resources/storage-benchmarks',
'resources/glossary',
{
type: 'category',
label: 'Timelord Contest',
Expand Down

0 comments on commit 19ebb51

Please sign in to comment.