Osmosis Updates from the Lab, ft. Jacob Gadikian (Notional) — Feb. 9, 2022

Stevie Woofwoof
Osmosis Community Updates
7 min readFeb 12, 2022

--

Time Change!! Osmosis Updates from the Lab occurs every Wednesday at *1 PM EST* (6 PM UTC) on the Osmosis Zone Twitter Space. Replays are available on the Osmosis YouTube channel or the podcast.

This week’s Updates featured players from all corners of Osmosis. We were joined by Sunny Aggarwal, Dynamicmanic, Kevin Berrey, and newly minted Osmosis Support Lab member and admin, Worker Bee.

Daniel Farina, Osmosis core dev in charge of documentation and developer relations, came by to celebrate all the community contributions to the Osmosis docs. And finally, we welcomed Cosmos relayer extraordinaire and member of our Ministry of Marketing, Jacob Gadikian of Notional Ventures.

After talking bridges last week, our main conversation this week was about the coming explosion of CosmWasm assets on Osmosis, which will require us to re-think how we incentivize assets and list them on the front-end.

But first, a brief update on our larger upgrades. Superfluid staking and the CosmWasm integration are moving along smoothly, although our lead superfluid dev, Eugen, has Covid 😢. However, they are still slated to go live by the end of the month.

Either way, Cryptocito is here for it.

Rise of the CW20s

Congratulations to Junø on its massive adoption! It is great news for the whole Cosmos. Just like that, Osmosis is no longer the only top-100 coin whose primary market is not a centralized exchange.

With the coming of Juno’s NETA to Osmosis, we now have a whole world of CW20 tokens that will be IBCing their way here to be traded. Note that this ability to trade CW20s is not directly related to our CosmWasm integration, which will allow CosmWasm smart contracts on Osmosis.

The ability to send Juno assets over IBC means that we should soon be able to do the same with Terra CW20s. The UST and LUNA available on Osmosis are Cosmos SDK coins, not CW20s. Terra did not connect CW20s to their IBC module when they enabled it because they wanted to see how well the cw20-ics20 code worked. With NETA having now been sent seamlessly over IBC, we can ask Terra to make this upgrade. When that is done, we will be able to trade bLuna (liquid bonded LUNA), aUST (interest-bearing Anchor UST), and all their cousins on Osmosis.

More generally, CW20 tokens from many chains are set to explode across the Cosmos. This presents Osmosis with the best of problems: deciding how to manage all that liquidity. Compared to most of our current Cosmos SDK coins, which have largely required sustained development from Cosmos-aligned teams, CW20 tokens are extremely easy to spin up. In other words, we are about to get the full s**tcoin experience.

Incentives

Where before, we could largely rubber-stamp the addition of tokens to the routine incentive adjustment process, we will now have to be more protective. Otherwise, we risk diluting the pools of more incentive-aligned projects at the expense of lower-quality ones. This will begin to play itself out in governance over the coming weeks as we develop the criteria for deciding which projects get incentives.

Since voting ad hoc on hundreds or thousands of tokens will obviously not work, the first step will likely be going from a presumption of inclusion to a presumption of exclusion: projects will have to pitch themselves to the Osmosis community. Beyond, we will need serious discussions on Commonwealth about our incentive models going forward.

Beyond deciding which tokens can get incentives at all, we must change the our routine adjustments model. Basing this on swap fees has worked well until recently, allowing us to dynamically incentivize liquidity in the most-used pools. But this model was always on borrowed time, since it invites manipulation through wash-trading. Recent proposals outside Osmosis have suggested exactly that, simultaneously LPing a pool and wash-trading it in order to pump its rewards (earning a portion of fees back as an LP provider). And so we must soon say goodbye to the old model. The community is working on a new one, and you can join the conversation on Commonwealth or social media.

A last word on incentives: even with our quick governance process, it can take ten days to get incentives flowing to a new pool. This is far too long. We should be putting new high-value assets (like NETA) up for pre-approval so that incentives can start as soon as a pool launches.

Uniswap Interface w. Asset List Lookup

Asset Lists

A new incentives model is one part of managing the coming flood of tokens. Asset lists are another. They allow modular, decentralized control over what can be seen on front-ends and wallets, curating user experience without censorship and allowing users to discern a token’s reputation among various sources without preventing tokens from permissionlessly listing on chain.

