KomodoPlatform / dPoW

Komodo delayed Proof of Work software
36 stars 73 forks source link

[NN VOTE] Amend NN Responsibility V #190

Closed smk762 closed 3 years ago

smk762 commented 3 years ago

Currently the rule below is placing NN of good standing at risk due to the geographic handicaps leading to a skewed distribution of notarizations.

v. Reach at least 33% of your region’s best monthly NN notarization score. This is checked on the first day of each month, beginning one month after the new NN season has begun.

One option to smooth out the distribution would be to reintroduce a scoring component for mining, which is a good indicator of uptime (though this might promote overmining, if it does we might be able to address that in another rule tweak).

With reference to https://github.com/KomodoPlatform/dPoW/issues/189 a resolution is required to re-align the NN Bible, and in accordance with https://github.com/KomodoPlatform/dPoW/blob/master/doc/bible.md#polls-and-voting here we go.

Process as follows -

Please try and be as precise as possible in your submissions, to avoid any room for misinterpretation (and if you notice how something listed might be misinterpreted, point it out so we can write it better).

Options (will be updated as submitted)

1) Do nothing (to clarify, this means no changes made to bible) 2) Apply an Uptime score 0.5 for each hour in which a NN registers a notarization (0.25 per node 3P/main) 3) Reach at least 40% of your region’s median score. 4) Apply 1 point per easy-mined block mined to NN score (excluding external hashrate), up to 17 points per day maximum. 5) A combination of options 3 and 4 (requested by Strob in Discord)

christian-silvestre-74299963 commented 3 years ago

MAIN Uptime value: MNX Uptime percentage: 100% value daily uptimexmn=(Time Last any notarization - Time Current any notarization) if uptimexmn> 60 mins decrease 4.348 to 100% (100-4.348 = %leftvalue) if uptimexmn > 1380 mins decrease 100% (100-100 = %leftvalue)

score= MNX * %leftvalue

3P Uptime value: 3PX Uptime percentage: 100% value daily uptimex3p=(Time Last any notarization - Time Current any notarization) if uptimex3p > 360 mins decrease 4.348 to 100% (100-4.348 = %leftvalue) if uptimex3p > 1380 mins decrease 100% (100-100 = %leftvalue)

score= 3PX * %leftvalue

wherein: MNX depending in importance. maybe MNX=11 Reset 100% value on 0000H IF Uptime < 60 else Do not reset 100% value on 0000H

3PX depending in importance. maybe 3PX=3 Reset 100% value on 0000H IF Uptime < 360 else Do not reset 100% value on 0000H

OR for %leftvalue use notarize count

Mainnodecountdiff = node(main) notarize count - node(main) notarize count(t-60) 3Pnodecountdiff = node(main) notarize count - node(main) notarize count(t-360)
if nodecountdiff = 0 - decrease 4.348 to 100% (100-4.348 = %leftvalue) if nodecountdiff ne 0 - do nothing but maintain %leftvalue if 0000H and still nodecountdiff=0 - %leftvalue=0 else reset to 100%

same with 3P node

zatJUM commented 3 years ago

Do you really think NN who don't take care about their spot, even partially, don't take care about their mining income?

smk762 commented 3 years ago

Changes to scoring aren't the only ways we can deal with this. Rewording rule V to a different percentage, comparing to average rather than top node, or using standard deviations could work also. I'm most in favor of an easy to understand and apply resolution.

@dudezmobi the first two options (assuming calculated daily) seems like two notarisations in the last hour of the day would be all that is needed?

Might be simpler and clearer to assume a full score each day, subtracting 4.348% for every hour within which a notarisation is not recorded. Is that more or less what the lower option means?

While it's a bit more complex to implement, I like this better than a mining score as it includes uptime for both nodes. Just need to define the max daily score value this can offer to see at what point it balances out NN scores enough to protect good standing notary nodes in relatively unfortunate locations.

TheComputerGenie commented 3 years ago

mining, which is a good indicator of uptime

No part of that is true.

StrobFX commented 3 years ago

What about Quorum when voting?

StrobFX commented 3 years ago

I would for something like:

v. Reach at least 40% of your region’s median score. This is checked on the first day of each month, beginning one month after the new NN season has begun.

