Technology

Demystifying misconceptions on Klaytn’s technology!

Hello, this is Klaytn Team!

Recently, there has been a lot of false information circulating regarding Klaytn’s technology and the mainnet’s stability, so we would like to take this opportunity to set the record straight. This article does not intend to deny the inconvenience experienced by users, but rather to clarify the core causes of the issue, and to help users decide for themselves whether technological improvements for Klaytn and the Klaytn ecosystem would be possible.

Q. Klaytn network fails frequently due to stability issues?
In the 3 years of Klaytn’s existence, there have been 2 cases when the Klaytn mainnet actually experienced an outage. The causes as well as the patch for the network delay have been explained at depth immediately after the measures.

These incidents are not uncommon even for other promising projects. According to an article by Coin Telegraph from May 2nd, there have been seven such incidents just this year alone. Nevertheless, there isn’t much criticism that it “stops often” as there is of Klaytn. So the comments from our communities that Klaytn “stops often” must not simply refer to these two incidents. We will get back to this after explaining the extended network delay.

Q. There have been times when blocks have not been created for an extended period of time. Is it due to a fault in the consensus mechanism?
The extended block creation delay is actually proof that Klaytn’s consensus mechanism works in a stable manner. A transaction bug was identified, and it did not go unnoticed by the consensus algorithm, which then put block creation and processing on hold.

Q. What do you mean that the consensus mechanism worked as expected when the block creation stopped?
The mainnet was designed to halt block creation upon detecting a bug due to its distinct philosophy. Klaytn’s consensus mechanism is based on a philosophy that is architecturally different from Bitcoin or Ethereum. Bitcoin or Ethereum can continue to process transactions even with incidents, but a transaction already processed may get reverted. On the other hand, Klaytn waits for the incident to be resolved. Transactions will not get reverted.

For example, an EVM bug found last year on Ethereum creates a fork, but Klaytn stops the creation of blocks altogether rather than skipping over the problematic block or allowing a fork to happen. When a fork happens in the presence of a bug, the receipt of a coin or the processing of a contract may be reverted. To alleviate this problem, you can wait for multiple blocks to be validated, but not reverting already processed transactions is the approach that emphasizes stability more.

The aforementioned architecture of Klaytn also guarantees quick processing of transactions with 1-second finality, which enables excellent usability. Unlike other coins that need to wait for additional blocks to be created when withdrawing from exchanges, Klaytn works immediately. When blockchain technology is more integrated into our daily lives, this instant finality and usability will prove themselves to be even more valuable.

Q. Why do people say that Klaytn “stops often”?
1) During network congestions, there could be delays due to the clogging of transactions waiting to be processed, or 2) the ecosystem services are not handling the overload well, which leads the ecosystem participants and users to think that the network stopped. Without accurate knowledge of the cause, communities have been speaking of “Klaytn’s network failure” which led to these misunderstandings, but the Klaytn mainnet did not stop. And these services have regained stability through increased throughput and a massive expansion of resources.

We recall that these incidents happened frequently from the end of 2021 till early 2022, causing users inconvenience. At the time, the transactions in the network have increased to more than what it can process, or the usage of a certain service exploded temporarily following the events below.

1) Incessant deployment of a large amount of transactions for arbitrage
As we explained in the Klaytn’s Network Status, more transactions than what can be processed in a given amount of time were being created, and with high frequency. If there are more transactions than what the network can process, users may experience some delay until their transactions are handled. It may have been different from the 1-3 second which the users were used to. And due to the large number of transactions, the internal processing for Klaytnscope the block explorer was also being delayed, giving users the impression that no more blocks are being created.

2) NFT airdrops in the rapidly growing NFT ecosystem
Early 2022, Klaytn had a lot of NFT projects with airdrops. Most NFT airdrops used Kaikas, and during the actual mintings the usage of Kaikas skyrocketed within a short amount of time. Since the Kaikas Team is not aware of the airdrop schedules for each team nor the size, it was difficult to respond flexibly.

As explained in the Klaytn’s Network Status published shortly afterwards, what users thought of as “stopping often” is not attributable to the stability of Klaytn’s network, but rather services not being able to handle the sudden increase in transactions. Klaytnscope and Kaikas later recovered through throughput improvement and resource expansion. At the same time, we also felt the need for improvements in Klaytn’s policies for not being able to prevent the occurrence of the bursts in transactions.

Q. What had to be improved in Klaytn’s transaction policies?
We saw the need to improve the way that the transactions were being processed:
1. Transaction ordering
2. Gas fee policy

For transactions that attempt arbitrage, the most important thing is to be included in the blocks as quickly as possible. In Klaytn, we used to include the transactions in a block in a random way without providing a logic for determining a priority. This led some arbitrageurs to send a large amount of transactions to increase the likelihood of their transactions being selected to be included in the block. Arbitrages constitute an important part of a DeFi ecosystem, but sending too many transactions can cause inconvenience for other users, because their transactions will be delayed.

After communicating with our communities, the Klaytn Team has come up with two ways for improvement. The first is to get rid of the cause that leads arbitrageurs to send out excessive amounts of transactions. Specifically, we decided to introduce the First-Come, First-Serve mechanism, whereby the transactions that arrived first would be processed first, which disincentivizes the arbitrageurs to create too many transactions. The second is to financially impose a burden when the transaction bursts happen for whatever reason, raising the cost for such behavior. To this end, Klaytn plans to introduce a dynamic gas fee, instead of the current fixed model.

Q. What is the background of the gas price increase?
Here is the timeline of events leading up to the gas price increase.

The surge in transactions at the time was not an organic outcome in the course of the growth of the Klaytn ecosystem, and thus it has led to many unwanted side effects. We think that the biggest cause of the phenomenon is that the cost for monopolizing or freezing the network was so low. This is something that can be abused by malicious actors to attack DeFi services. Furthermore, there were also cases where some services couldn’t keep up with Klaytn’s high throughput. For block explorers or exchanges, their internal system must be able to check all the transactions, for which they weren’t ready. From node operation perspective, the required resources have increased along with blockchain data. And these problems have been misleadingly simplified as “Klaytn stops often”, which harms the credibility of the network’s stability.

Q. What is going to happen with the gas price policy moving forward?
May 12: Baobab Gas Price Adjusted to 250 ston

*The schedule for dynamic gas price policy may be adjusted according to the development progress.

Gas price was first introduced as a measure to prevent network stoppage, and many blockchains alleviate excessive transactions using gas fees. Especially, Klaytn uses a fixed gas price, which called for a steeper increase in the gas fee. The Klaytn Team therefore aimed to solve network issues by raising the gas price in the short-run, and consider introducing a dynamic gas price in the long-run. Fixed gas fee policy is easy to use for services and offers many advantages including convenient price calculation. Since there are more services on the Klaytn network, it would have to evolve in a way that it can withstand network monopolies or stoppages.

The decision to increase the gas price was a process that involved a great deal of communication with the communities, but the effectiveness left a lot to be desired. As expected, it did stop excessive transactions from being sent, but it also had a dampening effect on the whole ecosystem. That is why the Klaytn Team saw it necessary to implement a dynamic fee policy to stabilize the network and minimize gas price burden.

With the Klaytn v1.8.3 upgrade, the transaction processing mechanism will be improved, after which the gas price will be cut back to 250 ston, because the incentive to create excessive transactions has been eliminated to a certain extent. Afterwards, we will introduce a dynamic gas price as a more fundamental solution. In most cases, the gas price will remain low, and when the network is using a lot of gas, the gas price will be adjusted to a higher level accordingly. For more details, please refer to the Klaytn Forum and KIP and feel free to share your thoughts.