SushiSwap
SushiSwap is one of the OG DeFi protocols in the crypto space. It has come a long way since starting out as a Uniswap fork, evolving into a DeFi one-stop shop by launching a suite of DeFi services and deploying on multiple chains.
Sarang Parikh
Sarang is a core developer at Sushi, handling smart contracts and product research. He loves breaking stuff, which translated to breaking stuff on the web, which is how he ventured into cybersecurity and eventually into crypto. Sarang is a huge hackathon fanatic, and was even recruited by Sushi during a hackathon.
Ep.72 Podcast Summary / Notes
-
What is SushiSwap?
-
AMM Decentralized exchange, started off as a fork of Uniswap
-
Core innovation of Sushi at the time was the vampire attack of Uniswap, where people could provide liquidity and stake to get reward tokens
-
Has come a long way from that. Now there’s lending/borrowing, a token launchpad, limit order trading, on top of having many different farming opportunities. Also has a NFT launchpad protocol, with more upgrades and products to come in future - basically building a “DeFi loop”
-
Sushi gives users a wholesome experience whenever they wanna use DeFi, providing a one-stop-shop
-
What is SushiXSwap?
-
Pronounced “Sushi cross-swap”, a new product launched by Sushi, and is built on Layer Zero/Stargate (SG)
-
What they observed is that as Sushi is deployed on many different chains, it’s a trouble for users to use different bridges and come back to Sushi to do swaps
-
SushiXSwap reduces the number of steps that a user has to perform to do a cross-chain swap
-
Much more user friendly, whereby users on the source chain can just select the chain and asset they want, hit swap, and receive the desired asset on the destination chain (any that SushiXSwap supports)
-
SG doesn’t do swaps, which is where SushiXSwap comes in
-
Example of how SushiXSwap works -
-
If you want to swap from VET on Arbitrum to SUSHI on Optimism, SushiXSwap will take VET, swap it to e.g. USDC (or any other supported SG asset) on the source chain, receives it on the destination chain, then swaps USDC back into SUSHI and passes that to the user on the destination chain.
-
-
So it’s similar to how e.g. Coinbase’s ‘pay with BTC’ works where the swapping to stables/fiat is done on their end
-
Since SG supports multiple assets, SushiXSwap does the routing and finds the best route for the swap.
-
Diving into SushiXSwap, which is built on top of LayerZero - What is Layer Zero, and why build on it instead of building something on your own/why rely on something else?
-
Layer Zero is a crosschain messaging protocol
-
SushiXSwap not directly building on Layer Zero but on Stargate (which is built on Layer Zero)
-
Stargate is a bridging protocol which is built on the crosschain messaging tech of Layer Zero, and Sushi chose to build on them as they were checking all the boxes
-
Main reason for building on Stargate is that Sushi does not have the in-house expertise to build a bridge, and they didn’t want to build one that gets hacked. On top of that Layer Zero team had developer experience, and have been supporters of the Sushi community (which is important as Sushi protocol is very community owned rather than VC-owned), and were generally all around good to work with
-
How Layer Zero works
-
Simple model: Oracle and a relayer
-
User submits a transaction, oracle checks if that transaction that the relayer has posted is valid, if it checks out, then the transaction is valid and message is delivered
-
For Layer Zero to get hacked, the means oracle and relayer has to collude
-
Currently uses Chainlink as the oracle so it’s considered safe and everyone in DeFi uses and trusts it
-
One of the functions required to do crosschain swaps is called a bridging call, so whenever you bridge the asset, you also need to provide some extra data on the other side to facilitate the swap, which is something that only Layer Zero and Stargate offered at that time, [Sushi] couldn’t find any other bridge which did this
-
-
Until now there’s only one other bridge which has this, and no other bridges support this yet
-
How does a bridge actually work?
-
There are different kinds of bridges e.g. lock-mint/burn-redeem/wrapping mechanism, native bridges, etc.
-
They wanted a native bridge, and didn’t want users to get stuck with a wrapper token on the other side, and have to wait for liquidity to be brought in
-
Crosschain swaps should either have the transaction succeed or fail, but never leave you stuck with an illiquid asset
-
On SushiXSwap, either you get your asset on the destination chain, or you get a stablecoin on the destination chain, which you can use to manually complete your swap on the other side,
-
A lot of bridges are moving away from the wrapping model and towards native bridging, e.g. with Anyswap you get ‘anytokens’ if there’s no liquidity, which you can swap later on
-
SG is different, you will always get the native asset (can read whitepaper for more info)
-
In short, SG has instant finality, and they have weights in the ‘accounts’, according to weights and liquidity, you can only send up to a certain amount from source to destination chain
-
Bridges built on this type of algorithm will support native asset transfers through unified pools of liquidity which guarantees instant finality
-
So if you have x amount of liquidity on a particular chain, they are soft partitioned into the other chains that SG supports,
-
So e.g. 100 dollars would be split into multiple sections, e.g. 20 reserved for one, 30 reserved for another, and 50 for another
-
Won't allow swaps beyond what it can handle
-
So to avoid lack of liquidity, the algorithm has been developed carefully
-
-
-
How many chains does SushiXSwap support right now for crosschain swaps?
-
7 chains, which is what Layer Zero and SG supports, which they plan on expanding
-
Not limited to that, can and will be integrating other bridges
-
How will Sushi stay competitive compared to other crosschain swaps/bridges, etc?
-
They don’t want to compete but instead collaborate
-
Already in conversations with different bridges
-
Debridge will be one of the future integrations as they’re moving towards native bridging model and away from wrapping,
-
For swaps we need bridge and call functionality
-
Chatting with other top bridges - Hop, Hyphen, Multichain - and planning to aggregate these
-
They probably don't wanna aggregate all the bridges out there as there are certain security considerations, pretty sure half of them gonna get hacked in future
-
Looking for good coverage of top bridges which covers 80-90% of assets
-
So Sushi doesn't compete with these bridges, but instead Sushi enables and channels more traffic towards bridges, some of which users may not have visited themselves manually
-
Do you see a future where DEXs start building their own native cross swaps like Sushi, or conversely do you see bridges building their own DEXs instead? (Given the rise of DeFi hubs which try to cover the whole user journey)
-
Bridges are big complex systems to maintain, they have people who are much more research oriented on that specific topic
-
Whereas DeFi/DEXs requires other kinds of research in different areas to stay innovative/competitive
-
What he sees is bridges would move towards getting best price/security in the industry
-
And DEX/DeFi people build apps like SushiXSwap and other apps in the pipeline which are directly using the bridges, making a symbiotic relationship
-
Doesn’t make sense for all of us to do all of the work, but if someone wants to they could but GL
-
What excites you about the multichain-verse, what happens when all chains are seamlessly integrated?
-
Internally Sushi jokes about Dr Strange Multiverse of Madness, they call it multichain of madness, cause while building these crosschain apps there’s a lot of things to think about, sometimes it's all madness with all these different chains talking to each other, it looks like a big interconnected web
-
Sushi is soon rolling out a new UI, tentatively referred to as “Sushi 2.0 UI”, which is a phased rollout of a multichain experience, in line with the efforts to create multichain-first apps e.g. similar to the paradigm shift of mobile-first apps.
-
Phase 1 of the new UI will enable users to see a multichain view of the entire Sushi ecosystem. E.g. all the different farming opportunities on all the supported chains displayed on the chain you’re on, which would provide better visibility for other chains and see if they offer better opportunities e.g. on Onsen you would see all the different opportunities of Sushi across all chains on a single screen
-
Phase 2 is to be able to directly LP onto these multichain opportunities. Let's say if you have LP on one chain, just with one click you could teleport this position to another LP position on another chain with a single click, from a single page, and swapping, bridging, etc. happens on the backend
-
Experience of the users would be much more enhanced cause now they won’t see it as isolated apps, but instead unified
-
Thinks we will see more and more apps being multichain-first
-
We usually talk about the positives, but what about the possible repercussions of a multichain future? Could it be that if one block falls then the whole jenga tower falls? Could there be negative ripple effects?
-
To answer from the perspective of Sushi, Sushi is not actually exposed to any bridge hacks, as it doesn’t offer liquidity to any of these bridges, which is the thing which is most exposed to hacks
-
Using SushiXSwap does have a momentary risk to the user, but that's limited to the amount that they’re bridging, and so briefly that it can't even be taken out (e.g. by hacks), i.e. they are never exposed in the way that an LP into the bridge has
-
From the bridge perspective, there are a lot of different kinds of ways that crosschain communication can happen, each method has their pros and cons, currently people are still figuring out what works best
-
One example is Layer Zero with their pre-crime functionality. You can set invariants, and if those fail, you could basically look at it and stop bridging at that point. This gives you a safety net, if anything goes wrong you can still correct it, ofc it is only as good as the invariants that you write, nothing is a silver bullet, but safety nets are still good to have
-
Other part is the library approach, personally feel that upgrades in bridges shouldn't be forced
-
Upgrade should be opt-in, user should be able to choose
-
E.g. for Sushi, this version of SG works perfectly for them so they should be able to stick to that, and if the new version is better then the liquidity would move, and when they have sufficient confidence they can just shift to that
-
In the recent Nomad hack, there was an update that led to a bug, making everyone exposed to it/forced to use new features
-
Should give option to the people who are interacting with the bridges
-
What are Sushi’s long term plans for the future?
-
Working towards enhancing the DAO/tokenomics in the future
-
Have a product stack coming up, which is crosschain focussed
-
Before this they were using bridges and allowing users to see that multichain experience
-
In future they would be building crosschain apps directly, that would allow users to take advantage of crosschain communication, to have better capital efficiency, uniformity, and provide a unified experience
-
Short term they have new trident pools coming out and a few other new products launching
-
Main idea is adding more DeFi legos to their list, and give users the best experience possible
-
Though lots of new things are coming out, it doesn't mean they are just YOLOing and are testing everything in production. They have things built but not released, because they are still working on security guarantees and mitigation measures available in case things go wrong.
Subscribe to the CoinGecko Daily Newsletter!