And adding back scoring for mining, be it easy mining or external hashrate.

Someone raised concerns about the fact that external hashrate could be used to raise one's scoring by just paying.... But external hashrate is expensive and if someone is willing to pay he can raise his score by paying for a more expensive server anyway.

christian-silvestre-74299963 commented 3 years ago

what im after is the uptime and response time if node fails. for example 1 node down for 12 hours. if activated and he has a good latency his effort is to operate only for 12 hours and still outscore bad latency nodes. notarization per hour would measure uptime of a node and how quickly they recover from downtime. effort is rewarded. it is better to have a high latency up node rather than a low latency down node. everytime

christian-silvestre-74299963 commented 3 years ago

Changes to scoring aren't the only ways we can deal with this. Rewording rule V to a different percentage, comparing to average rather than top node, or using standard deviations could work also. I'm most in favor of an easy to understand and apply resolution.

@dudezmobi the first two options (assuming calculated daily) seems like two notarisations in the last hour of the day would be all that is needed?

Might be simpler and clearer to assume a full score each day, subtracting 4.348% for every hour within which a notarisation is not recorded. Is that more or less what the lower option means?

While it's a bit more complex to implement, I like this better than a mining score as it includes uptime for both nodes. Just need to define the max daily score value this can offer to see at what point it balances out NN scores enough to protect good standing notary nodes in relatively unfortunate locations.

yeah something like that. you can improve on it. a 3-hour downtime is bad enough or maybe x^n every 6 hour or something.

christian-silvestre-74299963 commented 3 years ago

I would for something like:

v. Reach at least 40% of your region’s median score. This is checked on the first day of each month, beginning one month after the new NN season has begun.

And adding back scoring for mining, be it easy mining or external hashrate.

Someone raised concerns about the fact that external hashrate could be used to raise one's scoring by just paying.... But external hashrate is expensive and if someone is willing to pay he can raise his score by paying for a more expensive server anyway.

i am confused why we always add mining to scoring.

our main job is to notarize. from the verb itself. easy mining is our freebie? or easy mining is our task too? if easy mining is our task too then we better score it but if its how we get compensated for the effort of notarizing then. i dont know. maybe more info or wisdom for everyone? it is confusing actually. some people is critical of the 75%/25%. is it our task to maintain this percentage?

TheComputerGenie commented 3 years ago

i am confused why we always add mining to scoring.

Because people like the big numbers it adds; the 27-30 thousand extra points it adds every month looks pretty

smk762 commented 3 years ago

I suggested it as a very simple way to make the numbers add up to "no man left behind", after adding current mine counts to current ntx scores and seeing results achieving no-one under 33% of the top region node. As mining could be gamed without notarizing, and doesn't take into account third party uptime, I'm leaning more in favour of @dudezmobi suggestion, once a reasonable 100% uptime score value is available which achieves the same.

@StrobFX, as there is no mention of a quorum in the bible at this stage, a simple majority of voting participants is implied. A separate poll for quorum specifics can be dealt with in another issue - I'd hope for at least 50% involvement.

christian-silvestre-74299963 commented 3 years ago

@TheComputerGenie yeah. its like doing performance appraisals without giving the right targets and metrics. high scores does not mean anything if your target is mismatched with your objectives.

but seriously. do we really need to maintain 75% mining? why?

TheComputerGenie commented 3 years ago

but seriously. do we really need to maintain 75% mining? why?

Because some people feel that it would negatively impact that chain (stalls, etc) if NNs mined less and "normal" miners needed to mine more. There's some confirmation bias in this when looked at myopically, but in the long run it's re-averaged over time.

smk762 commented 3 years ago

Options submission ends tommorow. @dudezmobi, are you okay with this wording? Uptime score: 0.5 for each hour in which a NN registers a notarization

TheComputerGenie commented 3 years ago

nodeone_NA votes "nay" on any silliness that pretends lack of notarizations is actually "downtime" and will cause scoring gaps to widen based on something entirely arbitrary and capricious masquerading as something technical.

3P addy: RNodeoneSNbxXEpoYXPfwJ7enKSscq7ZK3 Sig: H1VouBkzZX20c4nFqaZwy9jEqTdx0lOjKAhU6gEhBwRvaCiEgY+ovS3DJdMMH/gcFJlT/qJh1Ru0NOaGwoj125I=

