Ready to Start Your Career?
October 28, 2019
Blockchain (Reshaping the Future of Technology)
October 28, 2019
Nowadays, blockchain can be seen as an innovative protocol that reshapes the future of technology. This article is about the description of this protocol as what are the issues in current technology, how blockchain removes these limitations along with various applications and challenges of it.
Current Technology IssuesWe take an example of a financial institution like a bank, as shown below, which is used for transferring money among various users. These systems have various limitations as:
- Need Trusted Third Party for verifying transactions or data
- Centralized Server as single point of failure
- High transaction Fee
- High transaction confirmation time
- Privacy issues
- Identity Theft
- Double Spending (explained at below figure)
Blockchain Technology as SolutionMake decentralized, distributed database or ledger over nodes.
- Problem: Identity
- Solution: Banks used to do the verification and assign an identity to the account number. In India, we use KYC forms.
- Who would do identity management at blockchain? Cryptographic Primitives-Public key: Known to all, Secret key: known to none. If I make Public key as identity. Nobody would know my real identity. This provides Anonymity.Problem: Authorization
- Solution: How do Banks do it? They provide you with some secret keys like Password, PIN, OTP, which you can use to verify your identity.
- Blockchain uses a Digital signature for this. Problem: Integrity
- Solution: In a blockchain, document integrity is provided by the hashing algorithms due to their advantageous features as: If I have a document “m,” and I publish its hash “H(m).” Then:
- I cannot change the document later.
- I cannot have two documents with the same hash.
- I cannot verify a document with an incorrect hash.
- Solution: Allow any node to write it and verify it by the majority. Problem: Sybil attack ( Where one node have more than one identities)
- Solution: Ask them to show proof of some limited resources such as computation power(POW), hard disk space, assets as money(POS), human activity (POH), which cannot be faked. This process is called mining and the nodes which do this process called miners. Example: Proof of Work
- How to implement it?
- Ask them to solve some challenging problems as Find a hash of number, such that it has a certain amount of leading zeros.
- Ask every node to collect the transactions to verify them.
- Consolidate them into a block and then guess a random number such that hash of the block has certain leading zeros.
- Then the successful node propagates the block to every other node, and they, too, verify it by the majority.
- Once verified, they add it to their ledger.
- The integrity of each block is ensured.
- Solution: A Chain of blocks Problem: How to organize them?
- Solution: Include hash of the previous block Problem: Forking a Chain of blocks (Gossip Protocol). It means we have multiple temporary blockchains that exist before block confirmation.
- Solution: Longest chain
Up till Now what we know?We have nodes with their own bank (ledger).When a transaction occurs:
Ultimately Blockchain is:
- A decentralized, distributed, shared, and immutable database ledger.
- It stores any data across a peer-to-peer (P2P) network.
- Chained blocks of data.
- Cryptographic proof for data authentication and integrity.
- A majority consensus of miner nodes for verifying and validating transactions.
- Provide Anonymity.
Building Blocks of Blockchain:The genesis block is the first block of the blockchain. Every blockchain block contains various parameters as timestamp, data, previous hash, current hash, nonce, merkle root hash, state, etc. These parameters can vary among various blockchain platforms.
Procedure of Blockchain
Applications of BlockchainToday almost, every area has a blockchain application. One of the most important is cryptocurrency as bitcoin, litecoin, etc. This era is also known as blockchain 1.0. Blockchain 2.0 came with the advent of the ethereum blockchain platform. Ethereum is known to be for its Turing completeness and smart contracts. Any application can be built on it. But it also has several issues. Blockchain 3.0 is the era of decentralized gaming and decentralized internet etc.
Some Challenges of Blockchain
- 51% Attack (What if a node have more than 50% hashing power)
- Consensus Algorithms (For Reducing Complexity)
- Privacy of Transactions
- Scalability Issues
- Transaction Cost
- Forking a Blockchain