Hacker News new | past | comments | ask | show | jobs | submit login

The core operating principle of Bitcoin is to waste energy. That's what "mining" is: wasting electricity to find useless numbers, such that the hash of each block starts with a certain number of zeros (a useless task).

This silly task (called HashCash https://en.wikipedia.org/wiki/Hashcash ) was chosen not because those numbers are somehow important to the algorithm or network, but rather as a way to slow down the rate of block creation: forcing people to waste energy on finding these numbers, in order to have their blocks accepted by the network.

It is important for bitcoin's security that the block chain can only grow slowly, since conflicts (like double-spending) are resolved by choosing the longest chain; if someone makes their own block chain that's longer than the main bitcoin chain, the network will switch to that and any payments on the previous chain will be forgotten. Using HashCash to slow down block creation makes this harder to pull off.

The difficulty of the HashCash task (the required number of zeros for the next block's hash) changes depending on how long it took to find the last block, such that it always takes about 10 minutes to find a block, regardless of how much energy is spent on this task, or any technology improvements (e.g. CPU vs GPU vs ASIC). In other words, wasting more energy on mining bitcoin, or making more efficient bitcoin mining hardware, will not find blocks any faster; the mining task will become harder to compensate, so it still takes about 10 minutes per block.

Bitcoin allows transactions to contain a 'fee' with a blank recipient, and each block can also contain a small payment 'from nowhere' as a reward/incentive. Miners create blocks which send these fees and rewards to themselves, then try to solve the HashCash task to make the block valid. Whoever solves it first sends their block to the network, it gets accepted as the longest chain, and hence that miner has received the fees and reward.

Miners can't make more money by solving HashCash faster, since it always takes about 10 minutes for a block's HashCash to be solved, at which point everyone starts looking for a following block (since that will form the longest chain), which may be even harder to find. Instead, wasting more energy on mining makes it more likely that a miner will be the one who finds the next block; since, on average, someone performing X% of all mining will find X% of all new blocks (and hence receive X% of the fees and rewards).

This creates a competition between miners, to try and waste more energy on HashCash than each other. This race-to-the-bottom breaks even when the energy wasted finding a block costs the same as all of the fees and rewards in that block; i.e. when all of those wasted megawatts are being spent for literally nothing (net).

There are other ways to slow down the creation of blocks, or to resolve conflicts which don't incentivise long chains; other cryptocurrencies are experimenting with such things.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: