EOS network overload and its future

in #eos6 years ago

This contents is the translated version of the following link:

https://medium.com/@langchain_44716/eos-%EA%B3%BC%EB%B6%80%ED%95%98%EC%99%80-eos%EC%9D%98-%EB%AF%B8%EB%9E%98%EC%97%90-%EB%8C%80%ED%95%9C-%EA%B3%A0%EC%B0%B0-bab38198f228






Hello World! This is Blockchain Architect David Goo from South Korea’s EOS dAPP LangChain.






After EOS Mainnet has launched since Jun. 2. 18., there has been lots of issues regarding sustainability of EOS Mainnet. Among the issues, I would like to discuss ‘network overload’ that was caused by the spamming of Blocktwitter’s transactions. As a community member who loves EOS, and dAPP, I have considered deeply and write this article to share my thoughts. Here are the main questions.

  1. is the spamming transaction in the blocktwitter account a villain that damages the EOS ecosystem?
  2. will dApps be forced to build an independent chain eventually?

My answers to both questions are No.

1. is the spamming transaction in the blocktwitter account a villain that damages the EOS ecosystem?



Excessive spam transactions involving "we love bm" messages from blocktwitter accounts have been around since July. But why has it become an issue only a few months later? One of the first things I have to say first is the 'resource utilization structure' of EOS. There are three resources in the EOS network: 1) CPU time, 2) Network bandwidth, and 3) RAM.

Among the three resources of the EOS chain, the remaining CPUs except the RAM, Bandwidth, are given according to the amount of token if they own the EOS token. It is easy to say that EOS token is a free pass to use the EOS amusement park. So far, if you are interested in EOS, I think you have heard it all once. EOS is allocated resources at a certain rate according to the amount of token, but the available range of resources is constantly changing depending on the congestion of the network.









The eosflare tracker allows you to check your current resource availability at any time. If you refresh the boxed part a few times, you will soon notice that the value changes. So why does the range of resources change from time to time? The main reason why the CPU availability range of an account is constantly changing is 'virtual-cpu-limit'. It is designed to change its value depending on the resource usage of the network, that is, the congestion.









Any value assigned to the Resource Calculator, in other words, if the value assigned to 0.1718 EOS is 6,000us CPU Time, then it should be possible to use only 6,000us, depending on the congestion of the network, is. In the end, the use of resources due to network congestion is the result. In the end, this resource usage structure is at the center of controversy because it has the potential to break the trust structure of EOS. In other words, the trust that ‘the more users with a lot of tokens, the less likely they will break’ can be broken. (Note: posts by @ collector999 of steemit)




EOS 's token philosophy is based on a kind of belief that ecosystems will move by tokens and that those who have a lot of tokens will act appropriately because they are concerned about their token value decline. A behavior of blocktwitter account stoking 50,000 tells us that the faith is broken. However, as a person who believes in the same philosophical beliefs, as a member of the EOS community, as a team member preparing for EOS-based dApp, I could not negatively look at the behavior of the blocktwitter. There are a number of reasons for this, but the first is that this account also caused a transaction by staking right away, and whatever the intent was, it was based on the EOS resource usage structure. The second is that the TPS of the EOS recorded 3,996, which is close to 4,000 units. I was wondering if it was possible to record these figures without the spamming transaction of this blocktwitter.





EOS is also experiencing a number of twists after launching the Mainnet and is facing the limits. EOS has faced a number of other issues and has faced many problems. The biggest implication of this is that EOS cannot escape scaling issues either. If so, is it really a constructive alternative for the dApp to leave their platforms and build their own chain of ecosystems? Here is my opinion on this question.







2. will dApps be forced to build their own chain eventually?




My opinion on the article written by @collector999 on Steemit is here. The EOS platform has a different performance from other platforms. However, EOS also suffered scaling issues. I think that not only EOS but all blockchain platforms will have scaling issues.



I understand the complaints of dApp enough. It is not my fault, but the projects that I have developed do not work well. But is it a good idea to leave EOS and build their own chain? If it's the current EOS, it's too early to judge the problem right now. EOS is still evolving. If you leave the advanced EOS platform and configure your own chain, you are at a great risk for dApp.


Let me categorize into 3 section that EOS has encountered currently. The first is the EOS resource usage structure, the second is the scaling issue, and finally the platform issue.


