Ethereum has been for a long time a default choice for blockchain applications to launch on and issue their tokens. However, Ethereum faces serious challenges in supporting widely-used applications with its inability to process a large number of transactions. As a result, founders of blockchain projects are turning to alternative blockchains to build their applications on. We decided to use a hybrid system, which consists of a central database and EOS blockchain. The rationale of why we don’t use blockchain for everything and our principle on deciding what should be on blockchain or central database can be found here.
In the first iterations, our project will be focused on ICOs, and later we’ll extend to non-blockchain and non-token startups for fundraising. Given our initial focus on ICO, we have to use blockchain that we think will be the best for the founders using our service. Please note that it doesn’t mean that teams building their Dapps on other networks can’t get funded through us, since we’ll eventually support multiple blockchains, and moreover funding process can be separated from the application logic (i.e. startup can run fundraising campaign through us and therefore EOS, but when they are ready to launch their Dapp, they may switch investors’ tokens and migrate to a new chain). With that being said, we still want to avoid the hassle of switching, and hence we have to choose the “best” blockchain, which in our mind should satisfy the following:
- Ability to support a large number of users
- Ability to support general-purpose applications (instead of just financial ones)
- Be decentralised and censorship-resistant
Supporting a large number of users
To support a large number of users, blockchain, like any other network, requires the following: the ability to process a large number of transactions per second (tps) and ability to sustain a denial spam attack.
Regarding tps, it’s clear that EOS does the job well by being the most scalable public blockchain in the world, currently being able to process ~5k tps, and this number constantly increasing with the new upgrades of EOSIO software.
Denial spam attack is when bad actors overload the system by pushing a lot of fake transactions. Most blockchains solve the problem by requiring commission over transactions. While this does solve the problem to some extent by making such attacks costly, it’s still possible for an evil actor to keep the network unusable for a certain period of time, depending on how much money such an actor is willing to spend. Unlike most other blockchains, EOS uses a different model, where holding EOS tokens guarantees you a proportion of network resources no matter what, and this effectively prevents a spam denial attack and ensures you a fair stake in the network.
Supporting general-purpose applications
Since we want the benefits of the blockchain to extend far beyond simply moving coins or standardised financial applications, we need general-purpose smart contracts, flexible economic system and permissions system.
EOS supports Turing-complete smart contracts, which allows building applications with complex logic. I have to say that this condition is satisfied by lots of blockchains like Ethereum or NEO, but we should note that there are some that don’t, e.g. Bitcoin or Stellar.
As we previously stated, every interaction on the blockchain requires a transaction, and with most blockchains, every transaction has a cost. While for some blockchains (e.g. Waves) cost of a transaction may be very cheap, it’s not free. Consider a social network where each post or like would cost you some money, even though very little, you may still consider twice before posting or interacting in any other way. Besides, non-crypto people are used to “free” services like Facebook or Twitter, so mainstream blockchain versions of these applications should appeal to non-crypto users. EOS economic system allows exactly this by allowing developers to lease their EOS network resources to users, so users can make interactions on blockchain without paying for transactions and even without holding any cryptocurrency, which may be useful for applications that have their monetisation model as advertising.
Moreover, EOS support multi-level hierarchy for accounts, which allows configuring a different kind of permissions. Consider for example your cryptocurrency wallet, or social media account, or any other type of profile, which may be very valuable for you and losing access to it would be a disaster. With most blockchains, losing the key to your account would mean losing your account for good, but with EOS, you can, for example, configure a set of friends, who will have the ability to recover your account. Another example would be to allowing your employers post from your company account, but not the ability to take control over the account. All these kind of things are easily done on EOS blockchain.
Decentralisation and censorship-resistance
This is the part that EOS is being criticised most of all. Decentralisation and censorship-resistance are achieved when a network is controlled by many different individuals from all over the world, rather than a few dominating players.
EOS has only 21 nodes (called Block Producers) that directly control the network by verifying transactions and including them in the block, while others networks like Ethereum or Bitcoin have thousands of nodes, so one may jump to the conclusion that EOS is strictly more centralised. However, it’s not that simple as (de)centralisation is a rather vague concept, and measuring it by the number of nodes doesn’t make sense, as there may be thousands of nodes, but a single node may control 70% of the network. In EOS, 11 nodes control more than 50% of the system, whereas, in the case of Bitcoin or Ethereum, only three mining pools control the majority of the network. A single entity does not necessarily control mining pools, but the question of (de)centralisation of EOS vs other public blockchains is not so straightforward.
Regarding censorship-resistance, this is probably where EOS lacks the most. The process of electing BPs is through voting of people who hold EOS tokens. In theory, as election candidates are competing with themselves for votes and the ability to become BPs and receive block rewards, they wouldn’t engage in harmful practices due to the possibility of being voted out. However, in practice, things are more complicated, and there’s a possibility of major token holders to collude and vote for themselves, thereby taking control over the network. While there’s no evidence to support that this has happened with EOS blockchain, we will be carefully observing what will happen in the future. It’s important to remember, that in case it does happen, EOSIO architecture supports sidechains and sister chains, so it would be possible to switch to a new network where token distribution is more distributed and where it’s harder for token holders to collude.
To sum up, we’ve decided to be pragmatic and choose EOS because of its good architecture and economic system, which allows supporting general-purpose applications and a large number of users, at the expense of possible collusion and reduction of censorship-resistance. In case it becomes a problem, we may switch to a new blockchain on EOSIO architecture, which will have the same technical benefits, but will have a new distribution of tokens and greater censorship-resistance.