Chia Blog

Changes Coming to 3.0

by Chia Team

Chia 3.0 will include the brand new Proof of Space 2 (PoS2) consensus. This update will remove the ability to compress plots, which will bring the network back to its roots. One GiB will equal one vote.

This post outlines the changes, starting with a description of the underlying proposals that will guide the next generation of the Chia blockchain. There is also an FAQ at the end of the post.

CHIP-49 describes the updates that will go into version 3.0. The biggest change will be the new consensus as well as several other unrelated items. The CHIP is detailed, but not highly technical.

CHIP-48 contains the spec of the new Proof of Space format. It is intended for a technical audience.

Both of these CHIPs are now in Review status. We encourage everyone to read them and let us know what you think.

We still need to do extensive testing before releasing version 3.0. Until then, we would greatly appreciate it if some farmers could help us with beta testing the new format. Be sure to follow the Plot format discussion channel in our Discord as we provide regular updates over the coming weeks and months.

Here is a summary of the proposed changes:

Activation and Phase-Out

All farmers, node operators, and users of self-hosted wallets will be required to install version 3.0 after it is released. Pool operators and ecosystem developers will also need to upgrade their products. We therefore need to build in a period of several months between the release of version 3.0 and the fork’s activation. The proposed block height at which the fork will activate is 9,562,000, which is expected to occur around six months after we release version 3.0. All users must upgrade to version 3.0 by this point if they want to continue using Chia.

After the fork activates, plots that use the new Proof of Space format will immediately be eligible for farming, and they will receive 100% of their expected rewards. Over the subsequent 256 days, plots that use the original Proof of Space format will gradually become less likely to win. This reduction will occur on a linear scale. For example, 128 days after the fork’s activation, old plots will only produce valid proofs half as often as they currently do. After the 256-day phase-out period has completed, only plots that use the new format will be eligible to provide valid proofs.

All farmers will need to replot before the phase-out period has completed. However, there is no financial incentive to replot prior to the fork’s activation because the new plots won’t be eligible until that point. For the vast majority of farmers, there will be no need to rush into replotting.

To make replotting as easy as possible, we will release a tool that gradually replaces your old plots with new ones, with minimal input or maintenance. In addition, there will likely be community-built tools available to help you decide when to begin replotting, based on your personal setup.

K-size and Strength

Plots that use the original Proof of Space format must be at least k32 (around 100 GiB uncompressed). The new proof format only allows k28, so there is no longer a need to choose a plot size. In addition, the new plots shouldn’t be able to be compressed by a significant amount. Each plot will be approximately 1 GiB.

Instead of using k-size for future proofing, the new Proof of Space format will use two mechanisms: a base filter (explained in the next section), and new term called strength. This term refers to the amount of compute that was needed to generate a plot. Each increment in strength will require around double the compute.

The minimum strength will begin at 0, and we will raise it as needed to maintain the network’s security. We do not intend to increase the minimum strength for the next ten years. Barring any unexpected advancements in technology, every PoS2 plot created today will remain valid until at least 2036.

Base Filter and Effective Filter

The original Proof of Space format uses a plot filter, which currently gives each plot a 1-in-256 chance of being eligible to create a valid proof at each signage point. The new format will update this filter in favor of two new ones: the network’s base filter, and an individual plot’s effective filter.

For the new Proof of Space format, the network’s base filter is the minimum plot filter an eligible plot can have. This filter will begin at 512. Six years later, it will be reduced automatically to 256. Every subsequent three years, it will continue to be reduced, until it reaches 1. We are building these reductions into the protocol with the 3.0 release.

In addition, each plot will have its own effective filter. A plot created at the network’s current minimum strength will have an effective filter equal to that of the network’s base filter. For every step up in a plot’s strength beyond the minimum, its effective filter will double. In order to prevent certain attacks, the effective filter will be capped at 8192.

For example, let’s say the network’s base filter is 512, and the minimum strength is 0. A plot with a strength of 1 will have an effective filter of 1024 – its strength is one level above the minimum, so its effective filter is double the base filter. As the base filter decreases every 3-6 years, the plot’s effective filter will also decrease. When the network’s minimum strength increases to 1, the plot’s effective filter will also be cut in half. Once the minimum strength reaches 2, the plot will no longer be valid.

The following table illustrates this example. 

Expected Block
Height
Approximate
Year
Base
Filter
Minimum
Strength
Effective Filter at
Strength = 1
9,562,000202651201024
19,663,00020322560512
24,708,00020351280256
TBD20361281128
29,759,0002038642Invalid

Even though this example shows a plot with strength=1 remaining valid until the late 2030s, it is  merely a prediction based on expected advancements in technology. If it turns out that we don’t need to reduce the filter as aggressively, we can postpone the reductions with a soft fork. On the other hand, if technology advances at a faster rate than expected, then we can increase the network’s minimum strength sooner. This will also be a soft fork.

