No transaction fees and ability to fix issues without network disruptions
Some of the biggest advantages of the EOS network are going to be free transactions and the ability to freeze and fix issues when they arise without updating the entire network. This article will explain how these features currently work on the Ethereum network and give an overview of how they will work on EOS.
Zero cost to run code on EOS vs paying with gas to run transactions on Ethereum
The Ethereum network uses the Ethereum Virtual Machine (EVM) to execute smart contracts and run decentralized applications. The EVM is an environment for code execution. Every node on the Ethereum network functions within the EVM. All transactions that Ethereum users run on the network, including sending funds, require the network to perform some amount of operations. The Ethereum network charges users for running these operations. The units of charge for running operations on the Ethereum network are measured in Gas. This concept is very similar to the concept of measuring electricity in Kilowatts and using different amounts of electricity to run various devices that you use in your home.
1 Gas on the Ethereum network can execute a command or one line of code. The more complex the set of operations or the smart contract that you want to execute, the more gas you will need. If you don’t have enough funds in your account to complete a transaction and pay the amount required to complete it in Gas, the transaction will not go through.
Just like on the Bitcoin network miners are free to choose the transactions that include into the blocks of the Bitcoin blockchain that they create, miners on the Ethereum network can choose which transactions they run. The obvious disadvantage of this system is that the price of gas can fluctuate and, therefore, the price of running a contract on the Ethereum network can vary significantly.
The creators of the EOS network want to solve this issue by eliminating the transaction fees on the network altogether. They plan on doing so by replacing the proof-of-work/proof-of-stake algorithm that the Ethereum network uses by an algorithm called delegated proof of stake. In delegated proof of stake, members of the network are entitled to its resources proportionately to the stake that they hold in the network. This means that, for example, if you own 1% of the network, you are entitled to 1% of the network storage, bandwidth, and other resources. Because of this, EOS will be a great choice for developers that want to create blockchain-based decentralized freemium applications. Using freemium business model, developers on the EOS network can make certain features of their applications free to users and then charge users for other features, which would allow the developers to pay for the amount of stake they’d need to maintain in order to run their applications on the EOS network.
One of the biggest issues with the proof-of-work algorithm that the Ethereum network used since its inception was the difficulty of fixing broken applications and flawed smart contracts.
Some people think that smart contracts are foolproof by definition, which is not true. The biggest benefit of running a smart contract on the Ethereum network is that the network will execute the contract even if some variables change. An example of such a change is a party in a contract deciding that it doesn’t want to proceed with the contract. On the Ethereum network, this wouldn’t matter and the network will still execute the contract. The network is foolproof in terms of executing the contract but not in terms of creating perfect contracts. If there is a flaw in the contract, the network will not fix the flaw automatically.
This is what happened with the project called “The DAO” (“The DAO”, which is a name of the project, should not be confused with a DAO, which is an abbreviation for the term “decentralized autonomous organization”). “The DAO” was a dao whose mission was to provide businesses and non-profits with a way to run organizations on a blockchain network in a decentralized, stateless way. “The DAO” ran a crowd sale in May of 2016, which at the time became the largest crowd sale in the history. One of the conditions of the crowd sale was that the owners of the project would not be able to access the funds for 28 days after the start of the project. In June of 2016, a hacker or a group of hackers found a vulnerability in the code of the project. Hackers were able to change the code in a way that would allow them to get access to one-third of “The DAO’s” funds, about 3.6 million Ether out of 11.5 million Ethers that the project has collected (at the time of the attack 3.6 million Ether were approximately equal to USD$50 million). However, because the contract had a 28-day holding period, it was possible to prevent hackers from getting the money. Because of this, the Ethereum network went through a hard fork in July of 2016. Developers changed the code of the network and hackers were not able to access the funds they diverted from “The DAO.”
A hard fork means that users had to update their software in order to keep using the network. The users who disagreed with the changes to the code could keep using unchanged software, which became known as Ethereum Classic.
It is interesting to note that at the time, the hackers of “The DAO” (or someone pretending to be one of the hackers) posted several messages in which they claimed that they haven’t done anything illegal or wrong. From their point of view, they simply found a vulnerability in the code and used the vulnerability to their advantage, which, according to them, was not a crime.
If “The DAO” with its flawed code were to run on EOS, the creators of “The DAO” could have frozen and fixed their project without disrupting the entire network.
Block creation and voting on the EOS network
On the EOS network, miners will be creating blocks at the speed of one block every three seconds. One member of the network will have the authorization to create a block of the EOS blockchain at any given moment in time. If the member doesn’t create a block in the allocated time frame, the network will skip the block and there will be a gap in the blockchain of six seconds or more. The EOS network will remove the member that was supposed to create the block from the list of members it considers as future block creators if the member did not produce any other blocks in the previous 24 hours. To get on the list again, the member will need to notify the network about the intention to start creating blocks again. This is done so that the network keeps the number of unreliable members small.
The EOS network will be creating blocks in rounds of 21. At the beginning of each round, the network will be choosing 21 block producers in a random way based on the stake of the producers in the network.
Under regular conditions, the EOS network won’t have any forks because its block producers will be cooperating and not compete during the creation of the blocks.
To freeze an account, the network will need 17 out of 21 active producer votes. Just like with Bitcoin and Ethereum, the producers have the power to choose transactions they include in the EOS blockchain. If producers abuse their rights, others can vote them out and unfreeze the frozen account. Not only will the EOS network have the functionality to freeze and unfreeze accounts, but its block producers will also be able to replace account code if the code runs in an unstoppable unpredictable manner. To do so, they will need to get 17 out of 21 votes in the same way they will need to get the votes to freeze an account.