By Carlos Ochoa
What is plotting?
TLDR: Plotting is the process of creating plot files, which the Chia network relies on to validate transactions and ensure the blockchain's security. Plots are the foundation for Chia's Proof of Space and Time, which is an environmental and technological improvement on the Proof of Work consensus used by Bitcoin and Ethereum.
In this post, we'll dive into the nitty gritty of what a plot is, how plotting works, and how you can plot for yourself.
- What is a Chia plot?
- Plotting 101
- Plotting as a Service
If you're new to Chia you've probably seen the term 'plot' and wondered to yourself "What is a Chia plot?" The quick answer is that the Chia blockchain relies on large files called plots to validate transactions and make sure that no one can tamper with the ledger outside of the rules. You can think of Chia's Proof of Space and Time as an improved, environmentally-friendly version of Bitcoin's Proof of Work that leverages disk space (hence Proof of Space) instead of CPU cycles.
Chia plots are generated by the Chia software you've installed on your computer, which creates sets of cryptographic numbers that are extremely difficult to falsify in real time. When the Chia blockchain broadcasts a new block (for the purposes of this discussion, you may think of a block as a pair of coins), your computer will scan your plots to see if there is a number that is close to the challenge number emitted by the blockchain. If it is close enough, you will be awarded that block. This scanning operation is much faster and more efficient than Bitcoin's Proof of Work, which makes the Chia network much more environmentally friendly.
However, while scanning existing plots is very fast and efficient, plotting itself is by design a very intensive and slow process. This way, it is impossible for anyone to create a plot in real time to match the blocks being broadcast by the blockchain.
The fastest plotting equipment can create a plot in just under 4 hours and can work on creating several plots in parallel, but if you don't have specialized plotting equipment it can take upwards of 36 hours to create a single plot using just your laptop and a standard hard drive.
If you want to learn how to plot, read on.
When you install Chia on your computer, you're installing both a network node and the farming software which enables you to both farm and plot Chia.
If you're a beginner, the easiest and simplest way to plot is using the graphical user interface (GUI), but before we get started there's a few things to keep in mind.
The smallest plot size you can create is known as K32 or K=32 which results in a final plot file with a size of 108.9 GB. In this context, K is the space parameter that controls the size of plots. Click here to learn more about plot sizes.
Now, keep in mind that you need much more than 108.9 GB of free space on your disk to successfully create a plot, because before your plot is ready the plotting process will create temp files.
Plotting is an intensive process that creates hundreds of temporary files in your disk as it moves through the four phases of plotting. The size of the temp files depends on the size of the final plot file. A K32 creates 356.5 GB worth of temp files, so you'll need a total of 465.4 GB worth of free space to create a single K32 plot.
The plotting process is divided into four phases. The first phase generates all of your proofs of space and creates seven tables of cryptographic hashes on your temp directory. In many cases, phase 1 takes the longest.
The second phase back-propagates through the hashes, and phase 3 sorts and compresses these hashes. Finally, phase 4 completes the final plot file and moves it to the directory you specified and deletes all of the now-unnecessary temp files.
Once your K32 is ready, the temp files are automatically deleted, so as long as you have at least 465.4 GB worth of free space you can continue on to your next plot.
We recommend that you do not use the same hard drive for creating and storing your plots. If the drive fails for whatever reason you run the rist of losing any final plot files you might already have.
If you must use the same disk for your temp and final files, we recommend that you keep your final plot files in a different folder or directory than your temp files. It keeps things more organized and if for whatever reason your plotting fails, it makes it easier to find and delete your temp files without the risk of deleting existing final plot files.
As of this writing, you cannot interrupt the plotting process. If your plotting process is interrupted for any reason like a power outage or a disconnected USB cable, you will need to delete the .tmp files and start over.
This is important to consider because depending on your plotting setup, you might not be able to move your computer for several hours or even days.
Important Note: Sleep kills plots. If your computer or your hard drive goes to sleep while you're plotting, your plotting will fail and you'll need to start over. Make sure that your computer's settings are such that all sleep, hibernation, and power-saving modes are disabled.
When you prepare to create a plot, the GUI will ask you to select a location for your temp files and a different location for your final plot file.
Generally speaking, placing your temp files on a solid state drive or SSD results in a shorter plotting time, and your final plot file can go on a regular hard drive or HDD.
While it is much faster to plot using an SSD for your temp files, consumer-grade SSDs like the one in your laptop can only have data written on and erased a limited number of times. This means that the lifetime of most SSDs will be severely shortened by the plotting process since it involves exactly that: writing and erasing massive quantities of data.
It is much safer to plot on enterprise-grade SSDs, if you have access to them, or to simply use HDDs for both the temp and the final files if you have the patience for that.
In this guide, we'll show you how to plot using the GUI. To learn how to plot using the CLI, refer to the Chia documentation.
Launch the Chia GUI on your computer. After logging in with your keys, navigate to the Plots tab on the left side menu.
Click on the green 'Add a Plot' button to launch the plotting interface.
You'll be taken to this screen:
Choose your plot size. We recommend you start with a K32, which is the smallest valid plot size, but you can learn more about plot sizes here.
Choose the number of plots. If you're just getting started we recommend creating only one plot at a time because plotting is very CPU-intensive. Depending on the amount of RAM you have you may be able to plot in parallel.
When selecting the number of plots, make sure that your drives have space not only for the final file, but also for the temp files.
Select your temporary directory. Like we said above, the fastest way to plot is using an SSD for your temp files, but your HDD will work as well if you don't want to risk reducing your SSD's lifespan.
Select your final directory. This is the place where your final plot files will be saved to. We recommend that you use an HDD with plenty of capacity. In the screenshot presented below, we're using different directories on the same drive to place our Temp and Final plot files.
You're finally ready to create your plot! Click the green button and be ready to wait for several hours while your first plot is done.
When you do, you'll see a list of your plots, including any plots you may already have created that are currently connected to your computer. In the example below, the row highlighted in blue is undergoing the plotting process, and the row below is a finished plot that is being synced to the network.
Now comes the waiting game. You can check the status of your plotting process by clicking on the three vertical dots in the Active column and selecting the 'View Log' option.
The log will show you the progress being made on your plot, including which of the four phases of plotting it is currently on.
Keep in mind that checking the log is not an accurate way to gauge how much time is left in the process, but it is important to check them to make sure the process hasn't failed.
When you've created your first plot, your node will automatically start farming so be sure that you have a stable internet connection, and good luck!
If this all sounds like too much work or you're looking for a faster way to get started farming Chia, you should consider purchasing your plots. There are about a dozen providers offering Plotting as a Service around the world. Learn more about PaaS here.