In this post I have decided to share the 7 facts in the Bitcoin protocol that I have found really interesting and just impressive for most of us computer scientists and software developers.
For a long period of time I was skeptical about learning Bitcoin and all the cryptocurrency frenzy, but as a computer scientist I saw a huge opportunity to learn and appreciate the amazing technology behind it.
In fact Bitcoin covers many areas of computer science , mostly Cryptography, Distributed Systems, Data structures, Consensus Algorithms, Networks, Game Theory...
The Bitcoin core was designed in a way that not only you can do some simple transactions like sending some tokens to a certain address, but you can also write any sort of sophisticated transaction.
An interesting transaction is for instance a parent who writes a transaction stipulating that the money can be unlocked only after the kids have all reached the age of majority and they have agreed all of them with at least one of their parent. All of that without a need of a lawyer or a trusted third party.
That type of transaction locks the money as long as that specified period in time has not yet arrived and the participants have not yet agreed to cryptographically sign it.
The first time I heard about Elliptic curves cryptography was from the Bitcoin core software. And ever since ECC has been getting more and more popular and being used in some of the most popular modern softwares.
Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields.
So it's basically a new generation of public-key cryptography most powerful than the RSA but with short bits length keys.
We might think that Bitcoin miners are just some folks wasting computer power and electricity for cooling in sake of cryptocurrency tokens.
But in reality the protocol uses that hashing power to protect itself against a large vector of attacks and making itself tamper proof.
As an Open Source P2P protocol software, there's just no way you can stop it.
Anyone can run the protocol, and it can work if at least 2 nodes are running the sotware.
Which implies that there's no way someone can put an end to it, there will always be two people or more running the protocol.
Add up the combined computing power of the 500 fastest supercomputers in the world, the Bitcoin network is 8 times more powerful.(1)
Probably the most astonishing fact about Bitcoin. There's no way in the protocol where you can find user's accounts. Those are abstractions built to simplify the understanding of the system to most common of users.
It's all bout some scripts locking some token and waiting to release them for a certain a condition to be made. An interpreter is built into the Bitcoin core to execute those scripts.
//An example of a simple Bitcoin script OP_DUP OP_HASH160 7f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a8 OP_EQUALVERIFY OP_CHECKSIG
If some cash are locked with that script above, you have to provide a valid digital signature signed with a private key pair to a public key where that addresss is derived from.
RIPEMD160(SHA256(Pubkey)) = 7f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a8 // An address // RIPEMD160() : Hash function with 160 bits length output // SHA256 : Variant of the SHA2 Hash function with 256 bits output // Pubkey : The Elliptic curve public key
Interesting isn't it ?
As a P2P Network, you may think the rate of spams and other DDOS attacks might put all the network down just in matter of days..
Well, the contributors had foreseen all these threats and some techniques are built in the software to mitigate all these kinds of attacks.
For instance if a node keeps relaying to you malformed or invalids blocks or transactions, you may just blacklist that IP address and never hear anymore about that bad player.
In conclusion, I just have to say, we as technologists should keep our curious mind, I have seen many tech folks bashing on Bitcoin, while in fact they can end up learning a lot from techniques used in that protocol.
Thanks for reading.
Front image courtesy https://financialtribune.com