Tldr: This isn’t debatable: ADA will not have defi until they deploy a sidechain or other solution that has not yet been developed, let alone tested. Telling people “it’s okay, don’t worry about this FUD” will directly cause people to lose serious amounts of money. Everyone needs to understand the additional risks they will be taking on if they use centralized “defi” on cardano.
This is not FUD; this is a serious problem. The cardano chain absolutely cannot run a uniswap DEX. That’s bad, but the real problem is that everyone, including devs learning plutus , are actively being misinformed by cardano’s leadership.
The problem is fundamental to cardano’s eUTXO architecture. In plutus, every AMM pool has an NFT that must be referenced to create a tx on the exchange. And, every tx writes over that pool NFT with an updated NFT that reflects the current state of the pool. Every tx must create a new pool NFT, and no txs can call the previous NFT.
In UTXO all txs are deterministic. That means that if you and me both call the existing NFT pool for our tx, only one of our txs will be completed. I can’t reference the pool NFT if it doesn’t exist anymore, because you beat me to it. My tx will fail, and I will have to call the new NFT that your tx created.
So, you can code a Uniswap AMM program, and everything will look completely fine as long as one person trades at a time. When 50 people attempt to interact with it (within the amount of time it takes to query the state of the pool, consider accepting the exchange rate, and actually submitting a tx), 49 of their txs will fail, and you will soon have a pile up with thousands of txs failing for every one tx that succeeds. Realistically, the pool will change before most people even attempt to submit the tx, causing it to immediately fail.
That’s why it currently is not possible to run a DEX on cardano. DEXs will have to be run on non-eutxo sidechains or use other methods that have not been fully tested yet. This is a PITA, but the real problem is the workaround solutions that are going to be implemented. The ADA community’s (and Charles’ very intentional) misrepresentation of the issue is going to end disastrously.
Sidechain and decentralized solutions to this problem do exist, but none of them have been developed or tested yet. Sundaeswap claims to have a secret solution, but it’s really not possible that their solution is decentralized.
There is a HUGE difference between going “off-chain” to a decentralized sidechain and going “off-chain” through a centralized, trusted custodian (even if they route your tx to another decentralized chain). Charles knows this, and he also knows that you don’t.
This means, that for the time being, cardano will not have decentralized exchanges, and because of the community’s refusal to acknowledge and honestly address this conversation, most ADA users will have no understanding of the vulnerabilities these centralized exchanges represent.
Until this problem is solved, treat every cardano “DEX” like a “CEX.” Do not leave large amounts of money in their SCs. There will be DEXs that pop up and offer great APRs using the same code as well-known projects, but they will exit scam. People will exploit this. Cardano should delay smart contracts until this is resolved. This will make cardano the riskiest chain for defi.