Effective Filter Interval

With the original Proof of Space format, individual plots pass the filter at random intervals – it isn’t possible to predict when a plot will pass the filter in advance. This also means that some plots will pass the filter multiple times in a row. It would be like rolling three consecutive 1s with a fair die. This will happen on occasion.

In fact, it’s trivial to grind an ID for a plot that will pass the filter multiple times in a row. If someone can create a plot in less than around 30 seconds, then they can create such a plot in order to spoof more netspace than they actually have. This technique is called plot grinding, and is detailed in CHIP-13.

In the new Proof of Space format, we will update the algorithm for calculating when a plot will pass the filter. Instead of being random, it will not be allowed to pass the filter multiple times in a row. This will take away the extra leverage of plot grinding.

Plot Groups and Meta Groups

Plots created with the new Proof of Space format will include an index. This will allow up to 65,536 plots (around 65 TiB) to be grouped together as if they were a single plot. The advantage of grouping plots in this way is that they will all pass the filter at the same time.

The higher the strength of the plots in a group, the larger the group’s effective filter will be. If a 20-TB disk is filled with plots, then the disk will hold around 20,000 plots. If the group size is 128, then the disk will contain around 120 plot groups, each of which is slightly larger than a single plot in the original format. If these plot groups are created at the minimum strength, then each of them will pass the filter around 18 times daily, on average.

A modern 20-TB disk can keep up with this load without issue when the plot groups each pass the filter at different times. However, occasionally more than one group will pass the filter together. In fact, it’s possible (though uncommon) that so many plot groups pass the filter at a particular signage point that the disk won’t have enough time to search all of them for proofs.

To prevent this from happening, you can organize your plot groups into meta groups. If two plot groups are in different meta groups, then they will never pass the filter together. Each disk can have up to 256 meta groups, which ensures that the disk’s load will remain low and evenly distributed.

Shutting Down HDDs

Given the long expected lifespan of all new plots, along with the ability to spread out the load evenly by using meta groups, why would someone want to plot to a higher strength than the minimum? This question leads to one of the more exciting features to come out of the development process: the ability to shut down HDDs.

Under the original Proof of Space format, HDDs need to remain spinning at all times. This is because it can take up to 30 seconds to start an HDD, which doesn’t provide a sufficient amount of time for farming. In addition, if a disk needs to be started and stopped dozens of times daily, then it is better for the disk’s longevity, as well as electricity usage, to keep it spinning.

However, if a disk only needs to be started 1-4 times daily, and if there is enough time to predict when this will happen, then for some HDDs, it may make sense to shut them down until one of their plots is about to pass the filter. This is especially true for older, lower-capacity HDDs, which normally would use too much electricity for Chia farming to be economically viable.

If a plot’s effective filter is 8192, then it will only need to be started around once per day. With the new algorithm, it will be possible to predict at least 38 seconds in advance when this will happen. You could therefore fill a disk with a single plot group, and keep the disk shut down for all but a few minutes each day. The extra energy needed to create the plots may make this technique non-viable with 20-TB HDDs, but it might make sense with an older 2-TB HDD, for example.

This feature is still considered experimental. It requires plots to be created with a high strength, which come with the tradeoff of extra upfront compute. The tradeoff means that this feature will only make economic sense for a subset of HDDs. We plan to develop tooling to help you to decide whether to use this feature, as well as to help you to implement it. Until then, stay tuned for more updates.

Additional Changes

In addition to the new Proof of Space format, the 3.0 release will include several unrelated changes. Everything is detailed in CHIP-49, so feel free to read it and let us know what you think.

In summary, we will:

  • Add a few new CLVM operators and opcodes to make the language more efficient
  • Make some changes to the CLVM cost incurred in the conditions language
  • Add new weight proof commitments, which, once in full use will allow wallets to sync faster than they currently do
  • Change how we calculate block hashes, which will allow us to use arbitrary compression mechanisms 

FAQ

Q: What is the current timeline for the 3.0 release?

A: Most of the code is in place today, but we still need to do extensive testing. We’re hoping to get 3.0 out in a few months.

Q: When can I begin creating PoS2 plots?

A: If you’re technically inclined, you can visit the pos2-chip repo to test the CPU plotter today.

Q: When can I begin farming XCH with my PoS2 plots?

A: After the fork activates, PoS2 plots will earn at their full value. This is currently slated for block 9,562,000. Until this block height, PoS2 plots cannot be used for farming on mainnet.

Q: Will I need to replot?

A: Yes, if you want to continue farming, you will need to replot. This will be the first mandatory replot since the original format was finalized in 2020.

