The first blockchain technology – the blockchain of Bitcoin – was invented by Satoshi Sakamoto in 2009. Below is the price of Bitcoin over each years.
Fig. 1: Bitcoin price over years. Source
II) Understanding the Blockchain:
Note: Below is just the implementation of blockchain of Bitcoin technology, other technologies like Ethereum, Stellar, will be covered in another part. But the general ideas of them remain the same like the Bitcoin technology.
1) Centralization and Decentralization:
Nowadays people use bank to store their money. Aside from storing money, the bank provides a lot of different services like online payment/trading, or passbook, etc. The model of banking system is a Centralized Network, where people trust a particular bank and give money to that bank in order to receive different services the bank provides.
So what about blockchain technology? How can someone create an electronic coin on the Internet – a place where we can trust no one while giving people the ability to exchange that electronic coin with others? This is where the term ‘Decentralized Network’ takes place. The Decentralized Network is where there are multiple root nodes which operate the network for people to use and exchange their assets.
Fig. 2: The Centralized Network and Decentralized Network. Source
On the figure 2 above, there is a word ‘ledger’ inside, so what is it?
Ledger is like a database, it stores information like:
_ On 07/09/2018: 10 PM, X transfer 10 bitcoins to Y.
_ On 08/09/2018: 1 AM, K transfer 1 bitcoins to Z.
… And so on
As the figure 2 has described, the Centralized Network only has 1 ledger in their system. Whereas the in Decentralized Network, each node contains one ledger for them to check balances of others and stuffs.
Note: Based on the transactions written in the ledger, one can easily determine the balance of others.
The term ‘Blockchain’ acts the same as the ledger does. But bellow I provide more details:
Fig. 3: The Blockchain (or ledger)
The information I gave you on part 2 is actually the information that stores in each block of the blockchain.
_ On 07/09/2018: 10 PM, X transfer 10 bitcoin to Y.
_ On 08/09/2018: 1 AM, K transfer 1 bitcoin to Z.
… And so on
Furthermore, each block contains a lot of transactions, not just 1.
For example: after a suitable amount of transactions have published on the Blockchain Network, they will be wrapped up and put in a block.
The blocks are actually not labelled in indexes, but they are labelled in hash.
A hash is a string of multiple characters, like: ‘ad64d8aaed7ff84edbdd4b8b1f292356fc202740ab52ff1b5513a296cc82b32e’ (very ugly, right?).
And we can even check information in that block by using some service website like blockchain.com. Link: https://www.blockchain.com/btc/tx/ad64d8aaed7ff84edbdd4b8b1f292356fc202740ab52ff1b5513a296cc82b32e
4) The wallet:
What about storing money, there must be some kind of wallet right?
Of course there exists wallets. However, the wallet of Bitcoin/Blockchain is not like holding the wallet in your hand, or having your laptop to store your Bitcoins.
The wallet is actually a pair of binary string. Like this:
Public key: ‘0110100010001110001010100000’
Private key: ‘10010101000001000010101111110101000001010111010011’
The key pair are generated by a Random Generator, where:
- The public key length is 520 (65 bytes), or 264 (33 bytes) for compressed public key.
- The private key length is 256 (32 bytes)
The key pair are generated by randomness, so what if someone generates the same key of yours? If the case occurs, they can steal your money, but good luck in randomizing 256 binary characters where each character is exactly the same as yours.
When you have generated a pair of random binary string as above, we can change it to a hash (like in part 3). However, here I will not go in to how binary change to hash. Let’s move on.
Below is the hash after we have changed from binary:
Public key: 13QTtKbpNGQUm7scRPH1dbRMAc2KK59Nau
Private key: 5JGEwcSWeHkai8n9rqy243iovQbB6WZuBJ3d9QDHeksUVHVgRWN
Public key: 1B5iq2hL9Jz9u4TvwrJrKkGuBcAe3yRVHu
Private key: 5J1D5XMdzSBpEPmieAwQmo51SMTtH1WYzPQpXMcs1hJgvwrkW2F
Caution: do not use the wallet above because this is just a blog to share knowledge.
The public key is like your identity, say if user A wants to give 10 Bitcoins to user B. Then user A must prepare some information like:
- From address: 13QTtKbpNGQUm7scRPH1dbRMAc2KK59Nau(public address of A)
- To address: 1B5iq2hL9Jz9u4TvwrJrKkGuBcAe3yRVHu (public address of B)
- Amount of Bitcoin: 10
- <Some more information which involves in coding>
- Signature of A: <a hash which was created by using the information in 1, 2, 3, 4 combine with the private key of A>
Then after that, we publish that piece of data onto the Blockchain Network and wait for your transaction to get approved. (this involves in some coding, or you can do it via some service providers).
Brief explanation: the public address acts as the identity of each person owning the wallet. Whereas the private key acts as a way for the network to determine if that piece of information was truly from user A, and not from another one (a hacker?).
Furthermore, we do not give out our private key, we only give out our signature because when you publish the information onto the Blockchain Network, everyone can see your data and after that they can get your private key. For deep understanding of how the signature works, I refer you search the keywords: Digital Signature Algorithm and Cryptography.
5) The miner:
Fig. 4: The Bitcoin miners. Source
We have talked about how we publish our data onto the Blockchain Network, and about how the Blockchain Network wraps multiple of transactions into 1 block. But the term ‘Blockchain Network’ has clearly stated that it is just a network, it cannot performs things like wrap transactions into 1 block, right?
Yes! It is just a network, and there are miners who execute commands to wrap multiple transactions into 1 block, and link the new block onto the existing Blockchain. In order for miners to link the new block to an existing blockchain, they have to solve a Cryptography problem that consume a lot of resources (CPU, GPU, RAM and stuffs. Mostly GPU, and that’s why people buy GTX1080 to mine Bitcoin).
Because the miners are the one who operate and keep the Blockchain Network alive, so whenever a miner solve the Cryptography problem and link a new block onto the Blockchain, they get a small percentage amount of Bitcoin as a reward. (Because of that people start to build their own mining machine at home to make money).
- Blockchain is a technology that let us store/transfer money by using a lot of Miners to check/verify/link your transactions onto the network, rather than using a Centralized System like the Bank.
- To store money, one must create a wallet which consist of public/private key. The public/private key is a term from Cryptography, because of that people call this Internet Coins as Cryptocurrencies.
That is all,
Thank you for reading the article.