Proposal for the deployment of Aave V3 on the Avalanche C-Chain.
On October 4, 2021, the Aave protocol was successfully deployed on the Avalanche C-Chain. This was made possible by the overwhelming support received from the Aave community at the voting stage. The protocol launched in tandem with the Avalanche Rush incentive program. The Avalanche Foundation allocated AVAX rewards to Aave users as part of Avalanche Rush, helping bring new users to the Aave ecosystem while also rewarding existing users. These initiatives supercharged the impressive growth of both Aave and Avalanche, with the Avalanche market quickly becoming Aave’s largest market after Ethereum.
The Avalanche C-Chain has evolved significantly since our last proposal and now hosts a mature and fast-growing DeFi ecosystem. Some highlights:
TVL: More than 5 billion dollars has been bridged from Ethereum on the Avalanche Bridge, with the total TVL on the Avalanche C-Chain surpassing 10 billion dollars, making it the 4th largest blockchain by TVL.
Decentralisation: The Avalanche network remains as secure as ever and now counts more than 1,200 validators. Avalanche consensus allows it to easily scale to tens of thousands of validators.
Transaction volume: The Avalanche C-Chain routinely achieves more than 500k daily transactions, sometimes exceeding 1M daily transactions. This constitutes up to 80% of the daily transaction volume on Ethereum.
Development activity: There are more than 16,000 cumulative unique smart contract deployers on the C-Chain and hundreds of dapps live.
The deployment of Aave V3 on Avalanche will be mutually beneficial, allowing the protocol to tap into the Avalanche DeFi ecosystem and fulfill its multi-chain vision.
The Avalanche Foundation will continue to incentivize Aave V3 through Avalanche Rush and focus on a safe migration from Aave V2 to V3.
Avalanche hosting V3 after the success by every metric of V2 deployement there seems like a natural upgrade from status quo.
for technical reason and user quality of life, I would strongly recommend to upgrade V2 contracts into V3 contracts instead of just deploying V3 on avalanche.
just deploying V3 is the easy path, that being said, it would force current V2 users to repay their positions, withdraw their collateral then deposit in new contracts and re-open positions.
Upgrading V2 into a v3 version will let V2 users become overnight and without any action on their part, V3 users.
The upgrade process is more complex technically and will require an AIP with a payload, it will likely require a touch of patience and be part of a second cohort of V3 instances but IMHO it’s worth the small wait.
As @fig and @MarcZeller already outlined… V3 is just too powerful not to be used on Avalanche. But i am also thinking this should be a smooth upgrade instead of a forced or incentivized move to V3.
So best would be to go the harder, but in the end better way for the user and upgrade from v2 to v3.
In the end the protocol is being used by the user, thats why it has to be as easy and smooth as possible. Aave wants everyone to participate and not only people that do know DeFi very well.
Full support on the deployment on Avalanche, for obvious reasons given the success of v2 on the network.
I would probably lean for the deployment of V3 instead of the upgrade, for the following reasons, which I think are important to consider:
It is technically simpler. Let’s be realistic, at the moment the V2-to-V3 upgrade contract still are a work in progress, and that would delay potentially some time V3 on Avalanche, which is a bit strange given that precisely it is a network “battle proven” in what regards the Aave protocol.
In terms of UX, the migration should be pretty straightforward for V2 users. The case is technically the same as V1-to-V2 migration, with users being able to migrate their whole positions (collateral/borrowings) or via withdrawal on V2 and deposit on V3 (simple deposits), or via migration of the whole position via flash loans. In the last scenario, flash liquidity is needed to migrate the position, but it should be possible because the users migrating pure deposits (without borrowings) first will “build” the depth of liquidity on V3 to flash from. In addition, there is other flash liquidity sources on Avalanche for what I am aware.
Another extra point to consider is the presence of “native” USDC and USDT on Avalanche (non USDC.e and USDT.e) (see here and here). If V2 is upgraded to V3, somehow the listed and deposited USDC.e and USDT.e will need to be migrated on the context of Aave. This is not a trivial thing to do. Meanwhile, by going with the V3 deployment method, the solution is as simple as listing only the “native” USDC and USDT versions, and introducing the migration USDC.e → USDC on the migration V2->V3 itself.
In terms of implementation, and considering the cost of operating on Avalanche even if no migration contract would be available on launch, I would say the effort is lower by just deploying V3.
Gas is relatively cheap on both Avalanche and Polygon network, migration will lead to some form of temporary liquidity fragmentation but migration can be incentivized by the decay of Avalanche Rush and polygon program on V2 in favor of V3
Furthermore, integrators such as intadapp are able to build “1 click” migration tools to transfer full position, leveraging flashloans.
Let’s have Avalanche and Polygon with V3 on speedtrack.
For the mainnet, even if that’s longer, I still recommend due to transactions fees to take the upgrade approach, we already have small V1 users “locked” there because it’s not economically efficient to withdraw and re-deposit, let’s not replicate the issue.