https://m.primal.net/HxhK.png

# Halving Fee Chaos

The Bitcoin halving is an anticipated event, one of those Bitcoin holidays that happen every once in a while. Along with Soft Fork Activation and various financial instrument introduction days, it's one of those not-quite-predictable days that occur every few years which give Bitcoiners reason to pay attention and mainstream media to speculate.

This year's halving was much anticipated, as halvings usually are, but we had a bit of an incident that requires some further explanation. The block subsidy decreased from 6.25 BTC to 3.125 BTC on block 840,000 as expected, but what wasn't expected was the 37.626 BTC in fees that came along with it. To give some context, that's easily the highest ratio of fees to block subsidy that Bitcoin has *ever* had. [One transaction](https://mempool.space/tx/152b928e97bb9e874da1bd4abdf766ae0cdc7a2f260dad5542967cb414c58489) paid nearly 8 BTC in fees by itself.

## More Fees

It wasn't just block 840,000 that had high fees, over the next 5 blocks, we had fees of 4.486, 6.99, 16.068, 24.008 and 29.821 BTC respectively. The fees are the highest it's ever been. This situation in Bitcoin is unprecedented.

Up to this point in Bitcoin's history a block whose fees were higher than block subsidy were pretty rare. There were a few in the 50 and 25 BTC eras, but these were mistakes by the user (usually forgetting to put in a change address) and almost all of the fee came from a single error transaction. In the 12.5 BTC subsidy era, there were a few transactions toward the end of 2017 when the cumulative fees exceeded the 12.5 subsidy. In the just-ended 6.25 BTC subsidy era, there were many blocks during the ordinals craze which exceeded the 6.25 BTC subsidy.

Still, these were relatively rare, and most blocks even in the most recently completed era mostly didn't exceeded 1.5 BTC. Yet in this new era of 3.125 BTC subsidy, every single block as of this writing (block 840018) has had fees exceed the subsidy, some by many multiples. So what happened? Why was the halving block getting so much in fees?

## Runes

The reason has to do with a new protocol called Runes. It's yet another colored coins protocol on top of Bitcoin that Casey Rodarmor designed back in [September of 2023](https://rodarmor.com/blog/runes/). The main idea is to allow coin issuance on Bitcoin that uses the UTXO set natively.

Now to back up a bit, colored coins have been around for a long time. The main idea is that you can "color" certain Bitcoin transaction outputs as meaning something in addition to the Bitcoin amount in the output. It could be another "asset" and issued as a token. The first implementation of such a protocol happened 11 *years* ago in 2013 and there have been many attempts since, including MasterCoin (renamed Omni), CounterParty, and more recently, RGB, Taro Assets and BRC-20.

As Rodarmor states in his blog, his motivation for making another protocol is to bring some of the asset issuing from other chains to Bitcoin. To make the launch of this protocol more interesting, Rodarmor decided to start the issuance on block 840,000, leading to the chaos we saw.

## Simplification vs Game Theory

Casey Rodarmor is also the creator of ordinals, and he took one of the concepts, which was to name assets using the capital latin alphabet on Runes. This is a normal fine choice, but what happens when there's a conflict? If two assets have the same name, how do we distinguish between them?

To simplify things, the protocol just looks up what assets exist already and if the name conflicts with something that exists, then the new asset isn't issued. This indeed simplifies the client and gives a global unique name to each asset. Unfortunately, it also makes for some terrible incentives.

## Sniping Asset Issuance

The first incentive problem is that if the transaction issuing the asset is sent out to the Bitcoin mempool, then as that transaction is gossiped to nodes around the network, other observers can snipe the name by getting the transaction in earlier.

Now "earlier" in Bitcoin is a strict concept. Blocks are ordered and transactions within a block are ordered. Whichever comes first gets the symbol and the asset issuance. But if you want to squat on a good symbol name, you can just look for mempool transactions that are attempting to create a new asset and create your own with a bigger fee. That's the essence of sniping.

What's really terrible about a situation like this is that *both* transactions will likely go into the block, but only the first will successfully issue the asset. The second will not issue the asset but *still pay the fee*.

Miners generally order transactions by fee rate, so a higher fee likely means that they'll get to issue the asset. I say likely, because there's a second incentive problem here I'll discuss later. But game-theoretically, both participants are incentivized to increase fees continually to one-up each other. The dynamic is similar to the [One Dollar Auction](https://en.m.wikipedia.org/wiki/Dollar_auction), where participants end up making rational choices, but end up with an irrational result (like paying $1.50 for $1). Every loser pays lots in fees for nothing.

## Second order Game Theory

