Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
"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?
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
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.