• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Which masternodes voted and what exactly voted on various proposals.

Status
Not open for further replies.
I will post the fix later. If you liked my script, you may give me some tip here:
Dash:XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX

I posted the latest version of the script in the first message of this thread.
All code fixes and updates will be posted for now on in the first message.
Here you are the results I got when I run the script (you are welcome to post yours):
 

Attachments

  • upload.zip
    291.6 KB · Views: 154
Last edited:
I guess most MN operators vote identically with all of their MNs. So, we should be able to group all MN IPs that have voted the same on all proposals and hence see how many nodes each MNO have, even though votes are spread out over time.

It's no biggie at the moment, but blinded voting may become more important in the future. I remember reading somewhere that it's in the pipeline.
 
I guess most MN operators vote identically with all of their MNs. So, we should be able to group all MN IPs that have voted the same on all proposals and hence see how many nodes each MNO have, even though votes are spread out over time.

It's no biggie at the moment, but blinded voting may become more important in the future. I remember reading somewhere that it's in the pipeline.

Half of the time the script runs, it is dedicated in order to create a report of what you have just said.
It is not perfect of course, but you may investigate the result in the upload.zip file, in the files:
the_results
the_results_revert_sorted

In a first glance, in the reverted results file, It seems that masternodes who vote:
YES_IP_core-comp-201711
also vote:
YES_IP_dash-on-huobipro, YES_IP_gc-dash-aerosports and YES_IP_ScalingUpPublicityWithAmandaPMBC

But this is just an impression, all these correlations have to be proved with mathematics.
 
Last edited:
But this is just an impression, all these correlations have to be proved with mathematics.
Maybe @Pietro Speroni would want to help us discover and prove these correlations.

I would like to create a site that will display all these data in a human readable way. I would like to make this information public for the benefit of the community. I would like neither keep it secret nor sell it to advertisers or "consultants" (who in turn they will sell it to potential proposal makers in order for them to be aware of what makes the masternode owners happy).

The Dash community should create a parallel voting system where all actors will be allowed to vote (I wonder, the miners, as members of the community that are always online, would they like to host this parallel voting system?). And in case there is a masternode operator whose votes deviate a lot from the will of the community, then all his money should be confiscated in an automated hard fork. It is well known that money is a social convention, it is well known that money does not exist in case there is no community to believe in it.

So, the Masternode operators should be afraid of the community, and if they dont, we will make them afraid. Got me?
 
Last edited:
December 9 2017.
The table is html and Sortable!
The code used to produce the below is dispersed and not ready yet to be published.
 

Attachments

  • upload.zip
    107.7 KB · Views: 165
Last edited:
If you want to see how may individuals voted in favor of your proposal do the following:

  1. Sort the "yes" votes at the table.
  2. When the table is yes_sorted in your browser, then search for the proposal name. In Chrome browser (which I recommend because javascript runs smoothly there) you may press ctrl+F , then write the proposal name and hit enter.
  3. Hit enter several times, in order to repeat the search. You will notice some ips have the same voting pattern (they voted the same yes/no/abstain to proposals). The group of IPs that have similar voting pattern, it is probably the same individual/operator.
  4. When you are pressing enter to continue searching the proposal in the table, count how many times the voting pattern changes among the IPs. This number is a good indication of how many unique individuals/operators voted for your proposal.

Using the above method, I sorted the "NO" votes of the table and I counted approximately 90 unique operators (and the group of the IPs eachone of them controls) that voted NO to the satellites proposition of @Gilemon . Similarly I counted the "YES" unique operators and found them approximately 40 (my inspection was just visual, so the numbers may not be accurate).

Assuming that I counted accurately, then the democratic result is [40yes-90no] (or 31%-69%) and NOT [102yes-552no] (or 16%-84%). Which means that @Gilemon has to convince 20% more individuals from the MNO community, and also join an appropriate (and contentious) hard fork (initiated by this majority), in order for his satellite proposal to be voted.
 
Last edited:
I also imported the table to excel, and did some sorting and visual inspection.
I counted approximately 250 different voting patterns, which means that the MNOs/active_voters are approximately 250 individuals.
(my inspection was just visual, so the numbers may not be accurate).
 
December 9 2017.
The table is html and Sortable!
The code used to produce the below is dispersed and not ready yet to be published.

I upload the same file (dated Dec 9 2017) which contains also filters.

