Pages:
Author

Topic: Can the rules of Bitcoin ever be changed? (Read 2646 times)

staff
Activity: 4284
Merit: 8808
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.

Linking, sure, but not saying that relativity is actually the cause of distributed system mayhem. It just conveniently works to think that way. On the other hand, bitcoin cares very, very little for accurate clocks and specific ordering of events. It is just a binary "did it happen yet?" which is determined by whether or not a block has been found with the tx included.

Yes, bitcoin solves the problem Lamport describes, by switching us to eventual consistency over blocks from trying to achieve a true distributed consensus on the total order of transactions.  But the problem is fundamental, which was my point, and specific order is absolutely very important in Bitcoin— when there is potential competition between conflicting transactions, but its why we have the block chain at all.

hero member
Activity: 798
Merit: 1000
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.

Linking, sure, but not saying that relativity is actually the cause of distributed system mayhem. It just conveniently works to think that way. On the other hand, bitcoin cares very, very little for accurate clocks and specific ordering of events. It is just a binary "did it happen yet?" which is determined by whether or not a block has been found with the tx included.
full member
Activity: 157
Merit: 100
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.html

You 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.pdf

Personally, 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  Grin
member
Activity: 61
Merit: 10
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.
legendary
Activity: 2506
Merit: 1010
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.
hero member
Activity: 560
Merit: 500
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.
legendary
Activity: 4536
Merit: 3188
Vile Vixen and Miss Bitcointalk 2021-2023
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.
hero member
Activity: 798
Merit: 1000
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.
staff
Activity: 4284
Merit: 8808
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.
hero member
Activity: 560
Merit: 500
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.
hero member
Activity: 560
Merit: 500
Well, it takes a big, tall, handsome, wise and intelligent man to admit when he's wrong...
legendary
Activity: 4536
Merit: 3188
Vile Vixen and Miss Bitcointalk 2021-2023
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.
staff
Activity: 4284
Merit: 8808
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.

Quote
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.
hero member
Activity: 798
Merit: 1000
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.

Quote
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.
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
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.
staff
Activity: 4284
Merit: 8808
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.
hero member
Activity: 560
Merit: 500
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.
hero member
Activity: 798
Merit: 1000
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.
staff
Activity: 4284
Merit: 8808
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://bitcointalksearch.org/topic/m.723476  too ... couldn't find it at first because the only quote I could think of from it is all over the internet now Smiley )
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
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.
Pages:
Jump to: