Jochen Hoenicke writes about Bitcoin and hardware security, including an oscilloscope attack on a TREZOR and a live mempool visualization.
HN commenters use his mempool queue chart to check current Bitcoin fee levels and to argue about transaction costs and congestion.
> 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:…
I literally transact almost every day.
To give you an example, the withdraw fee for BTC on Kraken is 0.0005 BTC, which is currently about 17.50 USD.
Here is the current mempool: https://jochen-hoenicke.de/queue/#0,24h
To get your transaction confirmed in the next few blocks, you have to be in the "yellow" of the chart, and use a fee of around 120 satoshi's per byte.
The average transaction is around 200 bytes, so you need to pay 24000 satoshis, which is 0.00024 BTC.
That's 8.40 USD right now. The problem is that it's a double blind auction, so to have a very high likelihood of getting into the next block, you often have to pay 200-400 satoshi's per byte, which puts you right up at the $20 level. If your transaction is larger, it can be significantly more.
Also, if the mempool gets even more backed up than it is right now, the fees can literally go as high as people are willing to pay when fighting over the restricted block space.
>You don't usually need a priority transaction when funding LN channel, so ~$1 fee will be enough.
If you try sending a Bitcoin transaction with a $1 fee right now it may not confirm for days and might confirm at all! That isn't a user experience that's going to create mass adoption. It needs to be an improvement on the existing options.
How, exactly, is my statement that the fees are often over $20 a lie?
You should stop accusing people of being liars without data to back it up. This forum is supposed to be for intelligent discussion, not…
You (or your wallet, or both... depending of your wallet and your settings) choose the fees you like (the wallet could guesstimate based on the current congestion and your time preference).
The miners then choose the transactions they want to include in a way, as to maximize their gains. As a block can only hold a certain amount of transactions and the limit being set by the weight-units [1], miners will want to prioritize the transactions that offer them bigger fees per weight unit, or usually expressed as sats/vbyte (satoshis per virtual bytes).
So if you don't need a transaction to arrive in the next 1-2 hours, you can lower your fees, and the transaction might pass in the night (although BTC is international, congestion is less on US night time and especially week-ends) or if not, probably in the week-end. If it doesn't clear fast enough, or as fast as hoped, then RBF (replace-by-fee) or CPFP (child-pays-for-parent) might help (manually or an increase of the fee could be automated by the wallet every set amount of time).
TL;DR: there is a free market for transactions, but the price is not dictated by the market (and there is no real bidding system), instead you suggest a fee, and see if any miner around the world wants to include it in a block (and you can adjust if the outcome isn't achieved, which has similar results to a bidding system... but is more like natural supply/demand mechanism, as miner do not guarantee to include a transaction).
Helpful to see current…
> Very costly in the sense that an individual Bitcoin transaction curently costs about $20
you've cherry-picked the exact point in time when due to various factors ("civil war" between bitcoin and bitcoin cash supporters, propaganda campaigns, price rally) transaction fees are at their peak. if you look at the graph - https://jochen-hoenicke.de/queue/#all you'll realize that for majority of this year transaction fees were well below 50c. this is what happens if you blindly believe the echo chamber.
besides, i'm not convinved all and every transaction belong on the chain. chain provides bunch of very strong guarantees that no other system in the world provides - it's ridiculous to claim that those guarantees are not worth anything.
> I literally synced the Ethereum chain on my laptop last weekend.
lol, nope. let me guess, `geth --fast`? well, i suggest you go read up on what `--fast` means. i challenge you to try syncing from the genesis block.
> This is only true if you are using the phrase "up for debate" in the sense that smoking being bad for you is up for debate
no, it is literally up for debate. there is a multitude of bottlenecks involved in having a healthy blockchain and a network around it, they are all affected by bumping the blocksize in non-trivial ways through secondary and tertiary effects. and it's not even obvious we can handle the primary effect of growing blockchain and utxo set - that quite literally leads to centralization of full nodes via making…
Energy use is proportional to the revenues gained from mining.
Revenues are based on the block coinbase reward and transaction fees from transactions (txns) included in the block. The coinbase reward is currently a large majority of mining revenue, but this will decrease over time according to the coinbase halving schedule every ~4 years.
Since block capacity is arbitrarily limited to 1MB, txn throughput is limited. Therefore, all txns contribute to txn fee competition. There is a transaction fee market where users must outbid each other to ensure their txns are incorporated into the blockchain in a timely manner.
The net effect is that txn demand does contribute to mining rewards and ultimately the energy used for mining. But it is a very small effect at present:
* Txn fee competition only rarely kicks in. The network operates most of the time without substantial mempool backlog. https://jochen-hoenicke.de/queue/#0,6m This does change with market activity, and we are certainly looking at more txn fees overall in the future.
* Coinbase rewards dominate mining revenues, so the effect is proportionally small. As these rewards decrease in the future, txn effects will have bigger effects.
The upshot of all of this is a shift into a 'mature' paradigm of blockchain security funding. It's a pretty big shift and easily the biggest unknown in the future of Bitcoin. More and more, the focus will be on scaling and whether the opposing goals of affordable transactions…
> Measuring energy use per transactions makes no sense
I am well aware of the difference between average and marginal energy use. This would be particularly relevant if the blocks were not full, but mined anyway, so that any additional transaction could've been included "for free". However, more often than not, that's not the case, but the mempool is non-empty, and the constraint (of max transactions per block) is binding. [1]
Thus, one can not trivially argue that the marginal cost of a transaction is zero.
Next, yes, my figures (165 TWh/a = 19 GW) from Digiconomist [2]) are at the upper end of the estimates, but other figures (eg Cambridge Bitcoin Electricity Consumption Index) estimate 100 TWh/a, with reasonable bounds of 36 to 376 TWh/a, so 12 to 28 GW, so are largely in alignment, modulo a factor of 2. (Note that your source is also within a factor of 3 of those estimates, pegging BTC at 0.2% of global electricity consumption.)
At any rate, the average cost is just preposterous, even if off by a factor of 3.
[1] see for example https://jochen-hoenicke.de/queue/#BTC,1w,count
[2] https://digiconomist.net/bitcoin-energy-consumption/
[3] https://cbeci.org