Ooops...It seems to be a bug in my script.
When grep 82.211.21.20 it greps also 82.211.21.200 !!!
So, until the bug is fixed, dont take the results too seriously. :p
 

Attachments

  • upload.zip
    121.9 KB · Views: 159
Last edited:
bug fixed.
Here you are the correct file of Dec 9 2017
 

Attachments

  • upload.zip
    421 KB · Views: 159
New result!

The strange thing is that the warning message:
echo "PROPOSAL <"$prop"> not accepted"
...didn't appear at all in the runtime of the script!!!
It seems that someone cleaned up useless old entries form the sentinel database! @nmarley in case my script helped you discover useless old entries in sentinel database, you may ask @jimbursch to give me some bugbounty tip. Furthermore I would like to discover the info by using sql queries in your database, but unfortunately sentinel database does not exist when running a simple dash wallet, does it?

@Dashmaximalist, check the below zip file to see who loves your sms proposal, and who hates it (until now). Extract the zip file and open the_results.html in a browser (preferably Chrome browser). For example, in order to check the NO votes do this: write "sms" in the "NO fltr" field, then sort the NO votes by clicking the "NO VOTES" table header. According to the (obvious) voting patterns, the 114 NO votes were casted by 25 individuals. You may also see the countries of these 25 individuals, by clicking their IP addresses.

the_results.html file can be used by any proposal owner, in order for him to analyze the votes of his proposal.
 

Attachments

  • upload_12-11-2017.zip
    428.5 KB · Views: 185
Last edited:
In order to discover the different voting patterns, I calculated the hash value of the votes of every ip.
Code:
hashis=`bc <<<ibase=16\;$(sha1sum <<<$all_votes_of_a_IP|tr a-z A-Z)0`
Among 4673 IPs I discovered 908 unique voting patterns. There is one operator who has 70 masternodes, and 594 operators who own just one masternode! Note that those who appear to have only 1 masternode may also be the case of an operator who forgot to vote a singe proposal in some of his masternodes (in that case a unique voting pattern is also created). There are also about 2500 IPs who didnt vote at all.

Here you are the statistics:

70 masternodes --> 1 operator
66 masternodes --> 1 operator
53 masternodes --> 1 operator
52 masternodes --> 1 operator
50 masternodes --> 1 operator
43 masternodes --> 2 operators
38 masternodes --> 1 operator
36 masternodes --> 2 operators
30 masternodes --> 2 operators
27 masternodes --> 1 operator
24 masternodes --> 1 operator
23 masternodes --> 2 operators
22 masternodes --> 2 operators
20 masternodes --> 1 operator
19 masternodes --> 3 operators
17 masternodes --> 3 operators
16 masternodes --> 2 operators
15 masternodes --> 1 operator
14 masternodes --> 1 operator
13 masternodes --> 3 operators
12 masternodes --> 5 operators
11 masternodes --> 2 operators
10 masternodes --> 6 operators
09 masternodes --> 7 operators
08 masternodes --> 9 operators
07 masternodes --> 13 operators
06 masternodes --> 15 operators
05 masternodes --> 16 operators
04 masternodes --> 27 operators
03 masternodes --> 53 operators
02 masternodes --> 128 operators
01 masternodes --> 594 operators

