Proof of Capacity
Simplified
Explanation
.png)
Proof of capacity mining starts with a process known as plotting. Plotting is the act of computing and storing solutions to cryptographic challenges on your hard drive and is done before mining itself can begin. You win the block reward if your hard drive contains the solution to the current block’s puzzle.
This differs from the reverse hashing approach used in proof of work systems such as Bitcoin The PoC mining algorithm is too complex to be calculated on the fly within the very short block time which is around 4 minutes.
This means that the candidate solutions must be calculated and stored on a hard drive ahead of time. Ultimately, the more solutions or plots, that you have, the greater will be your chance of having the winning solution to the most recent puzzle
Proof of Capacity
An Analogy
Imagine that each miner filled his hard drive with lottery tickets and then every time a random number is generated, he checked to see how many matching numbers he had. The miner that had the most matching numbers would be the one that won the reward for that block. Only in this lottery you can keep using the same lottery tickets over and over
.png)
Proof of Capacity
Technical
Explanation
Proof of capacity involves two operations. Plotting and mining
.png)
Proof of Capacity
Plotting
.png)
When plotting, also known as creating a plot file, you create something called nonces. Nonces are created through repeated hashing of data, including your account ID. The more hard drive space you allocate to plotting, the more nonces you can store. One nonce will end up containing 8192 hashes. These 8192 hashes are organized in pairs, known as scoops. Every scoop is assigned a number from 0 to 4095.
During mining, you calculate a scoop number between 0 and 4095. Let’s say your calculation gives you a scoop number of 42. You would then go to scoop 42 of nonce 1 and use that scoop data to calculate an amount of time, called a deadline. You repeat this process for all the nonces you have on your hard drive. After calculating all of your deadlines, you would pick the minimum deadline. The deadline represents “the number of seconds that must elapse since [the] last block was forged before you are allowed to forge a block. If no one else has forged a block within this time, you can forge a block and claim a block reward.”
For example, when mining, you come up with a minimum deadline of 25 seconds. If no one else can forge a block within the next 25 seconds, you will be given the opportunity to forge the block and reap the reward.
Proof of Capacity
Mining
.png)
At the beginning of each blocktime, the ID of one of these datasets is broadcast to the miners. It is a network generated random number that cannot be predicted. Each miner then examines the dataset with this ID in every plot file that he has and selects the one that is closest to a target value. The miner that submits the best result within a certain deadline can claim the reward for the block. In the case of a tie, the miner with the fastest solution wins. Note that this does not mean the fastest to find the answer but the speed of the calculation that produced the answer. So there can be no arms race of miners competing by investing in ever more powerful equipment.
If no miner manages to submit a claim within the deadline then the winner of the previous block will get the reward.
And so it goes every 4 minutes.