Blockchain technology is the core of crypto currency, including the most famous of which is Bitcoin. In its simplest form, a Blockchain consists of information blocks. Each block contains: transaction (in the context of Bitcoin, the amount transferred), the time of creation, the specific digital signature for the content, and the code that links the block to the previous block. Simply put, Blockchain is a series of blocks that are interconnected, thus forming a block chain.
Overall, the blockchain consists of every transaction carried out since the initial launch of Bitcoin, starting with the first block called Genesis.
As exemplified above (simplified so that there is only one transaction per block), if Alice wants to send 1 Bitcoin to Bob, a new block will be loaded to record relevant information. The block number (in this example, 15) will be embedded in the transaction, supplemented by a link to the previous block (0000abxf6h12gh) and a digital signature (00008cnj21lxt3jh) that is unique to the entire contents of this block.
Digital Signature is the result of a mathematical function (or cryptographic hash algorithm) known as SHA-256 or rather double SHA-256 (for more in-depth discussion, read the Bitcoin Key and Address article). SHA-256 accepts data files, runs a cryptographic algorithm for this data, and produces an output of 64 alphanumeric characters known as digital signatures. This code always consists of 64 alphanumeric characters, regardless of the length of the received data file.
Interestingly, even if one number or letter in the data changes, the SHA-256 algorithm will produce a different signature. Also note that each digital signature starts with 4 zeros.
Suppose Bob tries to “trick” the system by changing the amount of Bitcoin he receives from Alice from 1 to 100, then the digital signature will also change, including all the signatures that have existed since the beginning of the creation of Bitcoin. In other words, Bob could not have done this.
Block Header – the main identifier of each block on the Blockchain.
After the transaction is validated by nodes (computers on the Bitcoin network), the transaction will be selected (or confirmed) to be included in the block and the mining process begins. This is a battle against time, the best and luckiest node will come out the winner.
To mine Bitcoin, you need to download your software to buy a special computer. There are many software choices, but the most popular include: CGminer, BFGminer, BitMinter, and BTCMiner. Miner (miner) or group of miners aim to calculate hash blocks equal or less than the specified target. As long as all information in the header block has not changed, the results from SHA-256 will always be the same. Therefore, nonce is included (in cryptography, nonce is a random number that can only be used once). Each time the calculated hash header block fails to reach the target range, this number is increased and the hash is recalculated until it reaches the target.
Miners who have the strongest and most powerful computer equipment will be superior in reaching the target early. Although power and speed are very important in mining, but the deciding factor that is no less important is luck! There is no logic in calculating the winning hash, so the longest brute force route must be followed. Brute force is a comprehensive search technique that tries all possible answers to find the correct answer. The number of answers to be calculated is close to 1077, so a large calculation power and high speed are needed.
Once the winning hash has been counted, a block is included in the Blockchain and the prize (at the time of writing this report, a prize of 12.5 Bitcoin) is given to successful miners. At present, one block is added to the Blockchain every about 10 minutes. One block can contain around 1,000 transactions.
Once a block is included in a Blockchain, it is permanent and cannot be undone. All nodes (computers) on the Blockchain network record this decentralized ledger (ledger). When a new node joins the network, one copy of the Blockchain or ledger will be downloaded. If someone tries to change information in a block, even if it’s just 1 bit, then he has to recalculate all the hashed blocks since the earliest, genesis. This is almost impossible with current technology. Even if, just assuming, this can be done, then this false chain will definitely be rejected as long as the majority of nodes remain honest. Blockchain accepted by the majority of nodes always has majority approval from other nodes (Proof of Work system).