Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

Which masternodes voted and what exactly voted on various proposals.

Discussion in 'Off Topic' started by demo, Nov 23, 2017.

Thread Status:
Not open for further replies.
  1. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Yes of course it changes, but if you sort the table by votehash, you could see what masternodes have identical votehash.
    The more the votes, the more the possibility these masternodes to be operated by the same person.
    Thus the person and the number of masternodes he operates, is identified.
     
    • Like Like x 1
  2. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    Ahh good catch. I'm going to have to play with this some more.
     
  3. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Furthermore, the vote hash is neither the only nor the best mathematical function that can be used.
    Read here.
     
  4. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    Yah I'm well aware that this can be done. Just not entirely convinced of the benefits other than because you can.

    I disagree with the idea of confiscating funds from people who you disagree with, or who someone decides isn't benefitting the network.


    Sent from my iPhone using Tapatalk Pro
     
  5. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    I also disagree with the idea of confiscating funds from people who you disagree with, or who someone decides isn't benefitting the network.

    Unless this someone who decides is the majority of the individuals that consist the network. And this majority shouldnt decide like the athenian majority did. The majority should vote the numbers, and should decide by using the mean average.
     
    #95 demo, Dec 26, 2017
    Last edited: Dec 26, 2017
  6. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    #96 demo, Dec 26, 2017
    Last edited: Dec 26, 2017
  7. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    I can all but guarantee that there are enough MNOs that don't want this - that you'll see more and more ways of obfuscation before you can prove who owns what.

    Even Dash Masternode Tool has built in vote obfuscation for those with multiple nodes.

    Any effort you put into this will be rendered moot by a software update that hides it better. I don't think anything near the majority agrees with you here.


    Sent from my iPhone using Tapatalk Pro
     
  8. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Yes I know that the majority of MNOs is brainwashed.
    Furthermore, confiscating money from the brain washed MNOs will not obviously occur by decision of the MNOs community, but by decision of the wider Dash community, through a hard fork.

    In bitcoin, they already did this.

     
    #98 demo, Dec 26, 2017
    Last edited: Dec 26, 2017
  9. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
     
  10. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    #100 demo, Dec 31, 2017
    Last edited: Dec 31, 2017
  11. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    I execute the below code
    Code:
    curl -s https://demodun.github.io/mnowatch/the_results_dashd_31-12-2017.html| cut -f22 -d"<"|cut -f2 -d">"|grep -v [a-z]|grep -v [A-Z]| grep ^[0-9]|grep -v "-"|sort|uniq -c|sed -e s/'^   '/000/g|sed -s s/'000   '/000000/g|sed -e s/'000  '/00000/g|sed -s s/'000 '/0000/g|sort -r|cut -f1 -d" "|uniq -c
    
    And here you are the new statistics. According to the voting pattern, there is one operator who has 119 masternodes, and 645 operators who own just one masternode.

    operators- masternodes the operators own
    1 0002211 (<--this operator owns 2211 masternodes!! It is the didnt_vote hash)
    1 0000119
    1 0000070
    1 0000060
    1 0000052
    1 0000050
    2 0000035
    1 0000033
    2 0000032
    1 0000027
    1 0000024
    2 0000022
    1 0000021
    1 0000020
    1 0000019
    2 0000018
    3 0000017
    1 0000015
    3 0000014
    1 0000013
    2 0000012
    6 0000011
    4 0000010
    7 0000009
    9 0000008
    10 0000007
    16 0000006
    21 0000005
    26 0000004
    47 0000003
    124 0000002
    645 0000001

    Obviously the votehash is not enough, in order to spot the operators having multiple masternodes. The R&D continues.
    (dandelion?)
     
    #101 demo, Dec 31, 2017
    Last edited: Jan 1, 2018
  12. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Maybe i should use the intersection of set theory.
    The intersection in bash can be found with the command comm.

    Ex.https://stackoverflow.com/questions/2696055/intersection-of-two-lists-in-bash

     
    #102 demo, Jan 1, 2018
    Last edited: Jan 11, 2018
  13. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    • Like Like x 1
  14. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Great news! I can get rid off my silly time-consuming scripts and dive into pure sql queries.
     
  15. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    So while I believe my core client is fully synced, it's still not pulling votes correctly into the Sentinel DB yet.

    Code:
    2018-01-09 23:46:37 CGovernanceManager::UpdateCachesAndClean -- Governance Objects: 221 (Proposals: 220, Triggers: 0, Watchdogs: 1/1, Other: 0; Erased: 20), Votes: 395474
    Going to keep looking into this as there may be more to this than meets the eye.
     
    • Informative Informative x 1
  16. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    Just spent a while looking through sentinel code. It would appear that despite having a table called votes, the only ones that it puts in there are votes that the masternode has voted on.

    It might be possible to modify it further to pull in all votes though.
     
    • Useful Useful x 1
  17. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    UPDATE - It now works and pulls in 179,000 votes+. The problem is that it's not pulling in the vote hash or the masternode IP or anything else especially useful.

    Looks like the methods in Sentinel really are designed just to let it do its job.

    Going to take some more modifications to get it working and useful. Feel free to contribute in a fork, or if you want, I can add you as a contributor on this repo.
     
    • Useful Useful x 1
  18. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Yes add me. I would like to help.
     
  19. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    Just let me know what your Github account name is and I'll make you a collaborator and then I'll point out where I think it needs changes. I'm also wondering if it might just make sense to take Sentinel and condense it down to what we actually need and remove a lot of the stuff we don't, because at the end of the day it really just needs to scan the blockchain and pull out governance objects and their votes and then save that to the SQLite database and it doesn't need half the code it has to do that.
     
  20. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
     
  21. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    @jeffh, how someone can install your sentinel version in a dash (non masternode) wallet?
    Is there a howto file?
     
  22. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    @demo, I'll go ahead and make that small tweak to my github repo. It's basically just changing which repository you're pulling sentinel from since it's all coming from source.
     
    • Useful Useful x 1
  23. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX

    This is maybe because you defined only gobject getcurrentvotes.
    Thats not enough. For our statistics to work we also need to know:

    As shown in the script that gets reports from dashd:
    ./dash-cli masternodelist addr
    ./dash-cli gobject list


    Are these data also imported into the database somehow?
    Maybe in our version of sentinel we should also define:
    def get_masternodelist_addr
    def get_gobject_list
     
    #113 demo, Jan 12, 2018
    Last edited: Jan 12, 2018
  24. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    Yeah I'm aware that it doesn't get the rest of that info. It's on my To Do list but I'm pretty bogged down right now, so I'm not sure when I'll have time to come back and work on this some more. If you've got some time to throw at making those tweaks to Sentinel, go ahead and I'll merge those changes in.

    What I got working was a bare minimum Sentinel install that doesn't care if you run a full node or a masternode and that saves all vote data that's sitting in the blockchain. The additional features we want are going to require some more work in tweaking the code to do what we want, rather than what the developers originally intended.
     
    • Useful Useful x 1
  25. Ftoole

    Ftoole Member
    Masternode Owner/Operator

    Joined:
    Aug 20, 2017
    Messages:
    133
    Likes Received:
    26
    Trophy Points:
    78
    Wouldn’t it be a good idea to put this data in a database then you could cross reference votes and stuff easier?
     
  26. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Yes of course, the database approach is much better.

    But puting the data that my script produces into a database is awkward as long as my script is also awkward. The better approach is to use a patched sentinel database, that could run in a simple (non masternode) empty wallet that runs 24/7. This is what @jeffh is trying to do (and I am trying to help also)

    Of course the database approach requires a dashd and/or/xor a LAMP web server to run 24/7. This is not my case, I have neither a dashd nor a lamp that runs 24/7. In my github site I am only allowed to upload static client side html files, thats why the bash script is still usefull for me. But wait, I think I may find a solution with sqlite and php!
     
    #116 demo, Jan 14, 2018
    Last edited: Jan 14, 2018
  27. jeffh

    jeffh Member

    Joined:
    May 8, 2017
    Messages:
    98
    Likes Received:
    37
    Trophy Points:
    78
    I updated the Github page, haven't made any changes to the code yet but I did adjust the Readme to better clarify that this is what I'm calling, the "Dash Sentinel Data Engine".

    Looks like it's going to take some significant changes to the code to get it to do what we want. I'm probably going to end up tossing a lot of it and re-writing it because there are so many methods that just aren't necessary and all we really need are the parts that write to the database and that talk to the dashd instance.
     
    • Like Like x 1
  28. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
    Why dont you upgrade to 12.2
    Some of the problems you encounter may appear because of the old 12.1 version you refer to.
     
  29. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
  30. demo

    demo Active Member

    Joined:
    Apr 23, 2016
    Messages:
    3,088
    Likes Received:
    229
    Trophy Points:
    133
    Dash Address:
    XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
Thread Status:
Not open for further replies.

Share This Page