The EOS blockchain, launched on June 14 after the 340-day ICO, will naturally face many problems as it grows. The "Ethereum Killer" guarantees zero commissions and high scalability, which will allow thousands of decentralized applications (dApps) to coexist on the platform. According to these indicators, EOS wins over its overloaded, expensive, and slow progenitor.
The developers of the first dApp on EOS, however, are concerned about another question: if Ethereum is expensive for application users (any action inside the game or another dApp is determined by smart contracts and requires calculations that the user must pay for in gas), then EOS is expensive for developers. "So EOS puts the cost of transactions and storage onto the developers. ETH puts the cost onto users," writes a discussion participant on Reddit.
Yutin Chen, CEO of the recently launched EOS game PandaFun, estimated that all EOS dApps together required resources of 21,000 EOS ($122,000 at current rates). The deployment of a smart contract for a dApp on Ethereum will only cost $100.
Where Do Such Figures Come From?
EOS, by its very nature, assumes an "equity" network device. This logic is determined by the consensus algorithm, the DPoS (delegated proof-of-stake, or delegated proof-of-share). If, with the valid proof-of-stake, any participant in the network can become a validator (and the probability that it will generate the block that is proportional to the number of coins in its account—that is, its share in the network), in the delegated version, validators, or block producers are “selected" by simple users. Thus, the EOS network is supported by a "constantly changing group of 21 block producers." Their share in the network is necessary to confirm transactions and generate blocks, and "voters" to participate in elections. A similar rule operates everywhere in the network—those who own a larger share of the network have a more powerful voice.
The other, but also the "shared" mechanism provides "everyday" work for EOS. That is, it allows users (and developers) to open accounts, perform transactions, and create smart contracts, and it also protects the network from spam. This mechanism is called staking. In fact, it makes the absence of commissions possible, since, in the Bitcoin and Ether networks, all these operations (except creating an account) are "sponsored" by commissions.
Staking is the "locking" of funds for a certain period of time in exchange for one of the resources needed to work on the network. Here are these resources:
Network traffic (NET). Average NET consumption is measured in bytes that were spent during the last three days. NET is consumed every time you perform an action on a blockchain, for example, sending a transaction. The more tokens you reserve as a share of the network, the more NET you get for use.
Processing time is the time that the CPU spends on the execution of a given action. Average CPU consumption is measured in microseconds you spent in the last three days. Processing time is also expended in the implementation of each action on the blockchain. And the longer it is, the more CPU power it consumes.
These resources are allocated in proportion to the number of tokens you contributed to the three-day stake contract. When carrying out staking, you specify which part should go to purchase the CPU, and which one should go to NET. Subsequently, you can either add funds to the contract or abandon the resources at your disposal by exchanging them back to EOS tokens. That is, when staking, you do not lose your money. Being in the contract, they will be depleted, but after three days, the cost of the contract in EOS will return to the original indicator. The only thing that will change is the dollar equivalent.
The economic essence of staking is to confirm that you do not spend "pledged" tokens during the contracted time. That is, you keep tokens at the time of inflation when the producers of blocks "mint" new coins that go to them as a reward. In this way, you pay nodes that process transactions and provide processing power.
The third resource is RAM. We will talk about it separately since the way of its acquisition is different from the stake. It is bought on the internal RAM market, where the price is adjusted automatically depending on supply and demand. RAM is required to store data on the blockchain and users pay for a certain number of bytes. If you do not need a certain amount of memory, you can sell it at the current exchange rate and get EOS. The amount of RAM is limited (currently 72 GB, of which 62 percent is being used), but can be increased if necessary. Block producers increased the amount of memory once already when speculators started buying up RAM to sell it later at a higher price after the launch of the main network. This raised prices to 0.94 EOS per KB—nine times higher than the current level. Then it was decided to double the RAM emissions, adding 64 GB per year at the rate of 1 KB per block. And this step has allowed the market to calm the use of random access memory.
On an Industrial Scale
To develop EOS applications and onboarding (attracting) users to the project will require a large number of the three listed resources, and hence, an impressive amount of funds. Even considering that tokens paying in NET and CPU, in fact, are not wasted, they should always be "reserved."
Kevin Rose, co-founder of a block producer EOS New York blocks, said he is in talks with a group of developers who want to use EOS instead of their current platform.
The transition from Ethereum to EOS has been openly announced by the Tixico event platform: EOS "The promise is to scale enough for even millions of users to use it, and this is crucial if a platform is meant to serve very high number of people all at once as it is with ticket selling when tens of thousands can simultaneously log on to make a transaction." Among other advantages, Tixico also noted the lack of commissions.
Each of these teams will have to pay dearly for attractive scalability. The CEO of PandaFun, who reported about 21,000 EOS used for the development of the application, also spoke about the distribution of the tokens on the resources. For example, 10,000 EOS (about $58,000 at the current rate) went to RAM, and the same number on the CPU and 1,000 EOS ($5,800) on NET. Chen noted, however, that most of the RAM will be needed for an upcoming token sale, and less will be needed for the game itself.
On average, creating an account for each user requires 4 KB of RAM (about $2.7 at the current price of RAM). RAM is required for many other actions, too. "We do not yet understand the total cost of onboarding for the user dApp. I do not think that this data can give us confidence in the average [price index]," Rose said.
In June, however, when the cost of creating the account was even lower (between $0.50 and $1), the discussion among participants on GitHub already noted that such a RAM model "0.5 to 1.0 USD per account simply cannot work if your target is to create tens or hundreds of million user accounts for your dApp."
At Whose Expense?
The cost of resources can subsequently become a problem not only for developers but also for users of EOS applications. "There are usage scenarios in which the developer can write dApps so that the user must have their own CPU and/or NET and/or RAM for interaction. This is one way to write an earlier version of your dApp so that you do not go broke if the application suddenly becomes popular," says former vice president of product Block.One Thomas Cox.
In a discussion on Reddit dedicated to how developers can cover the cost of RAM, CPU, and NET, the introduction of special commissions for users has become one of the main proposals. "They could easily create a fee to use their dApp, whether it be EOS or their own token. That fee would go towards the dApp’s developers," a user wrote under the name mr1ply. Another participant in the discussion, SuddenAnalysis, notes that, although many applications will obviously start charging this fee, others "will have an inflationary model where the developers receive some or all of the interest through inflation to continue paying for things relying solely on the value of their platform." "Inflation! You need to design your crypto-economics in a way that inflation will cover development costs," wrote ablejoseph.
In this case, the resources obtained through stapling CPU and NET are, in the opinion of some users, not a big problem for developers. "If the developers are already staking a bunch of EOS, they really shouldn’t have to be worried about ongoing expenses. The tokens themselves scale as the network expands. If they have to buy more EOS tokens then they should be able to sell their dApp token to pick up more EOS for CPU and bandwidth, but your concern is a valid one. Each dApp is going to have to have a well-thought-out economic model that can sustain itself and expand."
It is too early to make forecasts for the cost. Now, the network is just beginning to attract users and developers. According to Dapp Radar, at the moment, only six EOS applications have more than one hundred visitors a day and only two more than a thousand. In connection with this, CPU time costs only a little at 0.00049966 EOS per KB ($0.003).
In a recent post on Reddit, the user of the second most popular EOS application EOS Knights already draws attention to the hard-to-reach requirements for the amount of staking for the CPU. The user under the name AGameDeveloper says that he introduced 10 EOS ($59) as a stake, but this was not enough. According to EOS Knights, to start the game, the user's share allocated to the CPU should be at least 15 EOS ($88), but AGameDeveloper writes that, in fact, the minimum stake is $500." Current CPU utilization is eight percent, so go figure how expensive the stake will be at 100 percent," one of the discussion participants wrote under the post.
In August, hackers were able to absorb the RAM of someone else's account using the notification function to spam the RAM space with useless data. One of the solutions to such problems was described by EOS technical director Dan Larimer, but it was proposed in the framework of an ambiguous and yet unapproved proposal to completely rewrite the "constitution" of EOS. Another solution, published on GitHub, involves sending tokens through proxy smart contracts that do not contain RAM. In any case, the solution to this problem, in fact, remains on the shoulders of the developers of each individual application.
In addition, the system designed to protect against spam was spammed, which became possible and not too expensive due to today's low price of the CPU. The owner of the Blocktwitter account was entertained by "sending messages that included 192 million actions, which, today, amounts to about 95 percent of all EOS transactions," said Tom Fu, a partner in the GenerEOS company. Practically all of them contain a record: "WE LOVE BM" (a reference to Larimer's nickname “Bytemaster”). According to Fu, the messages are "not important,” but they have a negative impact on the network because Blocktwittter owns a large share of the CPU, resulting in a reduction in CPU time allocated to other users and developers.
Light at the End of the Tunnel
In early August, Larimer proposed a model for the lease of CPU and NET, which "will reduce the cost of using the EOS network."
Cox noted several obvious advantages of EOS, which already distinguish the young platform from Ethereum. First, the new "Crypto Kitties" will not stop EOS as it happened with Ethereum. Staking ensures that the network's performance will be supported by a certain amount of reserved CPU. Second, two of the three resources, EOS, CPU, and NET, are "renewable" (unlike gas in Ethereum). That is, after the expiration of the three-day validity period of the stealth smart contract, the funds will be released and may be reused for the same (or other) purposes. Unused or released RAM (RAM), too, can be sold though, perhaps, at a lower price (or maybe even higher). In addition, the arbitration system that supports EOS security is considered sufficiently robust to defend against attacks against DAO and Parity scenarios, while the developers of Ethereum applications, according to Cox, are "in one bug from bankruptcy."