I am starting a series on Defi engineering. This will be an introduction to blockchain engineering.
Before we start diging down into DeFi Engineering We need to lay a conceptual and practical understanding of the blockchain.
THE BLOCKCHAIN TECHNOLOGY
A blockchain is essentially a distributed database of records or public ledger of all transactions or digital events that have been executed and shared among participating parties. Each transaction in the public ledger is verified by the consensus of a majority of the participants in the system. And, once entered, information can never be erased. The blockchain contains a certain and verifiable record of every single transaction ever made. Bitcoin, the decentralized peertopeer digital currency, is the most popular example that uses blockchain technology. The digital currency bitcoin itself is highly controversial but the underlying blockchain technology has worked flawlessly and found a wide range of applications in both the financial and nonfinancial world. The main hypothesis is that the blockchain establishes a system of creating a distributed consensus in the digital online world. This allows participating entities to know for certain that a digital event happened by creating an irrefutable record in a public ledger. It opens the door for developing a democratic open and scalable digital economy from a centralized one. There are tremendous opportunities in this disruptive technology and revolution in this space has just begun. This white paper describes blockchain technology and some compelling specific applications in both the financial and nonfinancial sectors. We then look at the challenges ahead and business opportunities in this fundamental technology that is all set to revolutionize our digital world.
Blockchain Technology: How does it work?
We explain the concept of the blockchain by explaining how Bitcoin works since it is intrinsically linked to Bitcoin. However, blockchain technology is applicable to any digital asset transaction exchanged on-line.
The figure above is trying to show how Internet commerce is exclusively tied to the financial institutions serving as the trusted third party who process and mediate any electronic transaction. The role of the trusted third party is to validate, safeguard and preserve transactions. A certain percentage of fraud is unavoidable in online transactions and that needs mediation by financial transactions. This results in high transaction costs. Bitcoin uses cryptographic proof instead of the trust in the third party for two willing parties to execute an online transaction over the Internet. Each transaction is protected through a digital signature. Each transaction is sent to the “public key” of the receiver digitally signed using the “private key” of the sender. In order to spend money, the owner of the cryptocurrency needs to prove the ownership of the “private key”. The entity receiving the digital currency verifies the digital signature –thus ownership of corresponding “private key” — on the transaction using the “public key” of the sender. Each transaction is broadcast to every node in the Bitcoin network and is then recorded in a public ledger after verification. Every single transaction needs to be verified for validity before it is recorded in the public ledger. The verifying node needs to ensure two things before recording any transaction:
- Spender owns the cryptocurrency — digital signature verification on the transaction.
- Spender has sufficient cryptocurrency in his/her account: checking every transaction against spender’s account (“public key”) in the ledger to make sure that he/she has sufficient balance in his/her account.
However, there is a question of maintaining the order of these transactions that are broadcast to every other node in the Bitcoin peer-to-peer network. The transactions do not come in order in which they are generated and hence there is a need for a system to make sure that double-spending of the cryptocurrency does not occur. Considering that the transactions are passed node by node through the Bitcoin network, there is no guarantee that orders in which they are received at a node are the same order in which these transactions were generated.
This means that there is a need to develop a mechanism so that the entire Bitcoin network can agree regarding the order of transactions, which is a daunting task in a distributed system.