Now given this first-order incentive playing out, it's not a surprise that a lot of issuers purposefully put in a very high fee initially to discourage anyone from trying to snipe the symbol. After all, if your sniping attempt fails, then you lose out on the fees you tried to snipe with. There's also a significant uptick in the usage of RBF for this reason, so that you have the option to one-up the sniper and the sniper to do the same to the issuer.

Note that RBF isn't useful here to *get out* of paying the fee, as a replacement transaction has to pay more than the previous transaction in fees. Either way, the miner ends up with the fees.

Now back to the miner's role. The miner can, if it so desires, give preference to the *lower* fee transaction by including it earlier in the block. Indeed, the incentive is to give miners off-band fees if possible to order transactions in such a way as to win by not revealing how much you've paid. Miners in this protocol have a lot of leverage.

## Conclusion

Runes have resulted in some really high fees, though it's hard to know if the design was intentional or unintentional. What we do know is that Runes have been hyped up for the last few months and have been anticipated for a while, and certainly being one of the first assets issued under the protocol has some marketing value for the eventual goal of getting them listed on an exchange.

Sadly, in addition to the normal scamming of altcoins being completely centralized, there is a deeper cost in terms of block space congestion, where fees of 1000 sats/vbyte are currently not enough to get into certain blocks. The Runes asset issuance has overridden almost every other use case at the moment.

That said, the current rate of Runes issuance is completely unsustainable. Just in the first 18 blocks, there's been over $20M in fees spent, most of that in Runes issuance. At this rate, Runes issuers would be spending $150M a day or $1B a week. I honestly can't see them doing this for much longer than a month or two. In the meantime, it must be great to be a miner finding these blocks.


Onward 🫡


Great post! You answered my question in the last paragraph. These fees are almost entirely due to the creation, or issuance, of Runes. It would be interesting to see a chart showing the ratio of Runes being issued versus being transferred, or bought. Would exchanging a Rune create the same fee spike as an issuance?


Thank you for explaining that!!


Jimmy's post was is so good. I thought what new AI model wrote this?


just like NFTs can be done on liquid, so can memecoins. ordinals and runes are not the problem, the lack of knowledge is. 👁🌈✌
nostr:nevent1qqs8cppnzcgewg2x2szdch4qmjpugaj8wnghplnlvj7znmv9ktwwqyspz3mhxue69uhkummnw3ezummcw3ezuer9wcpzq7el0qph2p6x7325zw3zr7qfvhhvk600xz8jatga4zwv9jy396tgqvzqqqqqqy4ulu0t


How can all these noobs have this much bitcoin? Must be some evil OG bitcoiners manipulating the fees. Noobs getting killed again


Thank you nostr:npub10vlhsqm4qar0g42p8g3plqyktmktd8hnprew45w638xzezgja95qapsp42 for explaining. This Ordinal / Runes thing is so fiat. Once again the money moves from the poor to the rich


I don't see that happening. Unless the seller auctions off the tokens. Since runes are fungible tokens, there will always be other people selling you those tokens without the fee spike.


Let the circus 🤡 attention grab consume itself. Bitcoin doesn’t care and neither does anyone else who appreciates the primary purpose of the #bitcoin protocol. Like driving by an accident on the side of the road. Moving on, meh!


Thanks for explaining this to us Jimmy, its hard to keep up with all the shitcoin nonsense going on 🙏


Thanks for that, I did wake and wonder why the huge fees.


What a great advertising for #Bitcoin, right on the halving celebration :))

nostr:note10szrx9s3jus5v4qym302phyrc3mywax3wrl87e9u98kctvkuuqfq62535p


Prunes are supposed to unblock, no?


So you're saying.... My nerdminer has a chance??? 👀👀👀

😁🤙🏽💯🍻🙏🏽🥳🥂🍺🎇🎆🚀✌🏽🤪😁


Great elucidation.
As usual, a storm in a teacup, with scammers and greedy noobs losing out eventually.


So normal ppl can’t use bitcoin as money for a month or two…

Yeah, everything is fine here


Use #Ocean Pool as a miner and support a honest #bitcoin blockchain!


Nah


we gonna need some softforks


yeah, after its issued in batches, the transfer is quite cheap in terms of vB, its like a normal transaction.


:POGGERS:


They will run out of money on this.

Key question is what do the miners do with the BTC. Do they invest in their operations, support the ecosystem, or they figure out ways to harvest more fees with the degens.

Smart , lower time preference miners should take the BTC and get ready for an environment with a much lower total subsidy. Those that don’t will fail. Good riddance.

It’s a cleansing event just like other halvings. This one will just take longer to play out.


:fire:


