Took me a while to write this down, so i'll repost here for visibility. Many reasonable persons were thrown off by Greg's remark here, but i think context is often missed and focus is placed on the dramatic analogy rather than the underlying point.
(please let's keep this thread clean of the filter ""debate"" vitriol of last year)
Ok so let me attempt a defense of Greg's "distributed authoritarianism" remark as per your request in OP.
The context is Aiden proposing that Bitcoin Core embeds into its validation engine a mechanism to reject transactions based on arbitrary criteria. Some javascript (!) could be side-loaded onto the node to define any such criterion.
I truly believe Aiden had the best of intentions, and genuinely thought using this mechanism for mempool validation could resolve the drama around "filters" going on at the time.
But I hope you can see why, for anyone who has dedicated a large part of his life to maintaining freedom money, this sets off every alarm bell. In open source some bad ideas can simply be ignored, but others make you think, “OK, I really need to come down hard on this one.” I think that’s where Greg was coming from here.
So that's for the context, now let's move on to the content.
The first paragraph addresses the bandwidth pretext that was commonly used by filter proponents. Nothing too interesting for our purpose here.
The second paragraph argues that building infrastructure for transaction censorship is fundamentally dangerous to freedom money ("authoritarian"), even if you only use it for dickbutt images in mempools for now, and even if you implement it in a distributed way by making the criteria configurable rather than hardcoded by the developers of the software ("distributed authoritarianism").
The third paragraph then argues that the distributed part of it is just a sham anyways. For mempool filters to have any effect whatsoever in deterring non-motivated users, they need to be enforced by the vast majority of the relay network, i.e. node runners need to coordinate around a Filter Authority regardless. If it is to have any effect, making the mechanism configurable here just shifts the centralization, it does not eliminate it.
So you can argue that Greg's illustrations ("theocratic populist movement") were overly dramatic, but his characterization is not unjustified.
In fact, how things ultimately played out vindicates his post: semi-popular movement to centralize against another implementation's set of mempool rejection criteria, and when that proved to be pointless, "temporarily" move the arbitrary criteria to block validation. Having Bitcoin Core allow you to side load random Javascript in critical code paths would have only made this worse, like it would the next popular wave of censorship (freeze quantum vulnerable coins much?) if we allow it to happen.
Also, nobody competent is interested in maintaining that shit.
Show more