Changing the rules should be possible if there is wide consensus, but

nobody should feel forced to change their code against their will.



* Governance: being able to push for a controversial change to the system

sets an incredibly dangerous precedent about who is in charge of the

system's rules.



I can promise you that I will say anything in mail to this list if someone

points a gun at me



Hi Pieter,I believe Gavin plans to write a blog post about the hard fork process, butI'd like to debate this with you now, if only to give him material to workwith :)Your points look to me like the hard/soft fork debate in different clothes.For example, we all agree that the rules of Bitcoin *can* be changed, andhave been before (e.g. P2SH), with software upgrades.When such a fork happens, any user who does not upgrade their node isn'tfully verifying the block chain anymore. Their software might *think* itis, but it's running NOPs that don't mean NOP to other nodes. So there is adivergence in the consensus, it's merely been done in such a way that thenode won't stop and print "hard fork detected" to the logs. It'll happilyaccept a block that violates the new rules, then wait to be corrected byminers.So with any fork, hard or soft, there is risk to those who don't upgrade.They may accept a block, or even two blocks, that they believe are validaccording to their old rule set, but which other miners would reject. Theeffect on double spending is much the same.Now let's talk philosophy.* Philosophy: Bitcoin is not a democracy.This appears to be a key point of dispute. Bitcoin is a democracy, thoughthe analogy is not perfect. You can certainly believe whatever you likeabout the true state of the ledger, but rubber hits the road the moment yougo and trade with other people.If 90% of the people you trade with believe a coin exists, and you don't,you're gonna discover you keep getting paid with that coin and itsdescendents. You may hate it, you may feel your rights are being violated,you may refuse to trade with those people but it will keep happening.Money is about trade, and trade inherently involves the decisions of otherpeople. No man is an island.With Bitcoin we have a great way to quickly find out what other peoplebelieve about the ledger. If the vast majority of people are on ledger Aand you're on ledger B, then you've got a strong incentive to come intoline with the majority in order to keep trading.Nobody, not even after a hard fork, is *forced* to change their codeagainst their will. It may be something that *other people require* as partof trading with them though. Whether one considers this "forced" or not Iguess can be argued either way. Are you "forced" to buy oranges from thesingle orange seller in town if the other goes bankrupt, or could you justavoid oranges? Where does economic freedom begin and end?I think it's surely the opposite - *not* being able to push forcontroversial changes sets an incredibly dangerous precedent. Namely,whoever gets to decide that a change is controversial gets to veto anythingthey like!Indeed, me too! But it's worse than that: what if someone sockpuppets adiscussion to make it look like a change does or does not have consensus?One reason I keep banging on about *process* and how Wladimir needs to beThe Decider is that the current attempt at "process" is so vague, not onlyis it unexplainable, but it's wide open to manipulation.Good thing we have a way to resolve this problem: the block chain. Now itdoesn't matter if someone points a gun at you or me. We can object towhatever we like and that wouldn't bring Bitcoin to a halt, thus removingthe incentive to try and pressure individuals.But if we don't have that ability to vote through choice of software andrulesets, then us poor developers really are in charge and that's not aplace any of us should want to go. There must be a mechanism for people todisagree with the consensus, even in major, controversial ways, and thatmechanism must have real force to it.