CREDITS edited this page Apr 23, 2018 · 1 revision

Blockchain technology

"Blockchain is an everlasting digital distributed journal of economic transactions, which can be programmed to record not only financial transactions, but virtually everything that has value," - Don and Alex Tapscott, authors of the "The Revolution of the Blockchain" (2016 year).

Blockchain, no doubt, is a brilliant invention - the brainchild of a person or a group of people known under the pseudonym of Satoshi Nakamoto. But since then, the blockchain has turned into something more, and now many are interested in the question: what is blockchain?

1 Properties

Blockchain-technology, like the Internet, has built-in stability to errors. While retaining blocks of information that are identical throughout the network, the blockchain can not be: Controlled by someone alone; Does not have a single point of failure. The blockchain-network exists in a state of consensus - it automatically checks itself every ten minutes. A kind of independent audit of the digital ecosystem. The network reconciles each transaction taking place with an interval of ten minutes. Each group of these validation operations is referred to as a "block". This leads to two important properties: Transparency - the data is embedded in the network as a whole and by definition they are public. It can not be destroyed - changing any unit of information in the blockroom requires the use of enormous processing power to replace information throughout the network.

2 Network of nodes

Blockchain is a network of so-called computational "nodes". The node - is a computer connected to the blockchain network using a client that performs the task of checking and transmitting transactions and also receives a copy of the blockchain that is automatically downloaded when the computer is connected to the network. Computers together create a powerful second-level network. Each node is the "administrator" of the blockchain and joins the network voluntarily (in this sense, the network is decentralized).

3 The idea of ​​decentralization

According to the plan, the blockchain is a decentralized technology. Everything that happens in the blockchain is a function of the network as a whole. As a result of creating a new way of verifying transactions, certain aspects of traditional trade may become unnecessary. Transactions in the stock market on the blockchain become almost instantaneous; it can make a completely public record of accounting, for example, a land cadastre. Decentralization is already a reality. The global network of computers uses blockchain technology to jointly manage the database of transactions. So blockchain is managed by his own network and not by any one central body. Decentralization means that the network operates on a "user-to-user" basis (or peer-to-peer/P2P).

4 Blockchain and security

Currently, the most powerful position in the use of blockchain technology is occupied by proposals in the finance market. For example, international money transfers. Blockchain potentially excludes an intermediary for these types of transactions. Personal computers became available to the general public after the invention of the graphical user interface, which took the form of a "desktop". Similarly, the most common graphical interface developed for the blockchain is "Wallets" - applications that people use to buy things for tokens or to store tokens. Online transactions are closely related to the processes of users identification. When blockchain store data across the entire network, it eliminates the risks that are present if the data would be stored centrally. The blockchain network is devoid of centralized points of vulnerability, which could be used by computer hackers. Today, problems with Internet security are familiar to everyone. We all rely on a "username / password" system to protect our identity and online assets, but blockchain safe methods use encryption technology. It is based on public and private keys. The public key (a long series of randomly generated numbers) is the user's address in the blockchain. Tokens sent over the network are registered as belonging to this address. A private key is like a password that gives its owner access to its wallet and tokens or other digital assets. Keep your data in the blockchain and they will be eternal.

5 Encryption in the blockchain

Cryptography is the heart of the blockchain, which ensures the operation of the system. The architecture of the blockchain assumes that the trust between the participants of the network is based on the principles of mathematics and economics, that is formalized. Cryptography also guarantees security, which is based on the transparency and verifiability of all operations. Various cryptographic techniques guarantee the invariability of the blockchain transaction log, resolve the authentication task and control the access to the network and data in the blockchain as a whole.

5.1 Hash functions

Hashing is the process of converting an array of input data of arbitrary length into an output bit string of fixed length. For example, a hash function can take a string with any number of characters (one letter or a whole literary work), and get a string with a strictly defined number of characters (digest) at the output. Hash functions are available in almost any programming language. For example, they are used to implement hash tables and sets (HashMap / HashSet in Java, dict and set in Python, Map, Set and objects in JavaScript, and so on). A separate category of hash functions is cryptographic hash functions. They are subject to much more stringent requirements than to the functions commonly used in hash tables. Therefore, they are used in more "serious" cases, for example, for storing passwords. A good hash function provides protection from collisions (it is impossible to get two identical hashes with different initial data) and has a so-called avalanche effect when the slightest change in input data significantly converts the output value. Hash functions in blockchain guarantee the "irreversibility" of the entire transaction chain. The matter is that each new block of transactions refers to the hash of the previous block in the registry. The hash of the block itself depends on all the transactions in the block, but instead of sequentially passing the hash function transactions, they are collected in one hash value using a binary tree with hashes (the Merkle tree). Thus, hashes are used as a replacement for pointers in conventional data structures: linked lists and binary trees. Due to the use of hashes, the general condition of the blockchain system - all the transactions that have ever been performed and their sequence - can be expressed by a single number: the hash of the newest block. Therefore, the invariance property of a hash of one block guarantees the invariability of the entire block.

5.2 Digital Signatures

Digital signatures in blockchain systems are based on public key cryptography. It uses two keys. The first - a private key - is needed to generate digital signatures and is kept secret. The second - the public key - is used to verify the electronic signature. The public key can really be calculated on the basis of a private key, but the reverse transformation requires an impossible amount of computation in practice comparable to brute force. There are many different public-key cryptography schemes. The two most popular of these are the schemes based on factoring (RSA) and schemes based on elliptical curves. The latter are more popular in blockchain due to the smaller size of the keys and signatures. For example, in bitcoin, the ECDSA elliptical cryptography standard is used, together with the elliptic curve secp256k1. In it, the private key is 32 bytes long, open - 33 bytes, and the signature - about 70 bytes. Since there is no central node in the blockchain, which can authorize arbitrary transactions, the security of the system becomes decentralized, and the probability of successful intervention in the work of the blockchain is reduced almost to zero.

Thus, the blockchain uses digital signatures to authenticate and ensure the integrity of transactions (and sometimes blocks). In the case of cryptocurrency, the authentication process means that only the person to whom it was sent by another, earlier transaction, can spend the money. The peculiarity of the blockchain is that the information about the authentication is "sewing" into each transaction and not separated from the business logic, so the block is considered more secure. In a normal system, you can hack or administratively bypass the authentication mechanism and manipulate the backend, but in the case of a blockchain, this does not work out by definition.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.