Elastic Governance Token

Introduction

ElasticGovernanceToken (EGT) is a positively rebasing asset-backed governance token.

Just as the first DAO deployed on the Elastic DAO Protocol is named ElasticDAO, Elastic Governance (EGT) is the first Elastic Governance Token and will be used for governing ElasticDAO.

For the sake of eliminating confusion, the remainder of this section will talk about the characteristics, formulae, and rebasing dynamics of Elastic Governance (EGT). All dynamics discussed apply to any Elastic Governance Token of a DAO deployed via the Elastic DAO Protocol.

TLDR: The overall supply of EGT and the amount of assets backing each EGT increase every time a rebase happens.

Characteristics

lambda The base value of EGT; increases every time someone joins the DAO. Decreases every time someone exits the DAO.

m: Lambda modifier - the rebasing modifier ; increases every time someone joins the DAO and is the technical driver behind the rebasing mechanism

elasticity: The percentage increase in backing assets every time a rebase is triggered.

k: Token multiplier; increases the number of EGT that each base unit (lambda) represents.

Formulae

‌The redemption value of each EGT is given by Capital Delta(δ), which is calculated by:

Capital Delta (δ):

δ=e/t δ = e /t
  • e - The total amount of backing assets in the DAO's vault (ETH)

  • t - The total supply of EGT

The total supply of EGT (t) is given by:

Tokens (t):

t=λmkt = λ* m*k
  • λ - Lambda

  • m - Lambda modifier

  • k - Token multiplier

Capital Delta ( δ ) and Tokens (t) are functions on ElasticMath.sol.

Rebase

‌The rebase is triggered when someone calls the join function in ElasticDAO.sol

function join(uint256 _deltaLambda)

The amount of ETH required to mint deltaLambda accounts for the increase in the value of each EGT. The increase in m value provides the increase in number of EGT for all existing token holders. (math explained below).

The Dash notation, e.g t' and m', etc, represents the state after the rebase, which then becomes the value for the next rebase.

E.g If t = 100 before rebase, t' = 110

For the next rebase,

t = 110 ( so on and so forth )

The amount of ETH required to purchase deltaLambda ( ΔE ) is given by:

ΔE=δk(λm(1+elasticity)λm)ΔE = δ * k *( λ'* m'* ( 1 + elasticity ) - λ * m )
  • δ - Capital Delta

  • k - Token multiplier

  • λ' - The amount of lambda after the rebase.

  • λ - The amount of Lambda before the rebase.

  • m' - The value of the Lambda modifier after the rebase.

  • m - The value of the Lambda modifier before the rebase.

  • elasticity - Increase in the number of assets backing each EGT.

Every time the rebase is triggered, the lambda modifier m gets modified:

m=(λ/λ)mm' = ( λ' / λ ) * m

where,

λ=λ+Δλλ' = λ + Δλ
  • λ' - Number of Lambda after the join

  • λ - Number of Lambda before the join

  • Δλ - DeltaLambda - The Amount of Lambda minted

resulting in the new supply of tokens being,

t=λmkt' = λ' *m'*k

‌Since deltaLambda > 0 (uint can never be negative), this results in λ' > λ, and m' > m.

This means t' > t, i.e, the supply of tokens has increased.

Also,

δ=δ(1+e)δ' = δ* ( 1 + e)
δ=e/tδ' = e' / t'

Note that, upon every rebase δ' > δ i.e the number of assets backing each EGT has gone up.

Graphing

The numerical value of m , k , elasticity and ETH provided at summoning determines the price trend and supply of the token.

There exists a logical range between the assets required to mint each EGT (via the join function - triggering a rebase) and the assets received for each EGT during redemption (a call to the exit function).

For a given set of values of m, elasticity, k the trend is given by: