XinFinOrg / osx-daofin

GNU Affero General Public License v3.0
0 stars 4 forks source link

How do we consider a proposal to be valid and can execute? #5

Closed 0xbeny closed 9 months ago

0xbeny commented 11 months ago

Since there are 3 committees. each of the committees must make a decision on a proposal which means that there are 3 main parameters are involved:

  1. Voting Period(Election Period): is how long the proposal is active and accepts votes.
  2. Minimum participation(Quorum): is the minimum level of participation required for a vote to be valid.
  3. Support threshold(pass rate): is the percentage of votes cast that need to be in favor for the proposal to be accepted.

For further details read this article.

Numbers 2&3 are percentages like 50% and 30%. which means Daofin must calculate 50% of a number. this number varies from committee to committee.

  1. Master Node Senate: reads from XDCValidator smart contract of XDPOS
e.g. Total number of MNs = 300, quorum = 50%, threshold = 30% ->  quorum = 150 MNs, threshold ~ 100 MNs
  1. People: total supply of XDC token (37,705,012,699 XDC)
e.g. Total Supply = 37,705,012,699 XDC, quorum = 30%, threshold = 50% -> quorum = 11,311,503,809 XDC, threshold 18,852,506,349 XDC
  1. Judiciary: length of existing members:
e.g. Total members = 10 Addresses,  quorum = 20%, threshold = 10% ->  quorum = 2 Addresses, threshold = 1 Address
SupersnipsXDC commented 10 months ago

for the people house, if total supply is being chosen as reference then the "quorum = 30%, threshold = 50%" should be lowered significantly while considering actual circulating supply numbers. Another approach would be to fetch circulating supply data and let it be adjusted dynamically (like 20% of circulating supply as Quorum etc...). However, this seems to be technically to difficult to implement currently. I am recommending going with total supply but significantly lowering the percentages.

SupersnipsXDC commented 10 months ago

what happens when the threshold is never met? Lets say the threshold is agreed to be 30% for the people's house but only 20% is voting each time. Is it possible to implement that, if in 2 following voting periods (6 Month period) no threshold has been met that it will automatically lower threshold by 5% etc. ? Also if threshold is met again then threshold requirements automatically are increased again?

0xbeny commented 9 months ago

Agreed on.