Today we’re making an important announcement related to our recently launched Zeus and Apollo kGeysers.
The original kGeyser liquidity program is now closed. Program participants are being asked to withdraw liquidity they have deposited to these kGeysers — and immediately remove liquidity they are providing to the kMPL/AMPL pool on Uniswap. Click here to withdraw your tokens.
On Sunday, December 6, the AmpleSense DAO will launch two new liquidity mining programs. These will replace the current Zeus and Apollo kGeysers. The new Apollo program will reward kMPL/ETH liquidity providers with a new version of the kMPL token.
AMPL/ETH liqudity providers will be able to deposit their tokens into the new Zeus program to earn kMPL.
A new version of the kMPL token will be minted and airdropped to kMPL holders (who will also receive bonus kMPL tokens). Apollo kGeyser participants will also receive bonus kMPL.
kGeyser Program Re-Launch
What is Happening? The AmpleseSense DAO will be re-launching its Zeus and Apollo kGeyser programs on Sunday, December 6, 2020.
Why is this Happening? The Apollo kGeyser, which provides rewards to individuals providing kMPL/AMPL liquidity on Uniswap, is vulnerable to an attack where actors re-direct rebased AMPL tokens from liquidity providers to other wallets. To address this issue, AmpleSense submitted proposal ACCP-003 using the emerging Ampleforth governance process to have the kMPL/AMPL pool included in the sync() function called via the Ampleforth contracts at rebase.
However, as of today this proposal has not been implemented and it is unclear whether it will be in the future.
What Actions is the DAO Taking? We have disabled liquidity token deposits to the Zeus and Apollo kGeysers. Because kMPL in the kGeysers cannot be retrieved, we are conducting a token swap to provide existing kMPL holders with new tokens and providing additional kMPL bonuses to participants in the original Zeus and Apollo kGeysers.
How Will the Re-launch and Token Swap Take Place?
The re-launch and token swap will be implemented as follows:
Liquidity Removal: Starting immediately, Zeus and Apollo program participants should remove liquidity from the kGeysers by clicking here. Also:
– AMPL/ETH liquidity providers will be able to deposit their Uniswap v2 tokens into the re-launched Zeus kGeyser
– AMPL/kMPL liquidity providers should withdraw from the kGeysers and remove their kMPL/AMPL tokens from the Uniswap pool; a new Apollo kGeyser will be launched featuring an kMPL/ETH pair. (NOTE: Click here for a link you can use to withdraw your kMPL/AMPL liquidity from Uniswap.)
New kMPL Mint: The DAO will mint 51,000 new kMPL tokens (1,000 more than the previous total).
– kMPL Snapshot, Airdrop and Bonus: We will take a snapshot of all kMPL holders on December 5 08:00 UTC. All of these wallets will receive 1:1 KMPL plus a proportional share of 700 additional kMPL via an aidrop.
–Apollo Program Participant Snapshot, Airdrop and Bonus: We will take a snapshot of all Apollo kGeyser program participants as of December 2, 02:30 UTC. All of these individuals will receive a proportional share of 300 kMPL tokens based on the amount of Uniswap v2 AMPL/kMPL tokens they deposited into the Apollo kGeyser. These tokens will be airdropped directly to wallets.
These airdrops are scheduled for December 5, 2020.
–KGeyser Re-launch: The kGeyser program will re-launch on Sunday December 7. Community members will be able to:
-Deposit AMPL/ETH liquidity tokens into the new Zeus kGeyser
-Deposit kMPL/ETH liquidity tokens into the new Apollo kGeyser
The starting ratio will be approximately .18 ETH per kMPL. kMPL/ETH trading will be immediately available on Uniswap.
See below for a detailed overview and FAQ about the re-launch.
We taking this action because of issues relating to the Apollo kGeyser program, which provides rewards to individuals providing kMPL/AMPL liquidity on Uniswap. After launching the program, we have learned:
- Since at least July Uniswap has disabled trading support on its interface for any token paired with AMPL.
- Uniswap took this action because tokens paired with AMPL are vulnerable to attacks where hackers siphon tokens awarded to liquidity providers after the rebase.
- The solution to this problem is including the kMPL/AMPL Uniswap pair in the sync() function called by the Ampleforth protocol at rebase. This would have allowed the kMPL/AMPL pair to be traded on Uniswap and prevent the siphoning of the rebase.
- Prior to launching the AMPL/kMPL pair on Uniswap, the AmpleSense team was unaware that Uniswap had disabled trading on AMPL pairs and why.
- Immediately after learning of this issue, the AmpleSense DAO contacted the Ampleforth team to address it. We were asked to submit a proposal (ACCP-003) via the emerging Ampleforth governance process. We invited the community to discuss the proposal and it received overwhelming support for implementation.
- At the same time the team devoted significant development time to understand attacks against Uniswap AMPL pools and protect against it. Over this time period we learned that these attacks are being led by sophisticated actors who leverage the public rebase function and spend between .5 and 1 ETH to attack AMPL liquidity pools daily. The kMPL / AMPL pool was one of between 5-8 pools that were under attack.
- Despite receiving overwhelming community support, ACCP-003 has not been approved for implementation. A member of the Ampleforth core development team indicated that including support for the AMPL/kMPL pair would be outside of scope for the protocol. Although ACCP-003 has not been officially rejected, we believe it will likely not be supported for implementation by the core team.
How We Are Solving This Problem
What’s Next?: The AmpleSense DAO is taking the following steps to address this issue:
- kGeyser Deposits Are Disabled: We have disabled deposits to the Zeus and Apollo kGeysers
- A New kMPL Token Will Be Minted: Because the kMPL tokens in the kGeysers (73% of the token supply) are not retrievable from the smart contracts, kMPL holders will receive newly minted kMPL tokens via an airdrop (see above).
- Bonus kMPL Tokens Will Be Issued: We will be minting 1,000 additional kMPL tokens (the new total supply will be 51,000 kMPL). 700 bonus tokens will be provided to all individuals who hold kMPL as of December 5 08:00 UTC.. 300 bonus tokens are reserved for any individual who staked in the Apollo kGeyser up until December 2, 2020 02:30 UTC.
- Withdraw From the Current kGeysers and Deposit into the New Program: Current Zeus program participants will be able to stake their AMPL/ETH tokens in a new kGeyser to earn (new) kMPL tokens. The Apollo kGeyser will be switched to a kMPL/ETH Uniswap pool (ETH was second choice of individuals who participated in our two-stage governance process related to selecting a token to pair with kMPL).
kMPL/ETH trading will be immediately available on Uniswap when the new kGeyser program opens on Sunday, December 6.
Program participants can click here to remove their liquidity tokens from Zeus and Apollo and prepare for the new program.
We have developed an FAQ with further details about this situation and the steps the AmpleSense DAO has taken to address it.
What is the Apollo kGeyser?
AMPL was selected as the token to pair with kMPL on Uniswap after a two-stage review and voting process held earlier this month. AMPL was the overwhelming choice of the community for a pairing with kMPL, and an AmpleSense Progress Proposal related to the Apollo token pairing received more than 2 million AMPL votes in support for the kMPL/AMPL pair.
What is the Problem With the Apollo kGeyser?
This attack is possible due to the way the Uniswap v2 pools function. They are unable to account for the rebase, and Uniswap functions that allow tokens to be swapped can be exploited in situations where rebase tokens within pools change in value.
In order to address this problem, the Ampleforth team created a function in its Orchestrator contract (the sync() function) that allows Uniswap pools to account for the rebase and prevent this attack.
After launching the Apollo kGeyser, the team learned that Uniswap had disabled all pools featuring the AMPL pairing from trading on its interface due to this issue.
Should the AmpleSense Team Have Known About This Vulnerability Beforehand?
Note that because of the rebase, AMPL breaks the functionality of many commonly used smart contracts in Defi and custom-built solutions or other methods must be used to address them. This lack of composability (the ability to easily integrate AMPL into smart contracts) has been a major barrier to widespread adoption of AMPL across the wider DeFi ecosystem.
Addressing the Ample composability problem will be a significant area of focus for the DAO. We will explore and provide developers with documentation, solutions and — over time — technical assistance to teams wishing benefit from the Ampleforth protocol via commonly used smart contracts.
Why Are You Minting a New Version of the kMPL Token?
As a result, we are launching a new version of the kMPL token. Zeus will continue as before, rewarding (newly minted) kMPL to AMPL/kMPL liquidity providers.
The Apollo program will switch to rewarding kMPL/ETH liquidity providers with (new) kMPL tokens.
We will mint 1,000 additional kMPL tokens (the new total supply will be 51,000 tokens).
– Individuals holding kMPL tokens as of December 5 08:00 UTC will receive new kMPL tokens (at a 1:1 ratio), plus a proportional share of 700 bonus kMPL tokens.
– Individuals who participated in the Apollo kGeyser until December 2, 2020, 2:30 UTC will receive an airdrop of 300 kMPL tokens based on how much Uniswap v2 kMPL/AMPL tokens they deposited into the Apollo kGeyser.
Did the AmpleSense DAO Take Steps to Protect the kMPL/AMPL Pool?
– Devoted significant development resources to understanding the method of the attack against the kMPL/AMPL pool
– Deployed a number of strategies to protect the pool, including calling the Ampleforth rebase ourselves and the sync() function.
However, the attackers deployed increasingly sophisticated strategies against our countermeasures, including spending between .5 and 1 ETH in gas daily to launch their attacks against our pool and between 5-8 other pools currently featuring the AMPL token.
The DAO will published technical documentation outlining the attack and the defense strategies it deployed at a later date.
300 kMPL tokens will will be airdropped to individuals who participated in the Apollo kGeyser until December 2, 2020, 2:30 UTC based on how many Uniswap v2 tokens they staked.
Did the AmpleSense DAO Engage with Ampleforth and Uniswap About This Issue?
We were told by the Uniswap team that in order to enable kMPL/AMPL trading on Uniswap that the Ampleforth team would have to call the sync() function from within the Ampleforth smart contracts.
We contacted the Ampleforth team to discuss this issue, and were asked to submit an ACCP (ACCP-003) to request support for the kMPL/AMPL pool.
ACCP-003 received overwhelming community support. However, no action was taken on the proposal. A member of the core development team recently suggested that support would not be added for the pair because supporting ecosystem projects (by updating the orchestrator contract to support Uniswap pairs) is not within the core mission or functionality of the Ampleforth protocol.
It is doubtful the proposal will be implemented and so we are taking steps to address the situation.
Why Are You Switching from AMPL to ETH for the Apollo kGeyser?
Given that the community’s second choice was to pair kMPL with ETH, we decided moving Apollo to support kMPL/ETH liquidity providers would be best. And, AMPL/ETH liquidity providers will only have to switch to the new kGeyser, not to a new DEX.
We also believe it is also in the DAO’s short- and long-term interests to support an kMPL/ETH pairing at this time.
What is the DAO’s Relationship with Ampleforth?
Any potential composability or security issues posed by integrating AMPL into our activities will be thoroughly investigated and addressed prior to deployment of future projects or initiatives.
We will also engage in a range of activities to help alert other developers and individuals of security or composability challenges associated with Ampleforth so they can prepare and overcome them.
How Can I Withdraw Liquidity Tokens from the Existing kGeysers and Participate in the New Program?
The new kGeyser program will launch on December 6, 2020.