What Is Blockchain Technology?
Understanding blockchain as a technical basis for cryptocurrencies begins to understand the entire market, so today we will analyze what blockchain is, how it works and what its development prospects are.
The concept of blockchain
The concept of blockchain Blockchain is a distributed database that stores information about all transactions made by users in the system. Blockchain technology first appeared in the Bitcoin payment network. There is also the term "distributed ledger technology" (or DLT).
The main difference between blockchain and other distributed data storage technologies is encoded in its name: block and chain.
A block contains information. For cryptocurrency blockchains, this information is transaction data. All block information is turned into a line of code that contains information about the previous block.
A chain is a sequence of these very blocks. Each successive block is related to the previous block. Following from block to block it is possible to view all transactions, that is, literally keep track of who the user transferred the asset to and who transferred the asset to the user.
Blockchain has certain unique features. There are rules for adding data, and once the data has been stored, it is almost impossible to change or delete it. This entire sequence of blocks is stored in a distributed network. This means that instead of a single server, there is a network of several nodes and each of these nodes stores a copy of the database.
All copies are constantly synchronized, so even if a hacker gains access to one node and makes changes to the database, at the next synchronization, these changes will be rejected because they do not match the information in the remaining copies.
How are blocks connected?
- How blockchain works
Let's analyze the algorithm for recording a transaction in a blockchain, using the Bitcoin network as an example: A user sends a certain amount of BTC through his wallet to another user. Data about who sent what to whom and how much goes into a blockchain mempool. Mempool is a buffer where transactions that are waiting to be confirmed are stored. When a transaction has "waited" its turn, it is sent to miners - special nodes that have the right to check the information added to the blockchain.
Miners verify that the transaction matches the blockchain rules and then hash the transaction data. Hashing is when all the information is converted into a single string of letters and numbers. This string is formed according to a set of rules called a hashing algorithm (SHA-256 for bitcoin). Hashing is a mapping that joins the blocks together. It consists of taking data of any size and running it through a mathematical function to produce a hash with the same length at all times. The hashes used in blockchain are interesting because the probability that you will find two pieces of data that give exactly the same result is incredibly low. Any slight change in the input data will lead to a completely different result. The hash (string) of a transaction is sent to the block by other transactions. Every 10 minutes, bitcoin miners turn the strings of all block transactions into one common string - the block hash. Once the block hash is found, it is written to the database copy of the miner that created it. At the next synchronization, the other copies will add the block to their local databases and the transaction will be confirmed.
The computations performed by miners require powerful equipment with high power consumption, and this method of transaction validation is called Proof-of-Work.
There is also an alternative algorithm for transaction validation – Proof-of-Stake. In PoS blockchains, the data is added to the database not by miners, but by validators. They do not need to perform complex calculations, but they must deposit a certain amount of cryptocurrency as a pledge to get the right to verify transactions.
- The Byzantine Generals Problem
The Byzantine Generals problem was invented in the 1980s, and it describes a dilemma in which isolated participants must communicate in order to coordinate their actions. The particular dilemma involves a bunch of army generals who have surrounded a city and are deciding whether to attack it. Generals can only exchange messages through a messenger. Each one must choose whether to attack or retreat. It does not matter if they attack or retreat if all generals accept the common decision. If they decide to attack, success will only be achieved if they attack at the same time. So how do we get them to do that?
We need a strategy where consensus can be achieved even if the participants turn out to be malicious or messages are intercepted.
There is no way to maintain the database - it's certainly not a life and death scenario like an attack on a city without reinforcements, but the idea is the same. If there is no one to monitor the blockchain and provide users with the "right" information, then users should be able to communicate among themselves.
To overcome the potential failure of one (or more) users, blockchain mechanisms must be carefully designed to be resilient to such failures. A system that can achieve this is called Byzantine fault tolerant.
Byzantine fault tolerance (BFT) is a feature of a distributed network to achieve consensus even when some nodes in the network fail to respond or respond with incorrect information. The purpose of the BFT mechanism is to protect against system failures by using collective decision-making (both correct and faulty nodes), the goal of which is to reduce the impact of faulty nodes.
What's the peer-to-peer network?
A peer-to-peer (P2P) network is our user level (or generals in our previous example). There is no administrator here, so instead of calling a central server every time a user wants to exchange information with another user, he sends it directly to his peers.
Consider the graph below. On the left A needs to send his message through the server to get it to F. On the right, however, they are connected without an intermediary.
Usually the server stores all the information that users need. If someone leaves the network, the remaining users can still access the blockchain and exchange information with each other.
When a new block is added to the chain, the data is distributed across the network so that everyone can update their copy of the ledger.
What are blockchain nodes?
Nodes are so-called machines connected to the network; they store copies of the blockchain and share information with other machines. Users do not need to manually perform these processes. Typically, all they have to do is download and run the blockchain software, and the rest will be done automatically.
Blockchain nodes can perform many different functions, such as checking or rejecting a block of transactions. A node can also store transaction history within an individual block. Moreover, a node can share transaction history with other nodes to ensure that it is stored securely and can be reconciled later. In cryptocurrency, for example, a simple wallet app on your phone is what is called a lightweight node.
When we talk about blockchain, the first thing we think of is cryptocurrencies, but many private companies use this technology to build corporate solutions. So blockchains are divided into:
Public ones are cryptocurrency blockchains. Public blockchains are decentralized; they have no single center of control or decision-making.
Bitcoin is what is known as a public blockchain. This means that anyone can view transactions on it, and all that is required to participate is an Internet connection and the necessary software.
Such a network works according to a pre-programmed algorithm, and anyone can become part of it by installing a node app and downloading a copy of the database to their device.
The data in the public blockchain is visible to everyone. You can see the transactions on the Ethereum network.
Private are blockchains that are used by private companies or groups of companies. Such a blockchain is centralized and only the owner decides who can become a node, add, store and view data. CBDCs, digital currencies issued by Central Banks, operate on a similar principle.
Who invented blockchain technology?
Blockchain technology was officially formalized in 2009 when Bitcoin was released, which is the first and currently the most popular blockchain. However, its creator, pseudonym Satoshi Nakamoto, was inspired by earlier technologies and proposals.
Blockchain makes extensive use of hash functions and cryptography that existed for decades before the advent of bitcoin. Interestingly, the blockchain structure can be traced back to the early 1990s, although it was only used to temporarily mark documents so that they could not be changed later.
Pros and cons of blockchain technology
Blockchain is ideal for the field of finance and, in particular, for international payments. The process of international transfers, which usually takes a large amount of time, money and parties involved, will, thanks to blockchain, significantly reduce transaction time, costs and the need for a complex information structure.
Thus, the key advantages of public blockchains are:
- Blockchain size
Today, the size of the bitcoin blockchain is about 120 GB and continues to grow. This means that each full node should have enough memory to store all the blockchain data to maintain the network.
The growth of the Ethereum blockchain, the second most capitalized and popular network on the crypto market, is also raising concerns among experts. This network exceeded the current size of the Bitcoin blockchain back in June 2017, when one network user noted that it takes about 180 GB of memory to synchronize a full validation node and more than a week to download an archive of transactions.
- Lack of privacy
There are no names on the blockchain, but that does not mean that the network is completely anonymous. Every user of the network has a wallet address, and everyone in the network can see what transactions have been made from it. If a user ever links this address to a site or service that can identify him or her, such as a cryptocurrency exchange, then anyone in the network can see how much funds a particular person has, what they were spent on, and to whom they were sent.
- Energy consumption
This flaw is primarily common to blockchain networks that support the PoW consensus algorithm. In them, consensus nodes, called miners, are responsible for adding new blocks to the blockchain by solving complex mathematical problems using powerful computer hardware, for which they are rewarded in the network's cryptocurrency. According to a recent study by economist Alex de Fries, bitcoin mining will account for about 0.5% of our planet's total energy consumption by the end of 2018.
- Invalid transactions and mempools
As the popularity of cryptocurrencies grows, so does the number of transactions added for validation, it is not surprising that not all transactions are approved at the same time. As a result, so-called mempools are formed - a set of all transactions waiting to be validated by miners in the network. Transactions are queued up to be added to the block for processing, and their order depends on the commission set by the sender. The higher the commission, the faster the miners will include the entry in the block. As a consequence, commissions are constantly increasing, and transactions with low commissions can wait several hours or even days for confirmation. This makes it much more difficult to use cryptocurrency for small transfers, when the commission can be several times higher than the amount of the transaction.
- Blockchain scalability problem
Today, the blockchain scalability problem is probably the main and most discussed one for the cryptocurrency world. Because all participants must be synchronized, new information cannot be added too quickly because nodes cannot keep up. Therefore, developers tend to deliberately limit the speed of blockchain updates so that the system remains decentralized.This can lead to long waits if too many people are trying to make transactions. Only a certain amount of data can be stored in blocks, and they are not added to the chain instantly. If there are more transactions than can fit in a block, all additional transactions must wait for the next block.
Can I revert blockchain transactions?
Blockchain is inherently a very secure database. Because of its essential properties, it is virtually impossible to delete or change blockchain data once it has been written. Especially when it comes to Bitcoin and other large networks. So when you make a transaction on the blockchain, treat it as forever locked in.
However, there are many different implementations of blockchain, and the most fundamental difference between them lies in how they reach consensus in the network. This means that in some implementations, a fairly small group of participants can gain enough power in the network to successfully cancel transactions. This is especially true for altcoins operating in small networks (with low hash rates due to low miner competition).
A fork is an event in a project that means part of the project is separated into a different project, by copying the source code and modifying it to create another blockchain.
For example, the cryptocurrency Litecoin (LTCUSD) is a "fork" of Bitcoin (BTCUSD) because its developers copied Bitcoin's code, made some changes and launched a new project.
Because bitcoin is open-source software, any user of the network can copy, modify, and make their own rules to work with this code, thereby creating new protocols and chains that are forks and can be "soft" or "hard" .
Since the advent of bitcoin in 2008, this cryptocurrency network has gone through many forks.
With them, developers have tried to solve scaling problems, increase low network bandwidth, change the limited block size, and generally ease the load on the Bitcoin network.
Soft forks are reversible changes to the blockchain protocol that do not prevent nodes in the new network chain from interacting with nodes in the old one. The most famous example of a soft fork is Segregated Witness or SegWit, which network users activated in August 2017 to optimize the blockchain's transaction structure so that transactions take up less space. This soft fork allowed blocks to hold more information without changing the way the Bitcoin network works.
A hard fork creates a new network chain with rules that are incompatible with the old blockchain protocol. In this case, the nodes of the new and old network will not be able to "communicate" because the hard fork involves changes in the consensus mechanism itself. With the help of hard forks, network users are trying to solve the key problems that are noted in the Bitcoin network: the low bandwidth of the network, which allows processing a maximum of seven transactions per second, and the block size, which, according to many, should hold more than 1 MB of information. Also, hard forks allow the creation of new, alternative cryptocurrencies to bitcoin. In this regard, bitcoin-based cryptocurrencies such as Litecoin, Bitcoin XT, Bitcoin Unlimited, Bitcoin Classic, Bitcoin Cash, Bitcoin Gold, Bitcoin Diamond and Super Bitcoin, as well as others, have emerged.
Where blockchain is used
Blockchain is a universal technology that can replace any of the existing databases, but the above features of the structure and operating principles make it an ideal solution for:
1. Payment transactions.
Cryptocurrencies are payment networks, they allow users to transfer digital assets to each other securely, and they are cheaper to maintain than bank transfer systems like SWIFT.
2. Smart Contracts.
Networks such as Ethereum don't just record transaction data, but create a virtual environment for executing complex automated algorithms - smart contracts.
A smart contract involves a sequence of actions. If a user transfers 1 ETH to some wallet, he must be given some amount of USDT (this is how smart contracts of decentralized lending platforms work). All DeFi-platforms are based on smart contracts.
Here you can learn more about Smart Contracts!
Some countries are testing blockchain as the basis for public land registries, real estate registries and other public databases.
4. Proof of ownership and copyrights.
With the advent of non-fungible tokens (NFTs), users have been able to put digital art, collectibles and other unique digital assets on the blockchain along with creator and owner information. This data cannot be faked or altered, so it is more efficient and secure than existing patent and registration systems. Blockchain applications can include a variety of products that require well-functioning digital asset transfer systems, transparent and public data, or decentralized structures. One recent example is GameFi: games that are created as dApps (decentralized applications) and use tokens and NFT in the gameplay.
How to write external data to a blockchain
Blockchain is a closed network, it cannot read data from Internet servers or other sources. Oracle solves this problem.
Oracles are services that allow blockchain-based smart contracts to receive information from external sources.
In other words, oracles provide smart contracts with information that is not stored on the blockchain. This is often real-time data about the price of an asset. Oracles themselves have no data, they are layers that verify the information and send it to the smart contract. The most famous network of Oracles is ChainLink.
Let's take as an example one of the popular DeFi services - a lending platform. On it users can take a loan using cryptocurrency as collateral. Now let's imagine that a user wants to borrow USDT against ETH. The service must comply with a certain collateral coefficient, that is, the loan amount depends directly on the amount of the collateral. How does the platform know what is the exchange rate of USDT to ETH? For this purpose, it appeals to Oracle, which gathers data from several spot exchanges and transmits them to the smart contract of the lender. Based on this rate, the platform calculates how much USDT it can give in exchange for the ETH provided.
Only public blockchains have the problem of adding external information because they cannot change the network freely. Private blockchains can change the format and content of the information they add at will.