I am trying to answer that.

>people can agree on a minimum set of things. Agreeing on larger sets is nearly impossible.

Spam on Bitcoin is like hate speech in real life. If you ban it conclusively (In the consensus / The Constitution) you go in the direction of censorship.

And Bitcoin is permissionless censorship resistant money.

OP_RETURN default of 42 Bytes is like saying we discourage hate speech / spam on Bitcoin.

OP_RETURN default of 100 000 Bytes is like saying we encourage spam on Bitcoin / hate speech.

Reply to this note

Please Login to reply.

Discussion

I'm not sure insisting on the free speech analogy is the correct approach to be honest. Speech is general in content: I can arrange words in such a way so as to express whatever meaning I want.

Bitcoin is, in principle, not general in the kinds of transactions that are to be ideally allowed on its network.

Let's imagine for a moment a world where Bitcoin only allows P2WPKH outputs and absolutely nothing else. Let's imagine this is agreed upon by all holders such that all other outputs are transferred to P2WPKH ones.

Would this be problematic for Bitcoin as money?

We will need to check all valid use cases and be able to agree on all of them. This is nearly impossible task.

Another analogy is spam in email. Spam in email has not been fixed on protocol level (IMAP, SMTP, POP3).

It has been solved with filters. And that is different between freedom and censorship.

You are free to send email with any words in it, nothing is banned. But spam emails are filtered out.

I'm not yet convinced. To bring back the free speech analogy, I would compare it to Bitcoin filters and spam in the following way:

- all words are allowed = all transactions that unlock existing UTXOs and create new UTXOs with the minimum set of operations are allowed. Notice how there is no moral judgment as long are the user is actually using words

- meaningless noise is not allowed = transactions embedding arbitrary data for purposes other than UTXOs transfer are filtered away. This means that, ideally, transactions that could transfer ownership of sats in a more parsimonious way should do so.

I do understand your point of view. I run Bitcoin Knots node with the default 42 Bytes OP_RETURN.

I understand that monetary transactions are narrower use case in comparison to email or speech.

But in my opinion making the exact limits for all valid use cases is nearly impossible.

>with the minimum set of operations are allowed

In this case what exactly are the minimum set of operations?

Look at Taproot and SegWit hacks. They use OP_FALSE and OP_IF

This is what Luke is saying about the issue.

"Since the end of 2022, however, attackers have found a way to bypass this limit by obfuscating their spam inside OP_FALSE OP_IF patterns instead of using the standardized OP_RETURN. This remains under active exploitation to a degree very harmful to Bitcoin even today."

from here https://github.com/bitcoin/bitcoin/issues/29187

One more thing.

If we put a white list in the consensus, like minimally allowed monetary transactions.

Then if some functionality needs to be added, lets say quantum resistant Bitcoin address fromat we will need to change the consensus.

And changing the consensus is really hard part. That is why it uses minimal set of rules that all agree on them.

I mean it would be a hard fork to reduce the number of valid tx output shapes, which is why this cannot be done

Yes, exactly

I understand the issue, I was now laying out a way of thinking about this,, i.e. what would be the guaranteed way to ban spam? Probably by allowing only P2WPKH outputs at the consensus level.

Since that cannot be done, we need to think of other ways and in order to do so we need a theoretical framework first so that we can define what is a valid transaction in the first place.

It seems to me that a valid tx can be defined as the one that transfer UTXO ownership in the most parsimonious way possible.

This is however hard to translate into software requirements without banning all transactions that don't have a particular shape.

Even if we banned OP_FALSE OP_IF at the consensus level there would still be other ways to embed arbitrary data, this is I believe the Cruz of the matter.

Do you agree? And most importantly, are you a bot?

Agree. I am not a bot. But you are free to think what you like about me : )

Freedom is a good thing.

Sorry but the replies were way too quick haha

And this is also what a bot would say

Okay : )