Introduce the 13 operators that own 3000 masternodes.

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,638
3,538
1,183
"Gitian is not perfect. In fact, many who have tried the build system have remarked that it is not even close to deterministic (and that for this and other reasons 'Reproducible Builds' is a better term). In fact, it seems to experience build failures for quite unpredictible reasons related to bugs in one or more of qemu-kvm/LXC, make, qcow copy-on-write image support. These bugs are often intermittent, and simply restarting the build process often causes things to proceed smoothly. This has made the bugs exceedingly tricky to pinpoint and diagnose.

Gitian's use of tags (especially signed tags) has some bugs and flaws. For this reason, you have to verify signatures yourselves after input fetching, and provide gitian only with explicit commit hashes for the input source repositories."


Gitian supports only debian. What about MacOs, or win32/win64 builds?
The fact that Tor project failed to use Gitian properly back in 2013 doesn't suddenly make Gitian usage for Dash builds in 2016+ broken.

Gitian uses Debian and containers as a platform to produce builds for all other platforms. If you would actually read the instructions carefully you would see it https://github.com/dashpay/dash/blob/master/doc/gitian-building.md#building-dash ;)
 
  • Like
Reactions: RichardAO

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
The fact that Tor project failed to use Gitian properly back in 2013 doesn't suddenly make Gitian usage for Dash builds in 2016+ broken.
Of course it doesnt make gitian usage broken. But this is not enough, you have to prove also that Gitian usage is also suitable and that in 2016+ it does not inherits the bugs the tor team pointed back in 2013.

Futhermore, besides gitian, there are also some other new tools used to create reproducible-builds, that you should investigate.

And talking about Gitian, you know who is the gitian main developer, dont you?

Devrandom. :D
 
Last edited:

GrandMasterDash

Well-known Member
Masternode Owner/Operator
Jul 12, 2015
2,737
975
183
Or more to the point, put the version control behind the masternodes and let them govern who can do updates.
 

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
Or more to the point, put the version control behind the masternodes and let them govern who can do updates.
In order to do this you have to secure the privatekey of the vote. Puting the version control behind the masternodes and at the same time exposing the vote private key, this is catastrophic.

So you have to create 3 private keys for every Masternode.
  1. One private key that holds your money
  2. One private key that manages your masternode and makes it recognizable into the network (which you can give it to the Masternode service providers (MNSP) )
  3. One private key that can be used to vote (which you should have the option either keep it safe or give it to the MNSP)

Having tha last two private keys in one, this is a design deficiency.
At least you should give to every masternode owner the option to separate the network layer from the voting layer.

I added a preproposal for this.
 
Last edited:

Icebucket

Active Member
Apr 11, 2014
268
129
103
Demo.. You need to move out from your moms basement and get a girlfriend.. There is someone out there that will love you regardless, let 2017 be your year
 
  • Like
Reactions: halso and ceti

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
From the veritas team.

