Understanding the distribution of voting power

Hello everyone,

first of all, thanks to the team for the implementation of this long-awaited governance! In my opinion, one of the most important subjects we should be tackling right now is to enable everyone to understand the distribution of voting power. This will allow everyone to have a clear idea of the importance of their involvement, how to approach the topics to reach as many players as possible and thus make this governance a great success in the ecosystem.

That’s why I’m going to create a tool to provide as much data as possible and probably write a paper on this subject. I’m currently looking for a way to recover energy data from all xMEX holders, does anyone know how I can recover this data?

This doesn’t seem possible via the public API, and retrieving data from xMEX holders won’t be enough, as I’ll be missing the locks time variable. @lucaswillems I’m taking the liberty of tag you as you’re one of the people best placed to answer me !

Thanks :zap:

18 Likes

I strongly agree, it brings way more transparency and allow us to understand if the voting power is not in the hand of a limited numbers of users, in wich case we could cap the maximum voting power to balance a bit more and avoid whales to decide everything otherwise what’s the point of having governance ?

And honestly foudres, if you have time, you should also build a tool like arkham on MvX ! It will help all the community to better understand some things i think :smiley:

5 Likes

With the new quadratic voting power function, I can already say that the DAO has very great decentralized power and that the power of the top holders is severely limited!

this is not the time I need to build a tool like Arkham, I’ll need a few million more :rofl:

4 Likes

Very great idea and initiative @xfoudres ! I will be very interested to know power distribution of holders myself!

Regarding your question, I don’t know myself and have forwarded your questions to team members who should have an answer.

3 Likes

@xfoudres I’ve discussed with teammates. Right now, there is no easy way to retrieve the voting power of all energy holders. A (hard) way:

On mainnet, the energy factory contract is at address erd1qqqqqqqqqqqqqpgq0tajepcazernwt74820t8ef7t28vjfgukp2sw239f3

The energy factory has a getEnergyEntryForUser view. You provide a user address and it returns user energy information.

The smart contract code of this view: https://github.com/multiversx/mx-exchange-sc/blob/2fe296e4ec39c89ef42f737e307b214eff396fad/locked-asset/energy-factory/src/energy.rs#L190

In order to call the view, you can use the vm-query endpoint of the gateway: https://gateway.multiversx.com/vm-values/query

The documentation is here: Virtual Machine • MultiversX Docs

If you need more help, please DM me on Telegram at @LucasWillems :pray:

6 Likes

Hey @lucaswillems Thanks a lot for you answer, that’s exactly what i’ve done with the help of @xQuentin, i’ve already the energy data for 60k account, i will have to go a bit deeper with the elastic research to retrieve the whole xMex holders that I miss, even if the data is already highly representative !

then I will try to make a dataNFT tool to make this data updated something like once a month as it require to spam the gateway with more thant 70k call ^^ !

This brings me to a question, will 5 billion energy be needed to participate in the vote as well, or is it just to participate in the forum?

5 Likes

You can spam also our gateway @xfoudres if you need a little bit better performance than the public one.
https://gateway.mvx-api.estar.games/

Best regards.

3 Likes

@xfoudres Great that you’ve figured out a solution by yourself and help of xQuentin! Please let me know if you need any further help! The 5 billion limitation is only in the Agora. It is mainly to avoid spam.

@estargames That’s very kind to propose!

3 Likes

@estargames for the time being, this doesn’t seem necessary, as I’m more limited by my own hardware (and my limited code skills ahahah) than by the gateway’s performance, but we’ll keep on touch if I need more perfomance. Thanks a lot for your commitment :heart_hands:

2 Likes

Hello everyone, @lucaswillems @angie44120 @estargames

here is the graph of the current voting power :

You can also access to the spreadsheets here !

I will probably post the code on github in the next few days!

6 Likes

Great work @xfoudres !!

The square root is indeed changing a lot the distribution and for the better!

3 Likes

Hey everyone, @lucaswillems

To go a little further on the subject, I had some fun calculating the voting power obtained by a sybil attacker as a function of the number of accounts created, and the number of dollars involved (with 4 years of lock).

Blue Axis => Share of the total Voting Power
Green Axis => Dollar engaged in the total account
Red Axis => Number of Account

GIFMaker_me (3)

You can access to the graph here :

here the intersection gives you the curve of the different possibilities to get 10% of Voting Power :

5% of Voting Power :

2.5% of Voting Power :

And 1% of Voting Power :

I don’t think it’s really a problem, because I think it would be easy to detect this kind of practice to get significant voting power and thus banish this type of attacker from the DAO. As this would require a 4-year lock, it would be dangerous from a financial point of view and unrewarding unless very large sums were committed.

To keep in mind in case we notice any coordinated actions.

(Also feel free to check the math if you want, I must admit I was a bit rusty :rofl:)

4 Likes

Great great charts and contribution @xfoudres :heart_eyes: :pray: :zap:

Yes, it doesn’t look to be a problem to me.

4 Likes