Clarity-Innovation-Lab / ecosystem-dao

An instance of Executor DAO - a community DAO project
MIT License
2 stars 1 forks source link

Bootstrapping the Ecosystem DAO via a Token Sale #2

Open radicleart opened 2 years ago

radicleart commented 2 years ago

This issue opens a discussion about how to make the bootstrapping process for the Ecosystem DAO as fair as possible.

In order to raise funds for the project it's common practice to hold a sale of the DAO governance token (a SIP010 fungible asset used for voting). People buy into the project by sending some STX to the DAO treasury in exchange for ECO tokens which in turn raises a treasury for the DAO to do stuff.

EcosystemDAO has a mechanism for implementing a token sale, for details see; Treasury and token sale extension. The treasury has the ability to hold and transfer any STX/009/010/013 assets. The parameters of the token sale; price-per-token and sale-duration would be set when the contract is deployed to the blockchain and we will consult with the community / partners (if we end up rolling with this mechanism) to determine their values.

Although a token sale like this generates a treasury for the DAO, it also favours the wealthy and creates whales (DAO members holding disproportionate shares of the governance token). Many DAO projects see this as a positive since the whales are also incentivised by the interests of the project as a whole however it's clearly a mixed blessing. To mitigate this we're adding delegate voting to the EcosystemDAO in order that the community has the opportunity to balance out the voting power of whales. However this isn't the only solution.

As is the way with crypto projects there are also other models / mitigations / variations of this which can be used together or separately - for example;

  1. airdrops of ECO tokens
  2. an early airdrop to community members followed by a token sale later (similar to the way NFT projects do their minting)
  3. a limit on the number of tokens an account can buy through the token sale.
  4. switch off the ability to buy and transfer ECO tokens and only allow minting through the DAO (a closed membership model)
  5. and on ..

There are trade offs inherent in all these choices - for example 4 above would limit the projects ability to grow over time because it would be confined to a pure voting application the DAO would have no power to build incentive mechanisms for its own growth.

Rather than making these choices ourselves we'd prefer to get some help thinking through this maze and find the fairest way to launch the project?

314159265359879 commented 2 years ago

I think we should definitely get MattySTX ( @aidev42 ) in this conversation. I think instead of having to worry about getting the right tokenomics for a project he is working on guidelines/model that will help you make the right choice.

I think it is tough to set the right price for a token sale before you start. Will you have some model to predict fair market price before you set that price? Do you want maximum decentralized distribution? ALEX uses a ICO/IDO lottery in that case. Perhaps if you want to use the ICO/IDO for price discovery too, a Dutch Auction could make sense. Do you want to run your own Initial Coin Offering for the Ecosystem DAO or use one of the existing launchpads on Stacks?

One of the things I have been pondering is to ensure there is a liquidity pool when the sale is a success without having to rely on the project owner, the DAO via voting or another third party. I think some of the revenue in the initial sale should be "forced" into a liquidity pool. Lets say 20% of the xBTC/STX gathered: those are paired with the same value of the DAOtokens in a 50/50 liquidity pool (preferably with one of the existing DeFi protocols on Stacks), locked for several years or perhaps even forever. This ensures (A) a sizeable liquidity pool from the start of the project and (B) a (decentralized) distribution of liquidity providers (as decentralized as the token sale at least) and that way the risk (of providing liquidity) is distributed among all initial investors as a cost of participating in the ICO.

Restricting buy/sell/transfer of tokens seems counter intuitive to me if you want a Ecosystem DAO to be accessible to anyone but I understand the wish to protect the DAO from bad actors. I would love to see solutions that do not restrict transferring the DAO token.

314159265359879 commented 2 years ago

I think if you restrict access you'll have to take measures to make sure you restrict access. Address limits could be circumvented by using additional addresses/aliases for example. You may want to verify "real person"/"unique person". perhaps with zero knowledge proofs for users who want to remain anon?

mattyTokenomics commented 2 years ago

Hi @314159265359879, heard from Jenny you were trying to get in touch with me. Can we find a time to chat to catch up to speed?

MarvinJanssen commented 2 years ago

I think if you restrict access you'll have to take measures to make sure you restrict access. Address limits could be circumvented by using additional addresses/aliases for example. You may want to verify "real person"/"unique person". perhaps with zero knowledge proofs for users who want to remain anon?

One simpler solution I thought of is to pin the max sale amount to the STX balance at a given block height. You can easily check it in Clarity using (at-block (stx-get-balance SP...)). But if this is known beforehand then whales can obviously optimise for it by splitting their tokens over multiple addresses.

For large projects, I think using a tested mechanism like ALEX' launchpad is the better way to go. However, we still want to provide a self-contained reference raising mechanism for people to look at or use at a smaller scale.

Also we should consider that the token sale extension may be activated alongside a few others that produce governance tokens in another way. (Raffle, airdrop, what have you.)

radicleart commented 2 years ago

Hi @314159265359879, heard from Jenny you were trying to get in touch with me. Can we find a time to chat to catch up to speed?

Hi Matty - yes I've booked a slot at your surgery 11am this morning (uk time) to discuss this. Hoping @314159265359879 can also attend?

radicleart commented 2 years ago

Thanks for the conversation @mattystx / @314159265359879 . Hoping this is a fair summary...

How to think about the governance token depends on how the DAO is going to be used.

If it's a tool for the stacks community to vote on protocols and contribute to decision making about the network then its best to consider the governance token as a reputation based token as opposed to an economic token. In this context the token would be minted / earned via contribution it wouldn't be transferrable or tradable on exchanges.

On the other hand, if the DAO operates as a say a dev fund then the DAO will require a treasury and the token will be used to incentivise work and therefore hold economic value. There would need to be a token sale to generate a treasury and the associated legal and regulatory issues would need to be addressed.

In this scenario an IDO platform (e.g. ALEX) would be useful for running the token sale. It will allow the market to determine the token price, help advertise the sale and also help in dealing with the legal and regulatory issues. For a small project/treasury it'd be possible to run a token sale independently but the token price, sale promotion and legal/regulatory issues will need to be addressed.

314159265359879 commented 2 years ago

Excellent summary Mike and thanks for the input MattySTX!

mattyTokenomics commented 2 years ago

@radicleart overall looks good! Two clarifications I'd make

the token will be used to incentivise work and therefore hold economic value

The token being used as payment to work being done for the dev fund does not, in and of itself, ensure it has any economic value (what do I do with it once I earn it?). The token would have value because (presumably) the work the dev fund would be doing would have value, which would accrue to the treasury.

It will allow the market to determine the token price

Determining the initial token price is not really different between an IDO vs a non-exchange related initial offering. In both cases, someone has to determine the initial price - whether manually, or via an auction mechanism. For example ALEXs own IDO was a fixed STX price per ALEX token. The Alex team had to pick that initial price. An alternative approach, like a dutch auction, would help but that is not IDO specific.