Multiple Voting: In the current implementation of the DGS, votes are issued by the Masternodes and relayed through the p2p network to other nodes. A vote is checked for validness only when it is seen the first time. This means that once a vote is accepted and added to the internal pool, it will be valid as long as the corresponding proposal is valid. A vote will not be deleted even if the Masternode which signed this vote is no longer a Masternode (for example, the Masternode operator transfers coins away from the Masternode's collateral transaction output).
This leads to a situation in which a single person with 1000 Dash can successively establish several Masternodes, and then issue multiple votes for the same proposal. Alternatively, an operator of multiple Masternodes could vote for a project and then take his Masternodes offline. This would reduce the total number of Masternodes used in determining a proposal’s approval. Either situation, of course, can lead to a manipulation of the final voting result
for that proposal.
Note that it is possible that this problem is a bug in the code. By design, if a Masternode drops of the payment list/network due to not being active or due to movement of collateral, it loses its voting power and also its voting
history (this information was obtained on the Dash forum [2]).
This bug was resolved in PR1135.

I was wondering where this PR is ,when it was resolved, how it was resolved, whether it was resolved in version 12.0 or not, and what happened to the votes casted and to the money given before this bug was resolved.
 
  • Like
Reactions: GrandMasterDash

Nitya Sattva

New Member
Nov 21, 2016
31
39
18
39
From the veritas team.
This bug was resolved in PR1135.

I was wondering where this PR is ,when it was resolved, how it was resolved, whether it was resolved in version 12.0 or not, and what happened to the votes casted and to the money given before this bug was resolved.
Let me do your homework: https://github.com/dashpay/dash/pull/1135, ofc you will still need to read to figure out how and when this was resolved ... and I'm starting to believe that might be a problem for you.
 
  • Like
Reactions: ceti

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
This bug was resolved in PR1135.
I was wondering where this PR is ,

when it was resolved,

how it was resolved,
..you will still need to read to figure out how .
Is it this I have to read? Isnt there a more human readable explanation, any documentation? Do we have to wait the veritas team to explain us the code specifications?
:confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused:


whether it was resolved in version 12.0 or not,
:confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused:


and what happened to the votes casted and to the money given before this bug was resolved.
:confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused:
 
Last edited:

Nitya Sattva

New Member
Nov 21, 2016
31
39
18
39
As I said that is your problem, you can not read code or analyze it's history. Yet you shit all over this forum complain about how bad this part is and how insecure the other thing is. But time and time again you show us you do not know how to use git to look up the proof for any your claims and when pointing you strait to it your are still not able figure out the basic things required to ask the next logical question ...

I would explain it to you if I thought it was worth my time but sins you behave and smell like a troll I can only be asked to poke you a bit here and there ... no one here is taking you serious any more
 
Last edited:
  • Like
Reactions: tungfa and aleix

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
I would explain it to you if I thought it was worth my time but sins you behave and smell like a troll I can only be asked to poke you a bit here and there ...
Are you a member of the core team? If not then I dont want your explanations. I am asking the code specifications and documentation from the core team. And I am not asking them for myself, but for the community.

You should also ask for code documentation and specifications, if you were an objective independent dash community member and not a paid advertiser or employee. I know how they solved the issue, and I will come back to it when I will be sure about the deficiencies of the solution they gave.

But if you are an objective independant dash communty member, and not one of the many paid advertisers and employees who talk over here, then could you please give me a hint about the below:

whether it was resolved in version 12.0 or not,
:confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused:


and what happened to the votes casted and to the money given before this bug was resolved.
:confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused::confused:


In case the bug was present also in 12.0 version, then here comes the troll = ( introduce the 1 operator that owned all masternodes)
:D :D:D:D:D
 
Last edited:
  • Like
Reactions: GrandMasterDash

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
A discussion between two developers about c++ specification and what would be 'the best approach' to apply those is shocking to you ? Or did I miss what you meant by "The Specifications" ....
From the discusion between the developers.

tgflynn said:
The question of these non-standard signals is currently very unclear to me.
UdjinM6 said:
Other signals are not clear for me too tbh :) The point was defining max value via one of enum members and not by some magic number which imo is a better/cleaner way.
The C++ specifications refer to the implementation of the design to the language c++. The c++ language specifications do not require necessarily the deep understanding of the design.

The above discussion between developers is not a discussion about c++ specifications. It is a discussion about code design specifications, which is something tottaly different.

It is shocking that not even the developers know what exactly they are coding. If the developpers do not know what they are doing, then who knows?

The developpers are just bulding the walls, because someone told them to do it. But they dont know whether the wall they are bulding is a wall of a school, or a wall of a prison. This is what shocked me.
 
Last edited:

Nitya Sattva

New Member
Nov 21, 2016
31
39
18
39
You are missing the **point**: "The point was defining max value via one of enum members and not by some magic number which imo is a better/cleaner way." That is what was being discussed ...

Error: Looking at the code, the signals are clearly related so ... strike the remark below:
~As to him not knowing about other signals, It does not surprise me that a developer reviewing one section of code is not sure about other parts (signals) that are not related to the section he is reviewing. As long as he knows the part he is responsible for and thus reviewing there is no problem there.~
 
