Smart Contract WAR: ETH vs EOS




By Othman Darwish

Smart contracts, the cornerstones of any decentralized blockchain based application, runs nowadays inside different blockchain platforms. Each platform community is working toward minimizing the challenges of developing valuable dApps  to put it in a great use case. In this blogs, will discuss some of competing and promising smart contracts platforms, and how each differentiates itself from other, what tradeoff made, to maximize dApps based application development adaptation, and increase it efficiency.


A smart contract is a programmable piece of code that runs inside the blockchain network and executed by all peers that joined that network. Its emergence was indeed an innovation and founded for next wave of blockchain applications, other than currency exchanges application dominated by the Bitcoin system. This was due to the fact the Bitcoin system was designed for currency exchanges and built with a limited instruction set, knowns as bitcoin transactions script; such instruction set are hardly could be used to develop practical  business rules set that are required by none currency uses cases. In 2014 Ethereum network was built as newly innovated decentralized blockchain platform, that can execute a programmable decentralized unstoppable application or what is known as dApps.

Ethereum smart contracts came with the promise of revolutionizing existing many businesses models. Agreements enforcement, and corporate business rules autonomous execution, between none trusted parties are a radical ideas. To provide practical uses case implementation, the blockchain platform, and its smart contract vehicle needs to guarantee the execution of those contracts instructions. Miners are responsible for warping up smart contracts transactions and put them into a block. Their behavior base on game theory rules with the absence of service level agreements. Accordingly, there is no guarantee that a given transaction will execute within a predetermined time box. You can motivate miners by increasing transaction fee, but there is no guarantee that miner would discard your transaction due to conflict of interest. This nondeterministic contract transaction execution is a significant problem not only in Ethereum platform but also in new entrants such  NEO and EOS.

Platform scalability and transaction throughput is a critical factor for the success or failure of any smart contract platform. Ethereum blockchain at time of writing relay on  PoW as consensus mechanism between peers, the frequency of block creation is on average to 10 to 20 seconds. Although the block size not capped to any limit like in Bitcoin, the block size correlated to the moving average of previous block gas limit. Hence, the average transaction per second for Ethereum is between 15 to 30 TPS, and the transaction finality requires 6 minutes or about 25 confirmations. Ethereum developers are under pressure to move finally to virtual mining consensus mechanism to boost up the network transactions throughput and scalability. Ethereum Casper protocols were the decision to go to solve this significant design issue. Casper is a modified version of the proof of stake PoS simple consensus algorithm, which mainly developed to tackle nothing at stake problem. Casper would keep monitoring all miners,  and if a miner acted in a malicious behavior and tries to execute a “nothing at stake” attack, they will immediately reprimand, and all of their stakes are going to get slashed. With Ethereum Casper, the consensus is approaching  Byzantine Fault Tolerant, but in a trustless and fully decentralized environment, and this when success, would be another Ethereum innovation and give it more competitors advantage. EOS, the competing Ethereum smart contract platform developers consider the scalability issue from its start. EOS consensus utilizes BFT with delegated proof of stake  - DPoS algorithm that capable of meeting the performance requirements of blockchain dApps. DPoS uses a reputation system and real-time voting to achieve consensus through a panel of trusted parties (Delegates or Witnesses) which can create blocks.  Those witnesses voted by the community at large and can be removed if unclean behavior observed. EOS  claim that transaction can be considered confirmed with 99.9% certainty after an average of 0.25 second from the time of broadcast. If this claim is valid, EOS made economic and performance tradeoffs, assuming that their consumers care more about performance than they do sovereign censorship resistance- aka decentralization!.

In many uses cases, to provide a solution for a real-world problem, blockchain smart contract need to interacts with the external world. Feeding in external data from another blockchain platform or external "trusted" agents is vital. Ethereum smart contract mostly relies on oracle services, e.g. oraclize.It to accomplish this task. Whenever a solidity smart contract needs data,  it feeds it from the external world; it would log an event with proposed data; oracle service keeps monitoring those events and callback smart contract with a new transaction. The contract needs to verify the authenticity of the fed data and may require a multi-level of signatures to guarantee the legitimate and safety of supplied data before changing its state. This complex task comes with a significant cost; smart contract needs to trust an oracle service, besides pay for that service to motivate it to call back smart contract with requested data, in addition to the execution of multiple transactions to complete the cycle. Ethereum as a platform does not provide standard protocols to ensure such complex interaction and leave the smart contract solidity developers to carry out this vital task. EOS from another hand does not offer something new in this issue, and most likely would copy same solidity smart contract interaction and complexity but with C/C++ flavor.

To guarantee platform security and reliability, mining nodes or block producers as they called on EOS, needs to be incentivized and rewarded for their effort. Ethereum follows nearly the same as Bitcoin system of incentivization model, which depends mainly on block rewards and transactions fees. The successful PoW miner will receive block reward and the transaction fee, which is equal to burning gas that is required to execute those transactions. Miners with valid uncle block rewarded with a different percentage. One major problem for this model is the gas concept -some amount of ether - which is needed to fuel each smart contract transaction, to be able to change its state or write on storage.Moreover, at the time of Status ICO, the network congestion increased, thus force clients to increase there gas consumption to motivate miner. Furthermore, as the time goes on, and ether value increasing, the transaction fee would increase accordingly. EOS take pride that there is no transaction fee at all. EOS utilizing new concept that enable the tokens holder to participant in the overall network ownership, in which holding EOS tokens gives users a proportional share in the network bandwidth, storage, and processing power. For example, if an investor owns 1% of the EOS tokens, he will be able to access to 1% of the network bandwidth, regardless of the load on the rest of the network.  EOS developers are arguing that by using this newly innovated model, small startups and developers can purchase a relatively small part of the system to receive reliable, predictable network bandwidth and computing power, and purchase more EOS tokens when they need to scale up their application. 
       
In conclusion, a solution for nondeterministic smart contract transaction execution not provided yet by both ethereum and EOS platform, and this would discourage some businesses from moving to a new decentralized model. Ethereum Casper has the potential and capabilities to solve the network scalability and transactions throughput. Meanwhile, EOS sacrifices up to a certain level of decentralization nature of blockchain, to be able to achieve performance and scalability requirements. Neither ethereum nor EOS platform provides a reliable and secure solution at the protocol level to interact with external agents and services, instead of left smart contract developers to tackle this vital issue. EOS no transaction fee philosophy is a big move and motivator for many startups, and the platform developers, network sharing model is newly innovated idea, but one needs to wait to see in production how much would be efficient to strike ethereum gas pricing model.                       


Comments

Popular posts from this blog

The New Internet Protocol: Blockchain

Consensus Models in Public and Consortium Blockchain: Tradeoff Analysis

Blockchain-Powered Internet-of-Things: Potentials and Challenges