## Update:

Apparently, there's a minting process that was added to the Runes protocol, so you have to first commit to the symbol using a hash and then reveal some number of blocks later. I was going off of the initial blog post, but a few people have pointed me to the update of the protocol because they saw this same problem. Thus, the one dollar auction dynamic does not happen, though there's plenty of altcoins being launched. There's already over [1000 new altcoins](https://unisat.io/runes/list) either minted or in the process of being minted on it.


https://m.primal.net/HxhK.png

# Halving Fee Chaos

The Bitcoin halving is an anticipated event, one of those Bitcoin holidays that happen every once in a while. Along with Soft Fork Activation and various financial instrument introduction days, it's one of those not-quite-predictable days that occur every few years which give Bitcoiners reason to pay attention and mainstream media to speculate.

This year's halving was much anticipated, as halvings usually are, but we had a bit of an incident that requires some further explanation. The block subsidy decreased from 6.25 BTC to 3.125 BTC on block 840,000 as expected, but what wasn't expected was the 37.626 BTC in fees that came along with it. To give some context, that's easily the highest ratio of fees to block subsidy that Bitcoin has *ever* had. [One transaction](https://mempool.space/tx/152b928e97bb9e874da1bd4abdf766ae0cdc7a2f260dad5542967cb414c58489) paid nearly 8 BTC in fees by itself.

## More Fees

It wasn't just block 840,000 that had high fees, over the next 5 blocks, we had fees of 4.486, 6.99, 16.068, 24.008 and 29.821 BTC respectively. The fees are the highest it's ever been. This situation in Bitcoin is unprecedented.

Up to this point in Bitcoin's history a block whose fees were higher than block subsidy were pretty rare. There were a few in the 50 and 25 BTC eras, but these were mistakes by the user (usually forgetting to put in a change address) and almost all of the fee came from a single error transaction. In the 12.5 BTC subsidy era, there were a few transactions toward the end of 2017 when the cumulative fees exceeded the 12.5 subsidy. In the just-ended 6.25 BTC subsidy era, there were many blocks during the ordinals craze which exceeded the 6.25 BTC subsidy.

Still, these were relatively rare, and most blocks even in the most recently completed era mostly didn't exceeded 1.5 BTC. Yet in this new era of 3.125 BTC subsidy, every single block as of this writing (block 840018) has had fees exceed the subsidy, some by many multiples. So what happened? Why was the halving block getting so much in fees?

## Runes

The reason has to do with a new protocol called Runes. It's yet another colored coins protocol on top of Bitcoin that Casey Rodarmor designed back in [September of 2023](https://rodarmor.com/blog/runes/). The main idea is to allow coin issuance on Bitcoin that uses the UTXO set natively.

Now to back up a bit, colored coins have been around for a long time. The main idea is that you can "color" certain Bitcoin transaction outputs as meaning something in addition to the Bitcoin amount in the output. It could be another "asset" and issued as a token. The first implementation of such a protocol happened 11 *years* ago in 2013 and there have been many attempts since, including MasterCoin (renamed Omni), CounterParty, and more recently, RGB, Taro Assets and BRC-20.

As Rodarmor states in his blog, his motivation for making another protocol is to bring some of the asset issuing from other chains to Bitcoin. To make the launch of this protocol more interesting, Rodarmor decided to start the issuance on block 840,000, leading to the chaos we saw.

## Simplification vs Game Theory

Casey Rodarmor is also the creator of ordinals, and he took one of the concepts, which was to name assets using the capital latin alphabet on Runes. This is a normal fine choice, but what happens when there's a conflict? If two assets have the same name, how do we distinguish between them?

To simplify things, the protocol just looks up what assets exist already and if the name conflicts with something that exists, then the new asset isn't issued. This indeed simplifies the client and gives a global unique name to each asset. Unfortunately, it also makes for some terrible incentives.

## Sniping Asset Issuance

The first incentive problem is that if the transaction issuing the asset is sent out to the Bitcoin mempool, then as that transaction is gossiped to nodes around the network, other observers can snipe the name by getting the transaction in earlier.

Now "earlier" in Bitcoin is a strict concept. Blocks are ordered and transactions within a block are ordered. Whichever comes first gets the symbol and the asset issuance. But if you want to squat on a good symbol name, you can just look for mempool transactions that are attempting to create a new asset and create your own with a bigger fee. That's the essence of sniping.

What's really terrible about a situation like this is that *both* transactions will likely go into the block, but only the first will successfully issue the asset. The second will not issue the asset but *still pay the fee*.