Last edited:
  • Like
Reactions: tungfa and JGCMiner

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
As to him not knowing about other signals, It does not surprise me that a developer reviewing one section of code is not sure about other parts (signals) that are not related to the section he is reviewing. As long as he knows the part he is responsible for and thus reviewing there is no problem there.
When the developers talked about signals, this is what signals they meant.
https://github.com/dashpay/dash/blob/v0.12.1.x/src/governance-vote.h

Code:
// SIGNAL VARIOUS THINGS TO HAPPEN:
enum vote_signal_enum_t  {
    VOTE_SIGNAL_NONE       = 0,
    VOTE_SIGNAL_FUNDING    = 1, //   -- fund this object for it's stated amount
    VOTE_SIGNAL_VALID      = 2, //   -- this object checks out in sentinel engine
    VOTE_SIGNAL_DELETE     = 3, //   -- this object should be deleted from memory entirely
    VOTE_SIGNAL_ENDORSED   = 4, //   -- officially endorsed by the network somehow (delegation)
    VOTE_SIGNAL_NOOP1      = 5, // FOR FURTHER EXPANSION
    VOTE_SIGNAL_NOOP2      = 6,
    VOTE_SIGNAL_NOOP3      = 7,
    VOTE_SIGNAL_NOOP4      = 8,
    VOTE_SIGNAL_NOOP5      = 9,
    VOTE_SIGNAL_NOOP6      = 10,
    VOTE_SIGNAL_NOOP7      = 11,
    VOTE_SIGNAL_NOOP8      = 12,
    VOTE_SIGNAL_NOOP9      = 13,
    VOTE_SIGNAL_NOOP10     = 14,
    VOTE_SIGNAL_NOOP11     = 15,
    VOTE_SIGNAL_CUSTOM1    = 16,  // SENTINEL CUSTOM ACTIONS
    VOTE_SIGNAL_CUSTOM2    = 17,  //        16-35
    VOTE_SIGNAL_CUSTOM3    = 18,
    VOTE_SIGNAL_CUSTOM4    = 19,
    VOTE_SIGNAL_CUSTOM5    = 20,
    VOTE_SIGNAL_CUSTOM6    = 21,
    VOTE_SIGNAL_CUSTOM7    = 22,
    VOTE_SIGNAL_CUSTOM8    = 23,
    VOTE_SIGNAL_CUSTOM9    = 24,
    VOTE_SIGNAL_CUSTOM10   = 25,
    VOTE_SIGNAL_CUSTOM11   = 26,
    VOTE_SIGNAL_CUSTOM12   = 27,
    VOTE_SIGNAL_CUSTOM13   = 28,
    VOTE_SIGNAL_CUSTOM14   = 29,
    VOTE_SIGNAL_CUSTOM15   = 30,
    VOTE_SIGNAL_CUSTOM16   = 31,
    VOTE_SIGNAL_CUSTOM17   = 32,
    VOTE_SIGNAL_CUSTOM18   = 33,
    VOTE_SIGNAL_CUSTOM19   = 34,
    VOTE_SIGNAL_CUSTOM20 = 35
};

The problem is ethical. Building a wall without knowing whether the wall is a wall of a school or a wall of a prison, this is what bothers me. I respect the employees who are trying to understand the big picture and who are trying to know and to understand how their small actions are used by their employers and for what purpose. This attitude differentiates the free persons from the slaves.

The fact that @UdjinM6 is trying to understand the big picture is positive for him, the fact that he cannot understand it is shocking. If he cannot understand what the above signals are, then who can?
 
Last edited:
  • Like
Reactions: GrandMasterDash

UdjinM6

Official Dash Dev
Dash Core Team
Moderator
May 20, 2014
3,638
3,538
1,183
When the developers talked about signals, this is what signals they meant.
https://github.com/dashpay/dash/blob/v0.12.1.x/src/governance-vote.h