the operator with 70 masternodes (he voted only Dash-Lounge-in-Vienna-Austria)
hash vote pattern: 1158937785591732461160821250619703443235969361617
128.199.60.242 Dash-Lounge-in-Vienna-Austria
128.199.63.105 Dash-Lounge-in-Vienna-Austria
146.185.129.237 Dash-Lounge-in-Vienna-Austria
146.185.136.53 Dash-Lounge-in-Vienna-Austria
146.185.164.78 Dash-Lounge-in-Vienna-Austria
146.185.171.145 Dash-Lounge-in-Vienna-Austria
178.62.192.109 Dash-Lounge-in-Vienna-Austria
178.62.207.162 Dash-Lounge-in-Vienna-Austria
178.62.227.20 Dash-Lounge-in-Vienna-Austria
178.62.231.207 Dash-Lounge-in-Vienna-Austria
178.62.253.14 Dash-Lounge-in-Vienna-Austria
188.166.1.28 Dash-Lounge-in-Vienna-Austria
188.166.28.246 Dash-Lounge-in-Vienna-Austria
188.166.32.68 Dash-Lounge-in-Vienna-Austria
188.166.34.75 Dash-Lounge-in-Vienna-Austria
188.166.35.182 Dash-Lounge-in-Vienna-Austria
188.166.37.82 Dash-Lounge-in-Vienna-Austria
188.166.3.92 Dash-Lounge-in-Vienna-Austria
188.166.39.5 Dash-Lounge-in-Vienna-Austria
188.166.41.144 Dash-Lounge-in-Vienna-Austria
188.166.61.215 Dash-Lounge-in-Vienna-Austria
188.166.62.162 Dash-Lounge-in-Vienna-Austria
188.166.65.177 Dash-Lounge-in-Vienna-Austria
188.166.65.185 Dash-Lounge-in-Vienna-Austria
188.166.76.112 Dash-Lounge-in-Vienna-Austria
188.166.76.183 Dash-Lounge-in-Vienna-Austria
188.166.8.236 Dash-Lounge-in-Vienna-Austria
188.166.85.165 Dash-Lounge-in-Vienna-Austria
188.166.86.224 Dash-Lounge-in-Vienna-Austria
188.166.88.41 Dash-Lounge-in-Vienna-Austria
188.166.88.54 Dash-Lounge-in-Vienna-Austria
188.166.88.55 Dash-Lounge-in-Vienna-Austria
188.166.88.99 Dash-Lounge-in-Vienna-Austria
188.166.90.41 Dash-Lounge-in-Vienna-Austria
188.166.90.68 Dash-Lounge-in-Vienna-Austria
188.166.90.69 Dash-Lounge-in-Vienna-Austria
188.166.90.72 Dash-Lounge-in-Vienna-Austria
188.166.90.79 Dash-Lounge-in-Vienna-Austria
188.166.91.188 Dash-Lounge-in-Vienna-Austria
188.166.91.46 Dash-Lounge-in-Vienna-Austria
188.166.91.52 Dash-Lounge-in-Vienna-Austria
188.166.9.153 Dash-Lounge-in-Vienna-Austria
188.166.91.62 Dash-Lounge-in-Vienna-Austria
188.166.91.75 Dash-Lounge-in-Vienna-Austria
188.226.131.236 Dash-Lounge-in-Vienna-Austria
188.226.133.168 Dash-Lounge-in-Vienna-Austria
188.226.134.23 Dash-Lounge-in-Vienna-Austria
188.226.134.58 Dash-Lounge-in-Vienna-Austria
188.226.157.117 Dash-Lounge-in-Vienna-Austria
188.226.157.147 Dash-Lounge-in-Vienna-Austria
188.226.157.153 Dash-Lounge-in-Vienna-Austria
188.226.157.166 Dash-Lounge-in-Vienna-Austria
188.226.157.196 Dash-Lounge-in-Vienna-Austria
188.226.157.197 Dash-Lounge-in-Vienna-Austria
188.226.157.198 Dash-Lounge-in-Vienna-Austria
188.226.157.200 Dash-Lounge-in-Vienna-Austria
188.226.158.16 Dash-Lounge-in-Vienna-Austria
188.226.158.33 Dash-Lounge-in-Vienna-Austria
37.139.28.87 Dash-Lounge-in-Vienna-Austria
95.85.10.126 Dash-Lounge-in-Vienna-Austria
95.85.1.86 Dash-Lounge-in-Vienna-Austria
95.85.2.23 Dash-Lounge-in-Vienna-Austria
95.85.33.123 Dash-Lounge-in-Vienna-Austria
95.85.34.229 Dash-Lounge-in-Vienna-Austria
95.85.35.169 Dash-Lounge-in-Vienna-Austria
95.85.3.86 Dash-Lounge-in-Vienna-Austria
95.85.45.18 Dash-Lounge-in-Vienna-Austria
95.85.55.49 Dash-Lounge-in-Vienna-Austria
95.85.56.22 Dash-Lounge-in-Vienna-Austria
95.85.5.90 Dash-Lounge-in-Vienna-Austria

The operator with 66 masternodes (he voted only dash-on-huobipro)
hash vote pattern: 90262950120675764080366311837420367212466569290
104.156.253.235 dash-on-huobipro
104.207.130.246 dash-on-huobipro
104.207.130.255 dash-on-huobipro
104.207.150.233 dash-on-huobipro
104.238.159.13 dash-on-huobipro
104.238.167.102 dash-on-huobipro
104.238.176.125 dash-on-huobipro
104.238.176.179 dash-on-huobipro
108.61.126.208 dash-on-huobipro
108.61.161.20 dash-on-huobipro
108.61.171.85 dash-on-huobipro
108.61.186.33 dash-on-huobipro
108.61.189.92 dash-on-huobipro
185.92.220.178 dash-on-huobipro
45.32.129.62 dash-on-huobipro
45.32.154.76 dash-on-huobipro
45.32.197.241 dash-on-huobipro
45.32.201.95 dash-on-huobipro
45.32.206.59 dash-on-huobipro
45.32.225.195 dash-on-huobipro
45.32.35.170 dash-on-huobipro
45.32.39.107 dash-on-huobipro
45.32.74.201 dash-on-huobipro
45.32.8.184 dash-on-huobipro
45.63.120.165 dash-on-huobipro
45.63.36.126 dash-on-huobipro
45.63.93.197 dash-on-huobipro
45.76.102.116 dash-on-huobipro
45.76.192.195 dash-on-huobipro
45.76.194.199 dash-on-huobipro
45.76.82.105 dash-on-huobipro
45.77.10.70 dash-on-huobipro
45.77.15.33 dash-on-huobipro
82.211.25.250 dash-on-huobipro
82.211.25.251 dash-on-huobipro
82.211.25.35 dash-on-huobipro
82.211.25.37 dash-on-huobipro
82.211.25.38 dash-on-huobipro
82.211.25.39 dash-on-huobipro
82.211.25.42 dash-on-huobipro
82.211.25.43 dash-on-huobipro
82.211.25.44 dash-on-huobipro
82.211.25.45 dash-on-huobipro
82.211.25.46 dash-on-huobipro
82.211.25.47 dash-on-huobipro
82.211.25.48 dash-on-huobipro
82.211.25.49 dash-on-huobipro
82.211.25.50 dash-on-huobipro
82.211.25.51 dash-on-huobipro
82.211.25.52 dash-on-huobipro
82.211.25.53 dash-on-huobipro
82.211.25.55 dash-on-huobipro
82.211.25.56 dash-on-huobipro
82.211.25.57 dash-on-huobipro
82.211.25.67 dash-on-huobipro
82.211.25.68 dash-on-huobipro
82.211.25.69 dash-on-huobipro
82.211.25.70 dash-on-huobipro
82.211.25.71 dash-on-huobipro
82.211.25.72 dash-on-huobipro
82.211.25.73 dash-on-huobipro
82.211.25.74 dash-on-huobipro
82.211.25.77 dash-on-huobipro
82.211.25.80 dash-on-huobipro
82.211.25.83 dash-on-huobipro
82.211.25.85 dash-on-huobipro
 
Last edited:
Awesome work!

This information/analysis/conclusion is more important than the raw number of Masternodes.

Now we understand exactly how centralized Dash governance really is.

Could you make a web site that monitors/displays this information in real time, with the danger/failure zones clearly marked?

I could do it, but I need an online linux vps, cabable to run shell scripts, a dash wallet, cron jobs and an apache web server.

Do you have any idea how much this VPS costs?
If you have a vps you already pay and does nothing, I could set it up in yours.
 
Awesome work!

This information/analysis/conclusion is more important than the raw number of Masternodes.

Now we understand exactly how centralized Dash governance really is.

I would like to ask your advice.
Hash value turns similar voting patterns to complete diferent numbers. This is not what we want. We want a mathematical function that will be able to preserve the similarity, and will not destroy it the way the hash value does.
Do you have any idea? Or @Pietro Speroni, who is a mathematician, does he know something on it?
 
Hmm, not sure. I agree that this information is really important. Probably the 70 masternodes is Evan Duffield. Maybe you could calculate the Gini Index (I never did it, but I am sure the instructions on how to do it are online). This is a measure of how centralised a society is.
 
Hmm, not sure. I agree that this information is really important. Probably the 70 masternodes is Evan Duffield. Maybe you could calculate the Gini Index (I never did it, but I am sure the instructions on how to do it are online). This is a measure of how centralised a society is.
I would like a similar text function.
Something like the below:
http://www.unit-conversion.info/texttools/similar-text/#data
In case an MNO operator owns 20 servers and votes 15 proposals, and there is another MNO operator who owns just 1 server and votes 14 identical to the first one proposals, then if we apply a text similarity function in the names of the proposals, this will give us the mathematical indication that there is a single MNO operator who owns 20+1 servers. Because there is an extremely low probability the single server to vote almost identical (minus one) to what the rest 20 servers did, and all the 21 servers NOT being controled by the same operator.

