How Chia Farming Works

crop chemist holding in hands molecule model
Photo by on

Plots. Roughly 100 gigabytes in size, what are inside these things? Just put them on the disk and farm away. What am I farming? What’s going on? These might not be some of the questions that keep you up at night, but, you’ve probably wondered about them while looking at the Farming screen in the Chia Client. In this post, we’ll go over just that. I’ll try to put it in laymen’s terms so that its easier to digest. Most of this information is in the Chia Team’s consensus document and I’m just translating it.

Lets start at the beginning. Plots. They take a long time to make and what you’re left with is a 100 something Gigabyte file. Try to open it and you’ll see data…lots and lots of data…that you can’t make sense of. The minimum plot size you can have is K32 and its the fastest to make so a good majority of people make these. A K32 plot has about 4.3 billion answers in it. That’s a lot. Each answer consists of two numbers between 0 and ~4.3 billion. This is Table 1 in the plot file. 4.3 billion rows of two number pairs. For simplicity, Tables 2 through 7 are generated from data of the previous table. This all happens in Phase 1, which you are probably familiar with by now. Phase 2 then backpropagates all the data (more data shuffling), Phase 3 compresses it, Phase 4 writes the final file.

With plots now in hand, we’re ready to farm them. Farming in Chia means to be able to generate proofs from them. A Time Lord on the network sends out a challenge every 10 seconds. The challenges are looking for an answer that might be contained in plots, a “proof”. To generate a proof, The farmer needs 64 pairs from the plot’s billions of pairs. If each plot was checked every 10 seconds, that would be a waste of energy. To solve this, plots must first pass a filter. Plots only have a 1 in 512 chance of passing the plot filter. Passing the filter means that a proof is possible inside of the plot and to go check it. If a proof is found, then it is packaged and signed by the farmer and sent across the network.

These proofs are not exact answers to the challenges of the network, but they’re really really close. Here is where the Time Lord comes back into play. As the NetSpace grows, more and more farmers will provide proofs to a single challenge. Its the Time Lord that decides which proofs to use to sign the block on the network. The Time Lord will always pick the best proofs. So, finding a proof doesn’t always mean a coin payout. Now, multiple farmers have won the same block before because their proofs were good enough. The most I have seen is 5 farmers to one block.

Lets talk about pools. For those uninitiated, pools is the term used for when people want to combine resources. Currently, a pool ID and farmer ID is burned into every plot file. Both of these IDs are your own. Official pooling support isn’t out there yet, but basic pooling support is. There are a few pools out there that are doing the basic method. Where they essentially control your plots. Official pooling support will allow you to decide which pool to support, and let you change it. So you will always have control over your plots and can switch support when you wish. This support has to be built into the plots which means that current plots will not support official pooling. My strategy is to maintain my current plots and just begin plotting new plots that support pooling and join a pool.

%d bloggers like this: