Bitcoin for the enthusiasts

Aadvik
10 min readAug 21, 2022

I am probably quite late to the party, with there being countless other articles and videos detailing what bitcoin is, and if you should invest in it. Now being a self-proclaimed techie, comes with the need to know what goes on beyond the fancy frontend. This is what led me to dive deeper into this rabbit hole of bitcoin — its history and technology alongside the nature of it. I am writing this article to quantify the various jargon that is associated with this “BitCoin” and try to explain my fellow enthusiats what lies beyond the pretty “get rich quick” image of this.

Let’s take X currency to the moon 🚀
Photo by Benjamin Voros on Unsplash

To really understand what even calls for Bitcoin, we must understand the flaw, many skeptics and economists point out in traditional currencies — The government controls the issuance of new money, the flow of cash and several other factors that give them absolute control over the currency. It doesn’t take much for problems to arise due to the economics of how it all works, leading to events such as the financial crashes or the inflation.

So, I want you to imagine a currency whose issuance, verification, and transfer is handled by its users, a currency which no central authority can control, a currency that makes exchanges fast, reliable and cheap without the need of a centralized authority, here comes Bitcoin which aims to re-imagine what a conventional currency is and instead puts forward a different approach towards a regulated currency. Proposed by an individual under the pseudonym “Satoshi Nakamoto” with the release of a whitepaper in 2009. Precisely two years into the financial crash of 2007. Let’s try to understand the principals of such currency.

At some point, we all have come across a standard payment application such as PayPal, Google pay, or Paytm. The way these payments are processed is straightforward — the application sends a transaction request to your bank, who will then verify the request based on your credentials and validate the exchange, after this your request will be forwarded to the receiver’s end where their interface will chord another request to their bank to verify and add the funds.

Servers are nothing but (personal or specialized powerful) computers that are connected and accessible from the web. You usually access them by typing in a domain or URL into the search bar in browsers.

All transactions being sent through have to completely rely on the servers they are being processed in, which means, if any of the servers involved in this exchange fail, the entire transaction will be invalidated, wasting not only the resources of other computers involved but also time, something invaluable in our ever so fast-moving economy. Not only this, but we have to fully trust the intermediatories involved in this exchange, trusting them with absolute control over our funds this and the fact that a single breach can compromise the entire system ruin the general integrity of such payment system, providing the user with no privacy or control over their funds.

This is a common criticism of traditional-money-over-the-internet, the fact that the exchange of it, largely depends upon a singular monolithic server.

Bitcoin solves this issue by making use of a concept known as decentralization. A traditional network is comprised of multiple users and a single server, all the data sent by those users will be processed through a central server. Now, what if, each user connected on this network agree to process some of this aforementioned data in their own computer — Instead of asking a singular server to add 1+2, we ask every user to handle one part of this calculation.

  • User 1: Broadcasts the 1st Addend (1)
  • User 2: Broadcasts the 2nd Addend (2)
  • User 3: Gets the info broadcasted (1, 2) and adds them to get a sum of 3

Here, in-essence we have eliminated the need for a singular server doing all the calculations. This is a very simplified explanation of what decentralization it.

Coming back to the context of Bitcoin— Now we have a network that is entirely comprised of users’ computers or “nodes”, any information that needs to be relayed will go through all of the nodes connected across the network and will finally reach the designated receiver node. So In bitcoin every time a user downloads the Bitcoin client onto their system, not only do they become a part of the network but the network itself — what I mean by this is, now a part of the bitcoin network will live on your system, which will be used by bitcoin network to store, validate and do a range of tasks on it, so even if every computer or “node” on the network was destroyed, but you still have it on your system, the network won’t die, since your computer is not only a part of the network, but also the network itself. This removes the need for a centralized server, thus removing the trust that needs to be put in a central authority.

Now, in this open setup, any transactions going through the network will be exposed to every other user on it so we cannot use something like a PIN to identify the account, so the question is, how do we relay transitional data across a potentially compromised network? This is called the “Byzantine generals’ problem” Bitcoin solves this quite ingeniously by using a concept in cryptography known as “Hashing”.

Hashing is a one-way function, where given the same input, will result in the same output, and changing somthing minute in the input, will change the entire output, and a hash cannot be reversed without trying every input.
ex —
“Hello” 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
“Bello”
64b64423ba331ad848337b5e30b060763b38f9200c29eafc880fa5c0591d22a6

What bitcoin does, is once you create a wallet (think of it as an account for now) on the bitcoin network, your wallet application will generate a random string of characters, called a “private key”, it will then use this private key in a formula –

public_key = private_key * G

This public key is used in yet another formula to generate a bitcoin address, you can think of it as an email. In this entire process what we did here is made it so that only someone with the right public key can generate this specific bitcoin address, and someone with the right private key can generate the public key, this is how you can prove the ownership of your funds on an open network, since you are the only one who can generate these specific keys. Essentially, we can digitally sign a transaction with a signature that only we (or someone with our private key) can reproduce. This is how bitcoin can verify the ownership of transaction. We hear stories of yet to be millionaires losing the keys to their beefy wallets — in such cases the “funds” aren’t lost, but the proof of ownership of those funds is lost, if in theory, our prospective millionaire is able to find their private key written in a note, they can reclaim those funds.