Q: When should I start replotting?

A: Other than creating a few plots for testing purposes, there is no reason to begin replotting before block 9,562,000 when the fork activates. After that point, you will have 256 days to replot your farm before your old plots become ineligible. Because of the long phase-out period, every individual farm will have an optimal date at which they should begin replotting. If you miss this date by a few days (or even a few weeks) it likely won’t have much of an impact on your earnings.

Q: How much space will I be able to plot each day?

A: Currently, we are tuning the plotter so that at the minimum strength, a 5090 will be able to plot about 40 TiB of space daily. From this, we can estimate that a 4090 will plot 30 TiB, a 3060 will plot 10 TiB, and a high-end gaming CPU will plot 4 TiB daily. These numbers are still subject to change.

Q: Why would I want to plot at a higher strength than the minimum?

A: The primary reason would be to reduce disk usage. Plots created at a higher strength will need to be accessed less frequently. A second reason would be to increase your plots’ longevity. However, we expect (though can’t guarantee) plots created at the minimum strength today to remain valid for a decade, so we don’t expect many farmers to plot at higher strengths for this reason alone.

Q: Will there be a maximum plot strength?

A: Yes. The maximum strength will start at 8, and will increment as the base filter is decreased. Strength needs to be capped in order to ensure that the network’s minimum spec hardware can validate all proofs in a timely manner.

Q: Will “stronger” plots win more often? Less often? Neither?

A: Neither. If plot B is twice as “strong” as plot A, then it will pass the filter half as often, and it will be twice as likely to find a valid proof once it does pass the filter. As a result, the long-term expected earnings of both plots will be identi

Q: How much longer will the creation time be for plots created at strengths higher than the minimum?

A: At the lowest strength intervals, increasing the strength by one level will require slightly less than double the creation time. This is due to some overhead in the creation process. After around strength=4, the overhead will be negligible, so plots created at higher strengths will need almost exactly twice as long to be created.

Q: Can I use an HDD as a temporary drive while creating large groups, or is RAM or an SSD required?

A: An HDD will typically write at 250MB/s, which takes 4 seconds per plot in the group to write. This could be done in a background thread while creating the next plot for the group. So, it becomes a bottleneck only if you are plotting faster than 1 plot every 4 seconds. And even in that case, you could alleviate the bottleneck by increasing the plot strength so that it takes longer than 4 seconds to create each plot.

Once all plots in the group have been written to temporary storage, you can run another single-thread to merge them into the final grouped plot. That will take as long as the HDD takes to read all data and rewrite it to the target destination. CPU load would only take 1 thread, and memory load could be <1 GB.  During this process, you could begin creating plots for a new group with a different process.

TLDR: Yes, you could use a spare HDD to make the big grouped plots without much impact on your plotting times.

Q: How are groups stored on disk? As a single file? Multiple files?

A: It’s possible to divide a group into as many files as needed. If you follow our recommendations and use groups of 64 or 128 plots, then you will probably want each of your groups to consist of a single file.

Q: Why would I want to separate my group into multiple files?

A: To avoid having to use a large temporary space. Recall that while creating plots to be included in a single group, you need to store the completed plots somewhere temporarily.

Let’s say you have a 20 TB HDD and you decide to fill it with a single group of 20,000 plots. If you only created one file, then you would need another 20 TB on which to store the plots temporarily, before combining them into a single file. This could be slow and cumbersome to achieve. If instead, you created 200 files of 100 GB each, then you would only need 100 GB of storage, which would allow for in-RAM temp storage on many systems. In both cases, the result is a single group of 20 TB, but in the former case you have one file, and in the latter case you have 200 files.

Q: Why shouldn’t I break down a group even further? Why not use 1000 files?

A: To prevent taking too long to submit a valid proof. By definition, each file from the same group will pass the filter together. When this happens, each file will undergo two disk seeks. On an HDD, each seek might take 10 ms. If you have 1000 files in the same group, then 2000 disk seeks will be needed, and this will require upwards of 20,000 ms, or 20 seconds. This is too much time – taking more than 8 seconds risks being too much time to find and submit a proof.

Q: Will I need to use meta groups? Why or why not?

A: Meta groups are not required. The primary use case for meta groups is to smooth disk usage as much as possible. The vast majority of farmers today can forgo meta groups without any noticeable difference. Meta groups should be considered an advanced feature.

Q: Why even include meta groups if almost nobody will use them?

A: They could be quite helpful in the future. Whereas today, most HDDs used for farming are around 20-24 TB, a decade from now they could be 200 TB, or even larger. A 200 TB HDD filled with groups of 128 plots would require over 1500 files to be stored on disk. In this case, the load might spike so much that the disk isn’t able to keep up at certain signage points. We wanted to include this feature today so that it will be available when it is needed in the future.

