Problem:

There are too many “We should add a tornado pool for X token” posts [1, 2, 3, 4]. To approve each one requires a lot of governance overhead (not to mention the shills will never cease to bombard this forum with new tokens)

Solution:

Create a meta-protocol to autonomously create mixer pools when provable market demand is reached

Meta-protocol:

  • Pre-commitment pools can be created with any fixed deposit_amount for any asset
  • Governance decide upon a deposit_count threashold that must be met for any pre-commitment pool
  • Before the deposit_count is met for any pool, committers can withdraw their deposit
  • If/when deposit_count is reached, the pool is locked from withdraws and a tornado pool is then deployed trustlessly and permissionlessly (no need for governance)
  • Once the tornado pool is created, then committers can only make a one way tx which deposits their commitment into the torndao pool for mixing

Example:

  • TORN governance decides any pool can be opened at any deposit_count of 1,000
  • A UNI community member decides to open a 100 UNI deposit_amount pre-commitment pool and make the first deposit
  • The UNI community member spreads the word in the rest of the UNI community
  • Eventually, 999 other UNI holders all deposit exactly 100 UNI into the pre-commitment pool
  • At the 1,000th 100 UNI commitment, the contract can be called by anyone to lock funds and deploy the tornado pool
  • Once locked, committed UNI community members can begin depositing their committed UNI into the tornado pool
  • From here on out, anyone can begin mixing their UNI in batches of 100 UNI

Requirements:

  • A pre-commitment pool contract
  • A pre-commitment pool factory contract
  • A tornado pool factory contract that’s admin-ed by pre-commitment pool contracts
  • An official proposal to codify this
6 Likes

Here’s a quick prototype of the commitment pool contract

This is by far the best proposal I’ve seen on this forum (other than mine of course :stuck_out_tongue:).

You have a great brain ethdev, you haven’t failed to surprise me and the community with knowledge in the last couple days.

1 Like

Ha, thank you kindly @gewitet. High praise indeed :slight_smile:

Grateful to be part of such an awesome community

If this governance-minimized, market-based model gets enough support to become an official proposal, I’d be more than happy to continue working on the contracts

Very good idea. Approval from the community and from the market shall both be necessary parameters for new assets additions.
Overall, less different assets to chose from determines less dilution, thus less is better.

1 Like