[Idea] Pegged Phonons

The problem

Creating or redeeming a backed phonon requires an on-chain transaction. Consequently low value backed phonons on popular chains aren’t cost effective. At the time of writing, an ERC20 transfer on Ethereum is ~$0.35USD making the cost to create or redeem a 1 Ethereum DAI phonon 35% of the phonon’s value. I believe that low value denominations are essential for ecommerce so for the Phonon Protocol to reach its full potential a solution to this problem is required.

The solution

I propose that the DAO develops a stable coin issuing service that accepts crypto deposits into a smart contract and issues “pegged phonons” that have a claim on these deposits. The mechanism is very similar to USDC but, instead of USD in a bank account, the backing assets are held on-chain.

Minting flow

A user has 100 DAI wants 100 phonons each representing 1 DAI

  1. The user deposits 100 DAI into the DAO’s smart contract. The smart contract emits a deposit event which includes the token address and value and the user’s ethereum address.
  2. The user sends a HTTP request to the DAO’s API containing their phonon public keys and the denominations they are after. In this case, 100 phonon public keys are sent through with a request for each to be assigned 1 DAI. This request also contains a proof that they are the depositor.
  3. The DAO’s API validates this request before forwarding the request to multiple signers. These signers do their own validation before signing their part of the signatures. A signature for each phonon is created stating the phonon public key, asset type and denomination.
  4. The user receives the signatures and they add them to the metadata of their phonons.

Burning flow

A user has 100 phonons each presenting 1 DAI and wants 100 DAI

  1. The user redeems the 100 phonons and sends a HTTP request to the DAO’s API containing the phonons private keys and an Ethereum address.
  2. The DAO’s API validates this request before forwarding the request to multiple signers. These signers do their own validation before signing their part of the signatures. A signature for each phonon is created stating the phonon public key, asset type and denomination.
  3. The DAO’s API validates this request before forwarding the request to multiple signers. These signers do their own validation before signing their part of the signature.
  4. The user receives a withdrawal signature for 100 DAI from the smart contract.
  5. The user submits the withdrawal transaction to the DAO’s smart contract with the signature and receives 100 DAI.

What this achieves

There are many possible variations to the proposed solution. One such variation is where the DAO creates the phonons and the user receives them after pairing their card with the DAO’s API. Another is using Posted Phonons to send the phonons to the user’s card. Regardless, the benefits are the same

  1. Cost reduction. The cost of creation or redemption per phonon can be drastically reduced by creating or redeeming multiple phonons with a single on chain transaction.

  2. Offline validation. As each phonon will have a signature from the DAO, phonon wallets can validate their authenticity without looking up on-chain data.

  3. Easy change making. In a flow similar to the burn flow, The DAO’s API can receive a HTTP request with phonon private keys and request that these be transformed into new denominations. This may not even be necessary with @Senor’s “Flexible Phonons” idea where cards will be able to break “non encumbering phonons” into smaller denominations themselves. I believe the proposed solution with Flexible Phonons is a very powerful combination.

  4. Potential revenue. The DAO could move the deposited assets to low risk yield opportunities such as MakerDAO’s DSR (If it ever gets turned on) or charge for change making services.

Potential issues & proposed solutions

  1. With a centralized stablecoin like USDC it is easy to verify the on-chain market cap of the coin but nearly impossible to verify the value of the backing assets. The proposed solution faces the opposite issue. It is simple to verify the value of the assets deposited into the smart contract but difficult to verify that the DAO is not issuing unbacked phonons. To overcome this I suggest the DAO maintains a public list of attested phonons, their values, and the on-chain transaction used to back them. If a phonon is ever found in the wild with a valid signature but no record in the public list it can be assumed the DAO is acting dishonestly.

  2. The proposed solution, like all bridges and oracles, can be attacked by its signers/validators. If the DAO’s signers were to collude they could print unbacked attested phonons or steal assets from the smart contract. I believe it is acceptable to launch the project with five trusted community members as signers and to increase this as the project grows. MakerDAO’s oracle network works with a similar setup.

3 Likes