What is Ethereum Blockchain and how it works and what it can be used for?
Ethereum is an open-source and public blockchain-based distributed application platform. It is an open-source project built by many people around the world. But unlike the Bitcoin protocol, Ethereum was designed to be adaptable and flexible. It is easy to create new applications on the Ethereum platform.
Ethereum enables developers to build and deploy decentralized applications.
It is used to build and deploy smart contracts functionality.
It offers Ethereum Virtual Machine. At the heart of it is the Ethereum Virtual Machine (“EVM”), which can execute code of arbitrary algorithmic complexity. In computer science terms, Ethereum is “Turing complete”. Developers can create applications that run on the EVM using friendly programming languages modelled on existing languages like JavaScript and Python.
Like any blockchain, Ethereum also includes a peer-to-peer network protocol. The Ethereum blockchain database is maintained and updated by many nodes connected to the network. Each and every node of the network runs the EVM and executes the same instructions.
Ethereum was initiated by Vitalik Buterin in Late 2013.
Ethereum’s live Blockchain was launched on 30 July 2015.
How is Ethereum different from Bitcoin?
Like Bitcoin, Ethereum is a distributed public blockchain network. Although there are some significant technical differences between the two, the most important distinction to note is that Bitcoin and Ethereum differ substantially in purpose and capability. Bitcoin offers one particular application of blockchain technology, a peer to peer electronic cash system that enables online Bitcoin payments. While the Bitcoin blockchain is used to track ownership of digital currency (bitcoins), the Ethereum blockchain focuses on running the programming code of any decentralized application.
In the Ethereum blockchain, instead of mining for bitcoin, miners work to earn Ether, a type of crypto token that fuels the network.
Beyond a tradeable cryptocurrency, Ether is also used by application developers to pay for transaction fees and services on the Ethereum network.
How does Ethereum work?
Ethereum incorporates many features and technologies that will be familiar to users of Bitcoin, while also introducing many modifications and innovations of its own.
Whereas the Bitcoin blockchain was purely a list of transactions, Ethereum’s basic unit is the account. The Ethereum blockchain tracks the state of every account, and all state transitions on the Ethereum blockchain are transfers of value and information between accounts.
There are two types of accounts:
Externally Owned Accounts (EOAs), which are controlled by private keys
Contract Accounts, which are controlled by their contract code and can only be “activated” by an EOA
The basic difference between these is that human users control EOAs – because they can control the private keys which give control over an EOA. Contract accounts, on the other hand, are governed by their internal code. If they are “controlled” by a human user, it is because they are programmed to be controlled by an EOA with a certain address, which is in turn controlled by whoever holds the private keys that control that EOA. The popular term “smart contracts” refers to code in a Contract.
Account – programs that execute when a transaction is sent to that account. Users can create new contracts by deploying code to the blockchain.
Like in Bitcoin, users must pay small transaction fees to the network. This protects the Ethereum blockchain from frivolous or malicious computational tasks, like DDoS attacks or infinite loops. The sender of a transaction must pay for each step of the “program” they activated, including computation and memory storage. These fees are paid in amounts of Ethereum’s native value-token, ether.
These transaction fees are collected by the nodes that validate the network. These “miners” are nodes in the Ethereum network that receive, propagate, verify, and execute transactions. The miners then group the transactions – which include many updates to the “state” of accounts in the Ethereum blockchain – into what are called “blocks”, and miners then compete with one another for their block to be the next one to be added to the blockchain. Miners are rewarded with ether for each successful block they mine. This provides the economic incentive for people to dedicate hardware and electricity to the Ethereum network.
Just as in the Bitcoin network, miners are tasked with solving a complex mathematical problem in order to successfully “mine” a block. This is known as a “Proof of Work”. Any computational problem that requires orders of magnitude more resources to solve algorithmically than it takes to verify the solution is a good candidate for proof of work.
What is a smart contract?
A smart contract is a term used to describe computer program code that is capable to facilitate the exchange of money, content, property, shares, or anything of value.
When running on the blockchain a smart contract becomes like a self-operating computer program that automatically executes when specific conditions are met. Because smart contracts run on the blockchain, they run exactly as programmed without any possibility of censorship, downtime, fraud or third-party interference.
The entire process is automated can act as a compliment, or substitute, for legal contracts, where the terms of the smart contract are recorded in a computer language as a set of instructions.
Smart contracts, often created by computer programmers through the help of smart contract development tools, are entirely digital and written using programming code languages such as C++, Go, Python, Java.
This code defines the rules and consequences in the same way that a traditional legal document would, stating the obligations, benefits and penalties which may be due to either party in various different circumstances. This code can then be automatically executed by a distributed ledger system.
The Ethereum Virtual Machine
Like any other blockchain, Ethereum needs several thousand people running software on their computers to power the network. At its core, Ethereum is a programmable blockchain. Users can create any sort of applications they want, only one of which is a currency (such as the Ether).
Every node (computer) in the network runs something called the Ethereum Virtual Machine (EVM). Think of EVM as an operating system that understands and executes the software written in the Ethereum specific programming language. The software/apps executed by the EVM are called ‘smart contracts.’
The EVM is part of the Ethereum Protocol and plays a crucial role in the consensus engine of the Ethereum system. It allows anyone to execute arbitrary code in a trust-less environment in which the outcome of execution can be guaranteed and is fully deterministic.
The Ethereum Virtual Machine makes the process of creating blockchain applications much easier and efficient than ever before. Instead of having to build an entirely original blockchain for each new application, Ethereum enables the development of potentially thousands of different applications all on one platform.
What can Ethereum be used for?
Ethereum enables developers to build and deploy decentralized applications (Dapps) using blockchain technology. A decentralized application or Dapp serve some particular purpose to its users. Bitcoin, for example, is a Dapp that provides its users with a peer to peer electronic cash system that enables online Bitcoin payments. Because decentralized applications are made up of code that runs on a blockchain network, they are not controlled by any individual or central entity. a Dapp is a tool for people and organizations on different sides of an interaction use to come together without any centralized intermediary.
Early examples of Dapps include BitTorrent for file sharing and Bitcoin for currency. Ethereum takes the primary developments used by BitTorrent and Bitcoin, the peer to peer network and the blockchain, and generalizes them in order to allow developers to use these technologies for any purpose.
The Ethereum blockchain can be alternately described as a blockchain with a built-in programming language, or as a consensus-based globally executed virtual machine. The part of the protocol that actually handles internal state and computation is referred to as the Ethereum Virtual Machine (EVM). From a practical standpoint, the EVM can be thought of as a large decentralized computer containing millions of objects, called “accounts”, which have the ability to maintain an internal database, execute code and talk to each other.
Any services that are centralized can be decentralized using Ethereum. Think about all the intermediary services that exist across hundreds of different industries. From obvious services like loans provided by banks to intermediary services rarely thought about by most people like title registries, voting systems, regulatory compliance and much more.
DAO
Ethereum can also be used to build Decentralized Autonomous Organizations (DAO).
DAO also is known as Decentralized Autonomous Organization or Decentralized Democratic Organization Running on Blockchain. DAO’s are run by programming code, on a collection of smart contracts written on the Ethereum blockchain. The code is designed to replace the rules and structure of a traditional organization, eliminating the need for people and centralized control. A DAO is owned by everyone who purchases tokens, but instead of each token equating to equity shares & ownership, tokens act as contributions that give people voting rights. Shares can be bought or sold in an open market like the stock exchange.
Everything in DAO exists in memory and the rules are written in the programming language. They can behave like a private limited or a public limited company if rules are created properly.
Example of DAO’s
The DAO HUB
DigixDAO
MakerDAO
Organization Structure of DAO
Normal Organization Structure has the shareholders who represent the ownership of the organization in the certain percentage then there is a Board of Directors appointed by Shareholders who control the major decision of the organization and there is CEO appointed by Board of Directors who is responsible for the day to day decisions and management. The rules, regulation and compliances of the typical organization are followed by Bylaws or Memorandum of Article, Article of Association.
DAO’s is Digital version of the above structure and they are executed by thousands of computers/P2P nodes on the blockchain technology. Each action or vote is represented by some form of transaction in the Blockchain. Every action or vote originate from an address.
Each node/member will have the rights to submit the proposal to make certain decisions. These decisions can be: for e.g. To pay ethers or currency to someone as salary and rewards, Hire CEO, consultants, auditors, vendors to have their services etc.
The DAO can also raise fund through ICO (similar to IPO’s), crowdsourced funding. The payment and the shares token can be done in real-time. The Shares can be exchanged sold by the members without any approval from the DAO.
What are the benefits of Ethereum decentralized Platform?
Because decentralized applications run on the blockchain, they benefit from all of its properties.
•Immutability – A third party cannot make any changes to data.
•Corruption & tamper proof – Apps are based on a network formed around the principle of consensus, making censorship impossible.
•Secure – With no central point of failure and secured using cryptography, applications are well protected against hacking attacks and fraudulent activities.
•Zero downtime – Apps never go down and can never be switched off.
What’s the downside of decentralized applications?
Because smart contract code is written by humans, smart contracts are only as good as the people who write them. Code bugs or oversights can lead to unintended adverse actions being taken. If a mistake in the code gets exploited, there is no efficient way in which an attack or exploitation can be stopped other than obtaining a network consensus and rewriting the underlying code.