Imagine you’re in one of these situations:
- Your e-wallet account got blocked by the platform for some reason.
- Your company has to work for a client but you don’t know if you can trust them or not.
- Your social media account got hacked.
Check out our free courses to get an edge over the competition
All of these situations are pretty painful, right? What if we told you that there’s a technology which offers solutions for all these situations (and much more). That technology is Ethereum and this Ethereum tutorial for beginners will make you more familiar with it.
Learn Software Development Certification online from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs or Masters Programs to fast-track your career.
Ethereum – A Brief History
Here’s a timeline of all you need to know about the development of Ethereum:
- November 2013 – Vitalik Buterin, a developer initially involved in Bitcoins, published a whitepaper on Ethereum.
- January 2014 – A Swiss firm Ethereum Switzerland GmbH announced the development of the Ethereum software project lead by a team of developers including Vitalik Buterin, Mihai Alisie, Anthony Di Iorio, and Charles Hoskinson.
- August 2014 – Ethereum ends its ICO and successfully raises US$18.4 million.
- May 2015 – Ethereum releases its first test net, Olympic.
- July 2015 – Frontier, the first version of Ethereum was released.
- March 2016 – Homestead, the second version upgrade of the Ethereum network was released.
- May 2016– Ethereum bags widespread media coverage when the DAO (Decentralized Autonomous Organization) raised a record $150 million in a crowd sale.
- June 2016 – The DAO hack occurs, leading to a loss of $50 million worth of Ether (it constituted nearly 15% of the total Ether in circulation back then).
- July 2016 – The Ethereum network branched out in two parts: Ethereum (ETH) and Ethereum Classic (ETC).
- June 2017 – Ethereum makes over $400 with a record-breaking rise of 5001% since January 1, 2017.
Check out upGrad’s Advanced Certification in Blockchain
What is Ethereum?
Ethereum is a blockchain-based, open-source, decentralized software solution that we use to create its own cryptocurrency called ether. It allows you to build and run Distributed Applications (DApps) and Smart Contracts on its platform without any fraud, downtime, or interference from third parties.
Apart from being a robust platform, Ethereum is also a programming language (Turing Complete) that runs on blockchain. In simple terms, Ethereum is a decentralized platform you can use to program a digital currency.
Ethereum is the biggest decentralized software app and with its help, you can easily create and public next-gen DApps.
Since its arrival, Ethereum has transformed the blockchain industry completely. Before its arrival, blockchain-based solutions weren’t capable of performing a diverse set of applications. For example, Bitcoin and other cryptocurrencies could only operate as digital currencies while Ethereum arrived as a platform for developers to create programs based on Blockchain.
Check out upGrad’s Advanced Certification in DevOps
Ethereum is accessible to everyone and allows everyone to develop a program based on the Ethereum blockchain. According to Ethereum.org, “Ethereum is the world’s programmable blockchain”.
The people behind Ethereum took the fundamental concepts of Bitcoin and similar cryptocurrencies and added more functionalities to them and created this highly popular blockchain solution.
Explore Our Software Development Free Courses
As of September 2019, Ethereum was the second-largest cryptocurrency in the world and behind only the most popular blockchain application, Bitcoin. However, you can acquire ether (Ethereum’s cryptocurrency) much quickly in comparison to Bitcoin as the former only takes 14 to 15 seconds while the latter takes nearly ten minutes.
To understand Ethereum properly, you must be familiar with some fundamental components of this technology. Following are the primary aspects of Ethereum you should know about:
- Ethereum Virtual Machine
- Smart Contracts
- DApps (Decentralized Applications)
In the following sections of our Ethereum tutorial for beginners, we’ll cover these concepts and understand the inner-workings of this blockchain platform:
Ethereum – Important Terms You Should Know
1. Currency Issuance
In every country, the currency issuance is primarily managed and monitored by a nation’s central bank, or the monetary authority of the country. For example, in India, the RBI is the monetary authority that regulates all the other banks and financial authorities.
2. Decentralized Autonomous Organization
Decentralized Autonomous Organization is a digital organization managed and regulated by a set of rules encoded as a computer program that is not influenced by a central governing authority – it is fully transparent and controlled by shareholders. A DAO’s practices and financial transaction records are maintained on a Blockchain network.
Explore our Popular Software Engineering Courses
3. Smart Contracts
A smart contract is a computer protocol designed to facilitate and verify the negotiation or performance of the contract between two or more parties. These digital contracts rely on a consensus system and are carried out without the intervention of any third party.
4. Smart Property
Smart property could mean both physical assets as well as crypto assets (shares, access rights to a network, etc.) which are built on Ethereum. The ownership of smart property is controlled via the Ethereum Wallet that functions as a gateway to DApps on the Ethereum blockchain.
In-Demand Software Development Skills
6. Ethereum Virtual Machine
The Ethereum Virtual Machine (EVM) is a runtime environment designed for smart contracts. Essentially, EVM is a virtual computer layer just above the underlying hardware. These virtual layers create a level of abstraction between the executing code and the executing machine. EVM helps improve the portability of software and also ensures that applications are not only separated from each other, but also from their host.
Transactions are messages that are sent from one account to another. They include binary data which is called Ether. It is a transfer of value/s that is broadcasted to the Ethereum network and collected into blocks.
The Ethereum Network
By now, you already know that the Ethereum network is a distributed and decentralized public Blockchain network. However, there’s much more to it. Ethereum is the foundation for all decentralized P2P applications and organizations running on the Ethereum network. This network is made of two unique nodes – full nodes and lightweight nodes.
Full nodes are those that contain the complete history of transactions since the genesis (parent) block. They record every transaction that has been validated and verified according to the rules stated in Ethereum’s specifications. Hence, full nodes are proof of the integrity, security, and transparency of the Blockchain network.
Unlike full nodes, lightweight nodes only contain a subset of the entire Blockchain. Lightweight nodes do not verify every transaction and may/may not hold a copy of the current Blockchain state. They are mainly dependent on the full nodes to provide them with missing details or specific particular functionalities. As the name suggests, lightweight nodes are lightweight, and hence, they can run quicker on memory-constrained devices. Lightweight nodes are primarily used in e-wallets which are inherently lightweight.
Read our Popular Articles related to Software Development
What Is Ether?
Ether is the cryptocurrency you use on the Ethereum network to make payments for transactions. You can use Ether in the following two ways:
- Applications require Ether payment to perform any operation on the platform to prevent malicious and broken programs from running on the network.
- The network uses Ether to reward miners who contribute to the Ethereum network just like Bitcoin does.
Apart from these applications, you can use Ether to buy Gas, which we have covered in the next section of our Ethereum tutorial for beginners. In Ethereum, Ether is a metric unit, which lets you pay for Gas and transactions accurately. The smallest denomination for Ether is Wei. One Ether has 1e18 Wei.
What is Gas?
Ether is not the only digital currency available on Ethereum. When you execute a transaction on Ethereum, you’d have to make a payment of Ether to the miner through Gas. Gas is an intermediary token and it allows you to measure the computational work necessary for completing a transaction or running a smart contract.
The price of Gas is expressed in Ether. Also, the miners determine the Gas price and they can refuse to run a smart contract or process a transaction that doesn’t offer the required Gas price.
We calculate the transaction fee in Ethereum through the following equation:
Ether = Gas Limit x Gas Price
upGrad’s Exclusive Software Development Webinar for you –
SAAS Business – What is So Different?
Here, Gas Price is the amount of Ether you have to pay and Gas Limit is the amount of Gas used for the computation process. The Gas Limit and Gas Price ensure that a contract ends at a certain point.
Where does the Gas in Ether go? It goes in the Ethereum Virtual Machine (EVM), which we have covered in the following section:
What is the Ethereum Virtual Machine?
The Ethereum Virtual Machine is the place where all the transactions in Ethereum are performed. It allows you to develop all the applications on a singular platform. We can say that the EVM is the engine running the entire Ethereum network.
While Ethereum has set defined protocols for developing decentralized applications, it has been able to do so because of the EVM. The Ethereum Virtual Machine is isolated and sandboxed. It means the code running the EVM has no access to the file system or the network and has very little access to other contracts.
When you enter your Solidity code into Ethereum, it first goes to the Ethereum Compiler. After that, it sends the EVM Bytecode to the Ethereum Virtual Machine which handles the rest of the process.
The EVM manages the computation and the internal state of Ethereum. It executes code, maintains an internal database and has numerous objects called “accounts” which can talk to each other.
What are Smart Contracts?
A smart contract is a computer program that runs automatically. As a transaction protocol, it enables you to exchange goods, money, and services through blockchain. Smart contracts have specific conditions set by both parties for each other and when both parties fulfil their respective conditions, the smart contract runs accordingly.
With smart contracts, you can perform various tasks such as decentralized voting and much more. In simple terms, a smart contract is a contract that executes, enforces, manages, and handles the payment automatically.
To execute a smart contract on Ethereum, you’ll need tokens (Ether). Without the required cryptocurrency, you can’t use smart contracts on Ethereum.
To create a smart contract, you’ll need to use Solidity, Ethereum’s general-purpose programming language. It is developed to run in the Ethereum Virtual Machine and allows you to perform arbitrary calculations, store states, and perform transactions of digital tokens.
Smart contracts offer multiple advantages due to which they are becoming increasingly popular. The biggest advantage of using smart contracts is they remove the need of having a middle-man.
As smart contracts are automatic, there’s no margin of human error. They are present virtual and are quite affordable in comparison to traditional contracts. Smart contracts have potential use cases in multiple industries including:
- Finance and Banking
- B2B Services (IT Services, Marketing Services, etc.)
Also Read: Ethereum Project Ideas & Topics
What are DApps?
A DApp or decentralized application is a software application running on a distributed network. It is hosted on a peer-to-peer decentralized network instead of a central server. A DApp could be any software application such as a mobile app or a website. The distinction between a DApp and a conventional application is that it’s built on a decentralized network.
A decentralized application’s user interface is just like any conventional application’s interface. However, all the backend processes of a decentralized application are based on a decentralized network.
Ethereum is a decentralized blockchain network so when you create an application based on Ethereum, you’re essentially creating a decentralized application. DApps are a relatively new concept but they are becoming highly popular.
As people become more concerned about their privacy and security, the demand for DApps will rise accordingly. Learning about them early can easily give you a career advantage.
Similar to decentralized applications, Ethereum also has decentralized autonomous organizations (DAO). These organizations exist only on blockchain and are controlled by the blockchain’s protocols. These organizations are created to hold onto assets and use a voting system to manage the distribution of the same. Learn everything you need to know about DApps.
As mentioned earlier, the Ethereum network runs on two types of cryptocurrencies – Ether and Gas.
Ether is the name of the cryptocurrency that is used to pay for all transactions carried out in the Ethereum network. However, apart from paying for general transactions and services, Ether is also used to buy Gas, which is used to pay for computation services within the EVM.
Ether is a metric unit having multiple denominations to aid the users to pay the exact amount for transactions and Gas. The smallest denomination – the base unit – of Ether is known as Wei. Here’s a complete table of all Ether denominations:
EVM runs the code that is deployed on the Ethereum network. Now, you may think that one can efficiently run an infinite loop on the EVM and overload its memory. Thanks to Gas, this is not possible.
Gas represents a metric for computational resources on the network. Every contract on the Ethereum network is allotted a maximum amount of Gas it can use for computations. This set limit is called the “Gas Limit.” There are two other Gas terms you should know:
Gas Price – It is the price of Gas in terms of tokens like Ether and its denominations. The Gas Price is a floating value that helps stabilize the value of Gas. So, if the cost of tokens or currency fluctuates, the Gas Price also adjusts to maintain the same real value.
Gas Fee – It represents the amount of Gas that one requires to pay to run a particular transaction or program (contract).
Thus, if you ever try to run an infinite code (one that runs forever), eventually the contract will exceed its allotted Gas Limit and the entire transaction that invoked the contract will roll back to its original state.
What are the Benefits and Limitations of Ethereum?
In this section of our Ethereum tutorial for beginners, we’ll take a look at the various advantages of this blockchain platform:
- With Ethereum, you can upload and request programs to be executed.
- It offers permanent and persistent data storage.
- You can create a tradable token that you can use as a virtual share or as a digital currency.
- It offers 100% uptime and DDoS (Distributed Denial of Service) resistance.
- You can make virtual organizations (DAOs) in Ethereum.
- It allows you to create highly secure and fault-tolerant DApps.
However, like any other technology, Ethereum has its share of limitations. Here are some disadvantages of Ethereum:
- Applications that require user ID verification will be problematic to build on Ethereum as there’d be no central authority to perform the verification.
- Updating an app or fixing bugs can be quite challenging because every peer would have to update their node software.
Mining in Ethereum
Like any other Blockchain technology, Ethereum promotes security through an incentive-based model, popularly known as the proof-of-work mechanism. The proof-of-work algorithm used in Ethereum is called Ethash, a hashing algorithm that is inspired by the Dagger-Hashimoto Algorithm.
The steps in Ethereum mining are as follows:
- A user initiates a transaction by sending Ether values to another user.
- This new transaction is then added in a new block along with the other transactions contained in the previous block.
- Miners in the network compete to validate the new block with a specific set of instructions.
- The miner who can successfully validate the new block and add it to the network receives a reward, that is, an Ether.
- Once the transaction is validated, the user who initiated the transaction also earns one Ether.
Ethereum Tutorial for Beginners: What’s Next?
Ethereum is a vast technology with multiple aspects. Learning about its various sections such as smart contracts and mining can be quite cumbersome without sufficient resources and guidance. As you must have seen in our Ethereum tutorial for beginners, if you understand Blockchain and its implementation in Ethereum, working with this technology becomes a breeze.
That’s why we recommend taking a blockchain course that covers Ethereum and all its technical aspects. A blockchain course will provide you with a structured curriculum so you can study efficiently and effectively.
At upGrad, we offer multiple blockchain courses that help you understand the basic and advanced concepts of blockchain with Ethereum. You’ll learn what blockchain is, what Ethereum is, how they work together and how you can use them as a blockchain professional.
At upGrad, you get the following blockchain courses:
Master of Science in Computer Science (Blockchain Development Specialisation Offered)
upGrad offers this program with Liverpool John Moores University. It lasts for 19 months and offers more than 500 hours of study material. During this program, you will get fortnightly group mentorship with industry mentors and more than 30 projects and assignments. It is an excellent blockchain course for people who are from a non-tech background.
This course lasts for 7.5 months and offers you more than 250 hours of learning. You will get IIIT Bangalore alumni status and 1:1 personalized mentorship from blockchain industry experts. Apart from Ethereum, you will also learn about Hyperledger Fabric, smart contracts, and much more.
This 13-month course will give you a 4-month Executive Certification in Data Science and Machine Learning for Free. You will study through live lectures and online sessions during this program and learn 10+ programming tools and languages. On top of that, you can test your knowledge of blockchain and Ethereum
All of the above courses require you to have a Bachelor’s degree with 50% or equivalent passing marks. Note that you can enrol in any one of these courses without any coding experiences. You will learn all the required skills to become a skilled professional.
Ethereum is certainly a phenomenal technology. By completing this Ethereum tutorial for beginners, you have certainly taken the first step towards learning about this technology.
Ethereum Blockchain has many more applications that are worth noting. The careers in the Blockchain field are rising as it has changed the landscape of technology.
Would it be better if I learn Hyperledger Instead?
Ethereum is a public blockchain network, whereas Hyperledger is a private blockchain network. In comparison to Hyperledger, Ethereum is a more popular blockchain network. The Hyperledger Fabric is a permissioned blockchain network, which may only be used by authorized nodes. Hyperledger Fabric, rather than Ethereum, is more suited for enterprise applications. Ethereum, on the other hand, is better suited to decentralized applications (dApps) that require greater trust and transparency. In addition, Hyperledger can handle more transactions per second than Ethereum.
What makes blockchain so secure?
Bitcoin miners compete to solve a cryptographic puzzle to add a new block to the blockchain. It is secure because it is encrypted and decentralized. Transactions are verified by miners, so the system is tamper-proof. All transactions are recorded on the blockchain, so they are publicly accessible. The blockchain is a distributed database, so there is no need for a central server. This saves time and reduces the risk of fraud. There is no need for a third party to verify transactions so that the blockchain can save money.
What qualities does a company look for in a developer?
One of the most significant traits a company looks for in a developer is solving difficulties. A developer who can efficiently solve challenges is able to think critically and work independently, both of which are valuable characteristics. A developer who can solve difficulties is also likely to be a team player and detail-oriented.