MASP & Shielded Transfers

The MASP

Namada affords users data-protection through its multi-asset shielded pool (MASP), which supports shielded transfers with any native or non-native asset. The MASP is a zero-knowledge circuit (zk-SNARK (opens in a new tab)) that extends the Zcash Sapling circuit (opens in a new tab) to add support for sending arbitrary assets. Assets of the same kind in the shielded pool share the same anonymity set -- meaning that the more transactions are issued to MASP, the stronger the data protection guarantees for all users. For instance, if a single account has shielded BTC, then subsequently withdrew these funds from the MASP (into the same account), we can trace the BTC back to their origin (even if in the MASP they could have been transacted between multiple distinct accounts privately). Now, if multiple accounts shield BTC, and at a later point in time BTC is unshielded, the BTC could belong to any of the accounts that initially shielded the assets.

Users of the MASP are rewarded for their contributions to the shielded set in the form of native protocol tokens (NAM).

Inspiration

The MASP is inspired by the work produced by the Electric Coin Company (ECC) who developed Zcash, and builds on the Sapling Circuit by implementing multi-asset functionality. In addition to the MASP, Namada has also implemented a zero knowledge circuit for rewarding shielded set contributions in a shielded manner. This circuit is called the Convert Circuit (CC for short).

If you are familiar with Zcash, the set of interactions you can execute with Namada's MASP are similar:

More technical details of these circuits can be found in the specs (opens in a new tab) as well as this blog post (opens in a new tab).