Hacker News new | ask | show | jobs
by tuankiet65 1948 days ago
The whole point of Bitcoin mining is to produce a block, which contains a bunch of transactions. The Bitcoin network dictates that each block's SHA256 hash starts with a certain number of zeroes, so the only way to achieve this is to brute force the block data until you find the "winning" block which hashes to a number of zeroes.

Once someone finds a winning block, they're rewarded with a number of Bitcoin. This subsidies the cost that goes into mining that block. However the reward halves after every 210k blocks, so as the reward goes down, miners will prefer to only include transactions with high fee. Eventually the true cost of mining will reflect in the transaction fee.

And to add to the "it costs 657.6kWh to process a transaction": energy is used to produce a block, which contains an arbitrarily defined number of transactions. Right now, Bitcoin Core limits each block to 1MB, which works out to about 2k transactions per block. If Bitcoin Core were to increase the limit to say 10MB, the energy used to produce a block doesn't change, but the energy used to process a transaction goes down tenfold.

2 comments

> And to add to the "it costs 657.6kWh to process a transaction": energy is used to produce a block, which contains an arbitrarily defined number of transactions. Right now, Bitcoin Core limits each block to 1MB, which works out to about 2k transactions per block. If Bitcoin Core were to increase the limit to say 10MB, the energy used to produce a block doesn't change, but the energy used to process a transaction goes down tenfold.

Oh, it could be somewhat improved. Then it'd be "only" 65 kilowatt hours, compared to ~1 watt-hour for conventional payment networks.

(And, this assumes that the increase in bitcoin price doesn't cause more mining).

>Then it'd be "only" 65 kilowatt hours, compared to ~1 watt-hour for conventional payment networks.

Sure, and? You get other benefits, those might not be relevant for you in which case keep using conventional payment networks. But if things like counterparty risk of your payment processor come into your calculations, even $10 dollars a transaction migth be a good deal.

The entire point of this subthread you're responding to is that the cost of transactions is so energy intensive that those "other benefits" are null and void.

It's called an externality. It doesn't matter if you'd pay $10 for it if the cost imposed is too great. There are a lot of things people would absolutely pay for that we don't allow, because of that. Dumb weird fantasies about decentralization or counterparty risk or whatever don't actually matter if the energy cost is that high. It's just not important enough. Sorry.

> It's called an externality. It doesn't matter if you'd pay $10 for it if the cost imposed is too great

The cost imposed is proportional to the fee, since the fee has to pay for the electricity used to mine the transaction. And $10 of electricity is just... not a lot to worry about.

If you believe the electricity consumption in general has huge externalities, you have bigger problems than mining, and once you address those the mining cost/diffiuclty will adjust

> The cost imposed is proportional to the fee, since the fee has to pay for the electricity used to mine the transaction.

No. Miners get rewards for mining blocks, which pay for 80%. Transaction fees don't pay for the electricity used in a transaction: not even close.

> If you believe the electricity consumption in general has huge externalities

Well, sure, I believe that electricity is artificially cheap. I also believe that spending $50+ of electricity per transaction done is absolutely nuts. And that amount is steadily increasing...

Hm, OK, I was wrong about the ratio of fees to reward. Good news is that reward is going to halve every 4 years so in 12 years it's probably going to be much more even.
Sorry, but even if we significantly improve things such that a transaction "only" takes the equivalent of a few days of my electricity use.. that's not so great. There's better ways to do this that don't require mining.

Indeed, from a decentralization perspective, mining is looking worse than proof of stake, etc.

Thank you! That was a really helpful response.

That makes a lot more sense that many transactions are included within a block. So effective transaction fees are likely in the few cents USD range.

I've read that one issue with the latency of Bitcoin transactions is that many of the large miners from China have network issues. Would raising the block size to 10-100MB cause significant latency issues for transactions even if one could fit a lot more transactions into a single block?

> Would raising the block size to 10-100MB cause significant latency issues for transactions even if one could fit a lot more transactions into a single block?

There are two ways to understand your question so I'll just answer both of them:

Fitting more transactions in a block leads to faster confirmation, and potentially lower fee. When a transaction gets into a block, the network confirms that the transaction is valid and can't be reversed. Right now each block can only fit ~2k transactions, and since a block can only be generated every 10 minutes, the mempool (backlog of unconfirmed transaction) is rather huge. This site shows how big it is: https://jochen-hoenicke.de/queue/. Miners are incentivized to only select transaction with high fee into the next block, which in turn incentivizes users to pay more fee to get their transaction to confirm faster. With bigger blocks, more transactions get confirmed quicker, which leads to lower fee.

Bigger blocks however mean miners with slow internet connection are at a disadvantage. When a miner finds a winning block, they broadcast the block to as many nodes in the network as possible. After a while, a majority of nodes accepts that winning block, and the miner is eligible for the mining reward. If A finds the winning block 10 seconds after B, but A is able to propagate their block quicker than B, then it's possible that A's block is accepted and not B'. In reality, it's possible that B might still win the race, but the rule is: faster propagation => more chance of being accepted.