TL;DR
|
Full Story
On June 28 2024, 04:16 (UTC) last week, Parameta Corp., one of the main ICON validators, discovered a critical bug in IISS 4.0 leading to a temporary under-issuance of ICX, which caused a shortfall in the public treasury. Approximately 12 million ICX that should have been issued in accordance with the ICON economic policy (IISS 4.0) was not. Left unchecked, the bug had the potential to halt the chain in the case a user attempted to claim staking rewards (I-Score) without sufficient redeemable ICX held in the public treasury.
Thankfully, our community discovered the bug early and within hours had the bug fixed and validators voted to pass a proposal to immediately issue 6 million ICX in order to replenish the public treasury.
IMPORTANT: The ~12 million ICX shortfall represents ICX that should have been issued under our current economic policy. The issuance discussed in this analysis does not represent any new or unaccounted emissions.
Recovery Steps:
The bug which caused the under-issuance of ICX was patched with GoLoop v1.4.2 on the same day it was discovered. A quorum of main validators updated their node software, ensuring that their nodes would be able to continue consensus in the event that the treasury depleted.
With the v1.4.2 updates in place, we submitted the Revision 26 network proposal. This passed and was applied on June 29 2024, 03:52 (UTC), issuing 6 million ICX in order to partly replenish the public treasury. With the updated node software and Revision 26, the network is no longer vulnerable to halting, ICX is issuing in correct amounts in line with current economic policy, and the treasury is replenished by approximately half of the shortfall.
Now that the network is in a stable situation, we are calculating the exact remaining shortfall of the treasury (approx. a further 6 million ICX). This remaining shortfall will be issued in a subsequent network proposal, ensuring that the public treasury is replenished and all functionalities are fully restored.