For the above issues, EOS has a very large and planned roadmap. I will briefly mention the solutions that exist in the roadmap.


First :: Resource Usage Structure ::



EOS is now required to stabilize resource allocation. In some ways, scaling issues have been caused by resource usage structures. The resource usage structure will gradually improve. These solutions include the following:

NEW Wasm Interpreter

Dan Larimer's new wasm interpreter mention that doubles Dan's CPU bandwidth. Currently under development.





GreyListing

There is Greylisting. Restrict resource usage in a manner similar to blacklisting for accounts that are overly or maliciously used for resource usage. The difference is that blacklists prohibit the use of account resources at all, and graylists do not provide flexible use of resources that are granted per token.



REX & Chintai Project

There is lREX and Chintai Project. It is not a solution to change the resource usage structure itself, but it is a project that helps tokens use idle resources effectively. Some argue that fixing the EOS resource usage structure by fixing the resource usage per token would solve everything, but that is a very simple thought. I cannot estimate all the reasons, but I think the biggest reason is to prevent the waste of idle resources. I think it is one of the reasons why EOS network is designed to minimize the idle resources of the EOS network. So there are REX and Chintai Projects as an effective solution to minimize these idle resources. These solutions are currently undergoing improvements and will gradually become more stable. It's by the EOS Community, by Block.one.



Second :: Scaling Issue ::

Scaling solutions can be improved in many ways. These solutions include:

Multi-Thread


https://forums.eosgo.io/discussion/187/understanding-multi-threading-in-eosMulti-Thread.

As Dan Larimer mentions, the currently launched mainnet's EOS.IO is a single thread. Multi thread is currently under development. It is one of the scaling solutions that can handle transactions at least several times more than the current one.

IBC & Multi Universe in EOS



Dan's Technical information about IBC / https://steemit.com/eos/@dan/inter-blockchain-communication-via-merkle-proofs-with-eos-ioIBC. You can even implement a massive EOS multiverse. KOREOS 'Devin Lee's EOS multi-universe ecosystem Thus, EOS can extend beyond the scaling solution through the parallel universe of other local and side chains to expand the use of EOS resources.

Third: Issues with the EOS blockchain platform ::
Even if you try to solve this scaling issue, some people worry about the ultimate blockchain usage direction. EOS takes this into consideration. That's Demux. I think this is one of the key roadmaps.



DEMUX



Introduction of Demux - by EOSIO. The issue of which information to write to the on-chain or off-chain is not limited to EOS. EOS Demux, introduced in this article, can be thought of as a framework that allows you to use EOS blockchain while using existing database.

For a moment, core information of DEMUX - by EOSIO. Among the users who use existing applications, the information that they want to have transparency must be recorded in the EOS blockchain, and the remaining actions will be done through the existing application databases. That is, it is linked. How can the EOS chain be used with this DEMUX solution? I would like to explain to you a simple example. A game contains a number of elements such as hunting, item trading, ranking, and chat. The only thing that really needs to be decentralized and transparent is blockchain, which makes blockchain very good, and the rest is running on the old server.




This is Maple Story Game. There are countless elements in the game such as hunting, exchange, and ranking. The above image is a hunting scene, such as hunting and all the actions on the chain, one by one, it will surely cause a tremendous overload of dApp in the network. So these hunting actions can be run on an existing server. The information that can be used with existing servers, such as who is hunting monsters from anywhere, does not have to be implemented on the blockchain.



This is Maple Story’s an exchange scene. The game money generated by one game is also exchanged as real money (eg, item enthusiast, item bays). Whether the game money was produced fairly, I think that the information is transparent and decentralized, whether or not I am doing the atrocities that take unlimited money and convert it to Fiat Money.


In this way, the part that needs to give quick hunting through the DEMUX, that is, the real time nature, is put on the existing DB, and the portion that the user wants to decentralize is put on the EOS blockchain.


If all transactions are not written on the EOS chain, the IOS with the various scaling solutions mentioned above will be available at the existing platform level. Let's say you have two games of different character. The first has fast speed and good quality, but the user does not know at all how the item is created and the experience is gained (related to ranking). This makes unfair transactions possible. The second is also fast and of good quality, but decentralize everything about how they got each other's items, whether they did not acquire game money in an unfair way, how to achieve a high level and maintain a high ranking Can be seen transparently on the server.


