Introduction to Ethereum blockchain technology network & everything about it
The basic difference between Bitcoin & Ethereum is that Bitcoin isn’t programmable.
At the bottom of the whole stack is the Blockchain. Blockchain 2.0 is Ethereum blockchain or any other Blockchain that allows for smart contracts. Then we have storage like cloud services. Smart contracts live on Blockchain that have decentralized computation. Then we add application level contracts like API’s. A piece of software will be owned by everybody that contributes to this work.
Architecture of Ethereum :
1) Consensus layer :
Users need to agree upon all of the application level contracts.
2) Economic layer :
To incentivise all the nodes to do the computation or storage etc cryptocurrencies are needed.
Services layer :
These are code snippets that actually do things like registry, smart contracts, messaging, oracles, distributed hash tables for storing data.
3) Interoperability layer :
Different applications have different tokens, so to exchange value between all of those token silos, we need to have communication between all cryptocurrencies such that there is only 1 currency to be dealt with. This exchange protocol would transfer value between all of different tokens.
For ex, we have a stack of decentralized API’s that use all of their own token. When we pay the top API with whatever token we want, then it pays all other API in tokens that they require using decentralized exchange protocol. (STELLAR PROTOCOL)
4) Browse layer :
This is how we access all decentralized applications. Normally every normal browser accepts these decentralized protocols natively. So no need to create another,but we have several native browsers like mist, maeistrom, etc.
5) DAPP :
Using all the above technology, we start building DAPPs.
6) IPFS :
We store the data in IPFS (we can’t store everything in blockchain) so that miner can download it. It is a distributed hash table with a content address for all the content that store the hash in the blockchain, which then points to data storage.
In ethereum blockchain we have block, which are linked to each other. Inside each block is a list of transactions which contain programmable information parameters. This will be stored on every miner’s computer.
It uses proof of work algorithm to verify the entire network & inside each of these blocks, they run the computation that runs smart contracts contained in each block.
After successful execution by the whole network, majority agree on the consultation which will be added to blockchain as an immutable construct.
Inside of each block, there is a merkel tree. It points to previous hash of the previous block which uses the number only once with a time stamp and get merkel root (the head node of the tree). Blockchain doesn’t store data in a list format as it causes scalability issues.
Merkel tree hashes large number of data together which relies on splitting into few trees, (We have root directory, file directory, it keeps going). This shows all the hashing is consistent from bottom root to the tree.
In ethereum, we call merkel tree as patricia tree as it is the modified version from the original.
EVM: Ethereum virtual machine calculates elements that run contract logic.
Swarm: The storage layer where we use IPFS.
Whisper: Communication protocol for messaging between the nodes. (IPFS)
Solidity: Smart contract programming language.
Ethereum software languages: GO, eth, pyethapp, geth.
We can download ethereum client just like utorrent application & connect to ethereum network and explore blockchain, smart contract, mine blocks, etc. The client is the gateway into ethereum network.
for more info refer. https://blockchainlearningacademy.com/