Blockchain fees are an underexplored topic that plague the UX of decentralized applications. Currently, Ethereum users need to hold a balance of ETH to pay for gas fees. There are many workarounds like meta transactions to make onboarding users easier. An often discussed concept is “economic abstraction” — letting users pay fees in other tokens aside from ETH. The Cosmos multi-token fee model aims to embrace this concept. In this model, validators are able to accept different token denominations as fees by whitelisting tokens and configuring minimum fees they are willing to accept per denomination. But using this model also comes with UX implications for the network, especially for stakers that will receive paid transaction fees as compensation.
In the Cosmos ecosystem, transactions will be routed through the Cosmos Hub via the inter-blockchain communication protocol (IBC). Since transaction fees are paid out as rewards to stakers, a world where users pay in multiple tokens also means that those staking will, by design, receive a fraction of these tokens as rewards.
In this world, the UX problem lies on the side of those providing their capital and services to secure the network. Small delegators might end up with tiny balances of fee tokens worthless to them. So how do we get rid off this dust? 🧹
As part of the Cosmos Seoul hackathon, we conceptualized a solution to this problem and won third prize with it. Babelfish is a protocol designed to accumulate fee tokens across a period of time (number of blocks) and to automatically auction them off in a batch. Our design uses Atoms as the auction pair. It distinguishes between individual auctions for popular payment tokens and basket auction for niche tokens.
The hackathon implementation uses a first price open bid auction. The following will walk through a hypothetical cBTC (BTC on a Cosmos peg zone) auction:
For a more detailed description and discussion of potential issues check out our in-depth writeup on Babelfish here.
Babelfish could provide a business model to the Cosmos Hub to offer fee auctions as a service to other blockchains. Additionally, the protocol also enables delegation vouchers to work in a multi-token environment. There are quite possibly some alterations and alternatives to this design. Making use of second price, dutch, or closed auctions is possible. An interesting alternative to our solution could also lie in an automatic conversion of fees using a Uniswap-style DEX. We are excited to contribute our research to making a user-friendly internet of blockchains a reality.
About Chorus One
Website: https://chorus.one
Twitter: https://twitter.com/chorusone
Telegram: https://chorus.one/telegram
Discord: https://chorus.one/discord
Originally published at https://blog.chorus.one on August 5, 2019.
We are about to witness a wave of high-profile Proof-of-Stake projects launch their main networks. At Chorus One, we have spent more than a year researching the ecosystem, designing our infrastructure, and most importantly, actively participated in multiple PoS networks. This led us to experience different approaches to bootstrap a staking community.
A key question is how to transition from testnets to a permission-less, decentralized network with millions of dollars of value at stake. This post summarizes the problem statement and introduces the concept and value proposition of incentivized testnets. Another follow-on post will cover more concrete insights, learnings, and recommendations on how to ideally bootstrap a staking community utilizing testnet competitions.
The goal for a PoS network is to be maintained by a multitude of independent, geographically diversified entities (validators). Voting power should (ideally) be somewhat evenly distributed across these validators to minimize the likelihood of a small number of actors wielding outsized control over the network. A genuinely decentralized network will also assist with network stability and favorable regulatory treatment.
Operating blockchain nodes costs money. There are costs related to provisioning and configuring the infrastructure. But there are also, often overlooked, costs associated with the time and skill (human capital) that is required to set up, operate, and maintain a validator.
Proof-of-Stake networks have a token that is supposed to compensate validators for these costs. But rewards are only paid out once the network is live. Who is incentivized to run nodes on a testnet with no compensation?
One approach is to assume that the community aka investors holding the token will run nodes themselves and will prepare adequately for the mainnet by participating in testnets. In reality, it is likely that the best node operators aren’t already invested in the project. The skills and capacity for investing capital in early-stage projects can be totally orthogonal to the skills required to operate a node well. Also, having investors as node operators will probably result in a more centralized network, especially considering concentrated token distributions.
Some node operators will participate in testnets in expectation of delegations on the mainnet. This implies the existence of some form of delegation mechanism. But what about validator skin in the game? Many projects emphasize the need for validators to have some economic stake in the project. This mostly translates to requiring a minimum buy-in for validators, which narrows the set of potential node operators to those that have enough capital to invest relatively large amounts themselves.
Additionally, because there are no economic incentives to participate in testnets, operators won’t put in too much effort to seriously test the software or optimize their architecture and operations. Finally, the choices of networks to validate on for node operators are increasing. Joining a testnet has associated opportunity cost for validators. In conclusion, PoS projects need a way to convince good and dedicated node operators that will increase the value of the network to join their ecosystem.
As a summary, the high-level goals to accomplish before launching a PoS mainnet are:
An emerging trend is to run an incentivized testnet competition that rewards participants with tokens based on their performance during the competition. The idea is to bootstrap a community of high-quality node operators while at the same time testing and improving network performance, robustness, incentives, and other features in adversarial conditions that resemble a live network.
The project that first established and carried out such a competition is Cosmos with their “Game of Stakes” (GoS). Multiple PoS projects are currently exploring their own testnet competitions. We’re aware of the Enigma incentivized testnet and many others that didn’t announce their plans publicly yet.
The common thread across these competitions is the desire to battle test the protocol’s cryptoeconomic design, network performance, and features such as governance and delegation. Often additional rewards (bounties) are offered to participants that scrutinize each part of the system to uncover code or incentive flaws.
Going back to the PoS network launch goals stated above, we can see that an incentivized testnet competition is an amazing tool to realize them:
Another positive side-effect of a testnet competition is that it enables project teams and validators to test and establish communication channels and coordination processes that will persist to the mainnet. This can include announcement and discussion channels, upgrade processes, call schedules, etc.
While GoS worked out incredibly well on many fronts, we believe that there is room for improvements for future incentivized testnet competitions. We’re always happy to share our experiences and feedback, reach out to us to learn more! A follow-on post will go into detail covering learnings and recommendations gathered from the GoS experience, our research, and conversations with validators, protocol designers, as well as other players in the staking space.