There is a similarity text function in php...
http://php.net/manual/en/function.similar-text.php
https://stackoverflow.com/questions/14136349/how-does-similar-text-work
...and some algorithms that discover similar text...
https://stackoverflow.com/questions/246961/algorithm-to-find-articles-with-similar-text
...but I wonder if there is something in bash, as long as I started writing my program in bash shell.

I discover this
https://stackoverflow.com/questions/2722947/percentage-value-with-gnu-diff
Any other hints?
 
Last edited:
The code I am trying to write will never be supported by the MNOs. The MNOs like to hide, some of them simply because they are rich, some others simply because they are spies and are paid in order to destroy the community. So I count to the Dash community, in order to reveal the way the MNOs vote and identify those who deliberately and constantly vote against the common good.

In the future the Dash community may spot the (lets say) top 10 worst MNO voters, and confiscate their money by using an automated hard fork technology, in order for the rest MNOs to be afraid. Additionally we could also spot the MNOs who dont vote at all, and deny them the right to vote.
 
Last edited:
The code I am trying to write will never be supported by the MNOs. The MNOs like to hide, some of them simply because they are rich, some others simply because they are spies and are paid in order to destroy the community. So I count to the Dash community, in order to reveal the way the MNOs vote and identify those who deliberately and constantly vote against the common good.

In the future the Dash community may spot the (lets say) top 10 worst MNO voters, and confiscate their money by using an automated hard fork technology, in order for the rest MNOs to be afraid. Additionally we could also spot the MNOs who dont vote at all, and deny them the right to vote.

what a terrible idea @demo. You have no problem that those spies exists, and here you are already planning to steal money from people to balance something that exists only in your mind.
 
what a terrible idea @demo. You have no problem that those spies exists, and here you are already planning to steal money from people to balance something that exists only in your mind.

Money is just a social convention. Confiscating money based on community voting decisions is not theft, it is just a change to the social convention rules. Similar to taxation, but in a reverse way.

Taxation rules are imposed today by those who hold money and political power. While confiscating money through voting procedures should be (will be) imposed by the community/society as a whole.

In Athenian Democracy rich people were forced by community decisions to give money to the city. Rich people could refuse to give money to the city only if they could prove that there was another person richer than them. And of course the taxation of the non rich citizens was considered as offensive. Everyone, rich or poor, who behaved against the common good in a malicious way, was ostracized and all his fortune was confiscated. Athenians and the rest Greeks (who invented the community money in contrast to the money issued by priests and/or kings) knew that money is/can be a social convention, while the barbarians (and the born to be slaves) who copied the money idea the following centuries, just forgot this important property of money, and (until today) consider money as a religion and/or as a property.

Money is not a property, it is a social contract and social convention, and has to be signed and to be accepted by all involved parties. We are talking about free parties of course, not about masters and (by nature or by necessity) slaves .

 
Last edited:
You know how to configure nginx too, right?

I know nothing. I always learn, and my memory is the memory of a golden fish.:(

PM me an XMR or LTC address and I'll hook you up with enough for a year of https://cloudbitvps.io/ hosting .
Ok, I ll download an XMR and/or an LTC wallet, and give you my address.
I hope that cloudbitvps.io can open the server when I ll pay them with XMR or LTC, without asking names and other personal info, right?
 
Last edited:
Yet another interesting statistic.
There are 5145 addresses that have more than 1000 dash and can become masternodes.
https://bitinfocharts.com/top-100-richest-dash-addresses-52.html

the richest address is this
https://bitinfocharts.com/dash/address/XekiLaxnqpFb2m4NQAEcsKutZcZgcyfo6W
it contains 155000 dash (it can become 155 masternodes)
Code:
./dash-cli masternodelist payee |grep XekiLaxnqpFb2m4NQAEcsKutZcZgcyfo6W |wc -l
0
This address is not a masternode! It does not vote at all!!

And this is the case for most of the top 100 richest addresses (or wallets)!
https://bitinfocharts.com/top-100-richest-dash-addresses-1.html
 
Last edited:
Status
Not open for further replies.
Back
Top