Earlier today I attempted to create a multisig account on the Ethereum blockchain only to discover that $85 dollars of ETH would be an insufficient fee. Shocked that fees could be so high I investigated only to discover that the STATUS ICO flooded the Ethereum blockchain with an unprecedented number of transactions.
Scanning the forums on reddit, user emanslpater made the claim that it doesn’t matter how good the network is, it will suffer from denial of service with these ICOs.
The problem with these "race condition" ICOs is that it doesn't matter how good the network is--that just becomes the new race condition. Say the network can handle double the transactions--then people just cram all of their transaction attempts into half the time. Even if the network could handle a billion transactions in a single block there would still be an incentive to transaction flood. -- emanslpater
I got a similar response in an Ethereum Telegram chat group where they blamed the inexperienced community for creating poorly designed ICO contracts.
This is another case of people looking at the problem wrong and then drawing the wrong conclusion. I will admit that at first I found emanslpater’s argument compelling; however, upon further consideration I concluded it would completely fail on any system that uses the rate limiting algorithm of EOS and STEEM.
No one is able to flood the STEEM or EOS networks to an extent capable of denying other users the ability to transact at their entitled rates. Someone with 1% of the tokens is always able to consume 1% of the available bandwidth, even under congested situations. Under less than congested systems they are prevented from consuming more than 50% of the available capacity.
So what would happen if the STATUS ICO was implemented on EOS? Users who only transact a few times per day (most users) would be completely unaffected. Those who regularly take advantage of the unused bandwidth of others will be rate limited but will still be able to transact like everyone else.
Million Dollar Give Away on EOS blockchain
Let’s assume someone constructs a contract that gives $1 million dollars to the first 1000 people to request it after a particular time. Let’s also assume that this contract has been advertized far and wide.
No one will be able to broadcast early because the transaction will be rejected and therefore not propagate across the network. When the time arrived everyone would broadcast their transactions at the same time. Each node would accept and relay the first 1000 requests and then reject everything after it. Every node would have a slightly different set of pending requests, including the block producer. The block producer would produce a block based upon the first 1000 it received and then broadcast it. Once broadcast all other nodes would accept those 1000 and discard the rest of their pending transactions which have now been declared invalid.
The entire ordeal would be over in 3 seconds and the network code would hardly feel it.
The problem Ethereum faces cannot be solved so long as it retains the current fee model and people insist on doing capped ICOs below market prices on a first-come, first-serve basis. These capped ICOs at below market prices might as well be million dollar giveaways. I am still looking for the "too many advantages of the gas paradigm" Vitalik recently alluded to.