NYM tokens — where do they live and how are they distributed cross-chain?
Nym be mixnet wey dey provide strong privacy protection for ordinary pipo by encrypting and mixing internet traffic. Dis mixnet get utility token wey dem call NYM to pay for usage, measure reputation and serve as rewards for di privacy infrastructure. Di token economics of di Nym mixnet dey run on top Nyx blockchain, na layer-1 blockchain wey dem build on top Cosmos SDK, for di mainnet.
Di Nyx blockchain na di house of di smart contracts wey dey form di backbone of di Nym mixnet. Dis smart contracts dey manage di topology of nodes wey make up di mixnet, di staking and rewarding of mix nodes and of course di peer-to-peer transactions where users dey send NYM tokens to each other. Nyx na Cosmos blockchain, e dey use CosmWasm smart contracts and e dey write with Rust, wey dem compile to WebAssembly. (Stay tuned for upcoming blogpost wey go explain di breakdown of di mixnet CosmWasm smart contracts!)
Now, wetin dis mean be say di mixnet token economics no dey run through simple Ethereum smart contract wey dey mint ERC20. Instead, tokens dey store for Nyx Cosmos chain and den dem go send am cross-chain to oda blockchains, like Ethereum.
Di total supply of NYM tokens na 1,000,000,000 (1 billion). No be all of dem dey circulation yet, as e get different vesting instruments wey dey release tranches of tokens wey start from genesis of Nyx chain for early 2022.
Di team dey release quarterly tokenomics updates as more tokens dey enter circulation. E dey necessary as di increase for liquidity dey result in change for di mixnet tokenomic parameters. Make I give example: di more native NYM tokens wey dey circulation, di higher di stake saturation points for mix nodes.
Note: NYM na utility token, wey go enable users to access internet through di mixnet. E be reputation and incentive vehicle for mixnet infrastructure operators.
Small complexity: ERC-20 NYM
To enable access for more users, NYM tokens also dey enabled on top Ethereum chain as ERC-20 token, dem dey use permissionless Gravity Bridge — na Cosmos native blockchain wey dey bridge assets between Ethereum and Cosmos ecosystems.
Di main reason for dis na say many centralized exchanges no dey support Cosmos chains directly — only some, like Kraken or Deepcoin dey do am.
Nym and Gravity bridge
Gravity Bridge get two different sides, one na Gravity.sol, di Solidity contract wey dey hold & release funds on Ethereum. In contrast to mainstream trend for regular bridge designs, Gravity.sol dey very compact and e dey easy to review. Three independent teams (Certik, Least Authority, and Code4rena) don audit am and e no dey upgradable. E no dey get any trusted parties — e dey work as transparent and solid framework to bridge any Cosmos chain to Ethereum.
Di way Gravity.sol dey work be say when ERC20 NYM contract bin dey deployed by Gravity Bridge, e don mint maximum possible amount of NYM Ethereum tokens — e equal uint256, basically e dey very big number wey Ethereum design parameters don cap. E dey reflect for Etherscan.
Dis minted number no dey relate to di 1 billion total supply of native NYM tokens. E dey technically hardcoded into di bridge contract function, like for di case of all oda types of Cosmos tokens wey Gravity.sol dey hold. Dis phenomenon dey occur for every chain wey use Gravity Bridge. However e fit dey less noticeable since most tokens originate from Ethereum side where maximum supply wey less than maximum size of uint256 dey less common.
Di deployment dey done by di bridge contract itself. People wey dey deploy get limited parameter control, wey na name, symbol and di number of decimal points.
Di reason for dis na because for Cosmos side, Gravity module dey mint and burn native NYM tokens based on top bridge interactions wey users request, and dis way Gravity contract no need dey updated to calculate with any tokenomics of any token specifics — e fit dey lean and permissionless, e go work with all Cosmos tokens.
Essentially, Gravity dey act like photocopying machine, wey no dey count tokenomics and vesting periods, because e only do two things:
If Native NYM dey burnt, e go release ERC-20 NYM for Ethereum side
If ERC-20 tokens dey locked, e go mint di equivalent amounts on top Cosmos side
Make we see two example scenarios:
Example 1
Alice win X native NYMs for challenge and she wan sell am for exchange wey she get account. As her exchange only support ERC-20 NYMs, Alice go need bridge her tokens through Gravity Bridge:
Alice send X native NYM over to Gravity Bridge.
Gravity Bridge burn these tokens on top Cosmos side (1 billion minus X).
X amount of ERC-20 NYMs go release from di bridge contract to di wallet wey Alice specify.
For di end, di maximum circulating amount no go change — na only X amount more dey circulate for Ethereum side, and X less for Cosmos side.
Example 2
Bob wan buy Y NYM tokens make e stake dem on mixnode, but e only get account for exchange wey support ERC-20 NYMs. Bob sabi say e go need bridge im ERC-20 NYMs through Gravity Bridge:
- Bob send Y ERC-20 NYMs from exchange go Gravity Bridge.
- Gravity.sol lock Bob’s Y ERC-20 NYM tokens — dis one go add to di already very-big number of NYM tokens wey no dey circulation wey dey held by di smart contract.
- Gravity Bridge go mint Y Native NYM tokens and send am go di Nym wallet address wey Bob specify.
For di end, di maximum circulating supply no go change, because all NYM tokens go originally don mint for native Nyx Cosmos chain. In oda words, di Y ERC-20 NYMs wey Bob buy for exchange go at some point don mint from Nyx, just like Alice tokens. So dem don burn am before by another person wey bridge those tokens go Ethereum.
Di total circulating supply go always dey maximum 1 billion NYM, across all chains.
Resources
If you wan learn more about how to bridge your ERC-20 to Cosmos read: https://blog.nymtech.net/bridging-staking-and-earning-nym-tokens-8f19f42f171e
If you dey interested for quarterly tokenomics parameter upgrade read: https://blog.nymtech.net/nym-token-economics-quarterly-parameter-update-e85b6c929b37
If you like know more about how to stake & delegate your tokens read: https://blog.nymtech.net/how-to-stake-in-the-nym-mixnet-15a28d687e56