Fuzzy (OP)
|
|
May 07, 2012, 05:41:42 AM |
|
I was under the impression that whatever rules the majority of miners agreed to run on would control the network, hence the concern over a 51% attack. Therefore, if the majority of miners decided to change some aspect of the bitcoin protocol, they could do so, for better or worse.
There's a HUGE debate raging in the noobs section over whether things like the max number of coins can ever be changed.
Is this possible? Or is the 21 million coin limit a stone set rule?
|
|
|
|
Etlase2
|
|
May 07, 2012, 05:48:36 AM |
|
No, a majority of miners cannot decide to change some aspect of the protocol. If they do, they will be mining on their own fork. Not only would the majority of miners have to agree, but so would all the users and businesses have to agree to use that fork.
|
|
|
|
Revalin
|
|
May 07, 2012, 05:50:51 AM Last edit: May 07, 2012, 06:48:01 AM by Revalin |
|
Technically, yes: if the change is made and enough people support it, it will be so (or at the very least it would create a permanent fork).
Politically, no: such a change would undermine all confidence in the currency; such a move is unlikely to achieve the necessary support.
|
War is God's way of teaching Americans geography. --Ambrose Bierce Bitcoin is the Devil's way of teaching geeks economics. --Revalin 165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4270
Merit: 8805
|
|
May 07, 2012, 06:40:04 AM |
|
I was under the impression that whatever rules the majority of miners agreed to run on would control the network, hence the concern over a 51% attack.
You misunderstood. Bitcoin is not a democracy. Bitcoin is a zero trust system. Each full node is autonomous, it validates the entirety of the rules on its own— trusting only its source code (which you or anyone else can audit). Only through autonomy can you have independence and the assurance that the majority of wolves won't vote to have you for supper. Unfortunately, to resolve to double spending a digital cash system must have a way of agreeing what order the transactions happened in. Its is not possible to have a decentralized antonymous system where everyone agrees on the same order of events— because the apparent temporal ordering of events depends on the relative position of the events and the observers in space— this is a consequence of relativity. So before Bitcoin many people believed that this sort of system was fundamentally impossible. Bitcoin solves the fundamental impossibility by relaxing the autonomy by the minimum amount necessary: We use a majority of computational power to decide on the ordering of transactions. But _ONLY_ the ordering. Nothing else. That one compromise makes all the rest possible. Of course, controlling the ordering of transactions is a powerful thing— because a transactions validity depends on its order relative to possible conflicting transactions penned by the same author. This is why it's important that the majority of the Bitcoin computing power is well distributed, that we don't let it consolidate into the hands of a few service providers (like mining pools or exchanges). The use of computing power makes the the system not only resistant to attack, but it makes the attacks have a clear and fairly consistent real monetary cost— so people can reason about the risks, and the economics of the system make it so that it should hopefully be more profitable to cooperate than to attack it. The state currencies of democratic nations is theoretically democratic money, unhappiness of the current state of affairs is part of the motivation behind Bitcoin. Democracy is not a good method of making decisions— it's often just the least bad option. But Bitcoin is something stronger than democracy, ... though not quite as strong as the laws of nature. Of course— the rules of the system can be changed, but it requires basically everyone to agree to the change because the old system and change system won't talk to each other, it's basically like replacing Bitcoin with something else. This has actually happened, for example, there was once a bug in the rules of the system where the values of transactions could overflow and someone exploited the bug to create a billion bitcoins for himself. People noticed this right away and published a fixed version of bitcoin which rejected the block containing that transaction and all blocks after it... and everyone applied the fix, because it was obviously in everyone's interest except the attacker's, and life went on. But if people are afraid of e.g. the supply of Bitcoin being changed they really shouldn't be. Yes, almost all the Bitcoin users could switch to some fork of bitcoin that had different rules— but with the same effort they could just switch to paypal. There is always the risk that someone will use something else. But Bitcoin itself isn't subject to petty majority rule. (I wrote basically the same thing at https://bitcointalk.org/index.php?topic=61922.msg723476#msg723476 too ... couldn't find it at first because the only quote I could think of from it is all over the internet now )
|
|
|
|
Etlase2
|
|
May 07, 2012, 06:45:53 AM |
|
Wow, I cannot believe you used relativity as the argument as to why an agreed order of bitcoin transactions is not possible. It kind of makes me want to gouge my eyes out with a spoon.
|
|
|
|
Fuzzy (OP)
|
|
May 07, 2012, 06:47:37 AM |
|
No, a majority of miners cannot decide to change some aspect of the protocol. If they do, they will be mining on their own fork.
So it can be done. Despite the fact that it would create a rift in the network, a change can be made part way through the mining of a Bitcoin chain. Not only would the majority of miners have to agree, but so would all the users and businesses have to agree to use that fork.
What say do they have? Their transactions are broadcast only, no? It's just a matter of whether the coins they spend exist in the chain they broadcast to. Technically, yes: if the change is made and 51% of miners support it, it will be so (or at the very least it would create a permanent fork).
Politically, no: such a change would undermine all confidence in the currency; such a move is unlikely to achieve the necessary support.
Guess that's what I was going for. As much as I would like to see the pandemonium of such an event, like a bad train wreck, I also understand that politically, it would end up doing more harm than good.
|
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4270
Merit: 8805
|
|
May 07, 2012, 06:54:15 AM |
|
No, a majority of miners cannot decide to change some aspect of the protocol. If they do, they will be mining on their own fork.
So it can be done. Despite the fact that it would create a rift in the network, a change can be made part way through the mining of a Bitcoin chain. [...] Guess that's what I was going for. As much as I would like to see the pandemonium of such an event, like a bad train wreck, I also understand that politically, it would end up doing more harm than good. No it can't "be done". You're misunderstanding what fork means in this context. It's an independent universe. For example, you could create a FuzzyCoin which has 84 million coins and blocks every 2.5 minutes— you could even copy the history of Bitcoin into it, so that anyone who was holding bitcoins when fuzzycoin started would be holding the same amount of FuzzyCoins. ... but none of the Bitcoin users/clients would know you existed. This is what a true fork is. And of course you can do that. Nothing can prevent you from creating an independent system.... but the Bitcoin system will not talk to your system unless your system is exactly the same rules as Bitcoin (thus being the same system), and it doesn't matter how many miners you have.
|
|
|
|
Revalin
|
|
May 07, 2012, 06:58:18 AM |
|
Guess that's what I was going for. As much as I would like to see the pandemonium of such an event, like a bad train wreck, I also understand that politically, it would end up doing more harm than good. I edited what I said a bit to make it more accurate. It's not a simple majority to fork; it's you have to convince the world that your new system is the new chain is BitCoin and that the old system should be ignored.
|
War is God's way of teaching Americans geography. --Ambrose Bierce Bitcoin is the Devil's way of teaching geeks economics. --Revalin 165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
|
|
|
Etlase2
|
|
May 07, 2012, 06:59:04 AM |
|
What say do they have? Their transactions are broadcast only, no? It's just a matter of whether the coins they spend exist in the chain they broadcast to. They have the say of not using that network, plain and simple. If MtGox has the choice of using network A that continues to use the standard bitcoin rules, or network B one that awards 50 BTC per block indefinitely, MtGox need only choose to accept transactions on network A and completely ignore network B. Anyone who wishes to send coins to MtGox on network B will be wasting their time and money. The same goes for any business or user. Mining power does not determine which chain people will use. Guess that's what I was going for.
You were going for an answer that fit your impression of how bitcoin works. It does not work this way, however. In fact, if in the future a lot of people are outraged about the bitcoin elite and wish to fork it to something more fair, they are only hurting themselves because anyone who accepts this new fork must also accept all the duplicate coins that existed when the chain forked. It is silly and much more logical to just start a new chain with different rules and let those who want the new rules to convert to the new chain.
|
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4270
Merit: 8805
|
|
May 07, 2012, 07:00:35 AM |
|
Wow, I cannot believe you used relativity as the argument as to why an agreed order of bitcoin transactions is not possible. It kind of makes me want to gouge my eyes out with a spoon.
Well why not— if you abandon a privileged position, a reasonable thing to abandon if you're stipulating _decenteralized_, it's makes perfectly reasonable example. If you use things like finite processing speed as examples as to why attack resistant decentralized autonomous agreement isn't possible people will just argue what IFs involving faster computers and other such spherical bovine. Going to a more fundamental argument, even if its totally wanky makes it clear that the goal is really autonomy but its simply not achievable, and so we instead take majority ordering with eventual consistency. You were going for an answer that fit your impression of how bitcoin works. It does not work this way, however. In fact, if in the future a lot of people are outraged about the bitcoin elite and wish to fork it to something more fair, they are only hurting themselves because anyone who accepts this new fork must also accept all the existing and duplicate coins that existed when the chain forked. It is silly and much more logical to just start a new chain with different rules and let those who want the new rules to convert to the new chain.
I can't believe it. I completely agree with a statement of yours. I'm flabbergasted.
|
|
|
|
Foxpup
Legendary
Offline
Activity: 4531
Merit: 3183
Vile Vixen and Miss Bitcointalk 2021-2023
|
|
May 07, 2012, 07:04:15 AM |
|
This has actually happened, for example, there was once a bug in the rules of the system where the values of transactions could overflow and someone exploited the bug to create a billion bitcoins for himself. People noticed this right away and published a fixed version of bitcoin which rejected the block containing that transaction and all blocks after it... and everyone applied the fix, because it was obviously in everyone's interest except the attacker's, and life went on.
Actually, this is a rather weak example because all blocks valid under the new system are still valid in the old system (it didn't actually change the rules, it just fixed a broken implementation of a rule), so even people who didn't upgrade eventually switched over to the new chain when it overtook the erroneous chain in difficulty. An actual rule change like increasing the block reward could definitely not be done in the same way. No, a majority of miners cannot decide to change some aspect of the protocol. If they do, they will be mining on their own fork.
So it can be done. Despite the fact that it would create a rift in the network, a change can be made part way through the mining of a Bitcoin chain. It doesn't create a "rift" in the network, it creates a whole new network, separate from the original Bitcoin network. And that's assuming the forked blockchain somehow manages to propagate to nodes following the new rules (nodes following the old rules will not propagate the forked blockchain, regardless of how much support it has). Not only would the majority of miners have to agree, but so would all the users and businesses have to agree to use that fork.
What say do they have? Their transactions are broadcast only, no? It's just a matter of whether the coins they spend exist in the chain they broadcast to. They broadcast blocks. Specifically, they broadcast valid blocks. If a block isn't valid according to a particular node's rules, that particular node will not forward the block on to other nodes (even if the other nodes would accept it as valid). Yes, forking the blockchain is possible (and very easy, in fact). But you won't be able to propagate that fork using the existing Bitcoin network.
|
Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
|
|
|
Fuzzy (OP)
|
|
May 07, 2012, 07:04:54 AM |
|
Well, it takes a big, tall, handsome, wise and intelligent man to admit when he's wrong...
|
|
|
|
Fuzzy (OP)
|
|
May 07, 2012, 07:06:48 AM |
|
Not only would the majority of miners have to agree, but so would all the users and businesses have to agree to use that fork.
What say do they have? Their transactions are broadcast only, no? It's just a matter of whether the coins they spend exist in the chain they broadcast to. They broadcast blocks. I was under the impression that only miners broadcast blocks once they'd solved one.
|
|
|
|
gmaxwell
Moderator
Legendary
Offline
Activity: 4270
Merit: 8805
|
|
May 07, 2012, 07:12:34 AM |
|
I was under the impression that only miners broadcast blocks once they'd solved one.
In Bitcoin everyone broadcasts everything which is valid. It uses a lightweight inventory exchange to avoid sending a bunch of data redundantly. This is part of how Bitcoin, as Satoshi wrote, "takes advantage of the nature of information being easy to spread but hard to stifle". The fact that everyone passes on all the good information makes it so someone can't disrupt the system with a few misbehaving nodes.
|
|
|
|
Etlase2
|
|
May 07, 2012, 07:22:36 AM |
|
Going to a more fundamental argument, even if its totally wanky makes it clear that the goal is really autonomy but its simply not achievable, and so we instead take majority ordering with eventual consistency. I think it does a lot more to obfuscate the point than to elucidate it. If you have an example of two people running a 100m dash but runner A is on ground that is 1m higher than runner B, and runner B beats runner A by 2 seconds, you give credence to the argument from A that "B had an advantage, time ran slower for him." We can't ignore the laws of physics that says that A is just a piss-poor runner.
|
|
|
|
Foxpup
Legendary
Offline
Activity: 4531
Merit: 3183
Vile Vixen and Miss Bitcointalk 2021-2023
|
|
May 07, 2012, 07:23:48 AM |
|
I was under the impression that only miners broadcast blocks once they'd solved one.
Miners broadcast blocks they mine to other nodes, who then broadcast those blocks to other nodes, and so on in that fashion until all the nodes have all the blocks (that's how P2P networks work). The only difference between mining nodes and non-mining nodes is that miners occasionally generate new blocks in addition to passing on blocks received from other nodes.
|
Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
|
|
|
Fuzzy (OP)
|
|
May 07, 2012, 07:56:16 AM |
|
Miners broadcast blocks they mine to other nodes, who then broadcast those blocks to other nodes, and so on in that fashion until all the nodes have all the blocks (that's how P2P networks work). The only difference between mining nodes and non-mining nodes is that miners occasionally generate new blocks in addition to passing on blocks received from other nodes.
It's beginning to sound like the chicken and the egg conundrum. Clients can't generate new blocks to confirm transactions, while miners can't proliferate blocks generated under different rules.
|
|
|
|
Stephen Gornick
Legendary
Offline
Activity: 2506
Merit: 1010
|
|
May 07, 2012, 09:58:53 AM Last edit: May 08, 2012, 01:59:32 AM by Stephen Gornick |
|
It's beginning to sound like the chicken and the egg conundrum. Clients can't generate new blocks to confirm transactions, while miners can't proliferate blocks generated under different rules.
Miners can't force users to download and run new versions of the client software that would allow the new rules (which violate the established Bitcoin protocol) to be supported. Users won't support changes that bring them negative economic consequences (e.g., actions like issuing currency faster, which debases their holdings). If there ever were a chance of disruptions, commercial mining operations being built and run as protection would probably be the response.
|
|
|
|
randomproof
Member
Offline
Activity: 61
Merit: 10
|
|
May 07, 2012, 11:26:11 PM |
|
The only thing that miners can change is the rules on what transactions they will include. If the guy running deepbit decide he wasn't going to include any valid transactions without at least a 1% transaction fee, he could. It is the hard rules that decide what are valid blocks and transactions that can not be changed without the possibility of forking, or splitting, the community as a whole.
|
Donations to me: 19599Y3PTRF1mNdzVjQzePr67ttMiBG5LS
|
|
|
mollison
|
|
May 08, 2012, 04:39:58 AM |
|
Its is not possible to have a decentralized antonymous system where everyone agrees on the same order of events— because the apparent temporal ordering of events depends on the relative position of the events and the observers in space— this is a consequence of relativity.
Wow, I cannot believe you used relativity as the argument as to why an agreed order of bitcoin transactions is not possible. It kind of makes me want to gouge my eyes out with a spoon.
Actually, in 1978, computer scientist Leslie Lamport wrote an extremely influential paper linking the order of events in distributed systems to relativity. In my opinion, Lamport is one of the most important computer scientists, though he hasn't won a Turing Award yet. You can read about the paper here: http://www.podc.org/influential/2000.htmlYou can read the actual paper (relativity comes up within in the first 2 pages) here: http://research.microsoft.com/en-us/um/people/lamport/pubs/time-clocks.pdfPersonally, I'm very interested in how Bitcoin's proof-of-work system relates to the classical "consensus" problem in distributed systems. I suspect some compter scientists have already talked about this somewhere, but I haven't bothered to look it up yet
|
|
|
|
|