Expansion and Contraction

# Goal

VSD implements a unique expansion and contraction mechanism to achieve the following goals
1.
Meet the target collateral ratio even the prices of underlying collateral assets can be volatile;
2.
Maximize the benefits of active participants including bonded liquidity providers and value set share (VSS) holders.

# Expansion

When the price of VSD > $1.0, the system will issue new VSD and automatically sell the VSD so that the price =$1.0. Suppose the amount of VSD sold is
$x$
and the value of the token received from the exchange (e.g., USDC or ETH) is
$y$
. All the received token will be deposited into collateral pool, and the following amount of VSD is issued as the expansion reward:
$r = y / cr - x$
where
$cr$
is the target collateral ratio. This ensures that all issued VSD are partially backed by the collateral in the pool.
The expansion reward will can be used the following ways to increase the benefits of active participants:
(Distribute): The expansion reward will be distributed to bonded liquidity providers; and/or
(Burn): The expansion reward will be used to buy and burn VSS.
Example A: Suppose the target collateral ratio is 90% and the Uniswap pool VSD/USDC has 100M VSD / 105 USDC with VSD price = $1.05. During expansion, the system will issue 2.469M VSD and sell the VSD to the pool. As the result, the pool will have 102.469M VSD / 102.469M USDC, and the system will receive 2.531M USDC. 2.531M USDC will be deposited into collateral pool as collateral, and the system will further issue 2.531M / 90% - 2.469M = 0.34M VSD as expansion reward. # Contraction When the price of VSD <$1.0, the system will issue debt and offer two ways to buy the debt via VSD and thus reduce the supply of VSD
(Coupon): A user can buy the debt as a coupon at a discounted price. When the system turns to expansion and has expansion reward, such reward will be used to redeem coupon first before being distributed to bonded LPs and/or used to burn VSS. Note that a coupon has expiration time and will be redeemed by the order of the expiration. For more details, please check our "Coupon Design" section.
(Redeem collateral): A user can redeem the VSD and obtain collateral back. The amount of each collateral asset will be
$c_i = \frac{C_i x}{X}$
where
$C_i$
is the amount of the asset in the collateral pool,
$x$
is the amount of VSD to redeem,
$X$
is the total supply of VSD before the redemption. The VSD to redeem will be burn. Note that if the system has not debt while a user wants to forcibly redeem VSD, redemption fee will be imposed.
Example B: Suppose the total supply of VSD is 100M, and the the collateral pool has the following assets:
40M USDC
30M DAI
20K ETH
An redemption of 10M VSD will return the following 10M / 100M = 10% of assets in pool, i.e.,
4M USDC
3M DAI
2K ETH