EOS vs Ethereum: consensus, smart contracts, management.

in #cryptocurrency6 years ago (edited)

06/15/2018

Ethereum is the most popular platform for launching smart contracts. However, soon, if not a year event in the world, crypto currency, then, at least, this half-year: will launch the main network of EOS - perhaps the most powerful competitor to Ethereum.

About the structure of EOS and Ethereum, in a special material for ForkLog CEO Yuri Vasilchikov told Smartz.

The Origins of the EOS

As many remember, Ethereum appeared three years ago, and EOS is launched this year, but the new blockade did not emerge from the void. EOS is based on the experience that the developers received with the decentralized exchange BitShares and the social blockbuster platform Steemit (third-party developers created its Russian-language fork - Golos).

At the heart of BitShares and Steemit is a single engine - Graphene. The BitShares exchange appeared in 2014, that is earlier than Ethereum. The Steemit social network was launched in 2016. In fact, the EOS project is working with, conditionally, the third generation of the engine. The capitalization of EOS at the moment is about $ 12 billion, which indicates the interest and trust of the community.

It is worth mentioning that the mainstream EOS network recognized by the community has not yet been launched, and developers continue to improve the code and make changes to it, releasing new versions. Therefore, some characteristics of EOS may change by the time you read this article. At the time of publication, the current version of EOS is 1.0.3.

Overall comparison

The token model. In EOS and Ethereum, the token model (someone would prefer to call it a koin) is the same - inflationary. That is, tokens are issued in order to issue premiums to the miners. Recently, Vitalik Buterin wrote that he wants to remove or reduce inflation in Ethereum, but as long as it exists. In EOS, inflation is set at 5% per year - this is embedded in the algorithm and, presumably, will remain unchanged.

Transaction payment model. Transaction fee is important not only to motivate block producers of aka miners, but also to protect networks from DDoS attacks and zampalivaniya. This is protection against a conditional infinite loop in a smart contract that could "hang" all the miners' machines.

In Ethereum protection is made with the help of gas. Each operation in a smart contract is worth a certain amount of gas, and in the block its a limited number. You can not make an infinitely complex smart contract, because the gas is paid, and the network is protected from spam.

In EOS transactions are conditionally free. We do not pay for gas - it's not. Instead, there is a network bandwidth, the so-called bandwidth, which is given to each user, depending on the share in the EOS network that it has.

If you do not have enough network capacity, you can buy EOS tokens and run more complex contracts. Let's say you have 100% network performance. If you hold 1% of the EOS tokens, you can use 1% bandwidth.

The resource that consumes the smart contract is calculated from three parameters: processor processing power, the amount of data stored and the memory used.

The number of transactions per second. In the Ethereum network, at the peak, there were about 15 transactions per second. EOS promises in June from 1000 to 6000, and then also to scale this parameter.

In the EOS there are only 21 "miners", that is, the block producer. They are not mined in the sense that the minecraft bitcoin or Ethereum is not Proof-of-Work (PoW).

To make transactions more than a second, miners must supply more powerful equipment. The EOS engine provides a good separation of threads, potentially providing a very large number of transactions per second.

Smart contracts

Virtual machine. Ethereum uses its own virtual machine EVM (Ethereum Virtual Machine), and EOS uses the open standard WebAssembly. The EOS engine is considered more modern and versatile.

Development languages. Languages ​​for the development of smart contracts in these blockages can be any. Most importantly, they must be compiled into EVM for Ethereum and in WebAssembly for EOS.

In practice, Ethereum mainly uses the language Solidity. It is easier to learn than C ++ and Rust, which are now mostly used for programming under EOS. This may change in the future with the advent of new compilers, for example from JS to WebAssembly.

Protection from DDoS. As already mentioned, Ethereum uses gas, and in EOS - bandwidth.

Account model. The account ("address" in terms of EOS) in both networks is a pair of keys (public and private). In Ethereum, the model is flat, that is, all the addresses are absolutely equal and there is no sharing of accesses.

EOS has a built-in hierarchical model, almost like in operating systems. That's why EOS-developers and present it as a block-OS. The primary account in EOS can manage the children, granting them different access rights: for writing, for sending certain transactions. At the same time, all accounts are inherited from the accounts of the block producers ("miners"). And so they have a very big influence on the network.

The model of interaction of smart contracts. In Ethereum, there is a smart contract address and a transaction. A flat model is used: both ourselves and smart contracts can send a transaction.

In EOS, to send a transaction (called here "action") to a smart contract, you must first obtain permissions to start certain transactions. This is a very flexible system in terms of configuring access, security, upgradeability, and so on.

Separation of resources. In Ethereum, to give one smart contract access to the resources of the other (storage), it is necessary to specifically provide the delegate call function.

There are much more possibilities in EOS - you can assign different rights: which contract, address or account has access.

Error correction. In Ethereum, you need a fork to fix bugs, and in EOS, block producers can ban an uncomfortable contract or fix another bug.

Consensus

Consensus type. In Ethereum, a limited resource is the computational power of the miners - this is the known model of the consensus Proof-of-Work.