Code:
// SIGNAL VARIOUS THINGS TO HAPPEN:
enum vote_signal_enum_t  {
    VOTE_SIGNAL_NONE       = 0,
    VOTE_SIGNAL_FUNDING    = 1, //   -- fund this object for it's stated amount
    VOTE_SIGNAL_VALID      = 2, //   -- this object checks out in sentinel engine
    VOTE_SIGNAL_DELETE     = 3, //   -- this object should be deleted from memory entirely
    VOTE_SIGNAL_ENDORSED   = 4, //   -- officially endorsed by the network somehow (delegation)
    VOTE_SIGNAL_NOOP1      = 5, // FOR FURTHER EXPANSION
    VOTE_SIGNAL_NOOP2      = 6,
    VOTE_SIGNAL_NOOP3      = 7,
    VOTE_SIGNAL_NOOP4      = 8,
    VOTE_SIGNAL_NOOP5      = 9,
    VOTE_SIGNAL_NOOP6      = 10,
    VOTE_SIGNAL_NOOP7      = 11,
    VOTE_SIGNAL_NOOP8      = 12,
    VOTE_SIGNAL_NOOP9      = 13,
    VOTE_SIGNAL_NOOP10     = 14,
    VOTE_SIGNAL_NOOP11     = 15,
    VOTE_SIGNAL_CUSTOM1    = 16,  // SENTINEL CUSTOM ACTIONS
    VOTE_SIGNAL_CUSTOM2    = 17,  //        16-35
    VOTE_SIGNAL_CUSTOM3    = 18,
    VOTE_SIGNAL_CUSTOM4    = 19,
    VOTE_SIGNAL_CUSTOM5    = 20,
    VOTE_SIGNAL_CUSTOM6    = 21,
    VOTE_SIGNAL_CUSTOM7    = 22,
    VOTE_SIGNAL_CUSTOM8    = 23,
    VOTE_SIGNAL_CUSTOM9    = 24,
    VOTE_SIGNAL_CUSTOM10   = 25,
    VOTE_SIGNAL_CUSTOM11   = 26,
    VOTE_SIGNAL_CUSTOM12   = 27,
    VOTE_SIGNAL_CUSTOM13   = 28,
    VOTE_SIGNAL_CUSTOM14   = 29,
    VOTE_SIGNAL_CUSTOM15   = 30,
    VOTE_SIGNAL_CUSTOM16   = 31,
    VOTE_SIGNAL_CUSTOM17   = 32,
    VOTE_SIGNAL_CUSTOM18   = 33,
    VOTE_SIGNAL_CUSTOM19   = 34,
    VOTE_SIGNAL_CUSTOM20 = 35
};

The problem is ethical. Building a wall without knowing whether the wall is a wall of a school or a wall of a prison, this is what bothers me. I respect the employees who are trying to understand the big picture and who are trying to know and to understand how their small actions are used by their employers and for what purpose. This attitude differentiates the free persons from the slaves.

The fact that @UdjinM6 is trying to understand the big picture is positive for him, the fact that he cannot understand it is shocking. If he cannot understand what the above signals are, then who can?
Signals is smth Sentinel works with, Dashd part is built to be Sentinel-data agnostic transport layer which means that as a Dashd dev and not a Sentinel dev I'm not fully aware of packets design (though I understand it in general) or Sentinel code. It's like I'm building the Dashd-"road" for Sentinel-"cars" - I know what they are, how large they are going to be in general i.e. how large "exits" should be, I know how much of them will be there at the beginning and that "traffic" is expected to rise after some time. I don't need to know what the color would be or how many gears they would have, as a road builder I don't really care. Speaking of these "custom numbers" specifically - they are smth reserved for the future use, like unused op_code's in bitcoin. What we were discussing is simply the way to build it using a better pattern so that the "road" was easily extensible if/when needed later.
 

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
Speaking of these "custom numbers" specifically - they are smth reserved for the future use, like unused op_code's in bitcoin.
The unused op_codes in bitcoin are the minority, and the used op_codes the majority. But in our case it is the reverse, we have too many unused vote_signals and just a few used. And this is strange.

