pull down to refresh

I'm going to refer to what you call consensus as block validation rules and not use the word consensus, to prevent confusion.
You make a really important point here that I should have been able to articulate in this post. I was using consensus in a weird way, but it's a way that is often used in bitcoin, and maybe that is causing some of this trouble.
But block validation rules doesn't surface the idea that if you have rules that are even a tiny bit different, you (might, or are likely to) fork. I'll happily use block validation rules instead of consensus rules if I can figure out how to carry that extra little bit of meaning.
The flexibility that this gives is not just some libertarian idea, it is technically the best way to ensure future crises to be handled without hard fork.
Honestly, I wish I had just said exactly what you put in this last paragraph of your comment.
I'd say block validation rules are an extendable set of rules, and what moves them is consensus, because they only work if everyone on the same chaintip enforces them in exactly the same way.
"Consensus rules" is perhaps a misnomer because the rules do not describe consensus. Instead consensus is formed over these rules, or else it won't work for anyone. The rules come first: someone codes them, then you review, compile and run them, and finally, you running them makes you part of the consensus that these are the rules; not the other way around. It's still semantics though, but because consensus is a popular word nowadays it can be confusing af in some contexts at times.
Honestly, I wish I had just said exactly what you put in this last paragraph of your comment.
It's easier to discuss this in a non-adversarial setting, and I took maybe an hour over first coffee to write and rewrite that comment, free it of aggression for the most part and take a step back and read it through / tune it a couple of times before hitting reply. That's much harder on X than it is on SN.
reply