Published on: June 27, 2016 by Siju Jacob
We all have heard the term ‘BitCoin’ and although most are not familiar with its working, what you might be imagining is Bitcoin is some sort of payment mechanism. Well, you are *not* wrong, but BitCoin is much more than just a payment tool.
So what exactly makes BitCoin unique and how does it work. Let’s find that out 🙂
Quoting with reference to the Book ‘Mastering BitCoin’ by Andreas M, Bitcoin is collection of concepts and technologies that form the basis of a digital money ecosystem. It includes a currency, with units called bitcoins, that are used to store and transmit value among participants in the bitcoin network.
Bitcoin includes four key innovations brought together. Bitcoin consists of:
We will look at what each of this is in detail in sections below
So, in order for a person to get / transfer Bitcoins, he should have a BitCoin Wallet first. So to join the BitCoin network and start using the currency, the person has to either download an application or use a web application. Because BitCoin is a standard, there are many implementations of the BitCoin client software.
The three main forms of BitCoin clients are:
A full client keeps the entire history of BitCoin transactions (every transaction by every user, ever), manages the users’ wallets, and can initiate transactions directly on the BitCoin network. This is similar to a standalone email server, in that it handles all aspects of the protocol without relying on any other servers or third-party services.
A lightweight client stores the user’s wallet but relies on third-party–owned servers for access to the BitCoin transactions and network. The light client does not store a full copy of all transactions and therefore must trust the third-party servers for transaction validation. This is similar to a standalone email client (Outlook) that connects to a mail server for access to a mailbox, in that it relies on a third party for interactions with the network.
Web clients are accessed through a web browser and store the user’s wallet on a server owned by a third party. This is similar to webmail in that it relies entirely on a third-party server.
So, how does a user get BitCoins? Well, it is not possible to buy BitCoins at a bank or foreign exchange. Not as of now, anyway.
BitCoin users communicate with each other using the BitCoin protocol, primarily via the Internet. The BitCoin protocol stack, available as open source software, can be run on a wide range of computing devices, including laptops and smartphones, making the technology easily accessible.
Sounds a bit too technical, doesn’t it!!!
Let’s break down how it works with a typical world example first and then we can compare and list BitCoins features.
Let Alice be a customer who has a BitCoin wallet and is now ready to receive funds. Once she signs up for a BitCoin account, her wallet application will randomly generate a private key together with its corresponding BitCoin address. Her BitCoin address is simply a number that corresponds to a key that she can use to control access to the funds. There is no account or association between that address and an account. Until the moment this address is referenced as the recipient of value in a transaction posted on the BitCoin ledger (the blockchain), it is simply part of the vast number of possible addresses that are “valid” in BitCoin. Once it has been associated with a transaction, it becomes part of the known addresses in the network and Alice can check its balance on the public ledger(explained later).
Let’s say Alice owns a coffee shop and a customer, say Harry chooses to pay for dinner using BitCoins. Alice will have a printout of her address or QR code as displayed in her BitCoin wallet displayed in her shop for customers to be able to send BitCoins. There is nothing sensitive, from a security perspective, about the bitcoin address.
Let’s consider the cost for dinner to be 0.10 bitcoin, also known as 100 millibits. To transfer the bitcoins to Alice account, if Harry is using the Blockchain mobile wallet on an Android phone, he would see a screen requesting two inputs:
• The destination bitcoin address for the transaction
• The amount of bitcoin to send
In the input field for the bitcoin address, there is a small icon that looks like a QR code. This allows Harry to scan the barcode with his smartphone camera so that he doesn’t have to type in Alice’s bitcoin address ( like example: 1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK ), which is quite long and difficult to type. The mobile wallet application fills in the bitcoin address scanning the QR Code and Harry can check that it scanned correctly by comparing a few digits from the address with the address printed by Alice.
Harry then enters the bitcoin value for the transaction, 0.10 bitcoin. He then presses Send to transmit the transaction. Harry’s mobile bitcoin wallet constructs a transaction that assigns 0.10 bitcoin to the address provided by Alice, sourcing the funds from Harry’s wallet and signing the transaction with Harry’s private keys.
This tells the bitcoin network that Harry has authorized a transfer of value from one of his addresses to Alice’s new address. As the transaction is transmitted via the peer-to-peer protocol, it quickly propagates across the bitcoin network. In less than a second, most of the well-connected nodes in the network receive the transaction and see Alice’s address for the first time. If Alice has a system with her, she will also be able to see the transaction.
The bitcoin ledger is a constantly growing file that records every bitcoin transaction that has ever occurred—is public, meaning that all she has to do is look up her own address and see if any funds have been sent to it. She can do this quite easily at the blockchain.info website by entering her address in the search box. The website will show her a page listing all the transactions to and from that address. If Alice is watching that page, it will update to show a new transaction transferring 0.10 bitcoin to her balance soon after Harry hits Send.
At first, Alice’s address will show the transaction from Harry as “Unconfirmed.” This means that the transaction has been propagated to the network but has not yet been included in the bitcoin transaction ledger, known as the blockchain. To be included, the transaction must be “picked up” by a miner and included in a block of transactions. Once a new block is created, in approximately 10 minutes, the transactions within the block will be accepted as “confirmed” by the network and can be spent. The transaction is seen by all instantly, but it is only “trusted” by all when it is included in a newly mined block. Alice is now the proud owner of 0.10 bitcoin that she can spend.
Similarly, she can buy something now using the bitcoins she has now and the bitcoin gets transferred to the shop owners wallet following the steps as above and so on.
Thats what happens in the frontend. Keeping this example in mind, let’s now look behind the scenes at how BitCoin Works.
Putting it simply, the bitcoin system, unlike traditional banking and payment systems, is based on de-centralized trust. Instead of a central trusted authority, in bitcoin, trust is achieved as an emergent property from the interactions of different participants in the bitcoin system.
We will examine bitcoin from a high level by tracking a single transaction through the bitcoin system and watch as it becomes “trusted” and accepted by the bitcoin mechanism of distributed consensus and is finally recorded on the block‐ chain, the distributed ledger of all transactions. Each example is based on an actual transaction made on the bitcoin network, simulating the interactions between the users (Harry, Alice, and Bob) by sending funds from one wallet to another.
In simple terms, a transaction tells the network that the owner of a number of bitcoins has authorized the transfer of some of those bitcoins to another owner. The new owner can now spend these bitcoins by creating another transaction that authorizes transfer to another owner, and so on, in a chain of ownership.
Picture a ruled notebook in your mind where the right pages are for inputs and left for outputs. Now, the contents of each line in total is what is contained in a transaction. In simple terms, each transaction contains one or more “inputs,” which are debits against a bitcoin account. On the other side of the transaction, there are one or more “outputs,” which are credits added to a bitcoin account.
Now, a question you might not be doubting. Will the input sum equal to the output? Not always, No. Instead, outputs add up to slightly less than inputs and the difference represents an implied “transaction fee,” which is a small payment collected by the miner who includes the transaction in the ledger.
The transaction contains proof of ownership for each amount of bitcoin (inputs) whose value is transferred, in the form of a digital signature from the owner, which can be independently validated by anyone. In bitcoin terms, “spending” is signing a transaction that transfers value from a previous transaction over to a new owner identified by a bitcoin address.
Well, they are generated by a process called mining and people who mine Bitcoins are called miners. We can look into that in more detail in the next part of the blog. To make the process simple, let’s consider Harry as a miner ( you remember him right, the dinner guy 😉 ). Continue reading here
Category : General