S1E2 - Introduction to Ethereum
Summary from S1E1
All Block Chain based decentralized system inherits few default properties. These properties are integral part of any such system.
Properties of a Block Chain System
• Build on P2P architecture
• DLT (Distributed Ledger Technology) for consistent data over all nodes
• Cryptography and Consensus Mechanism for data validation and security
• Transaction immutability
Let’s Deep Dive in each point in detail.
Peer 2 Peer Architecture:
As Mentioned in my last blog S1E1, we had started with Centralized system which has single point of failure typically client server based architecture and with due in efficiencies in this architecture it does not make sense to run some system on such architecture.
Peer 2 Peer architecture has its own advantage in some use cases where we have high level of trust deficit among the parties, needs data security at highest level, we are ok to compromised on transaction speed. Here all node are equal in network and hold the same copy of data which is also known as distributed ledger.
We had discussed two block chain networks in our previous blog Bitcoin and Ethereum. Bitcoin block chain allows only Bitcoin to represent as value in bitcoin network. But General Block Chain system Like Ethereum allows any asset to be managed on its Block Chain as long as it can be digitally represented.
Example: like Everledger Block Chain is managing Diamond as an asset over a block chain network as mentioned in below video.
To decide whether your use case is best fit for a Block Chain based solution kindly refer mentioned blog.
Do my Idea needs BlockChain :?
DLT (Distributed Ledger Technology):
This is a global record keeping ledger which is distributed across all the nodes of the particular blockchain network. State of this ledger is changed as well update the copy to each node, once transaction is verified using the Consensus mechanism of blockchain. Transaction data is added as block into blockchain once a transaction is successfully verified by the network nodes.
Cryptography and Consensus Mechanism:
All data in each block is crypto graphically secured using cryptography hash functional and goes through a consensus mechanism for verification process. Whole process is mentioned in below video illustration.
There are different kind of consensus mechanism, but here we will discuss the one used in ethereum block chain.
Which are Proof-of-work (PoW), Proof-of-Stake (PoS) and Proof-of-Authority (PoA).
Proof-of-work (PoW) and Proof-of-Stake (PoS) is explained in below video illustration
Note: Kindly refer If you want to understand 51% attack
Proof-of-Authority is a newer concept in the blockchain world where you have a number of pre-approved authority nodes (called sealers, think of these as mining nodes). Any new node that you want to add has to be voted on by the currently approved set of authority nodes, this gives you full control over which nodes can seal blocks (mine) on your network. To make sure a malicious signer cannot do too much harm to the network any signer can sign at most one of a number of consecutive blocks (floor (SIGNER_COUNT / 2) + 1). The same consensus is applied when an authority node is removed from the network. Proof-of-Authority is a near perfect fit for private networks but not at all suited for public networks where the trust should be as distributed as possible.
Now let us see how blockchain attains immutability. If a miner tries to change a transaction from history, he will have to re-mine all the blocks from that block till the current block and this will have to be reflected in every copy of the ledger in the network. Miners will have to rebuild the merkle tree of the block in which the transaction is present and redo all the proof of work for that block.
Now, since the next block stores the hash of this block, the next block will also have to be re-mined. This is because the next block will have to be edited with the new “previous block hash”. This change will result in a different block hash. The new block hash might result in a hash that does not match the set difficulty level. Thus, this block will also have to be re-mined.
The same process will have to be propagated to the latest block in the chain. While this miner is busy remaining old blocks, there will be new blocks getting added to the chain. Thus to edit a historical record, the miner will have to re mine the old blocks and keep up with the pace of newly generated blocks too. This is extremely difficult, close to impossible. The computing power required to achieve this is enormous and probably only theoretical.
History of Ethereum:
Ethereum was initially described in a white paper by Vitalik Buterin, a programmer involved with Bitcoin Magazine, in late 2013. Buterin had proposed that Bitcoin needed a scripting language for application development. Failing to gain agreement, he proposed development of a new platform Ethereum with a more general scripting language.
Development was funded by an online crowd sale that took place between July and August 2014. The system went live on 30 July 2015, with 11.9 million coins pre-mined for the crowd sale.
|Version Code||Name||Release date|
|1||Frontier||30 July 2015|
|2||Homestead||14 March 2016|
|3||Metropolis (Byzantium)||16 October 2017|
|3.5||Metropolis (Constantinople)||Future release|
It’s Permission less Public Blockchain network. From computing prospect ethereum network provides distributed data storage as well computing resources on the Node which can also execute piece of code (also referred as Smart Contract) deployed by participants on the network.
Comparison between Bitcoin and Ethereum Networks
• Both has Value token
• Block time or you can say transaction per second is faster in ethereum network
• Bitcoin Block size is fix to 1 MB but ethereum block size varies and average block size is 2 KB
• Bitcoin network does support scripting but not in full scale.
Smart Contract is the Key differentiator between both networks. Let’s check in detail what about it.
We will see smart contract in more action in later sessions.
How I can interact with Ethereum Network?
We can download and deploy ethereum node software on local machine, we can use dApp or wallets which will connect to ethereum public network via local node.
Wallets are used to manage ether and smart contract, we can deploy and execute contracts from wallets or we can use our own distributed app (.i.e. dApp) to invoke the contract instance on the network via Local node.
Any transaction occurs over the network will cost transaction fee in the form of Ether which is the native token for the ethereum network.
Ether can be obtained either buying from an exchange, using mining operation or via ether faucets.
I will discuss more on Decentralized app and Smart Contract in upcoming serise.
Upvote, follow @devrajsinghrawat and Drop your comments to make the blog more informative and interactive!
Previous Chapters S1E1