Miners generally order transactions by fee rate, so a higher fee likely means that they'll get to issue the asset. I say likely, because there's a second incentive problem here I'll discuss later. But game-theoretically, both participants are incentivized to increase fees continually to one-up each other. The dynamic is similar to the [One Dollar Auction](https://en.m.wikipedia.org/wiki/Dollar_auction), where participants end up making rational choices, but end up with an irrational result (like paying $1.50 for $1). Every loser pays lots in fees for nothing.

## Second order Game Theory

Now given this first-order incentive playing out, it's not a surprise that a lot of issuers purposefully put in a very high fee initially to discourage anyone from trying to snipe the symbol. After all, if your sniping attempt fails, then you lose out on the fees you tried to snipe with. There's also a significant uptick in the usage of RBF for this reason, so that you have the option to one-up the sniper and the sniper to do the same to the issuer.

Note that RBF isn't useful here to *get out* of paying the fee, as a replacement transaction has to pay more than the previous transaction in fees. Either way, the miner ends up with the fees.

Now back to the miner's role. The miner can, if it so desires, give preference to the *lower* fee transaction by including it earlier in the block. Indeed, the incentive is to give miners off-band fees if possible to order transactions in such a way as to win by not revealing how much you've paid. Miners in this protocol have a lot of leverage.

## Conclusion

Runes have resulted in some really high fees, though it's hard to know if the design was intentional or unintentional. What we do know is that Runes have been hyped up for the last few months and have been anticipated for a while, and certainly being one of the first assets issued under the protocol has some marketing value for the eventual goal of getting them listed on an exchange.

Sadly, in addition to the normal scamming of altcoins being completely centralized, there is a deeper cost in terms of block space congestion, where fees of 1000 sats/vbyte are currently not enough to get into certain blocks. The Runes asset issuance has overridden almost every other use case at the moment.

That said, the current rate of Runes issuance is completely unsustainable. Just in the first 18 blocks, there's been over $20M in fees spent, most of that in Runes issuance. At this rate, Runes issuers would be spending $150M a day or $1B a week. I honestly can't see them doing this for much longer than a month or two. In the meantime, it must be great to be a miner finding these blocks.


Zap!


I'm sympathetic to this viewpoint now.


On thing that has happened, not sure if it’s good or bad; a large number of degens have been onboarded to starting up nodes. Is there any benefit to that at least?


Fab post! Thanks


Onward 🫡


What is special about ocean?


Are you a miner?

You know much about mining, block template creation, reward calculation, custodial ...


If miners would deprive themselves intentionally of the spam fees, that's really not a good solution to the problem. It also doesn"t make logical sense - why not take their sats?


Finna Make It


That's the problem, why not make profits and push people who desperately need bitcoin to survive out of the base chain.
It's not contributing anything to the Satoshi vision of a peer to peer electronic payment network.
Take your time and listen to Bitcoin Mechanic, it's worth to spend the time!
https://youtu.be/bCJR7v73r3Q?si=bp_PGn_XJwg-fdYt


Scam ordinals:
"It's an insult to the seriousness of the project!" Bitcoin Mechanic from the Ocean Pool


I have a miner running in a pool since a few months -lincoin-, but I‘m just getting into it and learning


Ahh ok!

Check, how they payout, FPPS is standard now.
But you don't get the freshly mined bitcoin

Blocktemplate creation is opaque
Here's a pretty good overview

https://youtu.be/bCJR7v73r3Q?si=bp_PGn_XJwg-fdYt


great! Thanks for the input 🤝🏽


₿> Great post 📬


It's a lot! Here you go! Thx! #runes

nostr:nevent1qqs8cppnzcgewg2x2szdch4qmjpugaj8wnghplnlvj7znmv9ktwwqyspr9mhxue69uhhqatjv9mxjerp9ehx7um5wghxcctwvspzq7el0qph2p6x7325zw3zr7qfvhhvk600xz8jatga4zwv9jy396tgqvzqqqqqqyyrnv5c


If this catches on (= is perceived as having been profitable for the scammers), then every 'special' block will have a larger attack aimed at it, making the Bitcoin network unable to process normal transactions for a while each time.

Like blocks 888888, 900000, 999999, 1000000, 1050000 etc etc


The ordinals spam seems to have come and gone - haven't seen a series of full blocks for a good while now.

Bitcoin is uninsultable. It's also for enemies. If there's something wrong with the code, the problem should be addressed there instead of convincing already pwnd home miners to further decrease their gains.


The degen fee spike explained.

nostr:note10szrx9s3jus5v4qym302phyrc3mywax3wrl87e9u98kctvkuuqfq62535p


Excellent summary, thanks Jimmy!


Let's go 🚀