Q: If I don’t want to use meta groups, will I still need to specify a meta group, or will there be a default?

A: Each group will be assigned the default meta group of 0 if left unspecified.

Q: If I have 10 groups with one meta group, are they guaranteed to pass the filter at the same time?

A: No. If you have 10 groups with one meta group, then each group will pass (or not pass) the filter independently. It would be like rolling 10 dice. You might roll zero 1s or ten 1s, or anything in between. Each die acts independently of each other die.

On the other hand, if you have 10 groups, each of which is assigned a unique meta group, then you have a guarantee that at most one of your plots groups will pass the filter at a given signage point.

Q: Will the plots I create today still be valid once the fork activates?

A: No. We will continue to optimize the plotter as we prepare to release version 3.0, and we will make breaking changes between now and then. Until version 3.0 is released, the new format should not be considered final.

Q: If I use the reference wallet, but I’m not a farmer, will I need to upgrade anything?

A: Yes, you will need to upgrade your wallet to version 3.0 before block 9,562,000. If you fail to do so, then your wallet may fall out of sync until you perform the upgrade. However, the funds contained within your wallet will remain secure.

Q: If I use the Cloud Wallet, will I need to upgrade anything?

A: CNI runs several nodes to host the Cloud Wallet infrastructure, so all you will need to do is occasionally refresh your browser window to pick up any changes.

Q: How about if I use Sage or another ecosystem wallet?

A: If you use any ecosystem wallet including Sage, you will need to make sure to stay upgraded to the latest version of your wallet software. The operators of those wallets will be responsible for upgrading their own infrastructure.

Q: How much RAM/VRAM will I need to plot?

A: For all-RAM plotting with a GPU, the current usage without swapping is around 12 GB of VRAM.  It might be possible to lower this number, but this is not a guarantee. As for all-RAM CPU plotting, 16 GB will be the maximum amount needed.

Q: How easy will it be for me to plot/replot my farm?

A: We are creating a tool that will make this process as simple as possible. It will discover where you have existing plots and replace them one by one. This will keep disruptions to a minimum. There will also be an advanced mode for those who want to tweak the technical parameters.

Q: Will there be alternative plotters available for the new format?

A: People in the ecosystem are welcome to develop their own plotters based on the pos2-chip repository. Eventually, we expect there to be multiple options for plotting. For now, however, the only plotter available is the one developed by CNI.

Q: What will be the minimum spec hardware for farming?

A: The minimum spec will be a Raspberry Pi 5 with 8 GB of RAM. This computer will be able to farm around 2 PiB of storage without any issues.

Q: Will version 3.0 make any changes to the rewards distribution, block times, or other consensus critical blockchain parameters?

A: No. The primary focus of 3.0 is the new Proof of Space format. Beyond that, we are making a few more updates to the CLVM, weight proofs, and block hashes. None of these updates are expected to be controversial. They are detailed in CHIP-49.

Q: What problems are being addressed with the new Proof of Space format?

A: The original Proof of Space format, while secure, allowed some farmers to take advantage of time-space tradeoffs in order to gain an unfair advantage over farmers with low end hardware. These tradeoffs will be nearly eliminated in the new format. In addition, we were growing concerned that the original Proof of Space format might someday be exploited in a rental attack. The new format will be significantly more resistant to such attacks. For more information about why we are building the new format, see our previous blog posts about this subject:

Q: Are you still going to release separate formats for SSD and HDD?

A: No. While our original thinking was to release two separate formats, we have now simplified the design so that only a single format is needed.

Q: What happened to Benes compression?

A: While Benes originally was an intriguing way to reduce plots by a few percent, this is no longer needed in our simplified design, so we have dropped our plans to use it.

Q: I thought there might be issues with proof solving/validation with low-end hardware?

A: In the first iteration of PoS2, a Raspberry Pi 5 might not have been able to validate all proofs. With the latest design, this is no longer the case. The minimum spec hardware will be able to validate proofs from the highest strength plots in around 1 ms, so it should be able to maintain sync without issue.

Q: How can I help?

A: Thanks for offering!

  • First, we recommend that you read CHIP-49 and leave your comments in the pull request. This will help us to make sure there is consensus on all of the proposed changes.
  • If you are a cryptographer, a mathematician, or are otherwise knowledgeable about our Proof of Space formats, then go ahead and read CHIP-48 and leave your comments in that pull request.
  • If you want to help us with testing, then you can create a few plots from the pos2-chip repo and let us know what you think.
  • Beyond that, we will soon begin the coordinated testing of the new proof format, as well as the fork activation. Be sure to keep an eye on the Plot format discussion channel in our Discord.