> Miners can do whatever for whatever reason
Can they create more than 21 million bitcoins? No? Then they can't "do whatever for whatever reason." The consensus rules stop them. So node runners can modify their behavior by changing the consensus rules.
> You might have thought framing it morally was cute or whatever, but its all practical
Are you saying the consensus rules I listed are not there for moral reasons? If so, then why are they there? Why is there an anti-doublespend rule except to protect against fraud?
I am happy to discuss the effectiveness of spam limits in another thread. In this thread, my aim is to get consensus on this proposition:
it's sometimes okay to block other people's transactions based on moral objections
Got a problem with that?
Then you'll have to get rid of the 21 million cap, doublespend prevention, and proof of work. Because those all exist to block other people's transactions based on moral objections.
So what do *you* think? Is it sometimes okay to block other people's transactions based on moral objections?
Are you saying it's possible to construe "fraud" as if it was a non-moral term? How so? In what sense is fraud ever not a moral thing (specifically, a very immoral thing)?
No, I'm saying some of the technical specs, including the 21 million limit, exist to enforce an anti-inflationary system of monetary morals. Some people on the Core side argue that bitcoin should not block transactions if the reason for doing so is moral; if they were right, the 21 million limit should be dropped, because it exists to block inflationary transactions for moral reasons. Inflation is frequently used by governments to effectively steal from their populace by printing money without honest work, and that is bad, so such transactions are not allowed in bitcoin.
More insults and ad hominems from the core camp. Sad! But typical. When you have no arguments, use insults, eh?
> Are morals objective in this proposal?
As objective as the other morals enforced in the consensus rules, such as the anti-doublespend rule, the supply cap, and the proof of work requirement
To me, asking "What if the spam limits lose consensus in the future" is similar to asking "What if the 21 million cap loses consensus in the future"?
I think that would be a bad thing, and I would advocate for restoring it
I oppose bip110 for that very reason, alongside some objections to how it handles OP_IF. But in this thread I am not trying to convince people to support bip110; I'm only trying to convince others to stop saying "BuT yOu'Re TrYiNg To EnFoRcE yOuR mOrAlItY" as if that's a no-no in bitcoin instead of a large part of why it exists.
(1) Justifying the existence of a system sounds like a value judgment
(2) There are useful databases that allow for reprdering data. The stated motivation for doublespend prevention is not because it is "technically necessary" (I dont think it is) but rather to prevent fraud, which is itself a form of "morality policing"
(3) The stated motivation for proof of work is to incentivize honesty, not to ensure the system is different from other BFT databases. Other BFT systems are permissioned. But one of the big problems with a permissioned monetary system is not technical but rather moral: dishonest parties might gain control of the system and use their power to allow some people to doublespend, i.e. to enable fraud. Having a pernissionless Proof of Work model incentivizes them to be honest instead. The choice to forego the permissioned route was not technically necessary (orher such systems ARE permissioned). It was a choice explicitly based on morality.
I think it is okay to do this for Txs that are of a bad monetary nature
For example, if someone creates coins outside of the mining protocol, I think it is okay to burn the newly created coins and block such a tx from happening again
I also think that if someone creates a spam tx, it is okay to make their outputs unspendable and bloc such a tx from happening again
But that's what I think. What do *you* think?
> You can't enforce 'spam is illegitimate'
I am happy to discuss the effectiveness of spam limits in another thread. In this thread, my aim is to get consensus on this proposition:
it's okay to block other people's transactions based on moral objections
Got a problem with that?
Then you'll have to get rid of the 21 million cap, doublespend prevention, and proof of work. Because those all exist to block other people's transactions based on moral objections.
The consensus rules have always been about morality
One charge that's frequently levied at knotzis is that any attempt to reject spam at the consensus level is based on "moral" objections to spam transactions instead of "technical" objections. One problem with this argument is that *many* consensus rules are based on moral objections to potential transactions:
- no doublespending? It's there to prevent "fraud"
- the 21 million cap? It's there to block "inflation"
- proof of work? It's there to ensure "honesty"
Those are the words Satoshi used to motivate the "rules and incentives...enforced [via bitcoin's] consensus mechanism" (the bitcoin whitepaper), and I think they resonate with many of us.
So yeah, "spam is illegitimate" is a moral claim. And if we enforce it, it will be one of several moral claims enforced at the consensus level. Because that's what bitcoin is for: to create a monetary system that is fundamentally *more moral* (in certain ways) than the alternatives. Spam limits, if they become consensus, are just more moral bricks in the wall.
The "normal" type of censorship in the existing consensus rules is content-based with the goal of enforcing a subjective moral preference. I don't think censoring spam is worse than that.
For example, the existing consensus rules censor transactions that try to create more money in the outputs than is consumed in the inputs, without proof of work, because node runners subjectively prefer a network where no one can do that, where the ability to inflate the supply for oneself without working for it would be immoral, a type of fraud. So we censor it. Personally, I don't think it is wrong to go down the morality police route; I'd like to do it even more by policing the network against spam too.
Oops, a couple of times I called it bip444, and I am trying not to do that anymore -- please mentally substitute bip-rdts for bip444 wherever the latter appears
> When people talk about bitcoin being "censorship resistant" they're talking exactly about how hard it is to have *other* rules...ones that are *not* in the code
I agree, it is censorship resistant "in one sense," but the sense in which it *is* censorship resistant depends on having a protocol, which requires censorship in *another* sense -- because all protocols must reject invalid data.
I also think it is a helpful distiction for another reason: in the bip-rdts debate, many of the anti-rdts people oppose it on the grounds that it would be censorship, if it activated. But through this conversation I think they are starting to realize that if they follow that logic through its its end, then *all* consensus rules are censorship.
You can either say "consensus rules are not censorship, therefore bip444, if it activated, would not be censorship," or you have to say "consensus rules are censorship, but censorship is sometimes okay." The one thing you can't do, logically, is say "consensus rules, by definition, are not what I mean by censorship; but bip444, if activated, WOULD be censorship."
> Bitcoin's protocol gives a syntax for financial state transitions, but doesn't judge whether they are acceptable state transitions
It seems to me that bitcoin's protocol *does* judge whether a state transition is acceptable or not, e.g. in the tx_check.cpp file
For example, consider this snippet:
if (txout.nValue > MAX_MONEY)
return state.Invalid
That seems to imply that a transaction with an output that creates more than 21,000,000 btc is not acceptable
Despite a significant drawdown in hashrate this week, Ocean got really lucky in terms of finding actual blocks. Today, specifically, they mined 7 blocks, giving them a *measured* hashrate of about 52 exahash -- even though their real hashrate is hovering around 15 exahash. 
In that case, the data is "words," and yes, English is defined by the words not permitted
E.g. the sentence "parlez-vous français" is not English because it uses words that English speakers do not permit in their mental English-language vocabularies
If someone found a way to do it but couldn't only because book printers refused to print books with such videos in them, that would be censorship -- even if they decreed that they were following a certain "book printing protocol" and blamed the prohibition on that protocol
As for "bending definitions," I don't think the way I apply the definitions of words counts as bending them. I apply them in ways that highlight counterintuitive realities to demonstrate that there *are* counterintuitive parts of reality that fit the natural definition of things you might not expect them to.
> Is English defined by the data not permitted?
I don't know what the phrase "English defined by the data" refers to
> consistent rule-application on a mess (blocks with utter garbage) would still yield the same results among everyone that applies those same rules
From the perspective of a bitcoin node, the entire internet, other than the tiny sliver that constitutes the bitcoin blockchain itself, is "blocks with utter garbage"
If you tried to serve the entire internet to a bitcoin node, the only parts it would validate are the blocks that constitute the bitcoin blockchain
It ignores the rest -- the mess, the junk, the utter garbage (from its perspective)
Invalid bitcoin transactions are writing
They are suppressed on all nodes that follow the bitcoin protocol
Because they are considered unacceptable
You cannot have a permissionless protocol without censorship
A protocol is defined by the data not permitted
No censorship, no protocol
