Proposal Details

Proposal #489

Passed

Proposal title

Set token creation fee to zero; introduce an alternative spam-prevention mechanism

Submit time

Deposit end time

Voting start time

Voting end time

Tally result

89.35%

Proposal #489 description

Background

In Cosmos ecosystem there are two prevailing fungible token standards, the native token and the CW20. Osmosis is equipped with a “tokenfactory” module which allows anyone (human users or smart contracts) to mint native tokens. This is a much desired feature, as native token is superior than CW20 for many reasons which I will not cover here.

Given that Osmosis currently has a very low gas price, tokenfactory needs a mechanism to deter spamming. This means an attacker creating a massive amount of new tokens that take up nodes’ storage space. It does this by charging a fee, currently set at 10 OSMO, whenever a new token is created. This is known as the

denom_creation_fee
in the code.

The problem

It turns out, that this fee approach makes it harder for smart contracts to integrate with tokenfactory, especially ones that need to repeatedly create new tokens. For example,

  • A lending protocol that issues tokens representing collateral or debt positions, needs to pay the fee each time a new collateral or debt asset is added.

  • A cross-chain transfer protocol that issues voucher tokens, needs to pay the fee the first time a token is transferred.

Such contracts need to allocate a fee pool for these payments and program relevant payment logics, which in many cases is a non-trivial task.

Note that this complexity has nothing to do with how big the fee is. It is there as long as the fee is non-zero.

An alternatie solution

Ethan Frey proposed an alternative spam-prevention approach in this Github issue. It suggests that, instead of charging a fee, charge a large amount of gas instead.

From the perspective of the user who creates a new token, there is no difference from the current approach – they pay the same fee, the only difference being whether it’s a

denom_creation_fee
or a gas fee. However, it makes it much easier for smart contract developers.

This approach has been implemented by Juno and is expected to be included in its v15 upgrade.

This proposal

I proposed that Osmosis does the following:

  • Introduce the same spam-prevention mechanism, in consistency with Juno’s implementation (most importantly, keep the same protobuf message/query API);

  • Set

    denom_creation_fee
    to zero in the UpgradeHandler of the next chain upgrade.

Proposal #489 overview

Total votes
2,222
Voters
2,207
Total deposit
5,000 OSMO

Proposal #489 votes

#

Validator

Account Address

Options
1LikeCoin by Liker LandYes
2Bro_n_BroAbstain
3StakeWithUsYes
4Coinage x DAICYes
5BlockdaemonYes
60base.vcYes
7Chorus OneYes
8AutoStake 🛡️ Slash ProtectedYes
9in3s.comYes
10White Marlin StakingYes
11KingSuperYes
12S16 Research VenturesYes
13TessellatedYes
14Kalia NetworkYes
15Larry EngineerAbstain
16ChainflowYes
17polkachu.comYes
18Gelotto 🛡 Slash ProtectedYes
19TaxiStakeYes
20ECO Stake 🌱Yes
21Stakewolle.com |100% InsuranceYes
22ChihuahuaYes
23WhisperNode 🤐Yes
24CrowdControlYes
25PLEASE REDELEGATE - FlipsideYes
26ShapeShift DAOYes
27Secure SecretsYes
28CommunityStakingYes
29PRYZM | StakeDropYes
30StakecitoYes
31Kintsugi NodesYes
32[ block pane ]Yes
33POSTHUMAN 🧬 StakeDropYes
34Uncle EdYes
35PRO DelegatorsAbstain
36OldcatYes
37CryptoCrew Validators ✅Yes
38TR-3B ASTRAYes
39Smart Stake 📈📊Yes
40Frens (🤝,🤝)Yes
41Simply StakingYes
42CrosnestNo
43blockscapeYes
44[Beehive]🇰🇷Yes
45Leonoor's CryptomanYes
46Zenith - REDELEGATE to InterblocYes
47Swiss StakingYes
48KomikuriYes
49NotionalYes

View: