Hacker News new | ask | show | jobs
by autocorr 1941 days ago
Can someone explain how transactions are not insanely cost prohibitive for Bitcoin with power consumption figures like those? Those numbers would suggest something like >20 USD. Is it because most transactions in practice actually happen internally on exchanges that avoid putting every individual transaction on the blockchain?

I have limited knowledge of Bitcoin so maybe not quite "explain like I'm five"... but close. :)

4 comments

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.

> 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...

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.

Oh that’s inflation.

The cost is socialized across the block reward. So long as there’s more new money coming in than block reward paying electric bills on the way out, the cost of a transaction is socialized efficiently.

Elon’s $1.5B investment only lasted a total of 4 weeks. It’s already gone. It’s in the hands of Chinese coal produces now.

That is roughly what transaction costs are. In some camps this prohibits the technology ever becoming a widespread method of payment. If we’re going for decentralised currency and 10 exchanges control all the low fee movement stuff...
«Can someone explain how transactions are not insanely cost prohibitive»

Because the comments above yours are misleading. Transactions don't consume mining energy. Miners expend the same amount of energy regardless if they are validating 1 or 1000 transactions in a block.

That’s some high class mental gymnastics though. Because if you divide the energy spent across the number of transactions you land back where you started. And if the energy was burned for 0 transaction capacity then the underlying would be worthless. Secure but worthless. So it doesn’t take much inference to realize that the value is in transactbility.

You’ll have to explain to me why when mining a block of transactions, it doesn’t make sense to break that down on a per transaction basis with division.

If the number of transactions in a block ever changes I’ll change my divisor. Until then the proof is on you isn’t it?

«it doesn’t make sense to break that down on a per transaction basis with division»

Because the division result is meaningless as it just reflects how full a block was, not the cost of a transaction. Again: miners expend the same amount of energy regardless if they are validating 1 or 1000 transactions in a block. Exactly the same amount. And whatever math you might be doing doesn't account for batched transactions (1 tx, N outputs), lighting transactions, or off-chain transaction (think tx within a platform like an exchange).

> Again: miners expend the same amount of energy regardless if they are validating 1 or 1000 transactions in a block.

For one that’s horrifyingly wasteful - you say it like it’s a good thing but it’s really not. And two, I’m describing the network as it exists today. That’s not dishonest; there’s no plan to increase the quantity of transactions per block. If it ever changes we can run the numbers again. But saying it’s a bad way to run the numbers is like saying there’s no cap on the number of bitcoins because the core team could just change the cap. Ok, and if they do, we’ll run the math again.

«For one that’s horrifyingly wasteful - you say it like it’s a good thing but it’s really not. »

It is a great thing: it means Bitcoin can scale without increasing energy consumption. See, that's my problem with the way you phrased your post. You misrepresent the system. You imply transactions consume energy when they don't.

> It is a great thing: it means Bitcoin can scale without increasing energy consumption. See, that's my problem with the way you phrased your post. You misrepresent the system. You imply transactions consume energy when they don't.

You pretend they don’t but they obviously do! You’re green washing one of the biggest environmental tragedies since CFCs.

It could in theory scale past where it’s at but the core team won’t let it making your argument no more useful than my unlimited coins argument. In what way exactly is it different? Yes if we pretend it’s efficient, it is. But only in our imaginations.

Even if they did increase block size fundamental inefficiencies mean even at maximum scaling it can’t hold a candle to visa or even a raspberry pi running MySQL.

Not really. It means Bitcoin _currently_ scales negatively on market cap rather than transactions. Considering that bitcoin seems to be advertised primarily as a store of value and that there is little effort to push adoption for transactions, that is a very bad thing : it means that, in case of success, bitcoin performance per transaction will become worse.

In the long term, if transactions count doesn't rise fast, we will also see significant issues, either with transaction fees going to absurd amounts, effectively banning btc as a payment medium, or with the miner pool decreasing to counts where decentralization becomes inexistent.

> Miners expend the same amount of energy regardless if they are validating 1 or 1000 transactions in a block.

This ignores the transaction fees. Even though they are only 10-20% of the total fees a miner collects, 10-20% of a round-trip from SF to NYC is still a lot of energy.

So essentially it only gets worse from these numbers, because right now every block is full so every transaction is consuming the least amount of energy it can if you process less transactions the energy cost just keeps going up.

Also the defense of "the energy is spent securing the blockchain" is missing the point, the blockchain isn't a good unto itself it's only useful as a log of transactions and you only need new blocks when there's transactions and if there are no transactions Bitcoin is basically dead.