We continue the series of articles where we tell readers about blockchain technology, the prospects for its use, and the potential that this technology has for changing not only the financial system but many other social spheres of people’s life.
In the first part of a series of articles about blockchain, we told about the history of the emergence of blockchain technology, the prospects for its use, considered the technical contradictions of the Internet as a decentralized system, which predetermined the need for a new technology for decentralized data storage — blockchain.
Today we will consider the technical features of the functioning of this technology, analyze key aspects of encryption in the blockchain, get acquainted with the types of cryptographic encryption.
How does encryption work in the blockchain?
Let’s get back to what a blockchain is. Blockchain is a distributed data storage system where information is stored in the form of a continuous sequential chain of blocks. A block in the blockchain system consists of an array of transaction data. The block is generated for a certain period of time, which is individual for each cryptocurrency.
Each block contains information about its own block and the previous one, a timestamp, and transaction data. Copies of the database are stored on many network nodes. Nodes are all participants connected to the network.
So that the data in the block cannot be changed or deleted by attackers, it is encrypted using a hash function, which is the result of an encryption process called hashing.
In the process of hashing, information is converted into a string of a certain length, into an unreadable form for outsiders, which cannot be deciphered without knowing the inverse hash function.
A simple example of data encryption is the permutation or replacement of symbols in the source information, writing the text backward. Cryptocurrencies use more complex cryptographic encryption methods that cannot be decrypted by well-known methods.
For example, Bitcoin uses the SHA-256 (Secure Hash Algorithm) encryption, which was developed by the US National Security Agency (NSA) in 2001. The Ethereum cryptocurrency uses its own unique developed encryption algorithm — Ethash (Dagger Hashimoto), Litecoin and some other popular cryptocurrencies work on another common encryption algorithm — Scrypt.
As a result of the hashing process, after the conversion of the source data by the hash function, a hash sum is formed.
The hash sum is the encrypted initial data. The hash sum always has a specified and unchangeable number of characters. For cryptocurrencies, the hash sum length is usually 64 characters or 32 bits.
The blocks are connected in the blockchain through the hash sum. The hash sum contains encrypted information about the current and previous blocks.
When a transaction record enters the blockchain, it cannot be changed or deleted. Modification of any information in the block will change its hash sum. Therefore, to make changes to one of the blocks in the chain, it is necessary to make changes to all the other blocks. But, since the blockchain is stored on the devices of all participants connected to the network, to make changes to one of the blocks, it is necessary to make changes on the computers of all network participants.
To add a block to the blockchain, miners solve complex mathematical tasks by hashing block headers so that it is less than or equal to a 256-bit sequence.
The hash of the block header is a 256-bit digit-letter sequence. This sequence has to start with zeros.
The number of zeros added to the beginning of the hash of the block header to simplify the creation of the hash sum of the block is called Nonce. The number of zeros at the beginning of the hash of the block header changes each time with a shift in the complexity of mining.
As we have already found out, for a block to get into the chain, it must contain four units of information:
- header block (ID code, aka hash);
- timestamp (hash number from the previous block according to the chronology);
- the list of transactions “packed” in the block;
- a public key that identifies the parties to the transaction (the sender and the recipient).
To carry out transactions in the blockchain, a pair of keys are required: private and public. This key pair is generated automatically, for example, when a user creates a wallet for storing crypto assets.
The private (secret) key cannot be changed and is used to encrypt and decrypt data. In the field of cryptocurrencies, private keys are used to protect users’ assets. A private key confirms the owner’s right to the assets.
When a network participant makes a transaction to another address, the system automatically signs his transaction with a private key (without actually disclosing it), thereby confirming to the entire system that this user has the right to own these assets.
In case of loss or access to the private key by third parties, the user will not be able to access his cryptocurrency wallet. Therefore, it is always necessary to make a backup copy of the private key.
The public key is used only for data encryption. This key is known to everyone and represents the wallet address for conducting transactions by users. After another user has sent a transaction to your wallet address (public key), you need to decrypt the transaction using your private key, confirming that you have access to your assets.
You can draw an analogy that the public key is your bank account, the address of which you send to other users to transfer funds to your account.
The private key is the unique digital signature that you use to confirm the transfer and withdraw funds from your account.
Types of cryptographic encryption
There are two main types of encryption in cryptography: asymmetric and symmetric.
In symmetric encryption, the same key is used for both encryption and decryption.
In asymmetric encryption, two different keys are used for encryption and decryption. Each user of an asymmetric cryptosystem has both a public and a private key.
Data encrypted with a public key can only be decrypted with the corresponding private key.
Symmetric encryption methods are usually very fast and are ideal for encrypting large amounts of data, but they are less reliable since the same key is used to send and confirm transactions.
Asymmetric algorithms are much more complex and reliable, so they allow you to safely carry out transactions in cryptocurrencies.
The QRAX cryptocurrency uses a unique asymmetric encryption algorithm Falcon512, which provides not only the security and anonymity of transactions of QRAX network participants but is a reliable means of protection against quantum computers.
The Falcon512 encryption algorithm provides secure and reliable automated management of cryptographic keys of users in the QRAX network, ensuring the confidentiality and anonymity of network participants.