How Secure is Blockchain: Security of Blockchain Technology
Blockchain is positioned as the safest way to store information, which eliminates the theft of important data, fraudulent activities, protects property rights, and the like. In the article we will diligently resolve new technology into its components and see how much truth in this thesis and how much advertising.
Blockchain is an architecture for building databases that, in addition to storing information, can serve as a source of "truth." This gives confidence that the information in the system is genuine and cannot be changed without the consent of all interested parties, which excludes the possibility of undesirable and fraudulent actions.
In practical use, the blockchain is considered as a secure, infinite journal of financial (or other) transactions that can be used for monetary transactions and practically everything that has a formal value. The safety of the technology is due to three factors:
There are two types of participants in the blockchain network:
The system forms an ordered “back” structure from the blocks. A block in such a structure can be identified using a cryptographic hash (also known as a digital fingerprint) - an algorithm (a secret key, or a hash key) for encrypting data using cryptography. Data is decrypted by using the same key or another, also generated using cryptography. Thus, all data can be linked through a linked list structure.
This cascade effect ensures that if the network has many generations, then it cannot be changed (hacked) without changing all subsequent blocks, since this requires the use of huge computational power. Or, in other words, the longer the block chain, the safer the system.
The block consists of a header (Head) containing metadata. Next comes a long list of transactions (Payload), which occupies most of the total volume of the block. So, at the start, the Bitcoin block could accommodate more than 500 transactions, since it was 80 bytes (now the size is larger), and the transactions required 250 bytes each.
At the same time, the blockchain is much more reliable than any ledger or any banking register of operations, since, as already noted, copies of the blockchain are stored on many computers (servers). To crack such a network, you need to take control of more than half of the complete nodes of the system. For example, in the case of Bitcoin, this means that millions of users' computers need to be hacked.
The Merkle tree data structure allows for a quick check by building a tree path from the lower level to the root node. Since each transaction output can only be carried out once while it is consumed, it can be removed from the tree structure using certain clipping algorithms. Thus, it is possible to reduce disk space usage without affecting the check function.
It works like this:
As mentioned earlier, the Bitcoin network blockchain is a database that records and stores information about transactions of virtual coins (bitcoins). The transaction in such a network in a simplified representation has the following form:
From <address 1> send <N> bitcoins to <address 2>In a computer code, a transaction recorded in a blockchain block is somewhat more complicated, since the Bitcoin protocol operates with such concepts as Inputs (Inputs or In) and Outputs (Outputs or Out).
In digital currency, new transactions through Inputs (one or more) refer to Outputs (one or more) of previous transactions and form Outputs (also one or more) for use in the next transactions.
The first blockchain block is called a genesis block. In the Bitcoin network, such a block was created in 2009, it is the common predecessor of all the blocks in this ecosystem. This means that if you select any block and trace the chain back in time, you will eventually come to the block of genesis. Each blockchain chain always starts from at least one block, and since the genesis block is encoded statically in the client software of any blockchain (this is its starting point), it cannot be modified.
Consequently, each node always “knows” the hash of the genesis block and its structure, the fixed time when it was created, as well as a single transaction in this block. Thus, each node has a starting point for the blockchain - the “root” of security, from which you can build a reliable and secure database. The following hash corresponds to the genesis block of the Bitcoin network:
Or this (if you use the basic Bitcoin Core client with the Windows command line):
Interesting fact. The Bitcoin genesis block contains a hidden message: "Times 03 / Jan / 2009 Minister of Economy at the turn of the second round in bank rescue." This is a symbolic message that contains a link to the headline of the British newspaper The Times. This is a reference to the importance of creating a reliable, secure and independent monetary system, such as Bitcoin, which will be a “haven” of stability in times of financial crisis. This message was laid in the first block of Satoshi Nakamoto, the creator of Bitcoin.
Since transactions in the blockchain are essentially operations with cryptocurrency, for example, Bitcoins, the structure of a transaction (a sequence of digital signatures) can be visualized as follows:
The signature of the participant is similar to the signature on the check, which with the help of the secret key confirms the authority of the user as the owner of the funds. If the public key can be distributed to everyone, then the secret key should be kept with you. This key provides full access to account transactions. It looks like a plastic card (public key), it can be shown, even inserted into an ATM, however, you will need a PIN code (secret key) to withdraw money.
Bitcoin blockchain is a publicly available network. This means that all participants in the system are equal and have equal access rights to the chain, which allow you to read information in the chain and add new blocks. That is, all users have full access to the chain. Such networks are created when they want to achieve decentralization and transparency, for example, in financial transactions or real estate transactions.
However, this is not always appropriate, since in reality the world is full of data whose distribution is undesirable. An example is information about human health. Only the patient and people or organizations that the patient has granted access to, for example, relatives, individual doctors and hospitals, should have access to it. In such a scenario, only a trusted host can add information to the network and view it completely.
Depending on who can become a full node, blockchains are divided into three types: centralized (private), decentralized (public) and divided (consortiums).
Description. The network is maintained and controlled by the central site. Only he has the right to check transactions and generate blocks. This increases the speed of operations and management decisions, but makes the system unstable: any failure on the central node will bring down the entire system.
Examples: Hyperledger is a blockchain for closed corporate solutions, Multichain is a platform for private blockchains.
Examples: Bitcoin, Litecoin, Ethereum.
Examples: R3 CEV LLC - Finance, EWF - Energy, B3i - Insurance.
#1. General information
#2. Technical description
#3. What's inside the block
#4. How are the blocks connected to each other
#5. Genesis block
#6. Blockchain transaction
#7. Access control