In EOS, an algorithm is presented to achieve consensus Delegated Proof-of-Stake - a limited resource is the voices of network owners. There are specially designated block producers, for which EOS holders vote. They close the blocks, performing a payload.

Consensus resource. Today, the block producers in Ethereum and Bitcoin are large mining pools that have enormous processing power.

In EOS, only 21 producer blocks. Everyone is elected by a common vote. Voting can be multi-stage - you vote for a candidate who can vote for some kind of node, which is a candidate for block producers.

Algorithmic type. In Ethereum a probabilistic algorithmic type of consensus, that is, we do not know which node and when the next block will close.

In EOS, a deterministic type of algorithm acts: it is precisely known which node closes the block and when. Nodes alternate in a strict order, and time is also strictly defined.

Formation of blocks. In Ethereum, an average of 0.03 blocks per second is generated - about 1 block in 30 seconds.

The EOS has 2 blocks per second.

Number of nodes to close the block and attacks. In Ethereum, only one living node is enough to close the block.

EOS needs 15 nodes: 2/3 of all active block producers and one more node.

The same number (14 + 1) is needed for the attack, as in the attack on Ethereum: 50% + 1 (51%).

Transactions as proof of share: Traded Average Price Options (TaPoS). TaPoS is the verification of the chain when a hash of the previous block is added to each transaction. Ethereum does not.

In EOS, this is an additional level of protection. If we suddenly "replay" the block and change something, we have a hash of the previous blocks and all the transactions in the new block become invalid.

Network management

The management of the blockbuster Ethereum occurs off-line. EOS is managed (onchain) by a share vote of all holders of the token.

It is assumed that the network management in EOS will occur through the sending of transactions. You send a voting transaction, as if your voice, and the EOS you are storing vote for choosing a block producer (BP) or for some changes directly in the code.

You can imagine this in the following way: there is a commit on GitHub, for which they vote, so a decision is made whether to change something or not.

The same goes for the ban of unscrupulous block producers and the delegation of votes.

Awards and inflation

Over the past couple of months, the rules for distributing awards between block producers have undergone changes. And most likely, they will still change. The actual data can be found directly from the EOS code.

At the moment, out of 5% of fixed annual inflation, only 1/5 (20%) is intended to reward block producers. The remaining 4/5 (80%) go to a separate fund, the distribution rules of which are not yet clear enough, and we will leave them outside the scope of this article. Previously, it was assumed that the BP themselves will decide by their own vote which part to direct to themselves for the reward, and which - to the fund.

In turn, 25% of that 1/5 part of the volume of annual inflation receives active block producers, which close the blocks (this is the top-21 BP). The remaining 75% - all the block producers, both active and backup, divide among themselves in the proportion in which they received votes.

So far, the economic meaning of this system is not very clear. There is a possibility that after the release of EOS, several networks will be launched at once. After all, candidates for block producers have already registered more than 180 - and all of them will presumably claim to hit the top 21. And the EOS developers themselves do not plan to launch their own block, leaving it entirely on the side of the community.

There is a debate on whether the nodes should pay votes to their constituents. 5% of EOS inflation and even 1% is quite a lot of money. With a network capitalization of about $ 10 billion (at the time of publication of the article), 1% is a hundred million dollars. Block producers have an economic sense in attracting votes, but the vast majority of BP candidates declare that they will not buy votes, and this is generally a vicious practice that must be avoided. It is possible that these statements are made, rather, for legal reasons.

Conclusion

In conclusion, it should be noted that when bitcoin appeared, it already had programming capabilities, but not so wide. Then came Ethereum with their turing-full smart contracts, and new amazing opportunities opened up. EOS is the next step that opens up new horizons that are not always immediately obvious even to those who are familiar with Ethereum.

At the moment there are two networks claiming to be called EOS-mainnet, in none of which for block producers the total "appearance" of the holders for voting did not exceed 15% necessary for the beginning of the full-fledged operation of the network. Presumably, this will happen in the coming days or weeks.

source: https://forklog.com

cryptocurrency-3409725_960_720.jpg

@dorabot, @SteemGigs, @banjo , @cleverbot , @dailyupvotes , @surpassinggoogle , @minnowpond , @mahdiyari , @steemitph

Sort:  

Life is such a thing, sometimes it beats hard, and aspirin and honey do not always help.
@originalworks @dorabot, @banjo , @cleverbot ,

I don't know what are you talking about anymore. Why don't you sit on any chair?

I think to much and tend to forget what I'm doing.

Can't you think up some, or at leats follow the conversation more closely?

Did you watch Dune. That starred Davd Bowie.

I hold the invisibility cloak that haggerd gave to me.

Coins mentioned in post:

CoinPrice (USD)📉 24h📉 7d
BTCBitcoin6193.710$-7.9%-5.32%
BTSBitShares0.140$-12.07%-12.09%
EOSEOS8.804$-15.07%-18.59%
ETHEthereum475.846$-9.4%-4.29%

Coin Marketplace

STEEM 0.29
TRX 0.12
JST 0.033
BTC 63464.16
ETH 3111.33
USDT 1.00
SBD 3.98