EOS is a programmable blockchain offering smart contract computation. Compared to Ethereum EOS introduces a different approach to solving some scalability and usability problems. EOS is developed by a company called block.one based in the US. The founder of EOS Daniel Larimer is also the founder of two other blockchain projects. One is Bitshares which is a decentralized exchange and Steemit – a decentralized social network similar to Medium or Reddit.
EOS introduces a different consensus algorithm called – Delegated Proof of Stake (DPoS). The main difference between delegated proof of stake and other mining algorithms is that there is a pre-determined number of miners also called delegates. In the case of EOS, there are 21 delegates securing the network. Delegates get appointed by voting. Each user who holds tokens can vote for delegates. DPoS is still considered a permissionless consensus algorithm because anybody can become a delegate. One just needs to get enough votes from the community. Any delegates who don’t get into the first 21 are placed on a waiting list. The idea of DPoS is to embrace scalability. Block times in EOS will be fixed at 1,5 seconds. There is no competition between delegates because the mining algorithm randomly appoints block producers proportionally to their voting stake. There is a big discussion around DPoS regarding the centralization of the algorithm. Both sides have their arguments and visions.
EOS has a different fee mechanism when compared to other blockchains such as Ethereum and Bitcoin. Normally when a user wants to send a transaction over the blockchain one would need to pay a fee. In the case of EOS, transactions are free of charge. The only requirement for sending a transaction is to deposit few tokens into the account. The network bandwidth is split into portions relevant to user’s deposits. If a user holds all the tokens in one account then he/she would be able to use the full network bandwidth. If the network is not fully utilized then participants will be able to execute more transactions than initially expected.
Unlike Bitcoin, EOS has an in-build account management system. It is similar to a bitcoin address but it comes with human-readable names. Similar to Steemit, accounts have different private keys for different operations. For example, a user might have a private key for sending messages and another one for signing into applications. The access management provided by different keys provides higher security for the users. EOS offers an integrated key recovery system which offers users the ability to restore their accounts in the case of theft.
In addition to producing blocks, delegates will provide decentralized network storage. The storage a user would be able to use will be determined by his/her token holdings. More tokens allow for more storage. It is up to a delegate to decide how much storage they are willing to provide to the network. The amount of storage offered might influence the voting for a delegate. The storage will be based on IPFS which offers a peer-to-peer file discovery. All files on IPFS are referred to their corresponding hash. If a file gets modified then the new hash won’t be discoverable for the network.
Similar to Ethereum EOS will offer a virtual machine for deployment of smart contracts. EOS claims that it could support different VM versions including the Ethereum EVM. There are two options for a virtual machine mentioned in the whitepaper.
Web Assembly VM – it could enable smart contract development in C/C++
The Ethereum EVM – EOS could modify and implement the Ethereum Virtual Machine
EOS Technology Stack