We know that Blockchain is a bitcoin infrastructure technology. The use of blockchain in Bitcoin ensures network security. In fact, using blockchain can ensure that transactions are irreversible and irreversible. Blockchain is actually a chain of blocks that holds the history of bitcoin transactions. This concept was first introduced with Bitcoin. Then with the help of articles from websites «learnmebitcoin” And “Inostopedia», In simple language, we explain the concept of the block and the contents of each block.
What is a block?
Each block is part of a blockchain that contains a collection of data related to bitcoin transactions. In other words, blocks are files that permanently record information about bitcoin transactions. A block logs some of the latest Bitcoin transactions or all of them that have not been entered in the previous blocks. If we want to simplify the previous sentences, we can say: a block is like a white sheet of paper on which anything can be written. But in the Bitcoin blockchain, information about bitcoin transactions is written on the blocks. When one block is “complete”, it opens the way to start extracting the next block and the previous block is closed. Therefore, it is not possible to change, delete or add any transactions in the previous blocks.
How are blocks created?
Blocks are created by miners. When you make a transaction on the Bitcoin network, this transaction will not be added directly to the blockchain. Instead, unapproved transactions or a memory pool are stored in a pool.
If you are a miner, your job is to collect transactions from the Unverified Transaction Pool and place them in the Candidate Block. You should try to add this candidate block to the Blockchain.
You can also assign a “block header” to each candidate block, which is actually a collection of metadata about the block. Miners use these metadata when adding blocks to Blockchainks.
Metadata is data that describes other data and acts as a tag that contains specific information.
At present, we do not consider the details of these components; But we will mention them quickly. (For more information on this, read the blockchain structure in Blockchain.)
The version describes the data structure inside the block. The program version is used so that computers can read the contents of each block correctly.
The last block
This is the last block ID number. Miner tries to get one of the previous block numbers for the current candidate block to establish the concept of “chain”.
The root of the harmonization tree or the Merkel tree
All transactions within the block are hashed together to form a text line. All components are unique; But it is better to refer to the Merkle root as the most important part of the header block.
There is a timer in the block itself that measures time relative to a specific time source.
The goal is the amount of network complexity that the miners work with to add the candidate block to the Blockchaink. This value is determined by the Bitcoin network. You can better understand this below.
How are blocks added to the Blockchaink?
To add the candidate block to the Blockchaink, we hash the header block information with the goal that the result is less than the value of the hard target.
The target hash is calculated by the degree of difficulty. Difficulty is a criterion set by the Bitcoin network to adjust the difficulty of adding a transaction block to a blockchain. The hardness of the Bitcoin network changes after the creation of each block in 2016, so that the average time for the creation of each block is 10 minutes.
Aim like a bar Limbo Acts for candidate blocks. The higher the difficulty, the lower the target and the harder it will be to find the hash block below the target.
If we want to take a closer look at the subject, the header block is not hashed alone, and another number is needed to do this.
This number is called the nonce, and is essentially a dummy string that helps miners find a hash less than the target value for the block. Nance is a variable that is added to the hash by the proof-of-work algorithm.
Nance is an arbitrary number that is used only once in cryptographic communication. If the first nance does not work (starts from zero), increase it and continue to hash the block header. Eventually, a nance will be found that returns a hash block less than the target value.
It is true that hash values contain letters; But you can still think of them as numbers. These numbers are just values based on 16, and numbering in this way is very common in computer systems.
When you find Nancy working, the block is dissolved and all transactions within this block are added to the Blockchain.
All miners will now return to the trading pool and start working on the next candidate block. They will use your successful hash block in their next header block. Thus, the competition to add a new block of transactions to the Blockchaink begins again.