1.1 About Chia
What is Chia?
Chia is a cryptocurrency and blockchain smart transaction platform. Chia was designed from the ground up to make cryptocurrency easier to use -- and harder to lose -- than cash. Chia's blockchain maintains the same level of security as Bitcoin's, while using a fraction of the energy.
On August 1, 2017, Bram Cohen founded the Chia company and incorporated it in the state of Delaware. Bram led the development of Chia, along with many engineers, researchers, and open source contributors. Along the way, Chia created three new inventions in applied cryptography, and advanced the interest and adoption in a fourth:
- Proofs of Space and Time (PoST), the first (and only) Nakamoto consensus since Proof of Work.
- The first production use of BLS Signatures.
- The first production use of a Verifiable Delay Function (VDF).
- The first production use of class groups of unknown order.
Chia's mainnet was launched on March 19, 2021. Development of its ecosystem is ongoing.
For more information on the company's strategies, see Chia's business white paper.
Chia's key features
Chia aims to improve upon Bitcoin's many pioneering ideas in the fields of cryptography and digital currencies, while maintaining the same overall purpose and philosophy. Some of Chia's new features and improvements include:
Chia has a new smart transaction model, which uses a powerful (yet simple) higher-level language called chialisp, and an accompanying lower-level language called CLVM (ChiaLisp Virtual Machine).
Chia uses the coin set model (similar to Bitcoin's UTXO) to track the blockchain's state. The simple nature of this model facilitates the writing of high value and secure contracts. Unlike in systems that use the account model such as Ethereum, the code that creates Chia's coins is strongly sandboxed. This increases security, reduces Maximum Extractable Value (MEV), and makes the code fully auditable.
For more info on Chia's smart transactions, see Section 4.2.
Chia's coins are created in a simple, yet highly secure manner:
coinID = sha256(parent_ID + puzzlehash + amount)
The coin's ID (a sha256 hash) is the main aspect that's stored on the blockchain. Hashes are not reversible, so it's very difficult for a hacker analyzing the blockchain to even determine what a coin's type is, let alone to view the code that created it. Contrast that with Ethereum, where it's trivial to view a smart contract's source code by using a decompiler.
Also due to hashing, a hacker cannot change a coin's parent_ID, puzzlehash, or amount without changing the ID as well. The only aspect of a coin that a hacker can attempt to change is its solution, and it's trivial to ensure that any such changes will result in a failure to spend the coin.
For more info, see chialisp.com.
The PoST consensus has a much lower energy consumption compared to Proof of Work (PoW), and part of Chia's vision involves improving the carbon footprint of the blockchain industry.
Chia's consensus algorithm is discussed in detail in Section 3.
Chia uses a consensus algorithm called Proofs of Space and Time. This algorithm allows anyone with an internet connection and some free disk space to participate in securing the network. Because of this process of farming (analogous to mining), Chia has become the most decentralized blockchain on the planet, with hundreds of thousands of full nodes securing the system.
Like many other blockchains, Chia allows pooling to smooth out the rewards structure for smaller farmers. However, Chia's pooling protocol has three unique features:
- Farmers create new blocks, whether they're farming solo or as a member of a pool.
This design decision was made in conjunction with Chia's goal of decentralization. In other blockchains such as Bitcoin, four or five pools control over 51% of the global hashrate on any given day. (Sources: blockchain.com, blockchair.com) Arguably, the easiest way to attack Bitcoin would be to bribe each of these pools' operators.
In Chia, the pool operators are only responsible for distributing rewards. They cannot modify the blockchain. Therefore, Chia's pooling protocol doesn't lead to increased centralization.
Joining a pool is permissionless. Farmers don't need to sign up for anything in order to join.
When a block is won, the farmer gets 1/8 of the rewards, and the pool operator gets the other 7/8. This was done to discourage pool operators from harming their competition by farming on a competing pool and neglecting to create a block when they find a proof. (Solo farmers collect the entire reward when they create a block.)
For more info on Chia's pooling protocol, see Section 11.
Other key features
There are many other innovations in Chia, some of which include:
- BLS signatures, which allow aggregating all of a block's signatures together. For more info on BLS keys, see Section 9.1. For a comparison between the ECDSA and Schnorr signatures used by Bitcoin, and the BLS signatures used by Chia, see Section 4.6.
- Scalability and performance improvements, which allow running a Chia node on a Raspberry Pi. Our Wiki has instructions for farming on a Pi 4.
- Weight proofs and light clients, which enable fast syncing from a mobile device. For more info, see Section 3.12.
- Chia Asset Tokens (CATs) are fungible tokens that can be minted from standard XCH. The possiblilties are endless! Chialisp.com contains the technical details of CATs. To create your own CAT, see our written tutorial, as well as our video tutorial. Additionally, a community member has created TAIL Database, which contains a list of CATs in the wild.
- Offer files enable the peer-to-peer exchange of assets, including standard XCH, as well as CATs. For a brief introduction, see our YouTube video. Chialisp.com has the technical details and a tutorial to help you get started.
This documentation will explain the motivation and implementation of the different components of the Chia system to a technical audience, and provide in-depth explanations of how everything works. If you would like to skip to how to make dapps (decentralized apps) on Chia, please visit chialisp.com.