What are 5 key components of a blockchain system?
If you are interested in Ethereum blockchain development, check out the roadmap I discuss here .
In this post, I'll discuss five fundamental concepts of blockchain that every developer should know if they want to enter the web3 environment. In addition, this series of articles on dev.to will be a complete guide to Ethereum blockchain development, so stay tuned.
Understand some keywords of the article:
- Public Key - It is an encryption key (a long string of hexadecimal digits) that anyone can obtain and use to encrypt messages or transactions intended for a specific A key to decrypt is known only to the recipient (private key).
- Private Key - As mentioned above, a private key is a decryptor or decoder of a message or transaction encrypted by the corresponding public key. The private key must not be shared with anyone for it to be able to conduct transactions from your address.
- Consensus Mechanism - A consensus mechanism refers to any number of methods used to achieve agreement, trust, and security in a decentralized computer network. In blockchains and cryptocurrencies, proof-of-work (PoW) and proof-of-stake (PoS) are the two most common consensus mechanisms by which blockchains synchronize the same data for each node.
1. Anonymity
So, blockchains like Ethereum and Bitcoin are indeed transparent, in other words, for example, the history of each BTC can be traced from the block it was mined to the wallet where it is currently stored. Likewise, it is also possible to track the transaction history of all addresses, since addresses are identified by public keys, and these are visible to everyone.
Despite this, the blockchain somehow remains anonymous:
alias or pseudonym
A pseudonym, meaning a name someone uses instead of his/her real name. The blockchain does the same thing, instead of using your original name like the traditional banking system, the blockchain uses your address (public key) for transactions. For example, your real name could be Mike, but in a blockchain context, you would be identified as
The image above shows how traditional banking systems expose users’ names, addresses, and even contact numbers, while blockchain transactions use aliases that are public keys (wallet addresses) for transactions.
Blockchains are powerful, so simply hiding our names doesn't make us safe in this very vast environment, because with great power comes a greater threat. Watch this 5 minute Youtube video to learn about blockchain anonymity.
2. Decentralization
We often hear the phrase "decentralization is king " these days. So, what does this mean and what is decentralization?
- To understand it clearly, suppose you make a transaction with your friend and your friend receives the transaction. Now here, the transaction happens between you and your friend, but knowledge of the transaction is available to four entities, you, the friend, the banks involed.
The payment process is like this (see the picture below). In this traditional banking system, suppose you send a request to your bank "A" to send $500 to your friend, now the bank needs to authenticate you and your friend, but suppose your friend's account is in the bank" B", then bank.
"A" cannot verify your friend's details because banks do not share customer information (due to competition). Here comes the payment network processors (VISA, MasterCard, etc.) and every bank sells all their customers' data to these companies, who authenticate users on behalf of the bank.
That's why decentralization is king, in decentralized systems like cryptocurrencies (BTC, ETH, DogeCoin, etc.), if a user sends cryptocurrencies to their friends or anyone, only the sender and receiver will know trade. The chart below compares centralized finance (CeFi) and decentralized finance (Defi).
3. Fault tolerance
A decentralized blockchain network looks like this (see diagram below). Several nodes (or blocks) around the world are connected together without the supervision of any central authority. All nodes are connected through a consensus protocol, so each node is synchronized and has the same transaction ledger in the entire blockchain network.
Since the same data exists in all nodes, if one or two nodes are compromised or compromised, the system still cannot fail. These failed nodes are removed from the network and the blockchain continues to operate.
4. Immutability
Immutability is a heavily coined term in the web3 community. A blockchain is an immutable database, you cannot manipulate data that already exists in the blockchain. how come? For that, let's see how the hash code is generated and what the block structure looks like.
Hash Code - A hash code is a long hexadecimal sequence generated by various algorithms such as SHA-1. Just change the letters of your name and the hash code will vary greatly. For example, DEV could hash to " FA489B5C2003 ", however, DAV would become " A8DC567B89E ". Thus, a hacker attempting to manipulate transactions in the blockchain would immediately result in a change in the hash code and the system would indicate a node failure.
Block Structure - Each block in the blockchain consists of two long hash codes. One is the hash of the block itself, and the other is the hash of the previous block (see image below). The hash of the previous block is used to link the two blocks together, similar to a linked list. Now, assuming any hacker changes the transaction details in any one block, its hash code will be completely changed, causing the chain to break from the faulty node.
This is why updating blockchain nodes is so difficult, because if someone tries to update a node, all consecutive nodes should be updated at the same time, so the blockchain is almost immutable.
5. No need for trust
Trustlessness is a quality of decentralization. A blockchain network is called trustless not because you can't trust it, but because you don't have to trust any third party for your transactions. Transactions in the encrypted environment are entirely based on peer-to-peer (P2P) transactions.
Without the participation of centralized institutions (governments, banks, etc.). Therefore, blockchain is known as a trustless environment. While no system can be completely trustless, at some point we have to trust any organization, but in a blockchain, anyone will be a code, not a person.
0 Comments