Ethereum is the next big technological step for humankind. From a comparative standpoint, if Bitcoin is decentralizing currency, Ethereum is decentralizing the Internet. Ethereum will change everything: the way we exchange value over the Internet, the way we use our computers, it will revolutionize the development of applications, communications, and ultimately our futures.
From a technical standpoint, the Internet is nothing but a set of systems and protocols made to interconnect us and enable us to share all kind of information.
Since the inception of public commercial use of the Internet in mid-1989, the system was envisioned to be a global network that comprises of many voluntarily interconnected autonomous networks, operating without a central governing body.
Humanity did not really follow the initial vision of the Internet, and the web became increasingly centralized, with many different governing bodies, and lately, as of the most recent development in USA politics, the vision of net neutrality was challenged. To be politically incorrect, it is an upright assassination attempt on our most sacred values and freedoms.
Censorship is usually a more significant problem than one thinks, but we naturally come to learn this when it’s too late.
Blockchain technology was introduced by Satoshi Nakamoto in 2009 by what is now known as Bitcoin, the cryptocurrency that swept the media off their feet. A market cap of over $300 billion? That’s ridiculous.
Bitcoin, or preferably, the technology behind it, the blockchain, is much more than a simple “peer-to-peer transfer of money system.”
The blockchain is a decentralized system that one can unilaterally join and contribute to its maintenance and one can leave whenever they want, without any consequences to them, or to the system.
In a decentralized system, everybody knows the predetermined rules of conduct and is free to join or leave. There’s no governing body, no censor, no central point of control. This might be the exact upgrade the Internet needs.
A Vastly More Powerful Idea than Bitcoin
The central idea of the Ethereum blockchain network is affirmed in the Ethereum white paper, and is as follows: “The intent of Ethereum is to create an alternative protocol for building decentralized applications, providing a different set of tradeoffs that we believe will be very useful for a large class of decentralized applications, with particular emphasis on situations where rapid development time, security for small and rarely used applications, and the ability of different applications to very efficiently interact, are important.
Ethereum does this by building what is essentially the ultimate abstract foundational layer: a blockchain with a built-in Turing complete programming language, allowing anyone to write smart contracts and decentralized applications where they can create their own arbitrary rules for ownership, transaction formats, and state transition functions.”
Ethereum is a programmable blockchain.
Ethereum is not a Bitcoin fork, and it does not run on the same blockchain as Bitcoin. It is a completely new blockchain with different technical intricacies but the same idea like any other blockchain.
It is based on a peer-to-peer network, but instead of providing users the ability to use a few predefined operations (like cryptocurrency transactions) as Bitcoin does, the Ethereum protocol allows users to run pretty much any code they want.
Similar to the Bitcoin protocol, the nodes in the Ethereum protocol sacrifice their processing power to maintain and update the blockchain. However, they also run the Ethereum Virtual Machine (EVM).
EVM is a “supercomputer” that is consisted of the combined computing power of the nodes in the network. This decentralized virtual supercomputer is used to run the smart contracts (the code) submitted by the users. This code is then stored on the Ethereum blockchain, and it stays there, without being subjected to any change (immutable), forever.
Let’s get down to the nitty-gritty of Ethereum:
Ethereum can be thought of as having two different components: accounts and applications (or use-cases).
What are Accounts on Ethereum?
There are two types of accounts on the Ethereum protocol: externally owned accounts (or Ethereum addresses controlled by private keys — like in the Bitcoin network), and contract accounts (or smart contracts, which are addresses or “entities” controlled by the code within them).
An externally owned account is used to create, send and receive transactions and signed by the private keys. Think of your externally owned account as similar to a bank account, and think of the private key as the security code used to access your bank account.
As defined in the Ethereum white paper, an Ethereum account contains four fields:
1. The nonce, a counter used to make sure each transaction can only be processed once
2. The account’s current ether balance
3. The account’s contract code, if present (in case of smart contracts)
4. The account’s storage (empty by default)
Every Ethereum account has a public address, or what looks like a string of random numbers and characters in a Hexadecimal format that looks something like this: 0x84dbb737eac3002103e721b9ab7ch67a6850a310
You can think of this address as the “name” of your bank account, and you will use this address to send and receive Ether or Tokens or use other services on the Ethereum protocol.
In order to send a transaction, you have to sign it with your private key — and the key is called private for a reason.
If anyone, through any means gets your private key, he has ownership of your account and can send transactions. If you lose your private key or the passphrase to your wallet as many people have done, they are gone forever. The luxury of using decentralized platforms comes with responsibilities, and your primary responsibility is your account security.
What are Smart Contracts?
The concept of smart contracts was first introduced by Nick Szabo in 1996 in his publication “Smart Contracts: Building Blocks for Digital Markets.”
The basic idea of smart contracts is that many kinds of contractual clauses (such as liens, bonding, delineation of property rights, etc.) can be defined as a series of relations or logical steps and therefore written in code and embedded in the hardware and software we use today.
In the words of Nick Szabo, “I call these new contracts “smart” because they are far more functional than their inanimate paper-based ancestors. No use of “artificial intelligence” is implied. A smart contract is a set of promises, specified in the digital form, including protocols within which the parties perform on the other promises.”
Although smart contracts can be used for a wide variety of distinct transactions, writing smart contracts is harder than it seems, so at the time being, they are most suitable for simple operations, in which obligations of both parties can be reduced down to a few simple logical steps.
Ethereum smart contracts are written in Solidity, a specific programming language for Ethereum. The language itself may be simple, but due to the immutable and self-executing nature of the contracts, once they have been added in the blockchain, any mistake embedded in them cannot be subject to change. This means that writing more complex smart contracts requires more than just knowledge in Solidity and some programming logic, but rather some pre-existing knowledge of “real world” contract writing and legal reasoning.
As Vitalik Buterin, the creator of Ethereum, defines them in his white paper: “Note that ‘contracts’ in Ethereum should not be seen as something that should be ‘fulfilled’ or ‘complied with’; rather, they are more like ‘autonomous agents’ that live inside of the Ethereum execution environment, always executing a specific piece of code when ‘poked’ by a message or transaction, and having direct control over their own ether balance and their own key/value store to keep track of persistent variables.”
The logic behind smart contracts is similar to that of a drive-through; you choose your order, a whole protocol is executed in the background according to your demand (the protocol here being the smart contract – or more precisely its code – that specifies a sequence of actions that need to happen on the network), and your meal with a side order of fries awaits you once you complete the payment.
In other words, smart contracts not only define the rules, rights, and obligations that constitute the agreement but also executes the agreement itself automatically. They are self-executing pieces of computer code that define and enforce contractual agreements between two parties.
What are Decentralized Applications?
Now that we have a general sense of smart contracts and their application in regulating transactions made on the Ethereum network, we can take a look at the so-called Decentralized Apps – or DApps for short.
DApps are essentially pieces of software that implement the blockchain technology and smart contracts in order to achieve the functionality of a decentralized program.
And this is what this means:
Once the DApp is added to the blockchain, it is immutable; therefore no single entity can exercise control over it. To understand the value of this characteristic of the DApps, we will make a simple parallel with YouTube.
Namely, when you use YouTube, the traffic that your usage generates – whether that’s views, comments, uploaded videos etc. – is stored somewhere and subject to inspection that allows censorship (of your uploads), as well as tailored advertising (based on your view history), to say the least.
This brings us to the key problem that decentralized apps aim to address: giving back users the control over their data. To ensure that the solution to this problem truly lays in the architecture of the DApp, there are three key requirements that all DApps must meet:
1. Immutable: as we already explained, once the application is added to the blockchain, its content, aggregated user data, and any other information necessary for the app to work cannot be changed by any single entity. This is the key difference between Twitter and EtherTweet, for instance; being a DApp, EtherTweet is a blockchain-based social network that isn’t susceptible to censorship (or any other form of editing) and still offers similar functionalities like Twitter.
2. Decentralized: The concept of immutability is tightly linked to the fact that all of the DApp’s data is crypted and stored on a decentralized public blockchain.
3. Open Source: The DApp’s source code must be publicly available so that users who wish to look behind the curtains are free to do so and therefore are able to see for themselves how the data that they provide is being used for the proper functioning of the application, and nothing more.
Now we will take a closer look at the role that smart contracts play in decentralized apps by explaining the basic functionality of a DApp.
A DApp consists of the same aspects as any other application; a front-end (the application’s user interface, or a website) and a back-end (the Ethereum blockchain and the smart contracts the applications uses).
The front-end of a DApp isn’t of great importance for understanding decentralized apps since it comes down to simple web, desktop or mobile design, much like it is with a normal application. When it comes to the back-end, however, it’s a bit more complicated.
As we already mentioned, smart contracts are publicly available on the Ethereum blockchain and interact with each other on it. They are the building blocks of a DApp, therefore we can look at a DApp as nothing more than an aggregation of mutually-interacting smart contracts, that in the case of more complicated DApps execute sequentially in order to achieve the final purpose of the application.
For the not-so-tech-savvy readers, we will reduce this unintelligible technobabble to a simple example:
Let’s say we have a DApp that’s supposed to receive payment from one user, validate the transaction, then send the user a certain URL address as a response.
At the basis of this DApp there will be at least one smart contract, that will take the user’s information (like public and private key, and the required amount for making the transaction), validate the information (in other words, make sure that the provided keys exist), try to execute the transaction (transfer the given amount from the user’s wallet), validate the transaction (make a public record on the blockchain that the transaction did, in fact, successfully occur and the funds were transferred), generate or acquire that URL address we mentioned above, then send it to the first user as a response.
This simple mechanism that we just described can be used, for instance, for making an online raffle – where you enter by paying a certain fee, and get a unique URL address to a website where you’re randomly assigned a prize. But how does the user make sure that it’s safe to participate?
As we said, the contracts are stored and executed on the blockchain, which means they don’t involve the element of trust; the user can take a look at the smart contract beforehand and see for himself the sequence of events that will occur as the contract automatically executes upon entering the raffle.
In addition, the user can be assured that what he sees is what he gets, since the contracts cannot be changed or hacked because of the immutability of the blockchain, and therefore the immutability of the app.
Lastly, all the code in the contracts is available for the Ethereum community to audit, and make sure it works as intended or advertised.
All in all, DApps are a decentralized, transparent, peer-reviewed alternative to regular apps that isn’t subject to control, abuse or change by the original developers due to its immutability.
The Economics of Ethereum
The Ethereum network includes its own built-in currency called “ether” with pre-labeled denominations called 1-wei, 10^12-szabo, 10^15-finney, 10^18-ether. The currency serves a dual purpose of providing a liquidity layer to allow for efficient exchange between various types of digital assets and a mechanism for paying transaction fees.
Why does Ether have an Inflation Rate?
Unlike Bitcoin, Ether is an inflationary currency. This means that the total number of Ether in the Ethereum network will increase gradually over time without a market cap.
The issuance of new ether through the process of mining is held constant, although the inflation rate is expected to decrease over time. The idea behind the permanent linear supply growth model is to reduce the risk of hoarding or concentration of wealth as a typical phenomenon found in deflationary currencies like Bitcoin.
The idea is to stimulate the usage of Ether and encourage spending instead of holding it.
In July 2014, the Ethereum Foundation 2began the 42-day crowdsale (“ICO“) of Ether tokens. The total number of ETH issued was 60,102,216, and they were sold for 31,591 BTC, worth $18,439,086 at that time. The initial price of ETH was Ether $0.306. To illustrate the success of the project, one ETH is worth ~$650 at the time of writing this post.
The price of ETH is determined by the free market. This means that Ether is a free currency, it is not tied to any other currency in the world and it is not backed up by any government in the world (as of now).
What is Gas?
“Gas” is the name for a special unit of account used in Ethereum.
It measures how much “work” an action or set of actions takes to perform. Every operation that can be performed by a transaction or contract on the Ethereum platform costs a certain amount of Gas, proportional to the complexity of the operation and the computational power that’s required to execute it.
So Gas is essentially a transaction fee that you have to pay to use the EVM. Make no mistake, Gas is not a currency, and there is no separate Token for Gas. Gas is calculated and paid in Ether.
Why is There a Need for Gas?
There are two basic reasons for Gas on the Ethereum network.
First, Gas makes sure that transactions submitted to the network are costly, and therefore it serves as means of “spam” regulation on the network, basically eliminating the incentive to use the network in a way that’s not valuable to anyone.
So if Gas is not an actual currency, why aren’t transaction fees measured in Gas directly?
Because the price of Ether, as we stated previously, is determined by the free market and is, therefore, a subject to big swings in price volatility, while the cost of computation doesn’t change because the price of ether changes. So it is a good idea to separate out the price of computation from the price of Ether, so that the cost of operation doesn’t have to be adjusted every time the market moves.
What are Tokens in Ethereum?
Tokens are a new sort of digital property that is issued by a certain DApp, and it grants certain rights to its owner.
The value of tokens are determined by supply and demand, which is the reason why most of the ICOs are scams with nothing but a shady whitepaper and a front-end website behind them.
So what are tokens used for?
A token can be used in a variety of ways, depending on the idea of the issuer. It can act as the access to a DApp, it can grant the user different rights depending on the business model of the DApp, it can serve to implement different use cases like voting, payments, and so on.
Before Ethereum came out everyone had to make their own blockchain to issue a cryptocurrency token, or fork the Bitcoin blockchain and make a new currency with different specs which is a fairly difficult process.
Ethereum solved this problem by virtue of being Turing-complete and allowing the creation of tokens on top of its blockchain.
How are tokens distributed?
Tokens are usually distributed for the first time through what’s commonly known as Initial Coin Offering (ICO). An ICO in the cryptocurrency world is analogous to an Initial Public Offerings (IPOs) in the traditional financial world.
ICOs are used as a form of crowdfunding which lets developers of DApps raise capital for their operations while investors and early adopters speculate on the future of the project.
The legal nature of Tokens and ICOs is very controversial in the academic world, and government regulators around the globe have different means of solving this issue. China for example outright banned ICOs because 99% of them are scams and Ponzi schemes. Other regulators are tolerating ICOs until they come up with sensical means of regulating them and therefore providing at least some sort of customer protection.
How to be Careful While Investing in Ether and ICOs
Whether you are thinking about acquiring Ether or investing in ICO, there are few crucial rules you need to follow if you do not want to get burned.
First off, don’t keep a large amount of Ether on cryptocurrency Exchanges or third-party services.
There were numerous cases of hacks on exchange platforms and other various security issues – it’s just not a wise choice. Invest in a hard wallet like Ledger S Nano or Trezor, or follow our guide to creating a wallet. Secure and backup your private keys like your life depends on it.
In the cryptocurrency business, you are your own worst enemy. Every single point of security, accountability, and analysis depends on you.
The second, and probably the most important thing after you’ve read our complete Ethereum guide and got yourself interested in Ethereum is to remain very skeptical of everything.
Most ICOs are outright scams, so make sure you do your homework; join a community, and ask questions about everything you don’t comprehend completely. Never invest your money in something you haven’t thoroughly researched.
And last but not least, follow the law. This might be complicated as ICO regulation is still shady and unclear in most jurisdictions, and different regulatory bodies give various and often conflicting statements. Nevertheless, you should do your research and respect the laws of your country.
The rate of development in cryptocurrency is accelerating at an unprecedented speed, and one of the biggest driving forces behind it is Ethereum.
Bitcoin is thus far the biggest name in the game, but everyone remotely familiar with the niche knows that Bitcoin is more of a brand name rather than a true technological giant.
Ethereum is truly a superior and revolutionary technology. A decentralized, Turing-complete Virtual Machine?
Would you believe it if anyone said it would happen it 5 or 6 years ago?
It already has, and it will continue to transform the world into an evermore connected place where freedom of innovation thrives.
There’s no denying that Ethereum has some problems. Scalability sucks, the PoW algorithm is expansive and taxing for the environment, and that’s just a few of the many marginal technical inefficiencies. But the beginnings of the Internet were just as hard and filled with obstacles, and look how that turned out!
Besides, Ethereum has a dedicated and visionary development team, and a community of young and excited technophiles to make sure that this promising technology lives up to its full potential.
What’s your take on Ethereum? Let’s talk in the comments below!
Featured image by Josep Rosello