Blockchain Technology and General Information About Its Function — Part Two

BitherPlatform
BitherPlatform
Published in
4 min readJun 2, 2019

In the first part, we saw a general description of blockchain and the relation between blocks and transactions. Then we saw a problem according to the orders of transactions that we explain it here:
Keeping the order of transactions that are broadcasted to other nodes in a blockchain’s peer-to-peer network (like Bitcoin). The transactions are not necessarily processed in the order in which they are created, thus the system has to contrive a way to prevent double spending. To achieve this, transactions must be transferred node by node along with the network. Note that there is no guarantee that the order of receiving the transactions by nodes corresponds with the order of their creation.

This means that a mechanism is needed so that the whole blockchain network can agree on the order of transactions. The system puts transactions in a group of blocks and then arranges them by connecting each block to the previous one through a “hash” function which is a mathematical mechanism. These blocks are connected to each other like chains in one line in a time sequence. Each block saves a hash output of its previous block.
The next problem to solve is that every node can arbitrarily create a block of transactions and broadcast it on the network as a suggestion for the next block. If, at any given time, different nodes create different blocks, which one should be considered valid? As long as blocks can be received in different orders in different parts of the network, no order can be trusted.
Blockchain technology has solved this problem by introducing a matching puzzle. Any block that wants to be added to the blockchain, has to contain an answer in its content for a unique “math puzzle”. That answer is called “Proof of Work”. A node that creates a block must be able to prove that it has enough computational resources to solve the “math puzzle”. For example, a node needs to be able to find a random number (nonce) with which it can generate the hash output of the next block that starts with a certain number of zeros.
The number of zeros at the beginning of a block’s hash vary due to the difficulty of the network (the more hash power a network has, the more zeros a block’s hash needs to have), but the verification process is very simple and can be done by verifying the hash regarding the input data.

Solving this math puzzle is time-consuming and its complication is adjustable, for example, the complexity of the puzzle can be adjusted so that the average time of its solution by a node in the bitcoin network (for creating a block) is 10 minutes.
The possibility of the creation of more than one block in the system during the allocated time is very low. The first node to solve the puzzle broadcasts its own block to the rest of the nodes in the blockchain. If in a special circumstance more than one block is created simultaneously, it leads to the creation of different branches. However, the math puzzle is complex enough for the blockchain to be stabilized quickly and all nodes would agree on the chain order of recent blocks.

On the other hand, the network recognizes only the longest chain as the valid one. As a result, it is almost impossible for an invader or attacker to define a fake transaction because not only do they have to generate a block that has solved the mathematical problem, but they should also simultaneously recreate previous blocks in a way that other nodes in the network consider them valid.

Source:
https://bitherplatform.io/docs/Whitepaper.pdf

--

--

BitherPlatform
BitherPlatform

New Eco-Friendly and Layered Decentralized Economy: Three-layer solution, Multi-mining capability, Optimizing energy consumption. https://bitherplatform.io/