12

How can we trust supply won't be increased by just a few lines of code?

4
  • 9
    I'd say a bigger worry in 2140 would be the size of the block chain ledger and whether or not there is enough bandwidth to efficiently pass it around the internet. It's already up to 350 GB...
    – stix
    Jun 7 at 21:55
  • There are several arguments that would help quelm this. For starters, not every user on the network has to have a copy of the entire blockchain. They may only require the last $n$ blocks to sync with the network. Not every user must be a full node. The full nodes would store the entire blockchain. Additionally, Moores law states that size should not be an issue in 2140. Jun 9 at 11:47
  • 1
    Relying on Moore's Law to solve the issue with large chain size is unrealistic, especially given that Moore's Law has slowed significantly in recent years. I like the argument of having lighter nodes for the average user, and have seen plenty of blockchains take this approach. Jun 9 at 15:47
  • @HamishGibson Moore's law has both been shown to be incorrect in recent years and has nothing to do with internet transfer speeds or the cost of storage space
    – Bitsplease
    Jun 9 at 16:25
24

The bitcoin network is composed of 'bitcoin full nodes', which are computers located all around the world, each one running independently to verify the state of the network.

Part of that verification includes making sure that the right number of coins are being created with each passing block, such that the total number of coins in existence is known, and predictable.

To change this 'coin issuance schedule', you would have to change the code running on all of those computers, so that they would all independently agree on some new issuance schedule, and could all continue to verify which blocks are valid (or not), in independent consensus. If you could only change the code on some of those computers, then those computers would start to follow blocks which the remaining bitcoin network nodes would consider invalid, effectively creating an altcoin-fork of the network (similar to what happened with 'bitcoin cash').

Anybody, at any point in time, could create some software that changes the issuance schedule. Thats easy. The hard part is convincing everyone that is running a bitcoin full node to switch to this new code, which creates more coins. Nobody has the authority to push such a change onto the network (top-down governance), rather it is the independent choices of all of the network's nodes (bottom-up governance) that defines the network.

So the answer is that you don't have to trust someone to not increase the supply. You just have to run some code that will verify that they haven't.

10
  • Small point, but wouldn't you have to change the code on just a majority of the computers?
    – Jiminion
    Jun 7 at 21:12
  • 6
    @Jiminion doing so would simply cause those computers to fork off (creating an altcoin network), & any computers running the original code would just ignore them, and continue on as normal. There is some nuance (ie, how much hashpower each network would have pointed at it), but importantly: even if a majority of nodes try to change the rules, that would not force the remaining nodes to follow suit. You may be confusing this with a majority attack, in which the attacker controls >50% of the hashpower (but such an attacker would not be able to arbitrarily change the network rules either).
    – chytrik
    Jun 7 at 21:19
  • 1
    The thing is that if majority ofplayers are convinced to follow the fork, then the remaining ones in the old network will be screwed. That's another thing though. Jun 8 at 12:03
  • 1
    "you would have to change the code running on all of those computers" doesn't this happen each time the core codebase is updated for non-backward-compatible changes such as some performance, most bug fixes, the proposed switch to proof-of-stake or other reasons anyway?
    – Moo
    Jun 9 at 0:31
  • 1
    There has never (that I'm aware of) been a credible proposal to switch bitcoin to proof of stake. And no, generally speaking new releases of Bitcoin Core do not contain backward-incompatible changes. (That's one of the key differences between Bitcoin and, say, Ethereum.) Jun 9 at 1:02
9

Well, the title is the only question, how can we trust supply wont be increased by just a few lines of code?

Just don't make any such changes to your code and you will never see an increased supply. You control the code running on your computer. If you never want to see an increased supply, never change your code in that way.

You can, of course, only interoperate with people who also don't want to see an increased supply. So the real issue has nothing to do with changes in code, it has to do with wanting a guarantee that there will still be people who don't want changes in the supply for you to interoperate with.

But you cannot ever force anyone to interoperate with you if they don't want to.

2
  • 2
    Watching Bitcoin desync because half the world wants to increase supply and half doesn't would be fun.
    – Joshua
    Jun 8 at 20:37
  • 2
    Great answer that explains in laymans terms the underlying technical details. I especially liked the way the second paragraph is worded and the fact that it doesn't use "fork" or other technical terms. Jun 9 at 15:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.