This misses an important distinction. The permissionless nature of Bitcoin is already and indeed MUST be within a boundary of permissible transactions, as enforced by the nodes. Just because miners can't award themselves more than 3.125 Bitcoin when they find a block doesn't mean Bitcoin is not permissionless when a miner who tried to award himself 6.25 Bitcoin has his block rejected.
Permissionlessness is not lost by having code-enforced rules. It is lost by having rules which apply to some users and not to others due to a central authority who can arbitrarily decide who the rule applies to and when.
There is no attack on the permissionless nature of Bitcoin by those who don't want to relay the jpegs people want to save to the blockchain. All transactions are subject to the same standard by nodes running Knots. No picking and choosing who the standard applies to.
It should also be noted that there is a difference between who a rule applies to and who it affects. The rule that miners can only award themselves 3.125 Bitcoin when they find a block applies to everyone, no exceptions. However, it only adversely affects those who try to award themselves more and subsequently have their block rejected.
Permissionlessness requires only that the rules enforced by nodes equally apply to all users, not that all users are equally affected by the rule. Mempools that filter out large OP_RETURNs apply that rule to all transactions sent to them, without discrimination. Permissionlessness is unaffected.
Login to reply
Replies (1)
I disagree. The rules can enforce protocol-level semantics, but not off-protocol semantics. As an example, if someone publishes an old Lightning state on chain, that is theft; nobody proposes stopping that *both* because it's ludicrously impractical and also because at base, the off protocol semantics of transactions, their meaning in the outside world is *by design* not the business of the base chain.
This is exactly what Satoshi's design avoids - "all the trust required to make it work". Which committee decides what is a jpeg and what is not?