Blockchain is one of the hottest technology topics - big banks and thousands of startups are working to implement blockchain thought. Some experts report, that this development is revolutionizing the world not only in the field of money, and in other areas.
Definition of "blockchain"
The word "blockchain" (block chain) usually associated with bitcoin. with his help, for the first time in practice, the creators of this digital currency managed to test the productivity of thought, which is rooted in ideas, which were created by cryptographers in the 1970s. Regardless of whether, that the productivity of bitcoin is estimated, as a payment instrument and a certain type of funds, experts think, that the list of operations, lying at its base, passed the exam.
Storage of information in municipal institutions
Almost all institutions, we deal with every day, trying to "protect data" in their own way. An example is a bank, storing our funds in non-cash form. We trust him with funds, hoping, that he will be able to cope with safe and error-free operations, who trust him. The bank maintains an information base, which he can access. Everytime, when we pay by card, the bank studies the entire process of exchanging information with other institutions - card organizations, clearing agents, etc.. d. The whole scheme is based on limited trust, and information bases (for example, Operation) Closed, protected from outside access. "Data watchdogs" in this scheme enjoy a special position, become monopolists, trusted by customers, or its extraordinary position, which arise from legal requirements (as in the case of registers, which are supported by databases of credit information).
How information is stored in the Blockchain system
Blockchain is a special method of storing data. Unlike "traditional" databases, it has a distributed nature (he is not controlled by one "defense") and ensures the consistency of the information once entered and the mechanism for checking the added data, along with the way of meriting consent, when there are multiple inconsistent records. The mechanism of Blockchain operation can be presented in a lightweight form using the example of Bitcoin.
How Bitcoin-blockchain works?
Bitcoin blockchain is a ledger of transactions, in which the assignment of digital currency units to certain addresses is recorded (user accounts, "Backpack"), their extradition, Translations, which generate new units and fees, which are charged on transfers. The base unit of the register is the so-called block. It contains a set of data about transfers, made since the creation of the previous block. Therefore, it can be imagined, as a "piece" of data. Each block contains a unique tag (hesh). This tag is calculated based on all transactions, which are included in the block, also the marker of the previous block in history. using this, a chain is created - each block refers to its predecessor.
There are distributed nodes in the bitcoin ledger - blockchain users have copies of the database, and new transactions are broadcast on the network, where the individual nodes check if they are correct, and then working on creating the next block. In this way, the double version of the unit of money is visible to other nodes in the network, verifying transactions made.
Impossibility of modifying data in the Blockchain system
Theoretically, it would be possible to double the unit of money by a dishonest user before, how the rest of the nodes in the network will receive information about the previous transaction and update their version of the transaction history. In the blockchain system, this problem was solved by delaying the transaction. Subsequent "pieces" of transaction information are not included in the blockchain in real time, and after a few minutes, required to generate a block. Besides, before, than trying to make an unfair deal, the system is protected by a special mechanism (proof of work). Generating another block requires verification of transactions.
Simply put, node in the network, who wants to create a new block, should do the following:
1. Collect transaction information, which have been made since the creation of the previous block.
2. Send transactions to the network.
3. Verify transactions as required by the Bitcoin scheme protocol.
4. Create so called block hash.
The hash block is the result of a one-way hash function, which has certain properties. The result of this function is a character string of a certain length, seemingly random. Even a small change in one of the function arguments results in a completely different hash. Important, so that the result of the hash function cannot "recover" its arguments otherwise, than by checking different combinations of characters. For that, for the hash to be accepted by other nodes in the bitcoin network, it must meet an important requirement - have the correct number of leading zeros. In practice, this task requires the use of significant computing power and the level of complexity of the task., block generation algorithm periodically adjusts to power, which all nodes have at the same time, so a new block will be generated approximately every 10 minutes. After generating the hash, satisfying its requirements, it sends a new block to the rest of the nodes with a nonce value. Each of the miners can easily check, whether the laborious task was actually completed, by self-enumerating the hash.
Creating blocks in the Blockchain system
Creating the following blocks is a challenge, in which every node in the network competes with each other. Block creation is rewarded by assigning a "miner" to a prize of a certain amount of bitcoins. This mechanism is responsible for the supply of new bitcoins, and the size of the gain decreases over time - every few years it decreases by half. The winning node receives additional proceeds from transaction fees. In this way, this system creates an economic incentive to maintain a general history of transactions and participate in the addition of subsequent parts of transactions.
It is worth noting, that generating a block hash using the hash of the previous block in history makes the blocks form a string, which cannot be easily changed. One can imagine, that a dishonest user would like to change a transaction from the past, for example, to assign bitcoin to another owner. Falsifying history will require more than just creating a new block, which contains a fake transaction, but also changes in subsequent blocks. But even a small change when entering the hashing algorithm causes an unpredictable password change and, Consequently, "Invalidates" block hashes, which are in history. At that time, the "honest" nodes were still working on creating more blocks., the attacker would have to have more processing power, than other nodes.