Voting Power

EckoDAO Implements a voting mechanism called "Quadratic Voting". Quadratic Voting is one method that solves many of the issues presented in DAO governance. It is a relatively simple approach to voting, where a user’s voting power is calculated by taking their total tokens multiplied by the current multiplicator. As users are accruing voting power along the voting curve (via staking or vaulting), we take their current voting multiplier (position on curve) x number of staked tokens, to determine the user’s voting power. Compared to systems that are inequitable, such as OPOV (one person one vote), or simple token count, Quadratic Voting better serves the overall community through ensuring that everybody has an equitable say in governance not only by putting too much bearing on the size of their KDX bag.
Additionally, voting power accrues along a non linear curve, the position on the curve references a multiplier that calculates the total % of staked tokens a user can vote with. The longer a user is staked or vaulted, the greater their voting power will be. This system is tied directly in with the eckoDEX Governance Mining Program, meaning that while users are participating in governance, they are also receiving rewards from swap volume.
The formula to calculate the VP is:
V=PMV = \sqrt{P • M}
  • P: is the account Position, KDX amount ( staked-amount + kdx-locked in Vaulting program)
  • M: is the multiplier
The Voting Power Multiplier is a time-dependent function of your KDX staking amount. After the initial action of staking, in 60 days the Multiplier value goes up to 1 and can reach 2.5 over the course of 4 years. Every time a new action of staking is made, the Multiplier is recalculated based on the previous amount staked and the new inserted amount. In order to perform this kind of calculation the shift value is used and stored. The shift value shifts the curve along the x axis to accommodate adding stakes at different times.
Multiplier formula:
M=s([Xshift]z)+cM = s • ([ X - shift ] ^ z) + c
  • X: is the time passed since the staking started
  • s, z, c: are constants used to model the multiplier-curve efficiently