Tag: public address

  • Day 1 — I Sent Money Without a Bank. Wait… How Did That Even Work?

    A few years ago, if you wanted to send money to somebody, there were very few options. You could go to a bank, use internet banking, or just send money through a mobile app like Paytm, Google Pay or UPI. Mobile apps these days look extremely sleek and fast, but they only give the illusion. In the backend, every transaction ends up going to a bank. No matter how fast it feels or how short the time it takes, there is a bank somewhere in the middle making sure things check out.

    Lets take the example where you send Rs 500 to a friend. To you it feels like money is going directly to him, but in reality it isnt. Instead, you are asking the bank to change its database. Firstly, your bank checks if you have enough money (Rs 500). It then checks the validity of the destination bank account, checks the legality of the transaction, and then decrements the amount from your bank account while crediting it to your friend. To sum it up, it is nothing more than asking the bank to update its database from having balance X in your account, to balance X-500, and in the bank of your friend having a balance Y, to balance Y+500. This is how digital money works in the real world today and it has been working this way for decades – a middleman with trusted power.

    But things became strange in 2009. A man (or group of people) known only by the pseudonym Satoshi Nakamoto created a system which looked like just another form of digital money, but one crucial difference; it enabled the sending of money from one individual to another without a third party.

    This sounds like a contradiction in terms. If there is no bank verifying the transaction, then how will we be able to detect cheating? How do we know if you actually own the money which you are sending? And how do we stop one person from using the same digital money for multiple transactions? This was where many people became bewildered and honestly still are bewildered by this day and age.

    Lets imagine an everyday situation where you have to send some Bitcoins to your friend Rahul. Instead of opening a banking app, you would open something called a ‘crypto wallet’. A crypto wallet, however, does not actually store money in the sense of a physical wallet does storing cash. What it does is store certain cryptographic keys that give you access to funds, without which they cannot be touched or moved by anybody else.

    Each crypto wallet is associated with an address, called the ‘public address’ which can be thought of like an email address, but for your digital cash. Anyone in the world can send Bitcoins to this address. This address is usually a very long string of numbers and letters, which look very peculiar the first time you see it, but represent a destination in the Bitcoin network.

    So, when you are going to send your friend Rahul Bitcoins, you punch in his public address, the amount of Bitcoins you wish to send and when you hit ‘send’, your wallet announces the transaction to thousands of computers all across the world which are interconnected in the Bitcoin network.

    The interesting part is that this is where we depart from how banks operate. Instead of having a single entity like a bank to verify transactions, in the Bitcoin network, there are many computers all over the world which collectively verify each transaction on the basis of whether the transaction is legitimate, and the person sending money actually possesses the Bitcoins, and these Bitcoins have not already been spent elsewhere. The system is therefore able to verify if the transaction is legitimate or not.

    Where is it verified? It is verified in what is called a blockchain.

    A blockchain can be seen like a massive notebook that records all Bitcoin transactions in existence. For example, there could be entries in the notebook which are like “Alankrit sent 1 Bitcoin to Rahul”, “Rahul sent 0.5 Bitcoin to Sneha”, “Sneha sent 0.2 Bitcoin to Aman”, etc. And over time, as and when transactions occur, the notebook grows larger and larger.

    The key attribute of a blockchain is that, instead of one single notebook residing somewhere, there are thousands of copies all around the world, and whenever a transaction is made, all these thousand notebooks get updated. This makes altering the blockchain almost impossible as you would have to simultaneously alter a thousands of ledgers at the same time, and all these copies would have to be agreed upon. For example, imagine you are in a classroom and you and every single student in the class are keeping track of all transactions made by all students in a notebook. If, later on, a student decides to cheat by altering an entry in his notebook, all the other thousands of students in the class would easily detect this as his ledger will not match the notebooks of any other student. The system is thus reliable as many individuals maintain its integrity.

    And this is what distinguishes Bitcoin and all its descendant cryptos. For the very first time, individuals can make digital transactions without anyone’s approval and without a bank in between them. The whole system is powered by open source software and maintained by the users.

    However, it is now natural for a new question to arise: If banks are not verifying the transaction then who is and why should they do it for free?

    The answer is through what is called Bitcoin mining.