Tag: peer to peer network

  • 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 2 — Where Did My Bitcoin Actually Go?

    Earlier, we came across an astonishing idea. It is possible to send money through the internet without any banks being involved. Instead of financial institutions verifying and storing transactions, it is through a network of global computers that a public ledger known as the blockchain is formed. It is only natural to ask an obvious question: Where do transactions go when you send Bitcoin to someone?

    As the answer is clear for the banking systems, if you make a transaction with your bank it simply adds this record to its own database and decrements from your balance while incrementing the recipient’s balance, all on a central bank server. However, for the Bitcoin network it is quite different. When you send Bitcoins, the transaction is broadcast to thousands of global computers that communicate among each other to maintain synchronized database of transactions.

    You could better understand this if you compare it to a Google Sheet where every single transaction of Bitcoin ever is recorded and every participant of the Bitcoin network holds a copy. Whenever a new transaction takes place, it gets added to all thousands of copies of this Sheet. Thus, if you send Bitcoin to your friend Rahul, it is declared to everyone in the network who then updates their copy of the global ledger.

    This ledger of all transactions is what is known as the blockchain. There is really nothing fancy about this word other than it represents a chain of records where records containing transactions are added in chunks called blocks. When a block becomes full, it gets added to the previous chain of records which can be said as creating a sequence of entries.

    An easy way to conceptualize the blockchain is to consider it as a diary page containing a group of transactions which are recorded after the specific time period expires, it is sealed and another page is started. Collectively, pages form a complete transaction history of the Bitcoin network.

    Once a block is formed and added to the chain, it becomes nearly impossible to edit it as the transaction will affect all subsequent blocks too; and that too is practically impossible with so many users in the network to coordinate that change in all of the blocks in the network at the same time. The transactions thus added are made publicly visible, though not linked with actual identities, which means everyone can see the entries on the blockchain and verify its integrity, but not the identities of individuals behind each transaction, rather strings of characters called wallet IDs will be displayed in place of them.

    The entire process is completely contrary to banking which uses its own private databases to maintain records which are then verified and managed solely by them. Here, the blockchain, which is public and open to everyone to verify, ensures a network that is transparent yet maintains privacy through a unique system of identity.

    But there is a remaining question; how does a particular set of transaction get verified, collected and formed into a block, linked and then recorded into the global blockchain? Well this task is designated to a group of users called miners who in return for their services are given Bitcoin as a reward. They are the ones who collect pending transactions, pack them into blocks and make them accessible to the whole network in return of mining new bitcoins.