Bitcoin has been at the top of the headlines from the beginning of 2021. But this article is not written to predict whether bitcoin will rise or plummet on the charts. It is about understanding blockchains – The technology which enables bitcoin to securely operate without any central authority like banks. If you want to send money to your family residing in another part of the world, simply initiate a transaction, wait for a few minutes, and your family gets the money. Compare that to banks who take multiple days to verify the transaction. Ironically, bitcoin promises to be more secured even though your transactions are validated by random people with computers. All thanks to math and cryptography that you don’t need to trust anyone and still sleep peacefully.
The Bitcoin Network
The bitcoin blockchain network consists of all the computers in the world that are sending, receiving, and mining (generating) bitcoins. Everyone maintains an individual copy of the record of all the approved transactions. When you want to send bitcoins to someone, you broadcast that message to all the computers in the network. A miner validates and confirms your transaction by solving a “puzzle”. Once confirmed, the miner broadcasts this message to the rest of the network. Then, everyone verifies the message and adds your transaction to their personal copy.
To understand blockchains, let’s go through all the steps of a bitcoin transaction in detail.
When I want to send money to my friend, Omar, I simply broadcast a message to everyone in the network saying, “Transfer 1.5 BTC from Safin to Omar”. But how can everyone be sure that I am the one who initiated the transaction? What if Omar is the one who broadcasted this message so that money is transferred from Safin’s wallet to his wallet without Safin’s permission?
Here is the role of Digital Signatures. Every user in the bitcoin network has a Private key and a Public key. As the names suggest, everyone in the network can see your Public Key, but no one will ever know your Private Key and you shouldn’t tell it to anyone. These keys are actually really long alpha-numeric characters. Your Public Key is unique because it is not something you set, rather, it is generated from your Private Key.
Every message you broadcast to the network must be digitally signed. This signature is a 256-digit number of 0s and 1s. What if someone copies your signature from one transaction to sign another transaction? That is not possible because you cannot use the same signature for all the messages. A digital signature depends on the message and the sender’s private key. Changing the message slightly generates a whole new signature. Mathematically, a digital signature is a function of the message and the Private Key.
f (Message, Private Key) = Digital Signature
Still, this doesn’t stop Omar from broadcasting, “Transfer 1.5 BTC from Safin to Omar”. He can write the message and sign it digitally. But, there is another mathematical function used to verify the validity of the signature. Inputting the Message, Signature, and Public Key (of the sender) to the function spits out True or False. So if someone checks the validity of the message using Safin’s public key, the function will spit out False because Omar generated the Signature using his private key, not Safin’s.
Verify (Message, Signature, Public Key) = T/F
Okay, so now that we know that no one except Safin can initiate the message, “Transfer 1.5 BTC from Safin to Omar”, how do we know that Safin actually has 1.5 BTC?
In this transaction, Safin must show reference to some previous transactions where he had received at least 1.5 bitcoins. Let’s say 2 months ago, Safin received money from his friends. He had received 1 BTC from Rinith and 0.5 BTC from Leen. So today, when he wants to send 1.5 BTC to Omar, he has to show references to the transactions from Rinith and Leen. Basically, you must show reference to previous transactions that collectively amount to at least the amount you are trying to send. Once a transaction has been already referred to, it cannot be referenced again. So tomorrow if Safin wants to send 1 BTC to another friend, he can’t refer to Rinith’s transaction because it is already referred by the 1.5 BTC transfer to Omar.
So, a message may look something like the one shown in the figure. Your name does not appear anywhere in the network, only your Public Key does.
Once your transaction is validated, it is placed in a pool of unconfirmed transactions. Now we introduce a user in the bitcoin network whose name is Hadi. His job is to confirm the transactions from this pool. So first, he picks a bunch of unconfirmed transactions and groups them together to form a block. Then, he has to solve a cryptographic puzzle! Here is the fun, or rather the head scratching part.
Let’s take a moment to understand the cryptographic function called the “SHA256” (Pronounced shaa 256). Basically, every single piece of data in the digital world is associated with a “digital fingerprint” called its Hash. For a given piece of data, the SHA256 generates a Hash which is apha-numeric and has 256 digits. The interesting property of SHA256 is that it is irreversible. You can easily obtain a hash for a data, but given a hash, you can never figure out its original data. To understand better, take a look at the demonstration below.
Now, a block consists of a list of transactions, hash, and a number called Nonce. Hadi’s job is to find a nonce for this block that generates a hash starting with four zeros (We will discuss more about the four zeros later). There is no formula or equation you can solve to find this number. Like discussed earlier, you can easily find a hash for a given data, but not the other way around. The only way for Hadi is to keep guessing numbers till he finds a hash starting with four zeros. Sometimes, the first number he guesses could give a hash starting with four zeros, but this occurrence has very low probability.
Once Hadi finds the correct nonce, the block is said to have a “Proof of Work”. Then, he broadcasts it to the rest of the network who simply verify the nonce by passing it through the SHA256 function. All the transactions in the block are now confirmed. Because Hadi did so much work to find the special number, he is rewarded with some bitcoins – No one transfers those bitcoins, instead the system generates the bitcoins out of thin air for Hadi.
This is how new bitcoins are added to the network. Hadi is called a miner in the sense that he goes through so many numbers to find one special number for a reward; like mining deep under the earth for rewards like gold.
Like Hadi, there are many miners in the bitcoin network. Basically, miners listen for transactions made by the public. Then they combine a group of transactions in a block and compete with other miners to solve a cryptographic puzzle to create Proof of Work. The first one to solve the puzzle is rewarded with some bitcoins, and in some cases, transaction fees.
The cryptographic puzzle cannot be solved humanly by guessing numbers every time. It requires immense computational power. Miners use powerful processors to keep guessing as many numbers they can in a given amount of time. Back in 2009 when bitcoin just started, I could have mined them with my laptop. But now, there are dedicated GPUs for bitcoin mining.
Creating a blockchain
Once a block is said to have a Proof of Work and verified by others in the network, it is placed on the bitcoin blockchain network. Every block in the blockchain consists of its own hash and the previous block’s hash for the sake of ordering the transactions. Thus, a block is linked to its previous block. Because blocks are linked in such a way, it is called a blockchain (Chain of blocks).
The bitcoin blockchain is a record of all the transactions ever made since 2009. Everyone in the network can see all the transactions. If you want to check all the transactions dating back to 2009, you can check them at https://blockexplorer.com/ .
Since a block consists of the hash of its previous block, it is very difficult to modify a block in the middle of the chain. Let’s say there is a blockchain of currently 10 blocks. You want to maliciously modify the contents of the 5th block by removing one zero from one of its transactions. As you know, modifying the data, even a little bit, completely changes the hash. Now you have to find a nonce that makes the hash of this block starting with four zeros. But that changes the “Previous Hash” in block 6. So you have to find a nonce for block 6 such that its hash starts with four zeros. But that will change the hash of block 7. And you will have to repeat this till block 10.
You have to “re-mine” 5 blocks by yourself and broadcast it to the network to make it seem as if nothing has changed. By the time you mined the 5 blocks, other miners must have already added and verified new blocks to the original blockchain. Let’s say that by the time you mined 5 blocks, other miners have added 5 more blocks to the end of the original blockchain. All computers in the network can now see two block chains; one with 10 blocks and another with 15 blocks. The rule of thumb in these situations is to accept the longer chain. No one will replace their copy with your copy and your blockchain will be rejected.
Moreover, you will never have enough computational power to match the collective mining rate of the rest of the network. So, the above statement of you solving 5 blocks and other miners adding 5 more blocks within the same time frame is already an overstatement. Therefore, it is said that blockchains are immutable.
Some Bitcoin Facts
In the example above, we saw that miners have to find a number that gives a hash starting with four zeros. In bitcoin, this number changes periodically to increase its difficulty so that mining one block requires 10 minutes on average. This also means, it takes only 10 minutes to transfer money between accounts. Compare that to the 2-3 day transaction time through banks. Interesting!
Earlier, with less computational power, it was reasonable to mine one block in 10 minutes. Now that miners use very powerful processors, the puzzle has to become progressively difficult. But it can be solved in 10 minutes regardless because there are many miners in the network now compared to 2009.
This is how other cryptocurrencies differ from bitcoin and each other. For example, the average block time in Ethereum is 15 seconds while in Litecoin, it is 2.5 minutes.
New bitcoins are added to the network when a block is mined. This means, every 10 minutes, new bitcoins are added. Back in 2009, the block reward was 50 BTC. Based on the math, this amount is halved every 4 years. Today, miners receive 6.25 BTC as block rewards. Given this depletion of block rewards, it is estimated that the last bitcoin will be mined in 2140. Will miners stop validating blocks after that? No, they can still be incentivized with transaction fees.
What if two blocks are mined at the same time?
Although the math makes the situation unlikely, it is possible that two miners might have solved two blocks, A & B, at the same time. When miners broadcast this information, it doesn’t reach every computer at the same time. In blockchains, it is not like everyone is connected to a platform and whenever users want to broadcast any information, people can see it right away. Rather, information travels from computer to computer based on where the message is broadcasted from. So it is possible that some computers receive A first and others receive B before A.
If Hadi sees A first, he will add his next block to it. If Zin (another miner) sees B first, she will add her next block to it. Then computers in the network may see two versions of the blockchain. But eventually, one chain will get longer than the other one. Then, we know the rule of thumb is to accept the longer chain, and the shorter chain will get cancelled. All the transactions in the shorter chain will be sent back to the pool of unconfirmed transactions. That’s why it is recommended that you wait for at least 6 more blocks (equivalent to one hour) to be added after your block to actually confirm your transaction.
Blockchain is a remarkable technology that has paved the way for a revolutionary invention like bitcoin (and other cryptocurrencies). Regardless of what happens in the future, coming up with a concept of completely removing intermediaries (banks) to send and receive money quickly and securely is fascinating. Ironically, the system depends on thousands of random people, whom you may never see, to operate and prevent frauds – Thanks to the math and cryptography.
At the time of writing this article, many companies have already started accepting bitcoins as payment. One of the first big companies to accept bitcoin is Microsoft. Other companies include PayPal, Home Depot, Starbucks, and many more. In fact, in June 2021, ElSalvador became the first country to give bitcoin the status of legal tender. Meaning – you can pay your debts in bitcoins in this country.
Cryptocurrency is not the only application of blockchains. They have also shown promises in the healthcare industry to maintain patients’ records. Officials are also considering using blockchain for presidential elections. Other industries with blockchain use-case include legal, media & entertainment, Internet of Things (IoT), and many more.
Would you consider implementing blockchain in your business? Let’s see what the future holds.
Good Stuff bro! Interesting, I finally learned how miners make bitcoin. Plus, I always thought there was a finite amount of bitcoin but since the reward keeps getting halved every 4 years that may be true!
Yeah it’s interesting. Some coins like dogecoins are infinite. I wonder how that actually works. Perhaps we must look at the math behind bitcoin’s depletion more closely.
Really interesting and great use of examples to explain concepts. Great job Safin!
Thanks for the feedback Sofian
A lot of thanks for your whole efforts on this web page. My aunt really likes managing investigation and it’s easy to understand why. A lot of people know all of the compelling form you produce both interesting and useful guidance by means of your website and improve response from other people about this issue then our princess is without question studying a whole lot. Have fun with the rest of the year. You’re doing a great job.
order arimidex 1 mg pill cost arimidex 1 mg purchase anastrozole sale
buy biaxin 250mg online generic clarithromycin cost meclizine 25mg
order naprosyn online cheap buy naprosyn 250mg without prescription order lansoprazole 15mg for sale
order spiriva 9mcg generic order tiotropium bromide 9 mcg pills buy hytrin generic
buy generic albuterol 100 mcg buy proventil 100mcg online buy cipro 500mg generic
pioglitazone 30mg brand buy viagra for sale order viagra 50mg pills
singulair 10mg pill brand montelukast 10mg buy viagra 50mg sale
tadalafil 5mg price Cialis health store free poker games
order generic tadalafil 40mg ed solutions cheap cialis 20mg
recommended you read gambling site card games online
ivermectin 12 avlosulfon us dapsone 100 mg uk
play roulette online real money online gambling casinos gambling casino
nifedipine 30mg price buy allegra without prescription cheap fexofenadine 120mg
free online slot machines paper help i need help with my essay
altace over the counter order etoricoxib 60mg buy etoricoxib 120mg pills
academic writing services uk purchase sulfasalazine without prescription purchase azulfidine pills
order doxycycline 200mg sale buy doxycycline 200mg sale order cleocin 300mg sale
buy generic benicar order depakote 500mg online cheap depakote 250mg pill
asacol order buy azelastine irbesartan 300mg cost
Thank you for your entry, the post was surely valuable to me.
free casino games slots
buy acetazolamide generic azathioprine 50mg ca order azathioprine generic
clobetasol uk order cordarone 200mg for sale buy cordarone 200mg online cheap
lanoxin 250 mg generic buy generic molnunat 200mg molnupiravir 200mg cost
generic coreg 25mg carvedilol 6.25mg cheap amitriptyline 50mg sale
The post you published very create absolutely informative.
buy amoxicillin 250mg generic order stromectol without prescription stromectol tab 3mg
cost alendronate 35mg alendronate pill motrin us
dapoxetine 60mg generic buy domperidone for sale order generic domperidone
buy generic pamelor 25 mg nortriptyline 25mg uk cheap paxil
buy indomethacin sale order flomax 0.2mg generic buy cenforce 50mg pill
buy famotidine 40mg pills pepcid 20mg usa remeron 30mg cost
order doxycycline 100mg purchase doxycycline medrol 4mg otc
ropinirole 2mg cheap buy generic requip 2mg labetalol generic
order tadalafil 10mg online order trimox 500mg generic trimox 250mg uk
buy fenofibrate sale sildenafil for men viagra for men
nexium 40mg generic purchase furosemide pill cost furosemide 100mg
cheap cialis for sale Free trial of cialis buy sildenafil 50mg pill
tadalafil 10mg sale Buy real cialis best ed pill
purchase glucophage online cheap tamoxifen for sale order tamoxifen 10mg for sale
buy modafinil online stromectol 3mg cheap phenergan oral
order deltasone pills buy amoxicillin 250mg for sale order amoxicillin 500mg online cheap
serophene drug order clomid online order prednisolone 20mg pills
order sildenafil 50mg purchase fildena generic proscar online
isotretinoin drug accutane 40mg for sale order ampicillin 250mg generic
I think we can all learn from each other’s perspectives, Raju. Thanks for sharing yours.
I’m curious to hear more about your point, Amjad. Could you elaborate on that a bit further?
order ondansetron pills bactrim 480mg oral order bactrim generic
stromectol generico best ed drugs oral prednisone
I’ve been searching for hours on this topic and finally found your post. casinosite, I have read your post and I am very impressed. We prefer your opinion and will visit this site frequently to refer to your opinion. When would you like to visit my site?
order isotretinoin 20mg generic amoxil 1000mg cheap order azithromycin 250mg generic
modafinil 200mg us buy lisinopril 2.5mg purchase metoprolol for sale
movie theatre waxahachie
movies like tomorrow war
prednisolone 20mg canada lasix order order furosemide 100mg pill
oral dutasteride buy cephalexin 500mg xenical without prescription
monodox tablet zovirax 400mg tablet acyclovir online
The software is free to try for 30 days, without any functionality restrictions.
imuran canada buy telmisartan pills brand naproxen
cefdinir 300mg ca protonix 20mg usa protonix 40mg ca
order ditropan 2.5mg pills prograf 1mg uk oxcarbazepine tablet
It’s the same topic , but I was quite surprised to see the opinions I didn’t think of. My blog also has articles on these topics, so I look forward to your visit. safetoto
oral dapsone tenormin 100mg pill tenormin ca
simvastatin 20mg without prescription promethazine 25mg pills buy sildalis without prescription
Hello ! I am the one who writes posts on these topics baccaratsite I would like to write an article based on your article. When can I ask for a review?
levitra or viagra viagra tablets cialis 20mg brand
alfuzosin 10 mg generic trazodone online diltiazem order
order generic promethazine 25mg buy phenergan generic tadalafil 20mg drug
Your article has answered the question I was wondering about! I would like to write a thesis on this subject, but I would like you to give your opinion once 😀 baccaratsite
ezetimibe order online order ezetimibe online methotrexate buy online
online pharmacies of canada
oral levofloxacin 500mg order zyban 150mg online cheap bupropion drug
best online canadian pharmacies
canadian pharmacy online no prescription needed
coumadin 2mg brand reglan price zyloprim 100mg ca
I’ve been troubled for several days with this topic. baccarat online, But by chance looking at your post solved my problem! I will leave my blog, so when would you like to visit it?
buy zyrtec 10mg sale cetirizine drug sertraline without prescription
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?
buy generic cenforce over the counter purchase cenforce generic purchase glycomet sale
best online pharmacies reviews
lexapro tablet prozac over the counter purchase naltrexone generic
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
lipitor 20mg generic sildenafil in usa sildenafil 100mg uk
order letrozole generic purchase sildenafil online usa pharmacy viagra
order tadalafil 10mg sale cialis 20mg ed pills for sale
buy tadalafil 5mg online cheap price cialis free samples of ed pills
best canadian online pharmacy
ivermectin 6 tablet brand deltasone 40mg buy generic isotretinoin 40mg
reliable online canadian pharmacy
amoxil 250mg price prednisolone 10mg brand buy generic prednisolone 5mg
most trusted canadian online pharmacy
buy generic accutane 20mg how to buy amoxicillin order zithromax 250mg sale
gabapentin 800mg us buy neurontin pills for sale order monodox pills
order albuterol generic buy synthroid pills for sale synthroid 100mcg without prescription
order canadian drugs
buy prednisolone 10mg for sale lasix 100mg pill furosemide 40mg cost
canadian pharmacy prices
buy generic clomiphene purchase plaquenil sale buy plaquenil online cheap
recommended canadian pharmacies
doxycycline 100mg brand buy generic clavulanate augmentin buy online
tenormin online order order tenormin 50mg online cheap femara cheap
androgel canadian pharmacy
buy synthroid pills buy clomiphene online levitra 10mg price
no prior prescription required pharmacy
albendazole 400 mg ca purchase aripiprazole online purchase provera pill
online canadian pharmaceutical companies
metformin 500mg price amlodipine over the counter buy amlodipine 5mg pills
order praziquantel 600 mg generic buy biltricide 600mg pills order periactin 4mg generic
safe canadian online pharmacies
lisinopril 2.5mg canada buy cheap zestril order metoprolol 100mg sale
order pregabalin pill buy pregabalin generic buy priligy 30mg for sale
buy methotrexate 10mg without prescription buy methotrexate 10mg for sale reglan pills
xenical 60mg drug buy allopurinol allopurinol cost
order losartan 50mg online cheap esomeprazole 40mg capsules order topamax 200mg online
buy rosuvastatin 20mg pills zetia where to buy motilium sale
purchase imitrex pill avodart pill avodart 0.5mg cheap
oral tetracycline 500mg flexeril 15mg generic buy generic baclofen online
zantac tablet mobic canada order celebrex 200mg online
order clopidogrel 150mg generic plavix where to buy buy nizoral 200mg without prescription
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article. https://www.binance.com/pt-BR/register?ref=YY80CKRN
buy tamsulosin 0.4mg online generic tamsulosin 0.4mg cost aldactone 100mg
buy cheap duloxetine duloxetine online buy nootropil online cheap
order betamethasone 20gm sale order anafranil 25mg itraconazole 100mg generic
ipratropium 100 mcg pills order dexamethasone 0,5 mg for sale linezolid buy online
prometrium 200mg without prescription buy progesterone 200mg pills olanzapine 10mg oral
canadian pharmacy advair
buy nebivolol generic valsartan 80mg cheap order clozapine pill
order starlix for sale order nateglinide 120mg online cheap buy atacand 16mg for sale
prescription drugs without the prescription
zocor generic zocor pill viagra 25mg price
tegretol online order buy carbamazepine lincocin uk
buy cefadroxil 250mg online cheap purchase lamivudine generic generic proscar 5mg
tadalafil 10mg pill buy cialis 40mg without prescription overnight delivery for viagra
order estradiol online brand estrace 2mg order prazosin generic
buy diflucan 100mg pills diflucan online order cipro 500mg generic
how to get vermox without a prescription tretinoin cream us buy tadalafil 10mg online
buy metronidazole 200mg pills keflex for sale buy cephalexin paypal
avana 200mg over the counter purchase diclofenac pills order voltaren for sale
cleocin 150mg drug order fildena 50mg pill buy ed medication
Thanks for sharing. I read many of your blog posts, cool, your blog is very good. https://accounts.binance.com/kz/register-person?ref=OMM3XK51
buy generic indomethacin online cefixime 100mg cheap cefixime generic
tamoxifen 20mg us ceftin order ceftin 250mg usa
amoxicillin 500mg cost biaxin pills biaxin brand
careprost allergy nasal spray buy generic desyrel 100mg cheap trazodone 100mg
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.
clonidine uk catapres medication buy generic tiotropium bromide 9 mcg
Your article helped me a lot, is there any more related content? Thanks!
amazon pharmacy drug prices
sildenafil 100mg pill sildenafil 50mg for sale sildenafil fast shipping
order minocin generic order minocin generic order pioglitazone 30mg
buy leflunomide 20mg for sale buy viagra 50mg without prescription order azulfidine 500mg pills
order isotretinoin accutane online order zithromax 250mg without prescription
otc cialis tadalafil 40mg pills buy tadalafil 10mg sale
ivermectin tablets for humans buy deltasone 5mg generic prednisone where to buy
order azipro 500mg for sale buy omnacortil without a prescription gabapentin 800mg cheap
buy lasix 100mg without prescription furosemide online buy ventolin buy online
altace 5mg usa brand glimepiride buy arcoxia 120mg
order levitra 10mg levitra usa buy hydroxychloroquine 200mg pill
buy mesalamine generic buy mesalamine 800mg online cheap avapro 300mg cost
levitra 20mg ca purchase plaquenil generic plaquenil where to buy
clobetasol oral generic buspar 5mg order cordarone 100mg pills