During September, the Gaia v12 upgrade came out. This upgrade went smoothly, but had around 25 minutes of downtime. This is because the upgrade contained migration scripts which reformatted the database to work with the LSM, and which took some time to run.
We cut the Gaia v13 release, which is now live. Cryptographic equivocation was originally intended to go into this release, but we decided to push it to v14 to give us more time to communicate to validators about the new way that slashing will work. Read more here.
V13 contains:
The final full removal of the Gravity DEX module.
Update ICS to v2.1.0. This update adds a governance proposal to allow consumer chains to add new denoms to pay rewards in. This was added to give the community more control over how many denoms rewards are received in, because each additional denom makes claims cost more in gas. This hasn’t been a problem so far, but we thought it would be good to have a governance process around new denoms being added.
We’ve started upgrading the Gaia software to SDK 47. This will enable us to run newer versions of IBC, giving such abilities as an ICA controller. SDK 47 is in the final stages of an audit with Oak Security, which we wanted to see before putting it on the Hub. This upgrade was originally planned to go into the upcoming Gaia v14 upgrade, but due to the fact that the Liquid Staking Module has not yet been upgraded, Gaia’s upgrade to 47 will have to wait until the v15 release.
We’ve started work upgrading ICS to SDK 50, bringing many code style and performance improvements. We will publish guides and best practices around upgrading ICS to facilitate collaboration on this project.
We’ve finished work on v2 of ICS’s downtime packet throttling mechanism, which prevents malfunctioning or malicious consumer chains from causing problems on the Hub, by storing queued downtime packets on the consumer, instead of the provider. This simplifies the code as well as making it so that a flood of downtime packets from a malfunctioning or malicious consumer chain can be slowed in the queue, and then stopped completely by halting the chain in question.
We worked a lot on research of cryptographic equivocation verification, to define possible edge cases, and implement the actual code. As noted above, the new cryptographic equivocation code will not go into v13, but is finished.
We finished our refactor of ICS’s e2e (end-to-end) testing suite to accept serialized traces in a JSON format to define test cases. This step will allow us to connect the testing suite to a formal specification of ICS to automatically generate a very large number of test cases, thereby increasing coverage greatly without having to write tests by hand. We also wrote a blog post explaining CometMock.