Blockchain technology is an integration of three leading technologies: peer to peer network, cryptography, and distributed ledger. Each plays a crucial role in ensuring the blockchain systems are complete.
The peer to peer network creates a decentralized network where members can create new transactions. Each computer is interconnected with the other via an open code that is transmitted throughout the network by the internet. The distributed ledger serves as an accounting method to take record of all transactions made in the network and distribute it to all nodes.
Cryptography offers members a way of adding a digital signature to their transactions. The two main types of keys used in cryptography in blockchains are public keys and private keys. The public key is more like the username or account name used to identify a node in the network. It can be seen by all members of the network. The private key is a password or passcode that a member of the system uses to access their account and verify their identity to be able to make transactions between their nodes. The private key and public key combine to form every node unique digital signature.
Blockchain technology serves four major roles: decision making, data storage, data distribution and data protection. Below is an exploration of how the technology accomplishes these roles.
Data is stored in structures referred to as blocks. A block contains all the relevant information about a given transaction. Blocks are the linked to each other to form a blockchain. Each new block is linked to a previous block, and the new block will be linked to the next block. Due to this link between the previous block’s fingerprints to the new block’s fingerprint, meddling with content in one block will affect the last block and the next block. This mechanism makes data stored in blockchains immutable as any changes made on one block will affect all the other blocks.
Data in a blockchain technology is distributed via a peer to peer network. In a peer to peer network, information is distributed throughout the network without a central server. In the traditional computing model that uses a client-server logarithm, all information is stored in the server, and for the client node to access it, it has to request for it.
Unlike the client-server model, in a peer to peer network 100% data is stored in each node. The data in node A is the same data in node B. Although this model may be considered less efficient as corresponding information is replicated for all nodes, this nature is accredited to the efficiency of the system as a decentralized system. This way, nodes can make transactions on the network or create new data records without needing a third party to authorize. This makes transactions faster to complete.
One of the major challenges of a permission-less blockchain technology such as the one implemented in cryptocurrencies is that it can be exposed to fraudsters. To prevent such invasion, the system is set up to be self-protecting.
Blockchain technology utilizes cryptography to authenticate and verify members of the network. The system is also set up to make it difficult for fraudsters to add new blocks. During mining, which is the process of making records of transactions in the blockchain, a computational difficulty is created in the system to make the generation of new blocks difficult. The miner block engages in trial and error to determine proof of work for each block. The probability of finding proof of work is usually low. However, when it is successful determined, a block creation is said to have been verified and is added to the blockchain.
Another way of ensuring data protection in the system is through hashing. Hashing is a process in which a header is attached to the block. A header is unique data, either numbers or alphabets or both, that are added to a blockchain to give it unique identity as a measure of ensuring each block’s authenticity. This process is carried out during the mining procedure by the computers.
Since in public blockchain systems anyone can join the platform, there needs to have a way to validate new transactions being written into the ledger before they can be broadcast to the entire network. Different blockchain systems apply different validation algorithms.
There are four main consensus algorithms that can be applied in a blockchain;
- Proof-of-work algorithm (PoW). Proof of work does not require all members of the network to submit their decisions for consideration to reach a consensus. Instead, hashing is applied to determine conditions under which a member is allowed to broadcast their decision. Each node in the system independently verifies the decision reached by one node. This model is common in public blockchain systems and has been implemented in cryptocurrency systems such as bitcoins.
- Practical Byzantine fault tolerance algorithm (PBFT). This approach works by considering all decisions of all nodes to be able to reach a consensus.
- Proof-of-stake algorithm (PoS). In this approach, only individuals with a proven high stake in the system are allowed to make decisions. Instead of hashing newly written data, it requires members to produce a digital signature that proves their stake in the network.
- Delegated proof-of-stake algorithm (DPoS). The algorithm works similarly to proof at stake. However, in this case, members select a few members to represent their stake in the system. The challenge with this approach is that it centralizes the system by giving only a few members the privilege for decision making.
Role of nodes in blockchain technology
A node is each computer connected to the peer to peer network in a blockchain platform. The node serves a variety of purposes including connecting to the entire network, validating transactions, auditing new transaction records and displaying valid transactions that have been presented in the network.
Different blockchain systems are created to function uniquely to be able to meet the purpose of that system effectively. The above exploration of how blockchain technology works is related mainly to bitcoins and cryptocurrencies. Blockchain systems created to work in other industries may have some variance in how they operate.