In addition to being affordable and superior in quality, decentralized and open applications. What would you choose if you were a user? I am going to use dApp of the EOS network. It's a foolish choice to give up the EOS network with a large number of users and build up your own chain. In other words, you can expect that there will be much more dApp to configure on the EOS platform that has enough users than the dApp that breaks apart by building your own chain. EOS, a blockchain application that considers resource stabilization, scaling solution, and interworking with existing servers. I think that EOS is the center of the whole world. Thank you for reading my article so far.


On the other hand

Even the ‘blocktwitter’ account has halved the amount of staking this time. I was interested in this because the creator account of the ‘blocktwitter’ account is 'gu2tembqgage'. This account is stalking many places, purchasing RAM, and performing token transfers, etc., and it is difficult to track the actions taken by this account. I had an account that I saw impressively, it was a ‘chaintwitter’ account. These two accounts were very similar in the amount of accounts that were created and actively staked by the ‘gu2tembqgage’ account when the screenshot was taken, that is, when the issue was happened (of course, still making transactions). Both accounts received about 50,000 EOS staking. At the moment I am writing this article, it is reduced to 20,000 EOS, but as both accounts were reduced to 20,000 IOS. Maybe they are moving another staking amount to another account and preparing another spammy transaction with more accounts. But do not panic this time! It's already happened once!


‘blocktwitter’ and ‘chaintwitter’’s same cccount creator

Sort:  

@undefined님이 당신의 글을 번역 요청했습니다

의뢰시간언어금액거래번호송금기한
2018-9-13EN → EN40.1 STEEM472a4c362dcf44d7e202a2bdfacd8c342018-9-13 17:35
  • 현재는 베타 버전이며 단어당 0.02 STEEM의 고정단가를 적용하였습니다.
  • 송금기한까지 송금을 완료하여야 Steemit에서 활동하는 번역가가 작업을 시작합니다.
  • Steemit에서 콘텐츠를 간편하게 번역하고 싶다면 Steemit Translation by CICERON을 설치하세요.
  • Steemit 번역가 등록하고 STEEM으로 보상받으세요.

Powered by Steemit Translation by CICERON

@undefined님이 당신의 글을 번역 요청했습니다

의뢰시간언어금액거래번호송금기한
2018-9-13EN → EN40.1 STEEMf18455de17ae4d1d54bc446921daff9e2018-9-13 17:41
  • 현재는 베타 버전이며 단어당 0.02 STEEM의 고정단가를 적용하였습니다.
  • 송금기한까지 송금을 완료하여야 Steemit에서 활동하는 번역가가 작업을 시작합니다.
  • Steemit에서 콘텐츠를 간편하게 번역하고 싶다면 Steemit Translation by CICERON을 설치하세요.
  • Steemit 번역가 등록하고 STEEM으로 보상받으세요.

Powered by Steemit Translation by CICERON

@undefined님이 당신의 글을 번역 요청했습니다

의뢰시간언어금액거래번호송금기한
2018-9-13EN → EN40.1 STEEM3dc295b02ded34adf86fe02c4497120c2018-9-13 17:48
  • 현재는 베타 버전이며 단어당 0.02 STEEM의 고정단가를 적용하였습니다.
  • 송금기한까지 송금을 완료하여야 Steemit에서 활동하는 번역가가 작업을 시작합니다.
  • Steemit에서 콘텐츠를 간편하게 번역하고 싶다면 Steemit Translation by CICERON을 설치하세요.
  • Steemit 번역가 등록하고 STEEM으로 보상받으세요.

Powered by Steemit Translation by CICERON

@undefined님이 당신의 글을 번역 요청했습니다

의뢰시간언어금액거래번호송금기한
2018-9-17EN → KO40.1 STEEM51cea6bb1794bc12fba1bc724e1f9c012018-9-17 2:15
  • 현재는 베타 버전이며 단어당 0.02 STEEM의 고정단가를 적용하였습니다.
  • 송금기한까지 송금을 완료하여야 Steemit에서 활동하는 번역가가 작업을 시작합니다.
  • Steemit에서 콘텐츠를 간편하게 번역하고 싶다면 Steemit Translation by CICERON을 설치하세요.
  • Steemit 번역가 등록하고 STEEM으로 보상받으세요.

Powered by Steemit Translation by CICERON

Congratulations @ciceron! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 1 year!

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @ciceron! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!