In August 2008, Satoshi Nakamoto introduced Bitcoin, the world’s first cryptocurrency. A few months later, in January 2009, Bitcoin went live and has been growing in popularity ever since. However, much of the fame it gained was thanks to Blockchain, a technology that allows Bitcoin to transact securely, privately and in a malware-proof manner without the need for intermediaries.
Blockchain is considered a key disruptive technology for the coming years. In fact, the advantages of this blockchain have increasingly attracted the attention of different researchers, since its applications are not only restricted to financial services, but it is also applicable to other fields such as Smart Contracts (SC), IoT or security services. We can say that, despite its high popularity, the development and research of Blockchain technology is in its infancy and who knows how far it can go.
To better understand how Blockchain works, let’s consider its application in Bitcoin, the cryptocurrency. In this case, Blockchain represents the currency’s ledger. Thus, someone with access to this ledger can check all previous transactions and calculate how much money each user has. This ledger, in turn, is divided into blocks of transactions (blockchain) and as transactions are generated, these blocks are added to the chain. Blockchain’s particularity lies in the way it stores these blocks, as it does so in a distributed manner among the different nodes that make up the network. And although the chain is public, its operation through consensus and encryption algorithms makes these blocks immutable, which makes the network robust against malicious attacks.
Thus, when a certain number of transactions have been completed, a new block will be built. These blocks consist of the following elements: a hash that identifies the previous block in the chain, the new transactions performed, a check digit and the hash that identifies the new block. These elements make the block immutable since, if any user wishes to modify any past value, the hash of that block would change and the reference to the next block would be lost. Once the block is constructed, it would be proposed by a node and the rest of the nodes could verify that the block is correct and add it to the chain if more than half of the nodes accept it. As there is the possibility that several nodes suggest the same block at the same time, it is necessary for them to solve a problem. Specifically, they must find the check digit that makes the hash of the new block start with a given number of zeros. This task, although simple, requires a certain amount of time (Proof of Work, PoW) to solve. Solving this “proof” is what is known as mining blocks, and, in the case of Bitcoin, causes the node that succeeds to receive a reward. In addition, solving this test makes the chain immutable, since for someone to modify any past value it would be necessary to own more than half of the nodes in the network and be able to mine blocks at a faster rate than the rest of the nodes combined.
Although in the previous paragraphs we have considered its application to cryptocurrencies, the good thing about this technology is that in each block can go anything from digital contracts, code or even ML models. Companies that require high reliability and honesty can use Blockchain to attract customers. In addition, because it is a distributed network, it can avoid the single point of failure situation. With these features, the combination of AI and Blockchain technologies can create the path for systems that support multi-device interaction while providing confidentiality, authentication and integrity.
There are three different types of Blockchain technologies:
– Public Blockchain: they work as we have described in the previous paragraphs through public Blockchain protocols that are based on Proof of Work (PoW) consensus algorithms and are available as open source. Anyone can participate in them without permission. Everyone can download the code and start running any of the public nodes on their local device to validate various transactions on the network. This process helps determine the status of the various blocks that are added to the chain. Anyone anywhere in the world can send their transactions through this network, and can expect to see them included in the blockchain if they are valid. In addition, anyone can read the transaction in a public block explorer. All transactions are transparent but anonymous. This process does not involve a large infrastructure cost. For example, Bitcoin, Ethereum, etc, fall into the category of public Blockchain.
– Consortium Blockchain: Consortium or federated Blockchains always operate under the control of a group. Compared to public Blockchains, they do not allow anyone with Internet access to participate in the transaction verification process. They are faster, more scalable and even provide more privacy in transactions. Consortium Blockchains are widely used in the banking sector. In them, the consensus process is under the control of a pre-selected set of nodes. The right to read the entire blockchain can be public or restricted to only pre-selected participants. This type of blockchain reduces data redundancies and associated transaction costs, thus simplifying the document management process. It also helps to get rid of semi-manual compliance mechanisms. For example, EWF (from the energy sector) and R3 (in banking) are Blockchains that fall into the consortium category.
– Private Blockchain: Private Blockchains contain different groups and participants that can easily verify various transactions internally. Here, write permissions are kept centralized within a single organization, while read permissions may be public or restricted to a certain extent. For example, database management and auditing applications are always internal to a single company, so public read may not be necessary at all in certain cases. In some cases, public audit permissions may be desired. Private Blockchains are really valuable for their efficiency and security against fraud within various financial institutions. For example, MONAX, Multichain, etc, are private Blockchains.
The main characteristics of blockchain technology are:
- Decentralization: as blockchain uses what it calls Peer to Peer Network (P2P Network), there is no need for a centralized third party to assist the exchange of information.
- Traceability: it is easy to trace where each piece of information comes from.
- Anonymity: it is possible to ensure that the information is not accessible by third parties through encryption methods.
- Immutability: the structure resulting from the blockchain and its information is very difficult to alter.
The scope of Blockchain applications has increased from virtual currencies to financial applications to the entire social sphere. Based on its applications, Blockchain is delimited to Blockchain 1.0, 2.0 and 3.0.
- Blockchain 1.0 was related to virtual currencies, such as Bitcoin.
- Blockchain 2.0 includes Bitcoin 2.0, Smart Contracts (SC), smart property, decentralized applications (Dapps), decentralized autonomous organizations (DAOs), and decentralized autonomous corporations (DACs). The major contribution of Blockchain 2.0 was the idea of using SC to disrupt traditional currency and payment systems. Recently, the integration of Blockchain technology and SCs has become a popular research topic in problem solving. For example, Ethereum, Codius and Hyperledger have established a programmable contract language and executable infrastructure to implement smart contracts.
- Blockchain 3.0 is described as the application of Blockchain in areas other than currency and finance, such as: government, healthcare, science, culture and the arts. Blockchain 3.0 aims to popularize the technology, and focuses on the regulation and governance of its decentralization in society. Blockchain 3.0 envisions a more advanced form of SC to establish a distributed organizational unit that makes and is subject to its own laws and operates with a high degree of autonomy.
As for the structure of the blockchain, we work with a model that divides it into 6 layers:
– Data Layer: this is the fundamental layer of the blockchain. Within each block is included: title of the block and body of the block. The title is the result of the hash function of the parent block thus connecting the two nodes. In addition, the timestamp of the block is taken into account, i.e. when it was generated. The body of the block contains the encrypted transactions through a Merkle tree, which facilitates the interaction with the database.
– Network layer: provides information exchange mechanisms for each network node, including Peer to Peer (P2P) mechanisms. The peer to peer mechanism means that any computing device in the system can act as a server for the others, allowing access to information without the need for a central server. When a transaction is created, it will be sent to nearby nodes for validation. If the validation process is successful, it will propagate to the next nodes. This allows for an almost total absence of illicit transactions.
– Consensus layer: each node can validate transactions, which means that it is necessary to determine who can insert a new block. This is done through a democratic and efficient consensus. This mining process consumes a lot of computational power, but provides a lot of security. The choice of consensus method depends on the network conditions.
– Incentive Layers: in this layer the protocols for assigning incentives are defined. These are provided each time a new block is mined.
– Contracts Layer: in this layer the Smart Contracts that control the operation of the Blockchain are executed. They are executed automatically, which allows them to be managed by the network without external intervention.
– Application Layer: connects the user with the blockchain.
Pingback:Decentralization and blockchain applications - GREEN