Programming Blah

Blockchain - Part 3, Security and Applications

2020-07-01tutorialhow-toblockchainbitcoin

In my previous article we read about how blockchain works. In this article we will read about blockchain security and it applications.

Blockchain Security


Blockchain systems are not free from vulnerabilities. Most of the attack on blockchain are network level. In this section we will read about the common attacks on blockchain networks.

Denial of Service Attack :- This type of attack floods the system with large number of spam request in order to overwhelm the system and disrupts the system for legitimate users. In blockchain, An attacker can create a large number of spam transaction. If the network is not able to identify these span transaction, it will be added to the blockchain and it will be there forever taking storage space. This huge number of spam transaction can also delay legitimate transaction introduced in the network.

Eclipse Attack :- This type of attack targets a single node in the system by controlling all of its peer connections. A successful attack can restrict the node from seeing the correct version of the ledger which can be used to make a user believe that his transaction is complete and is registered in the blockchain.

Sybil Attack :- It is a network level attack, where an attacker creates multiple fake nodes in the network. A successful sybil attack in the blockchain network can refuse to propagate blocks, effectively blocking other users. In large scale sybil attack, an attacker can perform a 51% attack where it controls the whole blockchain network, which can lead to double spending.

51% Attack :- It refers to attack where a miner or group of miners have more than 50% of networks mining power. Attacker can gain control of blockchain and decide which blocks gets added to the blockchain. This can stop the transaction from taking place or even reverse the transaction leading to double spending.

Types of Blockchain


Public Blockchain :- Public blockchain are open, transparent and permission-less. Anybody with an internet connection can join and participate in the blockchain. It is truly decentralized, i.e no single entity is in control of the blockchain. Bitcoin is one of the most popular example of public blockchain.

Private Blockchain :- These are permission blockchain that operates in a closed network where only selected members can join. Particpiants of this type of blockchain are usually organizations and enterprizes. Hyperledger projects (Fabric, Sawtooth) and Corda are some of the examples of private blockchain.

Hybrid Blockchain :- Hybrid blockchain are combination of both public and private blockchain. It has features of both blockchains. In such systems, some part of the data in the blockchain is made public and other private. A transaction in private part of the blockchain is verified by the private network, whereas data can be moved to public part to be verified by public network.


Blockchain Applications


Apart from cryptocurrency, blockchain can be have other applications. Following are some of the applications of blockchain.

Government :- The open nature of blockchain can help in building trust with the citizens. Blockchain brings transparency allowing participating parties to see and verify data. For example, some countries are experimenting with blockchain based based land registry enabling all parties involved to hold copies of registry. This could prevent property disputes. Blockchain can also help government reduce cost and improve efficiency.

Digital Media :- Digital media suffers from ownership rights and royalty distribution. Blockchain can prevent this problem by maintaining an open database of digital media rights and ownerships as well as transparent payments of royalties to artists.

Business :- A private blockchain can be used in business, where participators can be benefited with transparency of blockchain. Businesses can rely on blockchain for agreements and contracts between them.

References

Programming Blah

Anshul Srivastava, A full-stack engineer/fitness freak, with a passion for programming and problem solving. Loves to blah about technology and sharing knowledge and ideas … giving back to community one article at a time.