Oddbean new post about | logout
 It’s always the case that low-value UTXOs may become immobile in a high-fee environment. Sufficiently small value UTXOs are dust—never worth moving even at 1 sat/vbyte. This is true no matter what enhancements we consider (base chain, Lightning, covenants etc.)

What covenants allow is more people holding keys per UTXO. So you could have relatively high-value UTXOs that are still movable in a high-fee environment, but which encode promises to pay a large number of key holders.

In the fullness of time, block space is unbounded. We’ve seen that even though occasionally fees become quite high, they don’t seem to stay that way forever. 
 What covenants allow is an increased attack surface and the potential for unintended consequences.  Segwit and Taproot helped produce the spam that's currently attacking the network.

Bitcoin is working perfectly fine without new opcodes.  It's feature complete.  Leave it alone. 
 "Segwit and Taproot helped produce the spam that's currently attacking the network."

This is simply wrong. Segwit increased block size, so you could pack 4MB instead of 1MB into blocks. This worst-case was well understood. And indeed, most nodes didn't notice (block relay is not the majority bandwidth for default nodes).

Without segwit, the spam would have driven up fees much more: they were clearly prepared to spend the money! 
 I don't give a shit about fees they can go as high as they want it does not matter to me.

And the witness discount in segwit absolutely added to spam. 
 How did this "spam" affect you, if you're not complaining about fees? 
 It bloats the UTXO set increasing the cost of validation, among other things 
 This is nothing to do with Taproot or Segwit. You are very confused. 
 I have been a professional software engineer for 25 years and studying bitcoin specifically for 7.  I can assure you I understand the details of the protocol quite well.  If you do not understand how the witness section is abused to produce spam then you should study bitcoin more deeply.  I am not your tutor. 
 If you have to ask, you don’t understand the second order impacts on plebs. My tor node is incredibly slow now. I can’t run it all the time and it’s not a fast computer. I sync the node when I need to broadcast a transaction. In my last sync I waited weeks. 
 Not only did the Segwit devs increase the block size, but, in their wisdom, actually gave spam a discount! 

Yes, the spammers were clearly prepared to spend the money. With the discount, we reduced their fees so now the spammers make even more profit. 🫡

“This worst-case was well understood.”

That virtually all of the block size increase would be filled with spam? I guess if you put spam on sale, you sell more spam, right? 

After spending a couple weeks recently to sync a node over Tor, I would argue it wasn’t worth it. We still have high fees and now we struggle to sync our nodes privately. I noticed how you didn’t mention the impact on our Tor nodes. 😔

In second thought, maybe it’s a good thing that the devs slowed down our nodes. Fewer impulsive purchases! Maybe bitcoiners buy fewer useless lambos because they come to their senses waiting for their nodes to sync. 🤔 

Idea!💡Maybe since fees are still high, we should increase the blocksize further and give the spammers a bigger discount?  Surely if it worked so well the last time, maybe we should do it again? We can never have too much efficiency, amirite? 🤨

I never once heard a mea culpa or any accountability for what seems to be the biggest f’up in core’s history. No post mortem, just gaslighting that everything is “fine” and how the devs “understood” the risks. This ossification talk is probably just a symptom of the lost trust. 
 insightful post indeed.  "we knew the risks" is worse in my opinion than "we had no idea how bad we were fucking up" as it implies malice.

Core fucked up massively with segwit, then again with taproot, and now they won't even fix their filters or address their prior mistakes.  Ego or malice, I'm not sure which.  Either way core is not to be trusted.

The good news is that more people are realizing just how vulnerable Bitcoin is to the addition of new opcodes and softforks and are starting to gather around the idea that "if it aint broken, don't fix it".  Meanwhile vain developers with small bitcoin stacks yearn to make a name for themselves by adding new bullshit to a perfectly functional network.  And that's why I tell them to stuff their new opcodes up their asses.  Nothing but an attack on bitcoin and deserves no debate on ridicule. 
 I still don’t understand how covenants  improve the situation for low value amounts. 

If I have $10 in my own UTXO or $10 in a shared UTXO, it will still cost me roughly the same amount in fees to transfer it on the L1 chain. 

Why does having more keys per UTXO make anything cheaper if it costs you the same amount in transaction fees?

It doesn’t seem to matter if the covenant encodes a future payment to you if the payment amount is small and fees are high and rising over time. You’re still going to pay a significant amount in fees.

I don’t agree that block space is practically unbounded. Sure we could increase it, but it’s like making more roads to decrease traffic. It just encourages more people to buy cars and fill the roads. Building more roads gives a temporary benefit but eventually the traffic is back to the original level or even worse. 

If we lower the economic cost of blockspace, people will just fill it with lower value data (like spam JPEGs) and we’ll reduce decentralization. 
 Using your shared UTXO example, let’s say we’re using CTV, and you are  guaranteed 1/10 of the coin. Somebody has to publish that transaction to get the coins out. For a miner to mine it, the fee must be paid by one or more child transactions whose fees cover both themselves and the parent withdrawal TX.

Now, if you’re in a hurry, then you’re the one who has to pay. But you could also coordinate with others to share the cost. This is indeed a problem. It’s an ongoing discussion to figure out how to make unilateral exit cheaper.

The point I was making about block space is not about increasing size. Keeping a small block size is important for decentralization. It keeps the cost of running a node down so more people will do it.

The point about block space being unbounded is that while the block subsidy will run out around the year 2140, there’s no limit to the number of blocks after that. In the fullness of time (centuries), block space continues to grow at 1MB+ per 10 minutes in perpetuity.

Bitcoin rewards patience with lower fees. If you wait, you can move coin more cheaply. 
 Thank you for the detailed response. 

I’m still unconvinced that covenants offer a complete solution to the scaling problem. 

You will never know whether the amount you have in a shared UTXO will be “trapped” by proportionally excessive fees, or how long you will have to wait to retrieve it at reasonable expense, or how much you will receive when you do. 

I believe that changes to the core protocol carry high risk and therefore should not be partial fixes or merely helpful in some circumstances.

We need to ask ourselves:

1) Can the issue be solved in any other way, other than a change to the core protocol? Have we waited long enough for other solutions to emerge?

 2) If we must change the core protocol, what is the most limited change we can make that actually solves the problem?

This is why I would wish for developers to be patient and continue researching the problem until a complete solution is found. It’s also possible that we may all be happy with other solutions that emerge. 
 Agreed that caution is warranted. 

I’d push back though on wanting/expecting a perfect scaling solution. It doesn’t exist. Scaling comes piecemeal.

For example, SegWit transactions are denser than original transactions. Taproot transactions are denser still. Lightning introduced orders of magnitude more throughput, but with different tradeoffs (always online, coin locked in channels, etc.)

These scaling improvements make better use of block space and increase privacy to boot. But they’re not the end of the story. Likewise, whatever comes next won’t be the last word on scaling either. 
 Incorrect.  segwit and taproot decreases density by filling the witness section with spam data and creating utxos without monetary value. 
 I’m not sure these approaches help. It’s like trying to plug a dyke with your fingers. Eventually the water comes in. Any efforts can merely delay the inevitable and risk negative effects like the inscriptions spam. 

Fees are going to increase. Trying to delay the reckoning so that we can buy coffee on L1 for a short time longer seems pointless to me. Why not recognize the inevitable and build for that future instead? 
 Because human nature is that they just can't leave well enough alone.  Have to monkey with it.  Have to mess it up.  Impossible to just sit quietly and watch.  Everyone wants to be a hero.

But thank you for articulating clearly the silliness of their argument.  A couple more cups of coffee on L1 indeed...