Who could have predicted that only a mere six years after Bitcoin was released to the world another arguably more groundbreaking decentralized software platform would arise? Ethereum, launched in 2015, was first conceptualized by Vitalik Buterin, a programmer who previously worked on Bitcoin. While Bitcoin opened the door to how blockchain technology could be utilized for a peer-to-peer electronic cash system, Ethereum aimed to offer more than just cryptocurrency applications. Ethereum posited that this revolutionary technology could be utilized in a wide variety of applications.
Ethereumessentially showed the world that Bitcoin and crypto coins were only the beginning of blockchain. Vitalik Buterin and his core team looked at the bigger picture and envisioned Ethereum as a distributed decentralized world computer for executing and storing computer programs that took full advantage of blockchain technology’s full potential.
Although it has only been made available to the public fairly recently – around three years to be exact – Ethereum is already on the path to overtaking the largely successful Bitcoin, which has been around for nearly a decade now. Considering how Ethereum might become a credible replacement for Internet third parties and the public’s growing distaste and distrust of the current state of affairs of major web providers, Ethereum’s rapid growing successis not that much of a surprise.
An Overview of the Ethereum Blockchain
We might not always be consciously aware of it, but a majority of the population has more or less become completely dependent on the Internet. Think about it. We log on to the Internet every day and rely on it for basically every aspect of our daily lives. Without so much as a moment’s hesitation, you expose supposedly private information to the entire world of strangers. Your name, address, current location, family members – you reveal all of that to the Internet on a daily basis.
You might be thinking that you only give out innocuous details of your life on the Internet – like in social media and the like – so you do not worry about it too much but it is so much deeper than that. Every institution and company uses the Internet to communicate and store their information. Hospital records, financial details, and other crucial information are kept on a central computer somewhere. Data from users is stored on clouds and servers which are monopolized by huge web companies like Facebook and Google. And the way the Internet is designed is vastly flawed and incredibly vulnerable for manipulation so your vital personal and private information can be infiltrated without you even knowing.
This current system of ours where we haphazardly hand over our private information and hope for the best is what is known as “centralized,” and Ethereum’s main goal is to abolish this system and create a more “decentralized” internet. Ethereum uses blockchain technology– a publicly distributed ledger system – to replace outside parties responsible for overseeing transactions and storing data and financial records. This system uses nodes – an interconnected network of computers – in place of individual servers and cloud systems that are typically run by major internet providers.
A decentralized infrastructure that Ethereum idealizes could mean that no single entity could ever have full control over millions of users personal data. You would have actual privacy and ownership of your information, and you will not be vulnerable to hacks and other manipulations.
Ether and the Issue of Payment
Ethereum, like all blockchain applications, are not technically owned by anyone since it is decentralized. However, the programs and services of Ethereum require immense computing power and that kind of fuel is not exactly free. So who is going to cover the cost and how are they going to pay?
To solve that issue, Ethereum has its cryptocurrency called ether, and it functions more or less like bitcoin (meaning, you can trade it without having to rely on a third party like a bank). However, ether, unlike bitcoin, is not classified as a digital currency since it is considered more like “fuel” for the decentralized apps on the network. An app needs processing power in the Ethereum network and covering the cost of power you need to pay a marginal fee any time you use the app. The fee comes in the form of ether.
Much like with any type of fuel, transaction fees increase the more processing power or fuel is required for the app. And each particular action on the network needs varying amounts of computational power and time.
Ether’s purpose then is a bit different from other crypto coins.
The Ethereum Virtual Machine (EVM)
Now let us move on to how the Ethereum network works.
The most notable feature of Ethereum is its smart contract functionality. A smart contract is a self-executing program that facilitates the exchange of anything of value – digital currency, real estate, financial securities, etc. – on the network and permanently stored on the blockchain. These programs are executed when specific conditions are met, are safe from outside influence and censorship, and virtually have no downtime unlike Internet programs that crash whenever too many users are on the site.
The Ethereum Virtual Machine (EVM) is Turing-complete software that operates on the Ethereum network and allows users to run these smart contracts. Regardless of programming language, the EVM can run any program on the blockchain. What this means is that the Ethereum network has the huge potential to create a wide array of applications all on its platform without the constraints inherent to the Internet.
A Turing complete system, by the way, is a system of data manipulation rules named after the creator of the Turing machine, Alan Turing. A Turing complete system can mathematically be able to solve any problem that you feed to it. The EVM is just that. It works by executing scripts across a distributed network of nodes (computers) and allows the executing and storage of everything from smart contracts to decentralized autonomous organizations (DAO).
dApps and Smart Contracts Explained
A decentralized application or dAppis an application that runs on a peer-to-peer network of computers and is designed to exist on the Internet in a way that is not controlled by one lone entity. It should be noted that dApps have existed since the advent of peer-to-peer networks and did not necessarily need to run on a blockchain. The Onion Router or Tor, for instance, is a traditional dApp that runs on a P2P network.
Another noteworthy characteristic of a dApp is that unlike with a typical smart contract like a Bitcoin, dApps can have a theoretically unlimited number of participants in all sides of the market. They are not limited to sending data from point A to point B.
Now you might be wondering what the relationship is between dApps and smart contracts and whether they are the same thing. Well, think of dApps as a blockchain enabled website while a smart contract allows that website to connect to the blockchain network. What makes dApps different from a typical website is that although dApps have front ends that use the same technology to render the page as a normal site, dApps’ backend code is not running on a centralized server. Instead, dApps have smart contracts that connect it to the decentralized P2P network.
Here are some other qualities of a blockchain dApp:
Uses/requires crypto coins or cryptographic tokens. In the context of the blockchain, a dApp needs crypto coins to function. Any type of access to the application and any contribution of value should be rewarded with a token native to its system, be it either bitcoin or ether. The Ethereum network mostly uses its crypto coin ether as a way to power the dApps.
Data and records of transactions are cryptographically stored. What makes dApps truly brilliant is that the crucial user data is cryptographically stored (meaning the data is hidden in a layer of basic cryptography) in a decentralized public ledger, so there is no central point of failure. If ever one node crashes or malfunctions, the dApp will continue running because the blockchain is connected to a network of nodes. There is no risk of downtime with dApps too. User data is completely secured, and countless users will be able to enjoy using the dApp.
Completely open-source. Since a dApp is run on the blockchain, it must be completely autonomous, with no single entity controlling the majority of its currency or tokens. The consensus of its users must decide all changes.
Generates tokens. Lastly, dApps can generate tokens and have a built-in consensus system that makes sure that no one person or entity can monopolize the dApp in any way. According to a standard cryptographic algorithm, nodes contribute to the application.
How dApps Function
A decentralized app is open-source, so anyone can see and contribute to the code. This also means that the process for scalability of product development is fast in terms of quality and quantity.
The blockchain decentralizes the app. The blockchain acts as a permanent ledger of transactions which anyone can access any time. Then, tokens or coins are used to fuel the dApp. These tokens are mine or pre-mined using different algorithms or protocols.
Currently, there are two popular protocols used to reach a consensus or agreement between all the users of that particular dApp. Bitcoin uses proof-of-work while Ethereum is currently making the transition from proof-of-work to proof-of-stake
As a protocol, POW’s main goal is deterring cyber-attacks like a distributed denial-of-service attack which has the purpose of exhausting the resource of a computer system by sending multiple fake requests at once. It is a requirement to define an expensive computer calculation known as mining. Mining needs to be done to create a new block on the blockchain.
Besides creating more blocks, mining also meant to verify transactions to avoid double-spending. It also creates new digital coins by rewarding miners for their work. The first miner to solve each blocks problem is rewarded.
POW is highly competitive since network miners race to be the first to find a solution for the mathematical problem that concerns a certain block.
Ethereum developers now want to use this protocol instead of POW. Although POS uses the same protocol and has the same purpose as POW, the process of POS is quite different.
The main difference between the two is while anyone can mine for tokens in POW, you must be chosen in a deterministic way as a creator of a block by the POS. There is also no block reward in POS.
Instead of earning block rewards, miners in the POS system take transaction fees from users.
POW requires a lot of computer energy which means high energy costs. On the other hand, POS requires less energy and is more cost-efficient. POS is seen as a greener and cheaper distributed form of consensus. It is also a much safer network since attacks will be more expensive for the hackers.
Since Ethereum continues to grow bigger and bigger every day, the develops believe that the protocol must be changed to avoid any malfunctions or setbacks in the future.
According to DAppRadar, presently more than 750 dApps are running in the Ethereum network, and more are being added each day. The great thing about Ethereum dApps is users can create their own arbitrary rules for ownership, state transition functions, and transaction formats.
Typically, there are three types of decentralized appsrunning on top of Ethereum:
As the term implies, this type of dApp involves the exchange of money (digital currency) primarily. This type of dApp provides users with more powerful and more secure ways of managing and entering into contracts using their finances.
Money is involved in this type of dApp. However, there is also a major non-monetary side to what is being done in the app.
This type is not financial at all and is for online voting and decentralized governance. Some examples include:
Token Systems. These have many applications ranging from sub-currencies, individual tokens representing smart properties, secure unforgeable coupons, and also token systems with no conventional value at all.
Decentralized File Storage. Think of this dApp as Dropbox on a blockchain. This app uses smart contracts to split the desired data up into blocks, encrypting each block for privacy. As a result, what is known as a Merkle tree (or hash tree) is built. This is a cryptographic concept where a tree in which every leaf node is labelled with the hash of a data block while every non-leaf node is labelled with a cryptographic has of the labels of its child nodes. One can simply consider these hash trees as cryptographic lists or chains.
Identity and Reputation Systems. Anyone can register on this system a name with some value, and that registration will be immutable. Any contract is stating the name of an owner of, for example, a land title can be added to the Ethereum network. The contract cannot be modified or removed.
Decentralized Autonomous Organizations (DAO). One of the more common apps on the Ethereum network, a DAO is a virtual entity that has a specific set of members/shareholders. These members have the right to spend the entity’s funds and modify its code as long as they reach a certain majority. Members can also collectively decide on how the DAO should allocate its resources. Due to the nature of the blockchain and the Ethereum network, there is little to no risk of a single member somehow rigging the decision of the whole organization. Every action must be decided on consensus.
Top 3 Most Used dApps
As mentioned above, there are hundreds of dApps running on top of the Ethereum network right now. Moreover, a lot more dApps are popping up as each day passes. So far, Ethereum has kept its promise of supporting innovative dApps and providing a network where there is no censorship or downtime or any kind of third-party interference. It is no surprise that hundreds of developers have flocked to Ethereum and started their decentralized app.
Majority of the successful dApps – the ones that get hundreds, even thousands, of users every day – facilitate crypto asset trade whether directly or indirectly. There is a wide range of business models, but most of them are simply geared toward crypto traders.
Of course, when we talk about successful dApps and their thousands of daily users, it should be noted that even the most successful decentralized app has a considerably small user base compared to centralized apps like Facebook which enjoys billions of users every single day. However, experts weighed in that dApp is still in its infancy and it should be expected that dApps will only get a small fraction of users. Once Ethereum and blockchain technology makes it to the mainstream, people will realize that dApps are more secure than the centralized alternative.
That being said, here are just three of the most popular Ethereum dApps available right now.
IDEX rakes in about six thousands users per day, making it one of the most used Ethereum dApp ever. It is a decentralized exchange offered by the firm Aurora. According to them, IDEX is the first ever Ethereum based smart contract exchange to support real-time trading and high transaction throughput. It can fill many trades at once, support limit and market orders as well as gas-free cancels.
ForkDelta is also a decentralized exchange like IDEX. It offers trading in ether and ERC-20 tokens. ForkDelta reportedly has the most ERC-20 listings of any exchange. Presently, this exchange dApp acts as an open source, updated interface for EtherDelta’s smart contract with an active and public development team. On a given day, ForkDelta can have as much as two thousand active users. A modest number but still quite a feat in the Ethereum network.
With five hundred active users on a single day, Bancor is the third most used Ethereum dApp. Bancor is a market that lets users ether and ERC-20 tokens. However, what makes Bancor stand out is that instead of matching buyers and sellers, the Bancor protocol wants to provide liquidity between different ethereum-based assets using smart tokens.
We have talked on and on about Ethereum’s strengths and advantages, and while it is true that this blockchain platform has massive potential, it also has its limitations. Unfortunately, as of now, we do not know the full limits of the platform and that in itself is a huge problem.
The way Ethereum was designed, right now the blockchain platform can only support around 15 transactions per second. Considering the tens of thousands of likes Facebook transacts per second, and this measly 15 transactions can be a huge issue if ever Ethereum gets widespread use. Scaling, it should be noted, is one of the main problems of Ethereum and any other public blockchain networks.
But why is scaling so difficult with blockchain platforms? Simply put, it is difficult to balance decentralization and scalability, especially while also growing the number of users on the platform. And with Ethereum, this is particularly tricky since it aims to get as many users as possible so that average people can use the system to purchase items and run applications.
Ethereum depends on a network of nodes that each store the entire Ethereum transaction history as well as the current state of account balances, storage, and contracts. Transactions increase in number every ten seconds with each new block, so it gets tricky to keep up.
For now, developers are looking for ways to solve this crucial problem. Ethereum will not enjoy global appeal if this major flaw is not addressed soon. Fortunately, the Ethereum team are hard at work and will patch up this huge hole in their network in due time.
By now, it will be naive to still scoff at the idea of cryptocurrencies and blockchains ever hitting the mainstream. Right under everyone’s noses, the crypto community grew rapidly and, with Ethereum’s dApps, people will no longer think that blockchain is only for crypto trading.
The future of the Internet is slowly making its way to the public. Supporter or skeptic, you have to admit that more secure and decentralized Internet would be an amazing thing.