Introducing Morphose — Fully Decentralized Protocol for Private Transactions on Binance Smart Chain
What is Morphose?
Blockchains allow transferring digital assets in a decentralized fashion — without intermediary central third parties while enabling public verifiability as well as the provenance of the digital transactions and data. However, the privacy issue of a Blockchain undermines user anonymity, confidentiality, and privacy in transactions. Although the usage of pseudonyms avoids linking transactions to the real identity, users are not totally anonymous in their movements. All usages behind these pseudonyms might be traceable and linkable.
Morphose breaks the on-chain link between source and destination addresses to enable transactional privacy on Binance Smart Chain. Her smart contracts use non-interactive zero-knowledge proofs, also known as zk-SNARKs that require no interaction between the prover and verifier. Once a BNB deposit is withdrawn by a new address, there is absolutely no way to link the withdrawal to the deposit, ensuring complete privacy.
How Does Morphose Work?
Morphose works in 3 steps. “Deposit”, “Wait”, and “Withdraw”.
1 — Deposit
A user connects to Morphose app with his/her wallet and deposits BNB to Morphose smart contract to get a secret key (Note) in return.
2 — Wait
Even though it’s not necessary, it is better to wait some amount of time for other people to deposit to improve privacy.
3 — Withdraw
The user connects to Morphose app with a new wallet, submits the Note, and the smart contract transfers the funds to desired address by getting 0.75% commission.
Morphose is the first fully decentralized protocol for private transactions on Binance Smart Chain. That means her smart contracts are immutable without admins or owners, her UI lies on IPFS and she doesn’t depend on third-party off-chain relayers that may de-anonymize the user. Morphose also takes the lowest commission of 0.75%, has multiple denominations, and uses lower gas fees than her competitors.
Today, all privacy solutions in Ethereum and Binance Smart Chain are clones of Tornado.cash. Tornado.cash and its clones depend on third-party off-chain relayers to withdraw funds. Even though they solve the privacy problem while using IPFS and multiple relayer nodes to support decentralization; if a third-party node that lies off-chain can tell that the user owns both the deposit and withdrawal address, then it can de-anonymize the user. This is why in order to achieve full-decentralization (full privacy), the deposit-withdrawal process must not depend on any third party and it should stay on-chain.
When there is a transaction on Morphose, it stays on Blockchain and Blockchain-only. Blockchains are trustless. A trustless system means that the participants involved do not need to know or trust each other or a third party for the system to function. In a centralized system, as long as the trusted third party can be trusted, the system will function as intended. This is why Morphose doesn’t use any off-chain third-party relayer. Funds still can be withdrawn into an address with no BNB balance, but the wallet that withdraws the funds has to pay the gas fees. While this may create a small usability problem when withdrawing to an empty wallet, it actually makes Morphose cheaper, most private and, fully decentralized/trustless. Morphose also solves this problem by its decentralized faucet. For every 1 BNB withdrawal, the user can get its gas fee from Morphose faucet. In this way, the user can withdrawal to an empty wallet and reduce protocol commission to 0.75%.
Proposals to evolve Morphose can be created on her Snapshot Page. Every proposal will be voted using MORPH tokens.
Zero-knowledge proofs (zkSNARKs) enable Morphose to obfuscate deposited token history without revealing which exact deposit corresponds to the secret (note). In cryptography, a zero-knowledge proof or zero-knowledge protocol is a method by which one party (the prover) can prove to another party (the verifier) that they know a value X, without conveying any information apart from the fact that they know the value X. It’s a technology similar to zCash that you can read in great detail on their website.
Maximum Supply and Use
Morphose has MORPH token only on Binance Smart Chain with a maximum supply of 100K. There are 2 uses of MORPH token:
Voting: for governance proposals on Snapshot.
Buybacks: 30% of every transaction fee that protocol earns is used to buy MORPH token back from its own MORPH-BNB PancakeSwap pool in a random monthly cycle. Up to 70% (the rest) of every transaction fee that protocol earns is used to combine with bought MORPH in a new liquidity pool/exchange listing or to support current ones. In this way, 2 constant buying pressures are added to MORPH.
Since MORPH token supply is limited to 100K (compared to 5M-10M tornadocash-clone supplies) there won’t be any token burns. MORPH won’t be used in staking, rewards, airdrops, or giveaways to eliminate sell pressures. With Ethereum 2.0 or Layer-2 solution, MORPH will be a privacy token similar to zkDai to act as an alternative to Morphose Protocol.
Token Ownership and Locking
As in all Morphose contracts, MORPH token ownership is renounced. MORPH token contract is ownerless and its operator is obsolete. All 100K supply is minted to Morphose Deployer account and strategically locked on Team Finance to prevent any risk of removing liquidity or mass selling. The locking strategy is as below:
Presale Tokens: 25000 tokens sold as unlocked on Bounce.
LP Tokens: 21500 tokens used for initial liquidity and locked for 12 months on Team Finance to prevent any chance of abruptly removing liquidity. 3000 given to the initial developers.
Community Tokens: 50500 tokens locked for 12 months on Team Finance to unlock ≈4500 tokens at the end of each month starting from 50 days after listing. These tokens are distributed to treasury funds as follows:
- 40% to the Community fund
- 40% to the Developer fund
- 20% to the LP fund
Morphose denomination smart contract takes a 1% fee from a withdrawal but for every 1 BNB withdrawn Morphose faucet pays back 0.25% to be partly used as a gas fee to withdraw funds. So for 1 BNB or more deposits, Morphose takes 0.75% commission. This fee goes to the Morphose Fees Collected Fund. 30% of this fee is used to buy back MORPH token from its own liquidity pool. Up to 70% (the rest) is used to combine with bought MORPH to support its liquidity as explained in the tokenomics section.
Privacy Best Practices
Morphose solves the on-chain part of privacy. There is also the network part of the privacy that needs to be considered. Unless the user gives the Note to someone else and uses a new wallet address to withdraw, there is no way to fully link deposit and withdrawal through “public” wallet addresses. However, IP address can also be considered public information because it is known by the ISP. So even though withdrawal to a new wallet address is enough to break the link, using a new IP while making a withdrawal will make the transaction completely private. Here are the tips to solve network-level privacy while using Morphose.
- Use VPN to get a new IP while making a withdrawal. Preferably use Free Proton VPN or Free Open VPN through Tunnelblick. If you are going to pay for a VPN better not pay with your credit card but pay with cryptocurrency.
- If you are using a public RPC to connect Metamask it might know that your addresses are linked. If you are withdrawing with a wallet use a different browser than the browser you used for the deposit.
No Logs Policy
Morphose does not collect any user data, blockchain data, server data, or browser data. Its backend (smart contracts) are verified and open on Binance Smart Chain. Its frontend (UI) is hosted in a decentralized way on IPFS and can be accessed using the link morphose.eth.link.
Morphose runs on Moonbase Alpha Testnet so it’s Polkadot ready. It also runs on Ethereum Mainnet and uses less gas fees/commissions than Tornado.cash (10% more in deposit, 25% less in withdrawal). The initial developers of Morphose have a deep belief in Binance Smart Chain and Polkadot so they targeted Morphose to serve in BSC first and then Polkadot. This won’t change. So, Morphose community’s roadmap is first; be the first choice for private transactions on Binance Smart Chain. Second; fully support and dominate Polkadot parachains as they launch. Third; make Morphose the first alternative for Tornado.cash on Ethereum. In parallel to all these Morphose will evolve to Morphose 2.0 protocol when the account abstraction feature of EVM (EIP2938) gets approved (with ETH 2.0 or soon with a fork). With an upcoming ETH 2.0/Layer-2 solution, making MORPH a privacy token, an alternative to Morphose protocol is planned. Solana and Cardano developments on EVM support are also closely followed.
- MembershipVerifier: 0xF90E93Bc6a27283947Dd06D6F60Ac7bC09c5012E (no owner or admin)
- MorphoseAdmin: 0x0b712301a34F8Adb297F0b6808503c6278E3aa0B (owner renounced, no admin)
- Morphose 0.1 BNB Denomination: 0x97AC13e4c54Aca77d3F5E234f3999199882c4850 (no owner or admin)
- Morphose 1 BNB Denomination: 0x333fe38C163eCC897bD2AE2cA2615659b6576661 (no owner or admin)
- Morphose 10 BNB Denomination: 0x15d8c1c08e20a911c37C2B3D6dD3de20Cf80eC21 (no owner or admin)
- Morphose 100 BNB Denomination: 0x634cCA5d5593f029067A63E448beAbBE105B1aC7 (no owner or admin)
- Morphose 1000 BNB Denomination: 0x98Fe8cb971F1e12237461Bc20F3CB5BE90E3953d (no owner or admin)
- MORPH Token: 0x2b15bc62d1fb46ade4763a3c5ea0917460bb25f1 (owner renounced, operator obsolete, the maximum supply of 100K tokens minted and locked according to tokenomics of docs)
Connect with Morphose
Thank you for reading this article. You can learn more about Morphose using the below links.