TheComputerGenie commented 3 years ago

nodeone_NA also votes "nay" on any silliness that awards meaningless points for mining which already has a required mininmum target

3P addy: RNodeoneSNbxXEpoYXPfwJ7enKSscq7ZK3 Sig: H/wxeAL9H5EuhRd0V8gCQ05dGgZcFQCyFMBh5+/96z/mPbCFzNs5qObCbQpoHPL5JYwTgQFmly6M0iW4i8TqNy8=

StrobFX commented 3 years ago

I would for something like: v. Reach at least 40% of your region’s median score. This is checked on the first day of each month, beginning one month after the new NN season has begun. And adding back scoring for mining, be it easy mining or external hashrate. Someone raised concerns about the fact that external hashrate could be used to raise one's scoring by just paying.... But external hashrate is expensive and if someone is willing to pay he can raise his score by paying for a more expensive server anyway.

i am confused why we always add mining to scoring.

our main job is to notarize. from the verb itself. easy mining is our freebie? or easy mining is our task too? if easy mining is our task too then we better score it but if its how we get compensated for the effort of notarizing then. i dont know. maybe more info or wisdom for everyone? it is confusing actually. some people is critical of the 75%/25%. is it our task to maintain this percentage?

As I understand it, yes it's part of our duty to mine. When a few NN are not mining the chain doesn't move.

StrobFX commented 3 years ago

I would like to changhe option 1 like this:

  1. Apply 1 point per block mined to NN score, up to 21 points per day maximum.

That would prevent someone paying external hashrate to increase his scoring.

TheComputerGenie commented 3 years ago

When a few NN are not mining the chain doesn't move.

There's a high level of over-exaggeration in that sentence.

TheComputerGenie commented 3 years ago

Apply 1 point per block mined to NN score, up to 21 points per day maximum.

15 of those points (960 per day total, 28800 total per month) are utterly meaningless and serve no purpose other than making people feel good because they have "a lot of points".

Why add points to the system that serve 0 functional purpose? Also, 75% of 1440 divided by 64 equals 16.875, so why give points for "overmining"?

pbca26 commented 3 years ago

past history shows counting mining in only inflates total scores and as CG pointed creates bigger gap between nodes we've already had this before why comeback to the same dispute again?

StrobFX commented 3 years ago

Or option 2:

Apply 1 point per block mined to NN score, up to 17 points per day maximum. And change point V in the Bible for: "Reach at least 40% of your region’s median score. This is checked on the first day of each month, beginning one month after the new NN season has begun."

StrobFX commented 3 years ago

There are NN who for some reason eveyday don't mine a minimum of 17 blocks a day. I think we should encourage mining a minimum, of 17/day by adding it back to the score.

TheComputerGenie commented 3 years ago

Apply 1 point per block mined to NN score, up to 16.875 points per day maximum.

Still not sure why you're so fixated on inflating the scores. What is the point of this in your mind? What function purpose would these extra 1.875(120 for all) points serve?

I think we should encourage mining a minimum, of 17/day by adding it back to the score.

When only the top 3 scores per region will matter at the end of the season, how do you feel that increasing your points will accomplish this? Logically, those that are among the group that you feel need "encouragement" will only be placed further behind and it will have a larger negative impact on them, giving them the opposite of encouragement.

webworker01 commented 3 years ago
christian-silvestre-74299963 commented 3 years ago

nodeone_NA votes "nay" on any silliness that pretends lack of notarizations is actually "downtime" and will cause scoring gaps to widen based on something entirely arbitrary and capricious masquerading as something technical.

3P addy: RNodeoneSNbxXEpoYXPfwJ7enKSscq7ZK3 Sig: H1VouBkzZX20c4nFqaZwy9jEqTdx0lOjKAhU6gEhBwRvaCiEgY+ovS3DJdMMH/gcFJlT/qJh1Ru0NOaGwoj125I=

why? what is your alternative?

based on our data. if you dont notarize for an hour and succeeding hours, you are on downtime. average for lowest peforming node in 3p is 1.25 nota per hour.

christian-silvestre-74299963 commented 3 years ago

also as i have pointed out. 12 hours of downtime is so obvious. its not that technical. its common sense

TheComputerGenie commented 3 years ago

why? what is your alternative?

Score based on work done out of all work to be done (aka the current system). I can see no functional reason to add extraneous points to the system beyond a) making people feel better because "I got 1837 points for the season" doesn't sound as impressive as "I got 987432 points" and b) people want to add points that they think will extend their lead over others.

based on our data. if you dont notarize for an hour...

...you don't get points during that hour as things currently exist and others do get points. I'm still waiting for anyone in favor of new points to justify what value such points would add to the system....

TheComputerGenie commented 3 years ago

average for lowest peforming node in 3p is 1.25 nota per hour.

And "everyone" needs more points per hour because why?

smk762 commented 3 years ago

A common baseline score which lifts practically all active notaries is one way to avoid geographic disadvantages on some nodes leading to some falling foul of responsibility V. This is stated in the original post. Mining score is one simple way to deal with it. Notarisation activity to imply uptime is another (and a better metric as it involves both nodes, and cant be abused i.e by a node that abandons notarisation and just mines).

Open to other clear and simple to understand and apply options. If no resolution and it stays as is, we can look forward to discussing when to purge those that are < 33% of region’s best monthly NN notarization score, who replaces them and when to do a hardfork. I'd prefer it doesnt come to that.

TheComputerGenie commented 3 years ago

we can look forward to discussing when to purge those that are < 33% of region’s best monthly NN notarization score

Literally the only part of this "issue" that has made any sense or has any value.... This whole thread in a nutshell: Let's add mining points because then we can ignore the all mining rules that already exist Let's add fake "uptime" points because then we can ignore all the work units rules that already exist

smk762 commented 3 years ago

Changes to scoring aren't the only ways we can deal with this. Rewording rule V to a different percentage, comparing to average rather than top node, or using standard deviations could work also. I'm most in favor of an easy to understand and apply resolution. https://github.com/KomodoPlatform/dPoW/issues/190#issuecomment-667946089

TheComputerGenie commented 3 years ago

Rewording rule V to a different percentage....

Enforcing it against your friends whom you're trying to protect is also an option....

I'm most in favor of an easy to understand and apply resolution.

easy to understand and apply: Enforce the rule instead of changing it (months later) to suit you; what could be easier?

smk762 commented 3 years ago

See "option 1". This isn't a "tweak for friends". Its addressing a known problem with geographic disparity in notarisation counts which, due to a "notarisation only" scoring system is leading to unintended outcomes. The nodes at risk are active and contribute.

TheComputerGenie commented 3 years ago

geographic disparity in notarisation counts

The only place where this is an actual issue is SH and the simplest "fix" would be to change best to average which would nullify the disparity of titomane being in SA vs most of the region being in AUS.

The nodes at risk are active and contribute.

I'm well aware, I have friends that suffer from this issue.

Change 1 word and avoid needless silliness.

smk762 commented 3 years ago

So is that a submission for an option? Option 3 Reach at least 40% of your region’s median score is quite similar.

FWIW, this is not a SH issue.

Look at https://stats.kmd.io/ntx_scoreboard/ the names highlit in purple are currently < 33% of their region's top score.

That page also shows the region average for convenience in calculating how swapping "best" to "average" would change the threshold, and if such a change will protect otherwise active and contributing notaries.

TheComputerGenie commented 3 years ago

the names highlit in purple are currently < 33% of their region's top score.

And not a matter of "geographic disparity", some people just simply aren't doing their job as well as others. You shouldn't conflate these things. The only place an in-region "geographic disparity" exists is SH, where titomane is simply outpacing the rest of the region because of where his node is.

"Saving" "active and contributing" discord/github members is not the same as correcting actual issues with the NNs as a system. Being respected in the community should not be a reason for changing the rules to allow for lack of running a NN properly, no matter how much you like them and want to keep them "in the community", it's not fair to those that are doing their job well.

lilszi commented 3 years ago

the names highlit in purple are currently < 33% of their region's top score.

And not a matter of "geographic disparity", some people just simply aren't doing their job as well as others. You shouldn't conflate these things. The only place an in-region "geographic disparity" exists is SH, where titomane is simply outpacing the rest of the region because of where his node is.

"Saving" "active and contributing" discord/github members is not the same as correcting actual issues with the NNs as a system. Being respected in the community should not be a reason for changing the rules to allow for lack of running a NN properly, no matter how much you like them and want to keep them "in the community", it's not fair to those that are doing their job well.

I agree with Genie here, SH is known for said issues BUT look at Mihailo in EU, I doubt he has any geographic disparity, yet he's constantly below average in a top region. No scoring change will make him do his job any better, but only make it look like he's doing it better?!

I also don't see those people here whom this poll supposed to help, do they not care?

All of them could improve if they wanted to, none of them even asked a question here or on discord about how could they improve, to me, it looks like they don't care.

In my opinion, instead of changing rules we should try to help them (if they accept it) to improve their scores, provided that they are compliant with all other requirements first. for example, stop running your NN off home broadband

StrobFX commented 3 years ago

" stop running your NN off home broadband" Lol! I did that and was first in NA last season! This year I had to use DC for SH and had a lot of problems I don't have at home. At home I have full control on my routers and switches and my 1GBPS is garanteed to be dedicated to me.

lilszi commented 3 years ago

" stop running your NN off home broadband" Lol! I did that and was first in NA last season! This year I had to use DC for SH and had a lot of problems I don't have at home. At home I have full control on my routers and switches and my 1GBPS is garanteed to be dedicated to me.

I see you found the "most important" point of my post. I am glad it worked out for you, but it's not about you now. As long as someone brings the required stats, it's fine by me. But some clearly don't as you can see.

smk762 commented 3 years ago

Option submissions are now closed. Vote participants have until 8AM UTC, 3rd of Sept 2020 to cast a vote.

TheComputerGenie commented 3 years ago

Options (will be updated as submitted)

1. Do nothing

2. Apply an Uptime score 0.5 for each hour in which a NN registers a notarization (0.25 per node 3P/main)

3. Reach at least 40% of your region’s median score.

4. Apply 1 point per easy-mined block mined to NN score (excluding external hashrate), up to 17 points per day maximum.
nodeone_NA votes the following:
1. yea - what good are rules if they are just changed to help popular people avoid punishment
2. nay - inventing some pseudo "uptime" which is totally arbitrary is silly
3. nay - this seems only designed to save developers with poorly ran nodes
4. nay - this is points just for the sake of points and is already covered by an existing rule

3P addy: RNodeoneSNbxXEpoYXPfwJ7enKSscq7ZK3 Signature: H2B/S2/siEZtnPIr8N5DBQZOBx/ePsOnXVW9ep2xHplMNe+GxpeYP7Si/JfEhHjPy4K8Kf2qfpjr5t6GrU0S+10=

Mixa84 commented 3 years ago

I agree with Genie here, SH is known for said issues BUT look at Mihailo in EU, I doubt he has any geographic disparity, yet he's constantly below average in a top region. No scoring change will make him do his job any better, but only make it look like he's doing it better?!

I'm doing my job as NN as best as I can. I have some kind of geographic disparity as I'm in a part of EU where no NN is close to me, but I have a handicap that on current internet connection I have higher ping to any other node or to some important places like Frankfurt or Amsterdam DCs. I'm working on solving this, but here in Serbia this is not an easy thing to do. I have done some tests on fiber optics and got quite better results but I have to solve getting fiber to the place where my hardware is. My nodes uptime is pretty high, I follow the updates relatively fast, do the mining all the time only thing that stops me to be efficient in my region is the bloody latency.

I wouldn't like to vote on this as I'm the one of those that are in impacted here and I'm one of the Komodo team members and wouldn't like to have any special treatment than others, so what ever the majority of NN community thinks it is the best I agree with that. Honestly, I started doing NN for totally different reasons than the majority of ops, and that is not the financial benefit. I'm not doing any hunting or other "tricks" to try to benefit more from this. I wanted to make a small DC in my office, setup the NN and maintain it efficiently, use the rest of the hardware for KMD development utilities, and use the funds from NN in a project on KMD that was planned to be released. If I'm not contributing to the benefit of the network and KMD community by this than I accept whatever judgment is decided!

All of them could improve if they wanted to, none of them even asked a question here or on discord about how could they improve, to me, it looks like they don't care.

I have asked few times how can I figure out where is my bottle neck and got some feedback from few active members in Discord, but I also never got any concrete steps how to pin point the exact reason why I have lower performance on for example higher latency in iterating utxos with listunspent... But never mind that now, the biggest problem in my poor performance is the network latency.

TheComputerGenie commented 3 years ago

My nodes uptime is pretty high, I follow the updates relatively fast, do the mining all the time only thing that stops me to be efficient in my region is the bloody latency.

This is where I have to step in and ask, "Why did no one give a damn about this last season? And why was the response 'move your node'?" I had my node semi-locally in Dallas and the entirety of the response was not to change assessments but rather that I needed to move it elsewhere. Upon moving it, my stats increase and "I told you so"s were abundant. So, it seems logical that the answer should be the same as that given to the unpopular people: "Move your node."

Mixa84 commented 3 years ago

My nodes uptime is pretty high, I follow the updates relatively fast, do the mining all the time only thing that stops me to be efficient in my region is the bloody latency.

This is where I have to step in and ask, "Why did no one give a damn about this last season? And why was the response 'move your node'?" I had my node semi-locally in Dallas and the entirety of the response was not to change assessments but rather that I needed to move it elsewhere. Upon moving it, my stats increase and "I told you so"s were abundant. So, it seems logical that the answer should be the same as that given to the unpopular people: "Move your node."

Moving my nodes is the worst option that I'm trying to avoid. If nothing else helps I could do that. But the motives I entered NN among others was to make my own DC, having my own hardware and not wasting funds on renting, I have almost no running cost here, and etc. Moving my node would imply a lot higher costs and I feel that then there would be no point for the main reason - to use funds from mining in benefit of some Komodo project.

NOCTLJRNE commented 3 years ago

It's unfortunate that those who run their nodes geographically decentralized suffer bad latency & end up with low score because of the current limitation, so in the end NN are incentivized to run their nodes as close as possible to each other.

Can confirm that Mihailo came up with a lot of questions on how to improve his nota performance, but it isn't improved much since then, not because of his fault but probably because of the bad latency he has.

Imo scores may be isn't the best metric to measure uptime or NN skills, the main reason why I could climb from #10 EU to #2 global is because I moved my node.

TheComputerGenie commented 3 years ago

Imo score may be isn't the best metrics to measure uptime or NN skills.

Literally the best takeaway from this whole farce! It's known that there are internal issues in the software and in P2P, inventing new scoring systems will not change that and will only end up creating a new group of people that need "help" and more scores to add which will only end up creating a new group of people that need "help" and more scores to add...

TheComputerGenie commented 3 years ago

food for thought on "option 2" : There have been days where I've had, literally, 0 3P notarizations in excess of 3 hrs (on a node which is consistently in the upper half of the region in work performed), so why should I (or any such NN) be double penalized for the arbitrariness of the software (once because others are outscoring because work and once because it's called "downtime" and others get additional points for "uptime)?

smk762 commented 3 years ago

The issues surrounding latency / geographic (dis)advantage are well known. Since scoring is currently only taking into account notarisations, closely clustered nodes have a distinct advantage. In previous seasons, the mining score component was an "equaliser" of sorts, but no longer. So basically we are judging the worth of notaries based on a single (and arguably most important) aspect of the role, one which punishes wider geographic distribution (something that is preferred, otherwise than scoring), because the signatory selection is not evenly distributed and latency kills. The simplest solution is to reapply some form of "equalizing" score component, where everyone that turns up gets a some recognition for that, even if they suffer from having a node not in the same hetzner datacenter as a group of others. Mining or uptime are obvious choices - if there were others, pity they had not been mentioned yet. The alternatives are either relax the " > 33% of top region node" rule to a different percentage or comparison benchmark (e.g. median region score), or purge notaries based on a scoring system and ruleset that has its base in a known issue with the software. I don't want to see anyone harshly penalised for playing on an uneven field - that should be reserved for malicious, abusive or negligent activity.

TheComputerGenie commented 3 years ago

In previous seasons, the mining score component was an "equaliser" of sorts

Literally, no part of that is true. The only way that could even be true is if all of those that notarized less than others mined significantly more than others (especially since KMD->BTC was worth double that of mining).

It's OK to admit that people want to alter the scores to keep certain devs as NNs; doing so would be a lot easier and a lot more transparent.