This proposal plans to layout a solution of how to fairly give out locked BAO that was promised to those that participated in bao liquidity farms (early bao users) without issues of over dilution/inflation and move BAO DAO to a voting escrow model for both sharing profits of our products and governance power over all aspects of the system. (reference BIP-6)
The BAO smart contract galaxy has been looking at ways in which to safely and fairly move away from our original governance model using the Bao MasterFarmer contract and the accompanying Bao Token (both on main-net and xDAI/Gnosis chain). To briefly reiterate on previous discussion, this is because with the current state of how many locked tokens there are relative to circulating tokens as a result of the farming era that took place on both chains, the rate at which the original linear unlock was scheduled to happen would have caused too large of a dilution (inflation of the Bao token supply) for the protocol to safely handle, and to avoid potentially systemic governance attacks that would mis-align incentives for early participants (those who chose to farm with their liquidity tokens).
To explain further, this is given that we have not yet successfully scaled bao-markets (hard-synths on main-net), before the original unlock time was scheduled, which was/is necessary to help mitigate the dilution of our governance token. More details can be read in previous governance concepts and the proposal to delay the unlock (reference BIP-6).
This brings me to how the smart contract galaxy plans to unlock the tokens that were promised to Bao liquidity farmers. The first proposed step is to define a migration to a new token (BAO v2) that reduces the supply by a factor of 1,000 relative to the original BAO token (~1.5 trillion → ~1.5 billion tokens). This is because the math used inside of the voting escrow contract implementation we will be using from curve finance’s contracts causes errors when using larger numbers for some operations.
The proposed distribution will take place over 2 years and allow anyone to claim their locked tokens before the 2 year period is over in the form of BAOv2 tokens, but at a slashed rate defined by a function of some kind that increases the number of tokens available the longer you wait to claim all the tokens. For example, if one were to wait for 1 year (half-way point of the distribution) to claim all their tokens, they would receive all the unlocked tokens from the first year of the distribution with no slash and the rest beyond the one year they waited to claim would be given to them at a slashed rate. Only after 2 years do you receive all the locked BAO tokens promised at no slash, given as the new BAOv2 token. We have yet to decide where the slashed balances will go, but most practically they would go to the protocol for future incentives to people who are long term invested in BAO. We also need to decide where bao that is never claimed (inactivity) goes and how long past 2 years we allow people with locked BAO to interact with the distribution contract before they are deemed inactive (3-6 months?).
-Here is the function the smart contract galaxy currently has proposed (weighted more heavily to the end)
-this is to make a larger slash for those that want to dilute the token faster and sell
-X in this piecewise function below is the number of days (the end being the 730th day, AKA 2 years)
-we have also graphed other example functions on the graphic below
The function we implemented is in purple, and the others are examples of some other options. The piecewise function we’ve defined so far is designed to weight distribution towards the end, but not as heavily as an e^((1/n)x) function (plus, the purple function is very gas efficient/cheaper on chain)
For BAOv1 that is already circulating, we will make a simple swapping function that converts the BAOv1 balance to the resultant BAOv2 balance factoring in the supply reduction as mentioned previously.
To summarize, all tokens whether unlocked/circulating or locked will be converted and given at a supply reduction of 1/1000 (.001) relative to the ~1.5 trillion BAOv1 tokens.
With the distribution proposed above, we will now have an unlocking process taking place over the 2 year time period that gives everyone a proportional weighting of the tokens they were promised in the original unlock of locked BAO balances and to already circulating BAOv1 tokens.
The smart contract galaxy plans to set minting privileges for the new BAOv2 token to the BAO voting escrow contract so the only source of new BAOv2 supply will be from emissions in the voting escrow model (as it is in curve finance). We will have to make a separate proposal/concept and discussion for what we want our emissions function to look like and how much our “pre-mine” will be, or in other words how much extra supply as a percentage will be used in the future mining epochs for BAO rewards to BAO liquidity gauges.
-here is curve’s token inflation schedule below for reference in the context of veCRV (pre-mine is 43%)
-this means curve liquidity gauges will receive ~57% of the future curve token supply as time => infinity
-a 43% BAO pre-mine as an example leaves ~57% of the total supply that will exist as time => infinity to the veBAO/BAO liquidity gauges
As for veBAO with regards to the distribution, the smart contract galaxy proposes we allow for 3 possible outcomes for those with locked BAO.
Collect/claim all tokens available before 2 years at a slashed rate depending on how soon they are claimed (in the form of BAOv2 tokens) (tokens are now in circulation after this function call)
Collect/claim all tokens at 2 years (or sometime after) to receive 100% of the locked balance (in the form of the BAOv2 token) into the account address that farmed BAOv1 (now circulating)
Choose to lock your balance in the BAOv2 distribution into voting escrow for a minimum of 2 years and a maximum of 4 years to get into veBAO as early as possible (your tokens will not be circulating but you will get the benefits of having veBAO.
This is meant to be a rough concept of how we could provide a solution for allowing several options (the 3 listed above) to those that participated in BAO early on when it first launched, while still preserving long term incentives for those that continue to support the DAO looking into the future.
The smart contract galaxy has been working on this both in writing code/testing it and giving constructive feedback so hopefully the rest of the community thinks this is a reasonable solution to move forward as it fairly moves us into the voting escrow system we want to use for our product suite on Ethereum Main-net, while also allowing people to decide what they will do with locked Bao they are owed without over inflating/diluting Bao token holders. Let me know what you guys think