What is Proof of Capacity?

This article will explore proof of capacity mining, the ability to use empty space on your hard drive to mine free coins. While most coins use proof of work or proof of stake in block generation, there is one coin currently utilizing proof of capacity.

Hashing

Proof of work and proof of capacity both require the use of hash functions. A hash function is a one-way function, meaning that it’s easy to put in information and compute the hash, but extremely difficult to take the hash and determine the original information. Generally, the input can be any information and the output is an alphanumeric string, a list of numbers and letters.

For example, if you put the word “dog” into the SHA-256 hash function, used by Bitcoin, the output is:

cd6357efdd966de8c0cb2f876cc89ec74ce35f0968e11743987084bd42fb8944

But if you add on just one letter, and input the word “doge”, the hash becomes:

c4e793c81ee40370d827d0cbe748d246cffca2cbe959383edf0976d041ece9e5

These outputs were trivial to compute but it would be nearly impossible for you to receive these hashes and determine the original input.

Proof of Work

Proof of work is the most similar to proof of capacity but requires expensive and specialized equipment. When you are finished mining proof of work coins, you would be hard-pressed to find any other applications for your mining hardware. Proof of work is also extremely loud and energy intensive, putting wear and tear on the machines, causing them to regularly require repairs or replacement.

Here’s a brief summary of proof of work.

Miners gather transactions and put them into a block. All of the data in the block, which includes the hash from the previous block, go through a hash function to produce a new hash value. Miners rapidly alter a number in the block header as fast as they can in order to try and find a correct hash value. The first miner to find a correct hash value broadcasts the block to the rest of the network and the other miners validate the transactions before working on the next block.

Proof of Capacity – Simplified Explanation

Rather than constantly changing numbers in the block header and hashing for the solution, proof of capacity involves plotting your hard drive – the act of computing and storing solutions on your computer before the mining even begins. Some solutions are faster than others. If your hard drive happens to have the fastest solution to the most recent block’s puzzle, you win the block.

The mining algorithm is too complicated to calculate in real time, and the block times are so short (an average of 1 block every 4 minutes), that solutions must be saved on the hard drive ahead of time. Ultimately, the more solutions, also called plots, you have on your hard drive, the greater your chance of having the best solution for the most recent puzzle.

Proof of Capacity – An Analogy

Imagine you “filled your hard drive with lottery tickets and then when a random number is generated, you check to see who has the most matching numbers.” If you have the most matching numbers, you win a reward. The best part is “you get to keep using these lottery tickets block after block.”

Proof of Capacity – Technical Explanation

Proof of capacity involves two parts. There is the plotting of the hard drive and the actual mining of the blocks. Depending on the size of your hard drive, it can take days or even weeks to make your unique plot files. Plotting uses a very slow hash known as Shabal. This is different from the SHA-256 hash used earlier in the article, which Bitcoin miners use rapidly. Since the Shabal hashes are hard to calculate, we precompute them and store them on a hard drive. This process is known as plotting your hard drive.

Plotting

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.

Advantages and Disadvantages

Now you have the scoop on scoops and the basics of proof of capacity. Here is a look at some of the advantages and disadvantages of using hard drives to mine.

Advantages

You can use any regular hard drive so other miners won’t have gained an advantage from buying specialized equipment, such as with ASIC mining for Bitcoin.

Using hard drives is 30 times more energy efficient than ASIC based mining

Proof of capacity is more decentralized because everyone has a hard drive. You can even mine from your Android phone’s hard drive.

Miners don’t have to continuously upgrade equipment. Older hard drives can store data just as well as new ones.

When you are finished mining, you can clear your hard drive and use it for its original intended purpose

Disadvantages

Popular proof of capacity mining could lead to another arms race. Today people are using terabyte hard drives, but we could eventually see petabytes, exabytes, and zettabytes.

Proof of capacity is a relatively new technology and not rigorously tested and challenged in the real world.

Currently, the hard drives plot data that is useless beyond its mining purpose. However, there are plans to have the hard drives serve as redundant storage for important open source information. The hard drives could store maps, Wikipedia articles or other information worth preserving.

There is already malware mining Bitcoin on people’s computers. If proof of capacity became popular, it’s possible you might see malware plotting people’s hard drives. The main difference is you are much less likely to notice some of your hard drive space being taken up.

Burstcoin

Burstcoin is the first and only coin to use proof of capacity. They have an active development team and big plans for the future. They have even caught the eye of cryptocurrency enthusiast John McAfee. You can check the full guide on Burstcoin right here.

Final Thoughts

Proof of capacity is an interesting solution to the problems that have surfaced with classic proof of work consensus algorithms. It tends to lead to an increased decentralization of mining power and less energy consumption. Still fairly unproven, only time will tell how effective proof of capacity is and whether or not it will become the new norm for consensus algorithms.