Context
It’s been absolutely lovely to see lots of great discussions here concerning the topic of network economic sustainability – perhaps partially the effect of the free market launch, which I think somewhat forces us to wrangle right away with these (absolutely critical) questions of economic flows and real product usage growth that crypto projects (and perhaps especially Cosmos ecosystem adjacent projects) often live in denial of for years due to speculative bubbles or deceptive schemes (e.g. Terra). Economic sustainability is a complex topic that touches upon many aspects across the protocol design, ecosystem structure, external communications, cross-project relations, and much more, and I won’t attempt to address all those aspects here – instead I want to focus on a specific sustainability question which I think is particularly important to Namada’s future: can we design a fee mechanism which:
- Supports the network as a whole (through e.g. buying-back NAM) in a manner proportional to usage volume (in assets, not gas) of the network as a whole,
- Supports particular frontend developers and operators in a manner proportional to the usage volume which they bring in specifically,
- Provides predictability and simplicity to users, and
- Does not require compromising any privacy properties.
I believe that we can, and I have a specific proposal for what such a mechanism might look like. Before detailing that proposal, however, I want to briefly motivate why I think points (1) and (2) are so important, along two dimensions: the network-frontend fee split, and volume-proportionality.
First, why is it important for fees to be split between the network and the frontend? Ultimately, Namada’s economic success depends on reaching many users who want to use the MASP (and other functionality of Namada) and are willing to pay something for it. Most users (myself included) will be happy to pay fees for a smooth, fast, safe product experience and a reliable protocol with a useful feature (privacy). Two main components are involved in any relationship with a particular user: the protocol/network itself, which provides the “backend functionality” of a blockchain, the MASP, shared shielded set, etc., and the frontend which the user is using (e.g. Namadillo, a Namada mobile app, or future frontends yet to be developed), which makes it practically possible for the user to interact with the protocol and guides them through doing so. In order to reach many users, both of these components must work well, and the best way to ensure that they work well is to ensure that they are economically supported in a manner which depends on how well they work. If we can craft a mechanism where frontends receive fees proportional to the volume which they bring into Namada, we create a reason for new organizations to develop new frontends which service particular users, assets, or flows, and a way for their work to be sustainable.
Second, why is it important for fees to be volume-proportional? Gas costs alone are merely an anti-spam/anti-DoS mechanism, and need only be compute-proportional (as they are at the moment), but I think that the kind of economic alignment we want requires volume-proportional fees. One way to think about this is simply that someone shielding a million USDC with the MASP is getting a lot more value from Namada that someone shielding ten USDC, and if we don’t ask that they pay proportionally more for it, then we would end up needing to ask for more fees from lower-volume users in order to provide the same level of network support. As a concrete example, suppose that we have:
- 1 user shielding and unshielding a million USDC
- 10 users shielding and unshielding a hundred USDC
If we have a 0.1% volume-proportional fee, we would charge the million-USDC user $1000, and the 10 users each $0.10, for $1001 in total fees collected. If we have a flat fee instead of a volume-proportional fee, we would need to charge each user $91 in order to collect the same total amount of fees – and it wouldn’t make much sense to shield and unshield $100 if you have to pay $91 in fees! Volume-proportional fees are also necessary for economic security, since the only way that Namada can credibly promise to provide economic security sufficient for the volume of network usage is if fees proportional to the volume of network usage support the economic security (through NAM).
Proposal
I propose the following fee structure (perhaps to be included in hard fork #1):
- MASP withdrawals charge a small, volume-proportional fee (e.g. 0.1% of the asset withdrawn).
- This fee is split between the network and the frontend which facilicated the MASP withdrawal (the frontend operator can simply include their address in the transaction), at a configurable ratio (e.g. the network and the frontend operator each receive 50% of the fee).
I think that this structure fulfills all desiderata outlined above: the network and frontend operators are both supported in a volume-proportional manner, a percentage withdrawal fee is simple and predictable, and no privacy is compromised (since asset volume is revealed when unshielding anyways). As a bonus, it gives users another reason to hold their assets in the MASP and send them around in shielded transfers (for which amounts are shielded and only flat fees are charged) – if you hold your assets in the MASP for a long time, shielded set rewards might well exceed the withdrawal fee!
What do folks think?