We have been talking about transactions and how the bitcoin system verifies without much explanation as to what those transactions imply. Think about a transaction — it defines the transfer of the ownership of certain amount of funds from one account to another; Since digital currency is intangible, we can just put “you gave jenny 1 bitcoin” into a ledger, broadcast this information for every other computer on the network to verify and update their ledger, and now we have essentially validated this transaction — you doesn’t necessarily have to have this specific amount of currency your wallet, all we need to do, is broadcast this information throughout our network and your wallet can simply look at your transaction history on the standard ledger, and tally it to get the unspent funds your account holds. Take an example –

  • X gave Y 10 BTC (+10)
  • Y gave Z 5 BTC (-5)
  • You gave Y 1 BTC (+1)

Y’s wallet interface will essentially sum up these transactions to get a value that it can display as Y’s unspent amount (10–5 + 1 = 6 BTC), and can verify any subsequent transactions against this debit.

Transactions can be thought of as “double entry book keeping” — When creating a new transaction, your wallet tries to look for the most recent transaction in which you received certain bitcoin, if it is able to find this, lets say your last transaction was “Ben gave you 5 BTC”, and you need to give someone 2 BTC, your wallet will create a transaction with two parts, one will be the input “You will give”, the other will be the output “John 2 BTC”, along side this, in the output, another transaction will be added that returns the change back to you, However if in case your wallet isn’t able to find a recent transaction that fulfills the right amount, it will look up your history and tally the outputs to get the right amount, think of it as rummaging through your wallet for spare change, now, it will essentially say

INPUT: You gave  
OUTPUT: John 1.5 BTC
CHANGE: You received .5 BTC

Let’s try and understand what are wallets — wallet essentially creates and stores your private and public keys. A wallet’s sole purpose is to prove that a transaction belongs to you using the private key it holds; unlike a physical account which holds the literal cash, a wallet just provides a “proof of ownership” that you can use to claim the ownership of a transaction broadcasted on the Bitcoin network. Most people ususally use A “web wallet” these wallets are entirely managed by external providers, a popular example will be CoinDCX , which is a crypto exchange, meaning you can buy or sell your crypto in the same place, the only downside to a web wallet is the fact that you don’t have control over it and are susceptible to any fees put on transactions by the wallet provider.

In a digital currency like bitcoin, an important question arises, how is new money going to be issued without a central party authorizing it? If we give all the users this power, it would lead to massive inflation which will devalue our currency, this is where Nakamoto’s innovation comes into play — a decentralized consensus called “proof-of-work”. Imagine a school exam, Students, need to compete in a test which requires a lot of work to be put in, the tests are then checked and the winners are announced, the tests by themselves are meaningless, they are just here to serve as a “proof of work” done by a student, which tells the institution that the student is capable and they can trust him. This is what happens in bitcoin as well, once the wallet and has verified the transaction, it is then put into the memory or transaction pool , here, the our transaction alongside several others await until a miner can pick them up, a miner, is just a specialized node (a computer with bitcoin client installed) that are actively looking for new transactions to mine, miners across the network will now pick up all the transactions until the last block, then they will individually verify each transaction to ensure they are valid, if not, then the transaction will be discarded and the network will return an error to the user, the miner will then, craft a “block” — block is essentially a data structure which will be put on the blockchain. All we need to know, is each block is linked to its previous sibling, which creates a chain of blocks which can’t be modified without doing the same for every consequent sibling.

Once a block is ready to be published, the miner will now compete in a race to solve the “proof-of-work”, this work involves miners generating a certain hash value again and again, each time appending a “nonce” to the input to completely change the output hash until they find one output hash that fits the criteria, when this happens, the miner will then publish their block to the blockchain, once the block is published, the system will broadcast this information, prompting the other systems on this network to subsequently verify and add the block to the blockchain. Each step that our transaction goes through in this network, it gets more trustable, making trust an emergent factor of the network.

Let’s discuss a bit more about the special “Coinbase transaction”, In order to ensure the currency doesn’t inflate, the bitcoin system halves the reward a miner will get every four years, in-essence making the currency deflationary, this is because the demand of bitcoin continues to increase, but the rate at which new currency is minted halves. Current reward for a miner is about 6.25 BTC, and will continue to halve until 2140, when 21 million bitcoins will be in circulation, after this point, no new currency will be issued, instead the miners will earn reward from a small miner’s fee on a transaction, even right now, a small fee is derived from the transaction, however it makes up for about 0.5% of the miners’ reward.

This open and decentralized nature of bitcoin makes it susceptible to “51% Attacks”, essentially when the majority of the computers on the network are controlled by a single party, they, in theory can modify the blockchain and control the transactions, but this task requires massive amounts computational power which is simply infeasible even for wealthy organizations.

This “proof of work” model of bitcoin has been criticized due to the environmental impact its creates with no gain — miners buy expensive rigs and facilities which eat up a lot of energy, to solve a problem that is essentially meaningless outside of being a proof of computational work, to combat this another model “proof of stake” has been proposed, where the trust is derived on the basis of the users’ capital on the network, many currencies such as Ethereum (ETH) are moving to this model in order to reduce the inefficiencies and the carbon footprint associated with proof of work.

To conclude this lengthy article, I would like to warn that this isn’t meant to be a question about “Should I invest in Bitcoin or not?”, this article simply means to bring forth some of the tech that goes behind Bitcoin.

--

--