What is blockchain technology?
Blockchain is a data storage technology that collects information in a chain of successively combined blocks. Blocks are added to the blockchain in a linear and chronological way.
The primary work on a list of cryptographically guarded blocks was written by Stuart Haber and Scott Stornetta in 1991. But the most famous blockchain was invented by a person (or enthusiasts group) known as Satoshi Nakamoto in 2008. Then it was performed by Nakamoto in the next year as the main part of the bitcoin, where the blockchain worked as a ledger for all payments made online.
Bitcoin has become the first digital currency that succeeded in overcoming double spending.
The words "block " and "chain" were used separately in Satoshi's first report, but in the end, it was popularized as a single word “blockchain ” in 2016.
Types of blockchain
Currently, there are three types of blockchains: public blockchain, private blockchain and consortium blockchains.
- Public blockchain
The public blockchain has absolutely no access restrictions. Anyone who has an Internet compound, can send transactions and become a validator (participating in the implementation of a consensus protocol). Typically, such networks offer economic incentives to those who protect them(mining, staking, etc.)
- Private blockchain
The private blockchain is licensed. The user cannot join unless he is invited by a network administrator. Member access is limited.
This type of blockchain can be considered a good addition to the work of medium-sized companies. They usually try to combine blockchain with the procedures of accounting and, as the victims do not wish to accept the risk of disclosure of confidential data to the public Internet.
- Blockchain consortium
It is often said that the blockchain consortium is semi-decentralized. Instead of one organization that which controls it, a number of companies use knots online. The consortium's chain administrators restrict the user's rights to read and only allow trusted sites to perform agreed protocols.
What are the advantages of blockchain technology?
- Not subject to corruption schemes
Since this technology has various mechanisms for verifying data, changing the information contained in blockchains becomes almost impossible. If the user has a desire to change the chain, then he needs change all the blocks in this thread. This also means that he has to re-run all the tests associated with the blocks. And since there is a network of users who check the accuracy of information, whenever an attacker wants to falsify block chains entire network is notified about the changes of he is making control over 51% of the entire network.
Since there is a network of people who constantly check the data, and since the information must be agreed upon by everyone, the results are always checked and correct. Since there is a big network, where every administrator has its own blockchain copy, data couldn’t get lost.
- Lower transaction fee
In the transaction process, there are no additional third-party costs.
- Accelerated process
All sorts of banking transactions are very slow. And this is because people depend on intermediaries. As an example: a bank. Since it works only 5 days a week, 7/8 hours a day, all transactions conducted by it are delayed. Unlike banks, the P2P system operates 24 hours a day throughout the week. Information is transmitted and stored automatically, which makes the process much faster.
The blockchain is one of the types of distributed data storage, uses 3 previously known technologies: peer-to-peer networks, encryption, and databases. The database is a chain of blocks that is encrypted in a special way and stored on all nodes of the network in the same form (replication is an exact copy). The whole secret lies in the connections between the blocks due to cryptography, as a result, it is almost impossible to fake information in the blocks. Blockchain allows you to securely distribute and/or process data between multiple persons via a network.
By storing data on a peer-to-peer network, the blockchain eliminates a number of risks that exist in centrally stored data. Decentralized block chains can use distributed networks.
Peer to Peer chain was the first new network which didn’t have centralized vulnerability points that can be exploited by hackers.
What are the disadvantages of blockchain technology?
- Implementation difficulty
Since Blockchain is a new and revolutionary technology, one of its drawbacks is the complexity of implementation. Since this technology is new for most ordinary people, it takes time to install all the necessary protocols for its proper functioning. It can take years for companies to accept and work with this system.
Although the process does not need intermediaries, this does not mean that the process is fully effective. Blockchain works with a network of users. And each of them must confirm the information in the block. This leading to a thing where hundreds of users have to perform the same actions to get a single result. These actions are not effective and lead to a waste of incredible energy wasted in one unit.
Transactions are grouped into blocks, and the number of transactions in each of these blocks varies according to the size of the transaction. The block consists of two main parts: the header and the body. Transactions are enclosed in the body of the block, and in the header, there are seven control fields of the block itself.
Block header fields are shown in the table below:
|Version ||0x2000000 |
Previous block hash (PrevHash)
- Version – depends on the software version used;
- PrevHash – is a 256-bit hash that is used to refer to the previous block in the chain;
- Merkle root – is the hash of all transactions in the block;
- TImestamp – represents the timestamp of the last transaction with an algorithm known as the Unix hexadecimal timestamp, which should not be confused with the UNIX timestamp, which expresses the numeric bits in seconds from 1970-01-01T 00:00 UTC;
- Bits – are the target current amperage;
- Nonce – is a numeric parameter sought during mining;
- Transaction Number – identifies Transaction Number.
The process of sending transactions
Even though the process of sending or receiving a currency is very simple, there is a whole ecosystem inside this process. Any payment that is made within the network must be confirmed six times in order to avoid double spending. When the transaction output is used as input to another transaction, it must be fully spent. Sometimes the value of the coin is higher than the user wants to pay. In this case, the client generates a new bitcoin address and sends the difference back to this address.
If one received from someone 4 bitcoin, and he needs to transfer 3.5, then the system will create a new entry for the incoming transaction, which will contain data about half of the coin. ”Change” will be completed.
Network complexity factor is a value about: “of how difficult it is to find a new unit”. The complexity is periodically adjusted depending on how much hash power has been deployed by the network of miners.
How does network complexity change?
The complexity changes every 2016 blocks, depending on the time spent studying the previous blocks. If a block is found every 10 minutes, the search for blocks in 2016 will take exactly 2 times. If the previous blocks of 2016 were discovered in less than two weeks, then the complexity will be reduced. The more time it takes to search for the previous blocks, the more the difficulty will decrease. To extract a hash block, it must be less than the final target.
The network hashrate is a unit of measurement that determines the computing power of the hardware involved in mining. All sorts of algebraic actions take place in a network far from random. They are associated with the display of new and subsequent transactions, which are entered into blockchain. Usually, hardware hashrate is expressed with such units:
How does the network complexity change?
In Bitcoin, the complexity changes every 2016 blocks, depending on the time spent studying the previous blocks. If a block is found every 10 minutes, the search for blocks in 2016 will take exactly 2 times. If the previous blocks of 2016 were discovered in less than two weeks, then the complexity will be reduced. The more time it takes to search for the previous blocks, the more the difficulty will decrease. To extract a hash block, it must be less than the final target.
When a Bitcoin transaction is transmitted to the network it goes into «Mempool» and awaits. The miner will select it for inclusion in the next block. Mempool is basically a waiting area for a node for all pending transactions. Transactions with the biggest fees confirm faster.