Begin your journey in the rapidly expanding blockchain industry. Learn crypto, earn, become certified, and gain access to an unlimited number of internship opportunities.
Ethereum is an open-source, public, and blockchain-based decentralized computer platform capable of running smart contracts - applications that could run as programmed without censorship, third-party interference, or downtime. Ethereum is home to digital money, global payments, and applications.
Think of it as a tool for building applications - like a laptop or PC - but it doesn't run on a single device. Instead, it simultaneously runs on thousands of machines around the world, meaning that it has no owner.
Ethereum, like Bitcoin and other cryptocurrencies, allows you to transfer digital money. However, it’s capable of a lot more. You can deploy your own code, and interact with applications created by other users on Ethereum. Because it’s so flexible, all sorts of sophisticated programs can be launched on Ethereum.
Simply put, the main idea behind Ethereum is that developers can create and launch code that runs across a distributed network instead of existing on a centralized server. This means that, in theory, applications run on Ethereum cannot be shut down or censored.
Ether (ETH) is the native currency of the Ethereum network. Ethereum is the protocol itself, but the currency that powers it is simply known as ether.
Ethereum can run code across a distributed system. As such, programs can’t be tampered with by external parties. They’re added to Ethereum’s database (i.e., the blockchain), and can be programmed so that the code can’t be edited. In addition, the database is visible to everyone, so users can audit code before interacting with it.
What this means is that anyone, anywhere, can launch applications that can’t be taken offline. More interestingly, because its native unit – ether – stores value, these applications can set conditions on how value is transferred. We call the programs that make applications smart contracts. In most cases, they can be set to operate without human intervention.
These two are very different. Bitcoin relies on blockchain technology and financial incentives to create a global digital cash system. Bitcoin made it possible for users to agree upon transaction records the state of a financial database in a trustless, decentralized environment.
Bitcoin is widely considered the first-generation blockchain, therefore it’s not an overly complex system – and that’s a strength when it comes to security. Bitcoin is intentionally kept inflexible to prioritize security at its base layer. Bitcoin doesn’t accommodate applications outside of transactions very well, so smart contracts in Bitcoin are extremely constrained.
The second generation of blockchains, by contrast, is capable of more.
Ethereum is the first of the second-generation wave of blockchains that are capable of more than just financial transactions. These platforms enable a greater degree of programmability and Ethereum remains the most prominent one to date. While Ethereum bears similarities to Bitcoin and can perform many of the same functions, it allows developers much more degree of freedom to experiment with their own code and create their own Decentralized Applications (DApps).
Since the launch of Ethereum, a lot of altcoins and other projects (including NFTs) have been built on the network.
The smart contracts that run on Ethereum are triggered by transactions (either from users or other contracts). When a user sends a transaction to a contract, every node on the network runs the contract’s code and records the output. It does this by using the Ethereum Virtual Machine (EVM), which converts the smart contracts into instructions the computer can read.
To update the state, a special mechanism called mining is used (for now). Mining is done with a Proof of Work algorithm, much like Bitcoin’s. We’ll get into more depth on this shortly.
A smart contract is just code. We call it smart because it executes itself under certain conditions, and it could be regarded as a contract in that it enforces agreements between parties.
The idea and name were coined in the late 1990s by computer scientist Nick Szabo. Nick used the example of a vending machine to explain the concept. With a vending machine, there is a simple contract being executed. Users insert coins, and in return, the machine dispenses a product of their choosing.
A smart contract applies this kind of logic in a digital setting. You basically specify codes on the Ethereum protocol and program it to return output when ethers required for the action are input. You could specify something simple in the code like return “Hello, World!” when two ether is sent to this contract.
In Ethereum, the developer would code this so that it can later be read by the EVM. They then publish it by sending it to a special address that registers the contract. At that point, anyone can use it. And the contract can’t be deleted unless a condition is specified by the developer when writing it.
To interact with the contract at anytime, users just need to take the specified actions. In the case of our “Hello World!” example, when users send 2 ETH to that address, it will trigger the contract’s code – all the computers on the network will run it, see that the payment has been made to the contract, and record its output (“Hello, World!”).
The above is an overly simplistic basic example of what can be done with Ethereum. However, more sophisticated applications that connect many contracts can – and have – been built.
A few years after the introduction of Bitcoin, a young programmer called Vitalik Buterin envisioned a way to take this idea further and apply it to any type of application. The concept was eventually fleshed out into Ethereum.
Ethereum was proposed by Buterin in a 2013 blog post entitled Ethereum: The Ultimate Smart Contract and Decentralized Application Platform describing a decentralized computer that, given enough time and resources, could run any application.
In time, the types of applications that could be deployed on a blockchain would be limited only by the developers’ imaginations. Ethereum aims to find out whether blockchain technology has valid uses outside of the intentional design limitations of Bitcoin.
A decentralized autonomous organization (DAO) is an entity with no central leadership. Decisions get made from the bottom-up, governed by a community organized around a specific set of rules enforced on a blockchain. DAOs are internet-native organizations collectively owned and managed by their members.
With Ethereum, entirely new ways of open collaboration over the Internet have become possible. One of the earliest and most ambitious attempts at such an organization was “The DAO”. It would have been made up of complex smart contracts running on top of Ethereum, functioning as an autonomous venture fund. DAO tokens were distributed in an ICO and gave an ownership stake, along with voting rights, to token holders.
Not long after its launch, however, malicious actors exploited a vulnerability and drained almost a third of the DAO’s funds. It’s worth bearing in mind that, at that time, 14% of the entire ether supply was locked up in the DAO. Needless to say, this was a devastating event for the still-fledgling Ethereum network.
After some deliberation, the chain was hard forked into two chains. In one, the malicious transactions were effectively “reversed” to restore the funds – this chain is what’s now known as the Ethereum blockchain. The original chain, where these transactions weren’t reversed, and immutability was maintained, is now known as Ethereum Classic.
The event served as a harsh reminder of the risks of this technology, and how entrusting autonomous code with large amounts of wealth can backfire. It’s also an interesting example of how making collective decisions in an open environment can pose significant challenges. Overlooking its security vulnerabilities, though, The DAO perfectly illustrated the potential of smart contracts in enabling trustless collaboration on a large scale over the Internet.