From the veritas team.
It is important to note that the proposal is not stored in the blockchain; in fact, neither proposals nor votes are stored in the blockchain. The proposal ballots are only stored in the internal pools of each node. The nodes periodically synchronize these pools between each other.
....
Again, it is important to note that a vote is stored only in the internal storage. It is not stored in the blockchain.
Why the core team designed to store the votes outside the blockchain? What is the rationality or for what reason this specific design has been selected among others? Is it maybe because they dont want to keep the vote history?

Maybe our friend @nmarley could explain to us whats really happening in sentinel.
 
Last edited:

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
Maybe our friend @nmarley could explain to us whats really happening in sentinel.
Ok. as long as our friend @nmarley dont want to reveal, I will reveal his plans. The reason so many vote-signals exist it is because they will be used for alternative proposals. This is what he is planning to do.

Just to inform @UdjinM6 , in order to be able to understand what exactly he is coding. And by the way, have a look at what some other projects are doing for readability, and compare it to Dash. :(
 
Last edited:

demo

Well-known Member
Apr 23, 2016
3,114
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
You can also see a full list of the masternode IPs here
https://masternodecloud.com/#queuepos

then ask a report there
https://www.domainiq.com/bulk_whois_ip

<current report>
Top IP Organizations
Digital Ocean, Inc. - 473 domains
Amazon Technologies Inc. - 466 domains
Vultr Holdings, LLC - 450 domains
Choopa, LLC - 356 domains
OVH Static IP - 303 domains
LT-RACKRAY - 245 domains
OVH Hosting, Inc. - 180 domains
Latin American and Cari… - 173 domains
Schinzel IT Consulting - 151 domains
HostUS - 143 domains
LT-RACKRAY-IV - 110 domains
IT-Grad nets - 101 domains
DigitalOcean Cloud - 89 domains
DigitalOcean Amsterdam - 88 domains
Heymman Servers - 43 domains
DigitalOcean London - 40 domains
Amazon.com, Inc. - 35 domains
OVH SAS - 32 domains
Xentech B.V. - 20 domains
Private Customer - 20 domains
IT-Grad - 19 domains
NET263 Group in China. - 17 domains
QuadraNet, Inc - 16 domains
US-CHOOPA-20150320 - 16 domains
Wowrack.com - 14 domains
Aruba S.p.A. - Cloud Se… - 14 domains


Top IP Organization Countries
US - 1,411 domains
DE - 435 domains
NL - 403 domains
LT - 370 domains
JP - 236 domains
CA - 180 domains
UY - 173 domains
SG - 142 domains
RU - 141 domains
FR - 132 domains
GB - 101 domains
IT - 97 domains
BE - 91 domains
AU - 39 domains
CN - 34 domains
SE - 10 domains
BG - 10 domains
PL - 8 domains
CZ - 8 domains
AT - 7 domains
ZA - 5 domains
ES - 4 domains
AR - 3 domains
RO - 3 domains
NC - 2 domains
UA - 2 domains



Top IP ISPs

Amazon Technologies Inc. - 466 domains
Choopa, LLC - 418 domains
Vultr Holdings, LLC - 385 domains
LT-RACKRAY - 243 domains
OVH Hosting, Inc. - 200 domains
Latin American and Cari… - 173 domains
Digital Ocean, Inc. - 159 domains
HostUS - 144 domains
LT-RACKRAY-IV - 110 domains
Asia Pacific Network In… - 70 domains
RIPE Network Coordinati… - 68 domains
Heymman Servers - 43 domains
DigitalOcean Cloud - 39 domains
Amazon.com, Inc. - 35 domains
DigitalOcean London - 31 domains
QuadraNet, Inc - 21 domains
OVH SAS - 16 domains
US-CHOOPA-20150320 - 15 domains
Aruba S.p.A. - Cloud Se… - 14 domains
Wowrack.com - 14 domains
UAB "Interneto vizija" - 13 domains
ColoCrossing - 10 domains
Hudson Valley Host - 10 domains
OVH - 9 domains
Bulmag AD - 8 domains
Cloud Services DC05 - 8 domains
</report>
 
Last edited: