Proof of Capacity

Hi Everyone

I am still quite new to crypto, and learning to understand different mining algorithm, like PoW and PoS.
I recently come across PoC (proof of capacity) and as I know there is currently only BurstCoin that uses this mining algorithm?

As I understand with PoC does not require constant processing power (high energy consumption) to do mining, instead it uses storage space (low energy consumption). With PoC it plots the hard drive with nonces (once off) and then the mining process is a looking up to find the valid nonce.

Is this not a better way to do the mining? I guess, it opens up the possibility where parties creating dominance with having high storage volumes?

Would like to hear your understanding and thoughts on PoC.



I think there is an inherent problem with all of the current mining, yes they create an incentive for people to run the network but they are becoming an outdated model and largely centralised which defeats the purpose of most cryptocurrencies.

As we know, Proof-of-Work is ridiculously energy intensive, to the degree that it will soon (couple of years) become unsustainable. If you look at the energy consumption of Bitcoin (simply the most well established and therefore easy to find data on):

While Bitcoin was consuming about 14 TWh / year in July 2017, this has increased to 44 TWh / year by January 2018 or triple its consumption. In terms of energy consumption, this comes down to about 385 KWh consumed per actual transaction, which means you could power approximately 13 households in the US for one day for each transaction processed by the Bitcoin network.

Bitcoin has a daily consumption of 119,831,467 (20/01/2018) which could power a total of 4,049,860 households daily (at a consumption rate of 29.5890 KWh). I.e. Bitcoin consumes as much power as a country with a population of 4 million people, itcurrently consumes more energy than the Republic of Ireland, or New Zealand or Hungary and is just trailing behind Peru on a global scale.

All this for a slow transaction system.

While a better approach and certainly a more environmentally friendly approach, there are still some potential inherent problems with this system; those with a higher stake (I.e. coins in possession by the node) will still have the ability to control the network (much liker miners in PoW) and the current miners are the ones controlling a large percentage of the coins (theoretically, they could simple HODL everything they mine) and as such this model also leaves itself open to centralisation.

The owners / founders of the coin can circumvent this by keeping a large enough amount of coins out of circulation and into their control but this again is centralisation.

While this will initially create a more level playing field, provided this is successful as a mining approach, I would predict that this would travel down a very similar path to PoW and PoS where a small group of people control a rather large piece of the network.

If you are a current Bitcoin miner and you see PoC and coins with PoC take off, it would be relatively cheap for you to start adding different hardware to your mining pool, purely focused on PoC and you will get rigs with as many high capacity hard drives as possible to give you greater mining chances; gradually surpassing the network at large.

Granted this may take a bit longer (since everyone has some spare space on their HD) but as soon as you start putting in a battery of the Samsung 15.36TB SSD (USD 10,000) and solely dedicate this rig to mining or better yet a battery of the to-be-released Seagate’s 60TB SSD which again can be fully delegated to mining; you can see a shift in power happening quite fast.

I’m not saying BurstCoin is a bad idea, at all, I’m all in favour of decentralisation, but I personally believe that any model that requires some sort of Proof-of-… before transactions are bundled and added into blocks and those blocks are mined, will always ultimately become more centralised.

Time will tell if this model will fare better than PoW / PoS.

If you look at how Tangle, Raiblocks and Hashgraph mine, you will see a far more decentralised and fair system; which is what cryptocurrencies were meant to be; that, I believe is the direction that will be sustainable for the future.

Just my two cents obviously :slight_smile:


Your criticism is valid, and I agree with you in the fact that the solutions today lead to centralization in some degree. I actually believe that the centralization is the tendency in any ‘competition’ based system simply because of the increased efficiency it produces.

The problem with this other solutions however is that they currently lack the testing blockchain based systems have, and also have some technical problems of their own.

I will speak about tangle because I don’t know that much about raiblocks and hashgraph, but they are in my ‘to do’ list.

  • The network still has not been tested without the coordinator, which is a huge centralized point of failure right now.

  • Some theoretical attacks have not been solved yet without the coordinator (probably the reason it is still online), such as parasite chain attacks.

I actually see a loto of potential in the tangle technology, but I dislike the current IOTA dev’s for how they comunicate with the community an respond aggressively to criticism made to the project.

In my opinion we will see a centralization-proof-ish PoS in the future, but I hope we have many alternatives at each step of the way.

David Sønstebø in his interview with Ivan claimed that they have run the tangle on two occasions without the coordinator and that these runs were successful, however I haven’t seen anything yet to substantiate that claim. With his condescending attitude and that of other IOTA heads, it is hard to take anything at face value.

I don’t think they quite realise how much community trust they are losing because of this ongoing attitude issue, it has been raised quite a few times.

Anyway, according to them the reason the coordinator is still online is:

  • The system is still being put through the test
  • They still need it to monitor and control transactions
  • They haven’t reached critical mass yet to operate without the coordinator
  • They don’t anticipate reaching critical mass until end 2018 / early 2019; which seems contradictory with earlier statements. To be honest, I did think he had valid points for not wanting to predict critical mass date and time but it leaves the question open-ended

In itself I don’t have a big issue with the coordinator being there, it is normal for a system that is build for large transaction volumes to need some sort of training wheels until it surpasses reasonable capacity to operate independently. From David’s view, once the coordinator goes offline, it will be a community decision to reactivate it should they drop below critical mass some time later.

It sounds a bit like they haven’t quite figured this part out yet, they don’t seem to know what critical mass is in terms of volumes, when they will reach this volume and what to do if later it drops below this volume. I understand the goal of making it a public decision but if you look at the history in Bitcoin and Ethereum in terms of time taken for public decisions (which is a great concept) it doesn’t sound like a sound business approach in this case. Just look at all the discussions about Segwit and Segwit2x and the various forks, these decisions take a long time to reach consensus.

I would much rather see that they build in a clear rule set that states, after achieving X transaction volumes or Y active master nodes for X amount of time, the coordinator will be taken offline. However, if we hit below Z transaction volumes or Q master nodes the coordinator will be automatically reactivated until we reach the benchmark again. This can be handled as a smart contract, monitoring the health of the tangle and as such would not be controlled by the network or devs. This would make investment in IOTA much sounder and frankly safer.

Network consensus around issues should be focused on future development and road-map, not on daily operational matters in my personal opinion.

Raiblocks has PoW built in but since in Raiblocks a block consists of a single transaction, this PoW is done on a transaction level, by the node, prior to doing the transaction. So the user doesn’t really know / realise that PoW is taking place. The PoW must be completed before the transaction can enter the network and only takes a matter of seconds.

Their principle is very different, the easiest way to look at it is that they are following dual entry accounting principles, where every transaction consists of 2 blocks, one in the nodes’ own blockchain, where a sent block is added and one block in the recipients blockchain where a receive transaction block is added. Each node runs its own blockchain and only the node can add blocks to its own blockchain.

The receiving node runs a confirmation protocol on the receive transaction block, which goes a bit as follows:

  • Once a node has accepted a “receiving” transaction, it runs the confirmation protocol
  • It subsequently digitally signs the transaction after confirming it
  • It then adds the block into its ledger (status pending)
  • It then broadcasts the block out to the network to announce the block it has observed.
  • The node then waits and observes incoming publish and confirm messages to see if any conflicting blocks are published.
  • Non-voting nodes will transmit unsigned public blocks
  • Voting nodes will sign the block with their voting key and publish a confirm message
  • A message / transaction is considered confirmed if there are no conflicting blocks and when a 50% vote quorum has been reached
  • If there is a conflicting block the node will wait 4 voting periods (15 secs per voting period, 1 minute total) and confirm the winning block, rejecting the losing block.
  • If the node that was waiting receives the rejection, it will reject the block from its chain.

Next to this, in RaiBlocks, there is a different confirmation system based on “representatives”. In general, all that is needed is your cryptographic signature on your “send” and “receive” blocks. When the node syncs, it runs through the ledger to ensure that the signatures are authentic.

In order to prevent double-spend attacks, RaiBlocks has a “representative system”. A representative in the system is basically an address with a lot of money. The representative acts as the arbiter of, which double spent block to go through, and propagate through the system.

Representatives actually only activate if there is a conflict (<1% of transactions) and don’t interfere in daily operations. It does add a level of centralisation in those cases but the risk of attack on this is actually quite low due to its high cost.


Hey Guys

Thanks for all your comments, very thorough. So much to learn in this Cyrpto space. I think although it all started with Bitcoin in 2009. There is still a long way to go before we find the equilibrium for the acceptable consensus algorithm. All this new technology and consensus algorithms are still yet to time and mass tested. It’s very difficult to say which one will prevail.

In terms of PoC mining coins, it seems like there is one coin that does this, i.e. BurstCoin (created from NxT platform).
I have also come across Storj and Sia, but these are not PoC (these are renting our your storage services).

Since no Proof of… algorithms are perfect. I am curious why PoC is not getting much attention compare to PoW, as it’s a much more efficient way to mine, compare to PoW consuming alot of energy.

Wouldn’t it have to be personal to be truly decentralized? I call it PoP, proof of Person. So everybody participating on the network represents a node and helps secure the network. every person can only have one node. of course this is difficult to confirm that every node is indeed a person: maybe it works when it is tied to once’s specific DNA. Your DNA gives you a specific key which is needed to run a node, to have a voice and to stake. So everybody stakes the same, no matter of how much money or “coins” they have. I am not a tech, so maybe this is completely impossible haha… just thinking around