Replying to Avatar waxwing

What surprises me about the tech and developer discussion around embedding data onchain (and OP_RETURN is just a corner of that), is how little of the discussion refers to the ethics.

There's an obvious point, and an obvious (in my opinion, incorrect) counterpoint.

The obvious point is that permissionlessness is central to Bitcoin's nature, and that implies *ethically* you cannot tell people what kinds of transactions are OK, and what are not. There are very substantial *technical* arguments as to why it can't really be prevented, but they are secondary to the ethical one: you don't have the *right* to tell people what transactions they can do.

The obvious counterpoint is that posting anything to the blockchain has a cost for *all* users. That's why we spent 4 years arguing about the limit on the size of blocks. I have no ethical right to tell someone not to publish or mine a block of size 10GB, but it doesn't take long to realize that the costs this imposes on other participants, is too large. In case you think, this argument was straightforward, the big blockers were wrong, don't forget that the resolution, for better or worse, was a compromise: average block size today is often 2x the size before. It was a really difficult argument.

So the counterpoint wins and we have to discuss whether embedding data should be allowed? I say, no, this a fundamentally different discussion. It is not a discussion of *how much computational resource is used in total*, but rather a discussion of *what individual users are using the computational resource FOR*, and that crosses the line into being ethically unacceptable, unequivocally.

I say that the technical awkwardness, or even impossibility, of restricting this behavior in the Bitcoin system is just a byproduct of trying to make Bitcoin do the opposite of what Bitcoin was designed for - censorship resistance.

Anyone who fears UTXO set bloat IS bearish on adoption. What happens when everyone on the planet wants a UTXO?

Reply to this note

Please Login to reply.

Discussion

Well, napkin math has from the start shown us that that is probably impossible.

Everyone having a key, that is included somewhere in the script, perhaps more possible.

Global state is an expensive thing, thinking 'everyone one the planet' can be provided access to expensive things a foolish ideal.

I'd argue even thinking in terms of 'everyone on the planet' is some delusion to begin with; it simply not how the world works, nor a mental position anyone can actually occupy...unless you think you are God?

There is so much between what is the current state and this mythical 'everyone in the world', a lot left still to fight for, even if this dream of yours is shattered.

OK. Do 10% of population.

How about this:

Will Bitcoin be of added value to the world if:

Every nation and multinational holds a UTXO?

Every province and large corporation holds a UTXO?

Every municipality, medium business and rich individual?

Small business...etc?

Etc?

I would argue yes to the first, more yes to the second and so on. Lets see how far we can push things, without undermining what made it valuable in the first place.

It's nothing to do with UTXO bloat. It is the ability to control what you accept as valid on your computer. The UTXO set expansion does have limitations but it is the height of arrogance to think you know what the future holds with any clarity.

The crux of the argument is:

If I can't "Code my own" implementation do I have the right to configure what my node accepts as valid?

If no, then why is it right that the Bitcoin Network "censors" Ethereum transactions as "invalid" they paid for space on the block in ETH, why does every node reject it?

The only answer with any ethical consistency with "A permissionless money" is allow nodes to filter transactions or not depending on their preference.

Filtering doesn't prevent valid tx's from landing on chain

I didn't say it did... Read again.

So why kvetching about configuration? It's a moot point.

You can configure whatever you want and it won't stop the spam

Not the point.

It is not. Configuration is HOW you know what consensus is.

Example:

If I give you the Option to choose between the colors red, white, and blue.

Then 20% choose white

10% choose blue

70% choose red

The overwhelming consensus is that red is the prominent color. But that doesn't mean you'll NEVER see blue or white.

But if I say:

"Here is your option, the color red."

You will never see blue or white no matter what people prefer.

Removing configuration is removing choice.

Configuration is not consensus. I can config whatever I want and consensus valid txs will still be in my bloclchain data and UTXO set

You are misunderstanding consensus in this context. Consensus is not something that will "still be in my blockchain data and utxo set" the nodes dictate valid. Miners offer candidates based on the CONSENSUS of the nodes they pull the previous transaction blocks from. Which is determined by the CONFIGURED ruleset.

I speak of technical context, the only one that matters for creating a timechain entry.

Also, miners get tx'snout of band all the time, you cannot prevent that and long term incentives will only increase private mempool usage. MARA's slipstream offers whatbstarted at TG DM's as a service with a UI.

If spammers pay the fee, spammers get in the block. This is economic reality. Policy or configuration changes won't change this incentive. It's called censorship resistance.

if every node policy is useless why do they exist?

Legacy script problems from what I can tell. Or

nostr:nprofile1qqs0m40g76hqmwqhhc9hrk3qfxxpsp5k3k9xgk24nsjf7v305u6xffcpzamhxue69uhhyetvv9ujuurjd9kkzmpwdejhgtcwc656e might know.

Otherwise we deduce it from code and comments.

"Standardness rules exist for three main reasons. The first is as DoS protection. Your peers on the P2P network are not identified and some transactions are more expensive than others to process. An asymmetry between the cost of sending you an unconfirmed transaction (which is very small) and the cost for you to process it creates a DoS vector. Another reason for standardness rules is to provide upgrade hooks for soft forks. Invalidating a type of transactions in a soft fork that was already non-standard for a while gives more guarantees that a non-upgraded miner won’t include a newly-invalid transaction in a block, making soft forks significantly safer to roll out. Finally, standardness rules have also been used as a way to nudge behaviour toward a less harmful approach, or to mildly deter certain activities. For instance by standardizing OP_RETURN outputs, or discouraging data storage back when blocks were not full."

https://antoinep.com/posts/relay_policy_drama/

Obviously you aren't reading what I write so, good luck with your spam. I will run the code I want to with filters.

And your UTXO set will continue to bloat as spammers fill the chain. Won't be me spamming but it will bloat nonetheless.

I won't be keeping them in nor broadcasting them from my mempool and I will not be validating blocks from miners outside of my policy set.

So you're forking off?

I haven't yet, I seem to be in consensus at this point. We'll see who gets forked. lol

he speaks in a "technical context" because thats the language his handlers have allotted him to strawman the issue.

#bitcoin is for bitcoin. which is money.

the rest is fucking noise and attack.

Boolean logic is a pretty simple language.

Valid is not standard. Policy is not consensus.

Guy, either you missed something I wrote or you are strawmanning my argument.

What is your end goal?

Lol, to have the most freedom of choice for the code 90% of Bitcoiners run at the moment.

Is that goal okay with you?

Knots already exists. The choice is up to the user now. Fwiw, I have a knots node.

Need more education. Mainly so people can understand the difference between CheckTransaction() and IsStandardTx()

Yeah, Coke and Pepsi exist so no one should complain when they take away the flavor variety because you can just drink Pepsi.

I agree. Branding and education matters

The fact that you don't see the sardonicism in my reply is troubling.

You're doing great at marketing

Not really. If UTXO set grows in addition to new users that's a problem.

UTXO set size is proportional to the number of users and the amount of arbitrary data. A transaction always destroys at least one UTXO but arbitrary data cannot be destroyed.

Arbitrary data lives an UTXO