changed 4 years ago
Linked with GitHub

Harberger Tax on zk-asset issuance.

TLDR: A Harberger Tax is a self-assed value tax. The owner of some property declares its value and pays a proportional tax. To discourage under valuing the asset, anyone can buy the property at its declared value. This can be applied to asset issuance.

The asset issue instruction declares the value of the assets in ZEC and pays a ZEC denominated fee as a percentage of the declared value. This declared value is the reserve price for an auction. After the issuance transaction is published, anyone can submit higher bids (the reserve price should be above the declared value by some margin to deal with volatility) + the fees for issuing at that bidded valuation. After n blocks, the highest bidder gets the assets issued to them and pays the zec fee. The original issuer gets the winner's bid. As an extension, the initial issuer could get the right of first refusal to the final bid: e.g., they pay fees for the winning bid and a penalty to the auction winner, but the original issuer keeps the issued asset.

Considerations:

  1. The first issuance of an asset should be free. You can always issue an empty asset on chain with no value and then later make it redeemable for something with value. The Harberger issuance tax only works when the asset already has value. For example, if there are already issued assets of a given type (and, because of zero-knowledge, all assets are fungible). This also encourages easy onboarding and developer experimentaion without paying fees.

  2. The reserve price needs to account for volatility of both zec and the asset. Rapid changes in the value of zec or the asset will penalizes issuers who acted correctly: they will be outbid even though there original valuation, before volitility, was accurate. This is worse for longer auctions.

Advantages:
This gets us nearly everything we might want for asset issuance. Fees are in zec and are a percentage of the fair market value of the issued asset. We do not need price oracles or other complications.

Open Problmes:

  1. The valuation of the asset current will acount for both its value and volitility of ZEC. Is it possible to price these seperately.

  2. Auction implementation. It may be possible to do the auction with TZEs entirely, if TZEs can be treated as a state machine across transactions. But if not, or it somehow requires global state, this is a significant engineering burden.

  3. Mechanism design: the described auction is a first price open bid auction, which doesn’t produce optimal pricing. However, second price sealed bid auctions or other types seem challenging in this setting. And even if possible, have significant engineering burdens.

Drawbacks:

  1. Operational concerns. The auction process places a major operational burden on treasury management for custodial stable coins and potentially an even worse burden on cross chain mechanisms for issuing private wrapped tokens: The issuance process is now interactive and things can go wrong. Moreover, custodial stable coins may wish to avoid the KYC/OFAC risks of issuing an asset to an unknown counter-party who out bid them.

  2. The mechanism prevents the usage of zk-assets as NFT tokens for say access control. We can’t issue tokens for access control to e.g., members of a maker space, if anyone can bid for the token or (in the case of first refusal) force the issuer to pay an arbitrary amount to retain the the token.

  3. Privacy and efficiency concerns. The Harberger issuance tax may cause people to only issue initial batches of valueless tokens and then, after the auction is complete, make them useful. This may fragment assets by resulting in batches e.g. wrapped BTC, actually being different and therefor neither fully fungible or fully private.

  4. valuation vs volatility. If the reserve price margin is too high, issuers will slightly undervalue their assets. In contrast, if the reserve margin is too low, issuers will over value their assets to avoid other bidders. As volition varies, it’s unlikely to be correct all the time.

  5. MEV vs volatility. The auction must span sufficient blocks that colluding miners cannot prevent bid submissions. However, the longer the auction, the greater the volatility risk.

Select a repo