Tag: trustless system

  • Day 6 — Who Actually Runs Bitcoin — And Why Do They Do It?

    By this point a natural question has begun to arise in the minds of the reader.

    If the Bitcoin system has no governing body, no bank, and no company running the show, then who is keeping the network alive and verifiable?

    Initially, it may seem that there must be some unseen hand secretly orchestrating things. This is far from the case however, Bitcoin’s maintenance is achieved through a collection of independent actors, from all over the world, each with different roles and different motivations.

    To properly understand this, we can break down Bitcoin participants into two key groups: nodes and miners.

    Nodes are the bedrock of the Bitcoin network. A node is simply a computer running the Bitcoin software which keeps a full or partial copy of the blockchain. Every time a new transaction is broadcast, it is independently checked against the network rules by a number of nodes around the world. The checks are made to ensure that the sender has the correct balance to make the transaction, that the transaction is properly signed, and that the same bitcoins are not being spent again. If any of these checks fail, then the transaction is rejected.

    What is fascinating about these nodes is that they gain no direct financial reward from checking transactions. This obviously begs the question why any individual would run a node at all.

    The motivation comes from ownership and trust. A node allows an individual to not have to rely on another party to verify the validity of transactions. They are then able to check the state of the network independently to ensure it is being governed correctly. For people, and organisations, who may own a significant amount of bitcoin this independence provides value because they are able to receive the ‘truth’ directly rather than through a third party.

    Thus, nodes act as the regulators of the network. They do not compete with each other or even necessarily know other participants, but they act to enforce the rules of Bitcoin. Any miner trying to submit an invalid block will find their attempt is rejected, no matter how much computational effort has gone into its creation, by nodes worldwide.

    Miners on the other hand are a different story. Whilst they run nodes to verify transactions and are required to do so for the system to function, their goal is different: they need to collect verified transactions into a block to present to the network and receive bitcoins in return. The miners have to do this by solving the computationally intensive problem that was discussed previously.

    Unlike nodes, miners do it for profit. They invest money in expensive computing hardware and have huge energy costs because the reward in Bitcoin and transaction fees is great enough to warrant such expenditure. This creates a competitive atmosphere, in which each miner will strive to be the first one to solve the computational puzzle in order to claim the next block.

    It is important to realise here that it does not matter if an individual’s computer is the fastest, the geographically closest, or has the best internet connection to solve the problem. Mining is a contest for the solution to a particular problem where each miner submits a ‘guess’ for the solution; with no knowledge of other people’s attempts. If your ‘guess’ is correct you win. Hence the higher the computational power of the computer the higher the number of guesses you can make and the more likely your answer is to be correct. Obviously smaller players can sometimes win as there is an element of chance involved.

    This leads us to an elegant balance in the network. Miners work hard to generate the coins and the rewards give them an incentive to spend a vast amount of energy. This in turn creates new blocks and transaction fees, but the network can still function with nodes even without them getting direct payment; their role is purely validation. Neither of these two groups controls the network and as long as people have an incentive, both miners and nodes will continue to exist and maintain the system.

    This is the process by which Bitcoin can exist without a central bank and without a managing body, by distributing power and by making money out of being involved with the system. But as a reward is given for mining a block, this suggests that a small amount of powerful actors will dominate the network. How will this impact the overall decentralization?

  • Day 3 — Who Verifies Bitcoin Transactions If There Is No Bank?

    By now something about Bitcoin should start to feel a little bit strange. You send over some cash and it is logged in a global ledger, there is no bank and no one controlling the ledger, and it somehow all still works out. When you take a moment and think about that you will find that there is a nagging, awkward question: since there is no single entity approving the transactions, who is to stop people from cheating?

    In the traditional finance world there is always a central party to maintain trust. When you make an electronic transfer over a bank you are trusting that they are confirming you have the balance required, they are also verifying your identity and then the key point they are confirming you don’t double-spend your funds. Without these checks and balances it would be a simple matter for everyone to cheat and so you have a concept known as double-spending where people try to spend the same funds over two separate transactions.

    Bitcoin overcomes the double-spending problem in a quite peculiar way. Instead of replacing the central trusting party, they are instead distributing trust over thousands of independent parties. To simplify the idea think about what would happen if you put that many students in a classroom and had no teacher and no leader. Everyone would have their own little notebook where they record their transactions and when one student calls out that they want to make a transaction, all the other students would look in their notebook to verify if that student has enough funds or that it hasn’t already been transferred before. If it hadn’t, the transaction is recorded by everybody.

    Scale that up to the entire world and you will start to get a rough idea of how the bitcoin system works with thousands of computers called nodes constantly running and recording each transaction. When a transaction is announced to the entire network these nodes go and check that it isn’t trying to be double-spent or isn’t otherwise illegal, and then everyone adds that to their ledger. However it wouldn’t do any good for nodes to confirm all the transactions, the actual chain needs to be built somehow.

    That’s where miners come in. Miners are a specific group of people running on the network, they pick up all of the verified transactions and then try and bundle it into a block and be the one to add it to the blockchain. They don’t add the next block however simply by choosing which one they want it to be and because they want to, it has to be the one that solves a very hard problem. Whoever solves the computational puzzle first is rewarded with the new block (which contains new bitcoin), but the way that it’s done makes it so that only someone with more computational power than the rest of the network combined could manipulate the system.

    The problem and the system itself looks slightly convoluted but without both sides of this ‘verification’ and ‘miner’ equation the system wouldn’t work. However there is a more deep layer to all of this. You’ve heard of this computational puzzle the miners have to solve but what is this puzzle exactly and why is it so difficult? The puzzle lies at the center of Bitcoin’s security framework.