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

Masternode voting discussion thread

dime

New member
I have a question about masternode voting I brought to IRC but it was not answered.

<dimesz> can no one answer this question? what is the voting that the block miner gets to do? it decides which masternode to use?
<eu-Robert> dimesz: google gave me this brief explanation https://darkcointalk.org/threads/darkcoin-update-masternode-requirements-masternode-payments.225/ @ "How will the payments work?"
<dimesz> yeah.. that's the post with such little information that it led me to ask my question in the first place
<dimesz> each block miner only votes for one masternode? so if 20 (pools) control 99% of the hash rate, then about 20 masternodes will get paid?
<dimesz> let me clarify, then by the end of a day, only 20 masternodes will have seen payments
<InternetApe> dimesz, every block a new masternode is selected,
<InternetApe> So even if there are 500 Masternodes they all should get at least one payment a day
<dimesz> but the person who mines the block gets to vote with 1/6 of the decision which masternode gets paid...
<dimesz> so what's to stop the top 20 pools from always voting for their own masternode to get the payment?
<dimesz> if it was in a random fashion, i get that all masternodes would get elected eventually and you can use the formula blockreward*.1*576 / masternodes, etc
<dimesz> but then it says here that the masternode that gets paid is voted on.. by miners.. which will be a pool 99.99% of the time..
<dimesz> why would a pool vote for a random masternode when they can all vote for their own masternode to get the payment
<InternetApe> There is no way for them to SET/HARDCODE who they vote for
<dimesz> ahhh ok.. that's the small bit of information i was looking for
<dimesz> because when you say "vote for" it seems like they have the power to decide
<curious_> dimesz even if they could, they would lose miners for messing with the coin just as pools that approach 51% lose miners. Not worth it for a higher share of the 10% masternodes get
<dimesz> InternetApe: from the wiki, it says "The aim of this mechanism is to make reliable payments to well-behaving masternodes."
<dimesz> if that statement's true, then some masternodes will get preference
<dimesz> in what way do they get this?

Too lazy to stylize so irc logs it is.. Here is all the information I have about it so far:
From Evan:
We're going to extend the blockchain by adding a voting system. Each block that is solved the miner will add the address of the masternode that he believes should get paid and increment a counter. Upon reaching six confirmations an extra transaction will be added to the block paying out that masternode and removing the vote. This means that to cheat the system you'll need 51% of the hashing power.

From wiki:
The aim of this mechanism is to make reliable payments to well-behaving masternodes. The alternative was to make the block payment to the last node which performed a DarkSend, however this would facilitate scripts in the nodes in which there would be a lot of bogus DarkSends just to increase one's chances to get the payment.

The main concern here is that a pool (statistically speaking, there are no miners and only pools..) gets some kind of say on which masternodes will get the payment. How much say do they get? It's important to clarify this point.
 
The answer is already included in your question, isnt it?

<dimesz> why would a pool vote for a random masternode when they can all vote for their own masternode to get the payment
<InternetApe> There is no way for them to SET/HARDCODE who they vote for
 
The answer is already included in your question, isnt it?

<dimesz> why would a pool vote for a random masternode when they can all vote for their own masternode to get the payment
<InternetApe> There is no way for them to SET/HARDCODE who they vote for

Answered, but then possibly contradicted by "The aim of this mechanism is to make reliable payments to well-behaving masternodes" and "Each block that is solved the miner will add the address of the masternode that he believes should get paid and increment a counter. Upon reaching six confirmations an extra transaction will be added to the block paying out that masternode and removing the vote. This means that to cheat the system you'll need 51% of the hashing power"

What I'm asking for is what mechanism is in place that gives preferential treatment to certain masternodes. What is the voting that is done by the miner of each block. They get to vote for a masternode? Do they get to determine who they vote for? Is it random? What checks are in place to make sure that the block miners don't always just vote for their own masternodes?

Yes, you'd need 51% of the hash power to take over all 6 votes, but imagine a scenario where top 6 pools are all selfish actors that point their votes to their own masternodes. They'd have enough votes to keep one of their 6 masternodes being the payee most of the time.
 
Answered, but then possibly contradicted by "The aim of this mechanism is to make reliable payments to well-behaving masternodes" and "Each block that is solved the miner will add the address of the masternode that he believes should get paid and increment a counter. Upon reaching six confirmations an extra transaction will be added to the block paying out that masternode and removing the vote. This means that to cheat the system you'll need 51% of the hashing power"

What I'm asking for is what mechanism is in place that gives preferential treatment to certain masternodes. What is the voting that is done by the miner of each block. They get to vote for a masternode? Do they get to determine who they vote for? Is it random? What checks are in place to make sure that the block miners don't always just vote for their own masternodes?

Yes, you'd need 51% of the hash power to take over all 6 votes, but imagine a scenario where top 6 pools are all selfish actors that point their votes to their own masternodes. They'd have enough votes to keep one of their 6 masternodes being the payee most of the time.

https://darkcointalk.org/threads/darkcoin-update-masternode-requirements-masternode-payments.225/
https://darkcointalk.org/threads/darkcoin-update-masternode-requirements-masternode-payments.225/

masternode vote is open sourced.
https://github.com/darkcoinproject/darkcoin

http://drk.poolhash.org/graph.html : monitored.

getblocktemplate display payee.


And client check Votes.
Code:
2014-05-26 05:12:49 ERROR: CheckBlock() : Bad vote detected
2014-05-26 05:12:49 ERROR: ProcessBlock() : CheckBlock FAILED
 
Last edited by a moderator:
http://www.darkcoin.io/masternodes.txt
whats up with this? same IP, several times over.
"54.187.145.130:9999" : 1,
"54.72.196.78:9999" : 1,
"54.215.250.146:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"80.38.144.39:9999" : 1,
"54.215.241.121:9999" : 1,
"184.73.179.148:9999" : 1,
 
http://www.darkcoin.io/masternodes.txt
whats up with this? same IP, several times over.
"54.187.145.130:9999" : 1,
"54.72.196.78:9999" : 1,
"54.215.250.146:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"192.99.184.42:9999" : 1,
"80.38.144.39:9999" : 1,
"54.215.241.121:9999" : 1,
"184.73.179.148:9999" : 1,

I think it's cosmetic bug.

"192.99.184.42:9999" : 1,
"192.99.184.43:9999" : 1,
"192.99.184.44:9999" : 1,
"192.99.184.45:9999" : 1,
"192.99.184.47:9999" : 1,
"192.99.184.48:9999" : 1,
"192.99.184.49:9999" : 1,
"192.99.184.51:9999" : 1,
"192.99.184.52:9999" : 1,
"192.99.184.53:9999" : 1,
"192.99.184.59:9999" : 1,
"192.99.184.61:9999" : 1,
"192.99.184.62:9999" : 1,
"192.99.184.63:9999" : 1,
"192.99.184.54:9999" : 1,
"192.99.184.55:9999" : 1,
"192.99.184.56:9999" : 1,
"192.99.184.58:9999" : 1,
"192.99.184.60:9999" : 1,
"192.99.184.46:9999" : 1,
"192.99.184.50:9999" : 1,
"192.99.184.57:9999" : 1,
 
would be nice to clarify this.
I don't know well, but ..

each node tx out and masternode number(uniq) is maintained.
as to vote masternode, ip address is irrelevant.

Darksend client are not directely connected to Masternode, rather through connected p2p peer, transfer info.

So Masternode ip list is used to check out. If not used, not redeemed, and ping network eveery 30 min, ip address is not significant item.

Just thought. -
 
Not sure about how to check, but I do know that votes are supposed to be random.
 
Everybody take a deep breath and relax. Or panic and sell me your Darks for nickels. Every time the masses doubt Dark I make money off of them. Darkcoin is not just another crypto.
 
Im feeling much better having seen $20 Dark, with a chance to buy this low agian, We know its just getting started too! sorta like bitcoin 09!
 
what do y'all think about what this guy said?....
[quote author=phzi link=topic=421615.msg7003757#msg7003757 date=1401323764]
I don't like the masternode idea myself (quasi-centralized anonymous spends seem just plain silly), but here's a possible idea for handling payments:

When a masternode comes online, it broadcasts its pretense to the network, and joins the back of a payment queue.
Miners maintain a list of masternodes, along with the last payment time.
The masternode that hasn't been paid in the longest gets a chunk of the next block.
The masternode that was paid then falls to the bottom of the payment queue.

Checks could be coded into block validation that ensures the right masternode was paid, and if not, nodes reject the block.
[/quote]
 
Where can I find details about voting process?

There is a sentence in the wiki: "The aim of this mechanism is to make reliable payments to well-behaving masternodes.". What does a well-behaving node do?
How can you maximize the probability of a MN to be chosen? Is there anything more you can do besides running the server 24h/7?
How much does a break in MN uptime decrease the probability of the given MN to be chosen in next votes?
If one MN was down for for example 1 day - how much does it affect future votes? Is it a good idea to destroy this node and setup a new one in such case?
 
Where can I find details about voting process?
This thread may help you: masternode voting

How can you maximize the probability of a MN to be chosen? Is there anything more you can do besides running the server 24h/7?
No. Keep it active 24/7 is all you can do.

How much does a break in MN uptime decrease the probability of the given MN to be chosen in next votes?
If one MN was down for for example 1 day - how much does it affect future votes? Is it a good idea to destroy this node and setup a new one in such case?
Not much. I've created nodes which got paid within 30 minutes and some nodes after 5 days. Random it is. No need to destroy a node after it went down unless you are banned or something.
 
This thread may help you: masternode voting
https://darkcointalk.org/threads/masternode-voting.863/
This thread does not help much.
What exactly do miners take into account when voting? Is it really a random from all currently active masternodes? Is it a random from nodes active for last hour? Is it really a basic random function from masternodes list?
Not much. I've created nodes which got paid within 30 minutes and some nodes after 5 days. Random it is. No need to destroy a node after it went down unless you are banned or something.
I still get the feeling that some nodes are much more lucky than others. For example in the same period of time (almost a month) one node got 27 payments, other only 14.

Thanks for your reply!
 
This thread does not help much.
What exactly do miners take into account when voting? Is it really a random from all currently active masternodes? Is it a random from nodes active for last hour? Is it really a basic random function from masternodes list?

I still get the feeling that some nodes are much more lucky than others. For example in the same period of time (almost a month) one node got 27 payments, other only 14.

Thanks for your reply!
I would check your payment address at http://drk.poolhash.org/masternode.html. If you see any payments that went to a different payment address whereas yours was the expected payee, it is possible that the pools don't have the same list as the masternodes. If this is the case, creating a new IP and new payment address should correct the issue. I had one MN that was producing fine, then I accidentally sent too much out of the wallet (thus disabling the MN), and even though I restarted it, my MN started getting skipped over. After restarting, I've been getting fairly regular payments again. RC4 will correct this issue, but meantime it is possible that you've been permanently kicked off one or more of the pool lists or something.
By the way, 14 is not that unusual and isn't worrisome. I'd only worry if you were "expected payee" and the payment went to someone else.
 
Back
Top