This has been solved on Ethereum, where any project or team can release an asset list that can be imported into front-ends and wallets. Thus, the Uniswap front-end defaults to the ultra-restrictive Uniswap Labs token list, which only has 92 tokens (versus 30,000 pairs on a more inclusive list from last summer). But if you search for a token not in that list, it will suggest assets using other lists, such as Coingecko’s or DefiPulse’s, and if you accept the disclaimer that Uniswap does not vouch for token, you can trade with it as normal. (You can of course also add a token by manually entering the token address.)

Token lists on Osmosis will likely develop in the same way. There may be the official Osmosis front-end asset list, and there may be other “all tokens” lists, and as the Cosmos grows, different projects and individuals will create various curated lists for wallets and front-ends to access. Perhaps Junoswap will cultivate a more permissive list, Regen will list green tokens, BitSong will have its creator-tokens list, and Osmosis will keep separate asset lists for its own Ionize and Isotonics tokens, just so that the front-end doesn’t get cluttered.

Community Contributions

Daniel Farina has been shouted out on Updates before for optimizing DevOps on the GitHub. Today, he came by to thank people for contributing to Osmosis Docs. It is great that we have so many people in the community writing documentation and raising issues in the GitHub. Right now, the team is focused on front-end documentation, as part of the push to make it easier for outside developers to work on the Osmosis front-end. If you would like to join in on this or any aspect of the docs, see this guide to contributing. Open up a pull request, and someone will take a look!

I was hoping for more on validator education from Jacob, since he is a leader in the space, but Twitter Spaces broke down just as he was introducing Notional’s Seahorse. This is “the distillation of Notional’s knowledge about validation, relaying, networking, and systems into a Linux distro that includes a blockchain.” I gather that this is a low-stakes platform where one can learn how to validate effectively, but I’d be curious to hear Jacob’s thoughts on how this differs from learning how to validate on testnets.

Our validators have continued to improve Osmosis epoch times. Before Jacob and Joe Abbey started putting other validators’ feet to the fire, we had been running above ten minutes. Now, we are down around six minutes, mostly from validators getting their nodes in order. Notional, in particular, has long preached the value of validators running their own hardware. With their recent and ongoing hardware upgrades, Notional has been able to increase the read/write capacity of their nodes, improving their relaying services and their performance at epoch.

IAVL Trees

An even bigger speed-up in epoch times will be coming shortly, with epoch potentially being brought under a minute through some improvements in the chain’s data storage and retrieval. An IAVL tree is a data structure used by the Cosmos SDK for providing “persistent storage for key-value pairs (say to store account balances) such that a deterministic merkle root hash can be computed.” It has been a performance bottleneck for some time, but Dev and Roman’s fast-caching system has greatly reduced the time necessary for reading the data.

You can see in Joe’s tweet that there are much fewer IAVL actions slowing things down in the right-hand image. It should be noted as well, that the upcoming F1 Fee Distribution system for liquidity mining rewards will practically eliminate epoch delays, since rewards will no longer need to be computed for every account at epoch time.

Finally, some brief updates: Citadel.one has launched its Osmosis extension, which is good for increasing front-end decentralization. A living roadmap for Osmosis is being planned by the Support Lab. We’ll have more to discuss about bridges soon, too. And air-dropping to Osmosis LPs and stakers has been made easier than ever with this handy guide to Osmosis airdrop scripts.

We look forward to seeing you next week at a new time! Sunny has been rolling out of bed at 7 AM Pacific Time for Updates, but we have decided to give him a break. Therefore, starting next week, we will meet at 1 PM EST, 6 PM UTC.

See you then!

Enter the laboratory at Osmosis.zone, the first decentralized exchange powered by the Cosmos SDK and IBC. See our published lab reports at the Osmosis blog, our bench notes at GitHub, and help plan future experiments in our Commonwealth

Connect with other DeFi Scientists by following us on Telegram, Twitter, Discord, Reddit, and the new Facebook and Instagram pages

Reach out to the Osmosis Ministry of Marketing by Email or Twitter and the Osmosis Support Lab by Email or Twitter

--

--