On 26/04/14 01:28, Mike Hearn wrote: > When you have a *bitcoin* TXn buried under 100 blocks you can be damn > > sure that money is yours - but only because the rules for interpreting > data in the blockchain are publicly documented and (hopefully) > immutable. If they're mutable then the PoW alone gives me no confidence > that the money is really mine, and we're left with a much less useful > system. This should be more sacred than the 21m limit. > > > Well, I think we should avoid the term "sacred" - nothing is sacred > because we're not building a religion here, we're engineering a tool. Are you sure there isn't room for just a touch of "religion"? :) As you state below, all that protects my money from confiscation is strong group consensus that it's mine - "a social rule, not a mathematical one." Everything ultimately balances on that. People being a little bit "religious" about following the protocol faithfully are the linchpin of Bitcoin security, not PoW. > Consider a world in which 1 satoshi is too valuable to represent some > kinds of transactions, so those transactions stop happening even though > we all agree they're useful. The obvious solution is to change the rules > so there can be 210 million coins and 10x everyones UTXOs at some > pre-agreed flag day. We probably wouldn't phrase it like that, it's > easier for people to imagine what's happening if it's phrased as "adding > more places after the decimal point" or something, but at the protocol > level coins are represented using integers, so it'd have to be > implemented as a multiply. Agree. > Would this be a violation of the social contract? A violation of all > that is sacred? I don't think so, it'd just be sensible engineering and > there'd be strong consensus for that exactly because 21 million /is/ so > arbitrary. If all balances and prices multiply 100-fold overnight, no > wealth is reallocated which would be the /actual/ violation of the > social contract: we just get more resolution for setting prices. Wholeheartedly agree. "21 million" is just shorthand for the preservation of artificial scarcity. No rational person could argue that what you described violates the social contract. I do see what you're driving at - that there exists a situation where it would be justified to change the interpretation of data in existing blocks. But, please consider: if I controlled a single UTXO worth 1% of the total money supply before your change, the network would still recognise that I control a single UTXO worth 1% of the total money supply after your change. So you haven't really changed the interpretation of existing blocks at all there. It's just semantics :) Contrast this with invalidating a coinbase before maturity, which clearly has a very real impact. At the point the vote passes, you're *** sidestepping the PoW mechanism and rewriting the meaning of an existing, validated block ***. > So. The thing that protects your money from confiscation is not proof of > work. PoW is just a database synchronisation mechanism. The thing that > protects your money from confiscation is a strong group consensus that > theft is bad. But that's a social rule, not a mathematical rule. Agree. That's my whole point :) I recognise my security is in the hands of the users (the economic majority.) Tomorrow they could all decide to patch their nodes to reallocate my UTXOs, and there's not a damn thing I could do about it, PoW and private keys notwithstanding. I must simply trust that they will not do this. So we can have: 1. "Neutral Bitcoin", where everyone is committed to prevention of theft by following a simple set of mathematical rules which treat all validated blocks as equal. Or: 2. "Political Bitcoin", where everyone is committed to prevention of theft based on human judgements, and the contents of some validated blocks are more equal than others. I recognise that the latter allows for a lot of flexibility in combating fraud, but with (substantial) due respect, it isn't Bitcoin. -Gareth