On 10 June 2013 10:35, Pieter Wuille wrote: > On Mon, Jun 10, 2013 at 10:14 AM, Melvin Carvalho > wrote: > > However, Bitcoin's fundamental philosophy was one CPU one vote. > > This is perhaps the largest misconception that keeps being repeated. > Bitcoin is not a democracy; it is a zero-trust system. The rules are > set in stone, and every full node verifies all rules and must > independently come to the same result as everyone else. Obviously, if > everyone changes their software, anything can change, but from within > the system there is no way to change which blocks are considered > valid, and there is certainly no voting mechanism about that. > > What is voted about, is the one single thing that cannot be decided by > each node individually: namely the order of otherwise valid and > non-conflicting transactions, and that's just because it's a > necessity. Because deciding the order includes delaying transaction > potentially indefinitely, a majority of miners can indeed choose the > enforce an additional rule about which transactions are considered > valid, but the rules implemented in full nodes do not change without > changing the software. For example, miners cannot decide to raise the > block subsidy, even if every single miner out there would want that. > They'd just end up being ignored by everyone else. > > > Voting is easily gamed. While this may work in one particular case, it > is > > perhaps a bad precedent to set. Establishing methods of voting can lead > to > > single points of failure. > > The problem is that at some point, you have to look at the system from > a higher level than just the technical part. And because ultimately > the possibility exists where everyone changes their software, and > there is an exceedingly high incentive for consensus (a deliberate > hard-fork where two groups of users decide to use different and > incompatible rules, aware of eachother, is suicide for the system, in > my opinion). This results in the fact that proposed changes can indeed > become new adopted hard rules in the system, and I don't think there's > anything that can be done about it. Bitcoin is a consensus system - at > the technical level - but also a consensus of the people using it, and > ultimately they decide the rules. > OK I accept that the timestamping is one CPU one vote. However rule changes seem rather arbitrary. Towit if you use a voting/consensus system and want to destroy bitcion it seems quite easy. Iterate on picking a rule chance that will divide the consensus in such a way as to create ensuing chaos. I think voting is too easy gamed for it it to be meaningful other than a straw poll. If there's a bug, and everyone is unanimous that it's a bug, it can be fixed. If there's a controversial rule change, we should be extremely cautious and not do it unless there's a very good reason. Keeping to satoshi's model as much as possible without introducing human factors, unnecessarily. > > > > Unless there's a very good reason not to, e.g. miners are clearly abusing > > the system, we should stick with 1 CPU one vote. > > So you're saying that instead of a zero-trust system, we should move > to a system where miners can decide _everything_ - as opposed to just > being in charge of ordering transactions? I don't think you understand > the system at all, if that is what you're proposing. > > -- > Pieter >