Smart Contract Bug Disables $800 Million Cryptocurrency ICON (ICX)

Francisco Memoria
  • A bug found in ICON's smart contract allows anyone, except the contract owner, to halt transactions and effectively disable the cryptocurrency's network.
  • The bug is reportedly already being fixed, but has made some damage.

A smart contract bug recently found in ICON (ICX) reportedly allows anyone using the network, except for the smart contract’s creator, to enable and disable token transfer for everyone else, meaning it can completely prevent ICX tokens from being moved.

According to a Reddit thread, the ICON smart contract bug was first found on another crypto project called Yggdrash (YEED), and simply adds a character that completely reverses what it is actually supposed to do. The bug is as follows:

the bug.png

Essentially, “==” is an equality operator in Solidity, and “!” is a logical negation operation, meaning “!=” means not equal. The code, as Reddit user firesquidwao puts it, gives control to everyone that isn’t ICON’s creator.

“[It] says that the message sender must !=(not equal) to the wallet address of the creator of ICON so everybody except for the creator of ICON then fits the requirement to use the modifier, and therefore everybody but him is able to enable/disable Token Transfer.”

Reddit user firesquidwao

Per the Reddit thread creator, cryptocurrency exchange Binance, which recently announced support for ICX’s mainnet token swaps, reportedly temporarily disabled deposits and withdrawals in the cryptocurrency, before enabling them later on.

ICON’s co-founder Min Kim tweeted out that this was a “minor bug,” and revealed a quick solution had been initiated while a permanent solution was “already in the works.” At press time, the bug is still in the smart contract’s code, and a look at its address shows numerous transactions are still being halted because of it.

Various users on social media criticized the team behind ICON, arguing that for an $800 million project, the error was unacceptable as proper due diligence should have been done, as well as an audit to the contract’s code.

At press time ICX is trading at $2.03 after falling more than 6 percent in the last 24-hour period. Its market cap is still at $812 million, according to CryptoCompare data.