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)

TheComputerGenie commented 3 years ago

that should be reserved for ... or negligent activity.

Is not the act of willfully refusing to be within the rules and more productive just because it would cost more an act which is "negligent" in and of itself?

smk762 commented 3 years ago

I'd be making this PR regardless of who was affected. "Equaliser" was meant to refer to how it would offer a common baseline t scoring, resulting in a tighter score range, and therefor less likely to be resulting in some nodes under 33% of region top.

I haven't seen anyone willfully refusing to be within the rules lately.

By now I am aware of your vote, your reasons and your animosity. If you feel the need to continue to attack my character by misrepresenting my motives, dont expect a response.

TheComputerGenie commented 3 years ago

and your animosity. If you feel the need to continue to attack my character by misrepresenting my motives, dont expect a response.

There's nothing "personal" in my position, with no "animosity", and no "attacking your character", this is supposedly about evaluating the technical actions and utility of operators (which none of the proposed "equalizers" actually do). You've literally said:

The nodes at risk are active and contribute.

which can only mean (as I said)

to keep certain devs as NNs

as the "40%" change would benefit certain people "wanted in the community" and not all of those "at risk", so let's be clear on that.

NOCTLJRNE commented 3 years ago

btw I just want to confirm what does "1. Do nothing" mean ? It means we don't remove the underperforming nodes next month ? or we do remove them ? Because the bible states that each NN score has to be at least 33% region best, but doesn't explicitly state what happen if the 33% threshold is not reached.

CHMEX commented 3 years ago

chmex_EU 3P "REx2EibDGdNZLpLV36AA9duzchDHaC4hSC" "1. yes 2. no 3. no 4. no" H5hmLOIPQDXwRRgpFgVb53v3TPsAn9Ri0ez//HEknlKAPC7w+k7ZLpKV+W9GNzOLP5aT+lLyVo6PWzoYSZiwlcY=

  1. yes
  2. no
  3. no
  4. no

chmex_AR 3P "RHHzesqTHS8Mi8hT5EyU2hmhJXmNVuPD7S" "1. yes 2. no 3. no 4. no" H8kPycnFEwDojIYPEUgFVWuL9/NVKAQBt+u6Bgmgfz4meTk6KUJNEZzien7B6AbXhIxcw3E50YAKqeBtwXtzjbU=

  1. yes
  2. no
  3. no
  4. no
TheComputerGenie commented 3 years ago

@CHMEX you forgot to vote on "option 5" which was conveniently added 2 hrs after:

Option submissions are now closed.

And after nodeone_NA voted

TheComputerGenie commented 3 years ago

nodeone_NA votes "nay" on the option added after announcing that time ended to add options and adding options was ended.

And, since we're just doing whatever we want whenever we want I'm not signing my vote on the non-option option added after time to add options ended because it's too silly and frivolous to warrant signing into my node to sign and I'm following by example and just doing random whatevers now.

smk762 commented 3 years ago

@NOCTLJRNE we can argue about that after the vote. Votes can be changed by editing until voting period ends.

image

TheComputerGenie commented 3 years ago

we can argue about that after the vote.

Read as: Don't worry about if what you want to vote for is what you're actually voting for, just hush up and vote.

smk762 commented 3 years ago

Or open a separate poll for that issue.

Cris-F commented 3 years ago

"RAkUASAERt6mf8K71H19dSz1EiwB8MtRWh" "4. Apply 1 point per easy-mined block mined..." IBPRPokcyKfbWQPu6X8WMxqWi7yu2OefdJyr4t7PjfUKHJIHlmnmaOluWY3+0gdogCX41V2d1PbEuampmnoat3A=

christian-silvestre-74299963 commented 3 years ago

btw I just want to confirm what does "1. Do nothing" mean ? It means we don't remove the underperforming nodes next month ? or we do remove them ? Because the bible states that each NN score has to be at least 33% region best, but doesn't explicitly state what happen if the 33% threshold is not reached.

there is no mention of removal.

christian-silvestre-74299963 commented 3 years ago

RPKnHkV6aacwCw2EbSGncJ3hZwJELpwZTn

Option 2

HyoAxv/ZlFgmVnlOZ8Bh867ctr94+HidgB+FCpzL7vbdBd2QOGJG4JLRcy2NwcAu2XGAsBqU9Ki/LYdA1hiKLmk=

TheComputerGenie commented 3 years ago

btw I just want to confirm what does "1. Do nothing" mean ? It means we don't remove the underperforming nodes next month ? or we do remove them ? Because the bible states that each NN score has to be at least 33% region best, but doesn't explicitly state what happen if the 33% threshold is not reached.

there is no mention of removal.

https://github.com/KomodoPlatform/dPoW/blob/master/doc/bible.md#rules-and-their-enforcement The Komodo team also decided that a violation of any of the above rules will lead to immediate loss of the NN spot.

christian-silvestre-74299963 commented 3 years ago

btw I just want to confirm what does "1. Do nothing" mean ? It means we don't remove the underperforming nodes next month ? or we do remove them ? Because the bible states that each NN score has to be at least 33% region best, but doesn't explicitly state what happen if the 33% threshold is not reached.

there is no mention of removal.

https://github.com/KomodoPlatform/dPoW/blob/master/doc/bible.md#rules-and-their-enforcement The Komodo team also decided that a violation of any of the above rules will lead to immediate loss of the NN spot.

what are the major infarctions? it is not written there that it is a major infarction.

smk762 commented 3 years ago

I assumed "do nothing" means no changes to rules. Probably should have been more precise. note added to option 1 to clarify.

NOCTLJRNE commented 3 years ago

PHBA2061_EU votes "1.yes 2.no 3.no 4.no 5.no" :

komodo-cli verifymessage "RPhbA2o61JM4ufrwJiAJ7SMmbR7cvbns4e" IJBzPa0MIF9jnQxln6PbSsaN5xRuJbuGlyp+lGGXbK7RJ6srofxd6PE4AjDLnNMDMgqxfQTOSA4RY93jKx9Bj3w= "1.yes 2.no 3.no 4.no 5.no"
zatJUM commented 3 years ago

Rules are not made to be changed during the "game", but suggestions should be kept for S5.

komodo-cli verifymessage "RDEgbPvN5KwtiXMoqLv4ZuNVLsNHsDvXLJ" HyDuYEAbU/kwS5tWjWWmqH9NRW15gopXZmvVtQg22/HrICcxrRVaYh4bZjo9EE0IrED7CG4fT+qgXm1bzlsBd6A= "1.yes 2.no 3.no 4.no 5.no"

TheComputerGenie commented 3 years ago

what are the major infarctions? it is not written there that it is a major infarction.

Presumably whatever the never-announced "NN judge" and the never-announced "NN tribunal" deem them to be in some closed-door private convo. Same as always.

StrobFX commented 3 years ago

Rules are not made to be changed during the "game"

Yes true! And one of the rules stipulate we can make votes/polls to improve them ;) NN Rights: ii. Making dPoW and NN improvement proposals and requesting votes/polls for these proposals.

TheComputerGenie commented 3 years ago

image

Every reason why "uptime points" that literally have nothing to do with actual uptime are silly

StrobFX commented 3 years ago

strob_NA "RQdadEVEct74NgxFb5QDbpSbMmpVpTwXYw" "option 4. Apply 1 point per easy-mined block mined..." H0IVPNuRPnlkDBQlEf8JX4zNzPYP1EVUNIn8AyjmpXJ8eiYzXVIRX+Z+rKyZ/qxVl90ecY7TqfBgMHg6cM/rg/E=

strob_EU "RFqkrQaY2NGtVUCHt42JpSw1Q9pQHtBmVf" "option 4. Apply 1 point per easy-mined block mined..." IPIPdcPC3L4+AHnS3YX2UPKhxWqH8XL3b4al6vr0iyllfQKF/frBIZbvA4pSm7ghrF4GvlslBEwvJ22m21m7X4g=

TheComputerGenie commented 3 years ago

And how will "per easy-mined block mined" be counted?

Edit for clarity: Specifically, this question is about the technical aspects of saying "this block was ez mined" and "this one wasn't", given that there's only half a handful of people that can tell the difference.

NOCTLJRNE commented 3 years ago

regarding counting easy-mined blocks, here's a quote from Alright:

should look at the last tx in the block, if it's a 0.0001 input to RXL if this is here, it doesn't necessarily mean it's easy mined, but if it isn't, it 100% is not easy mine. if it's there, then look at blockhash, does it start with 1 or 2 zeros or ~>6? still not even the best indication, but generally can make the inference if you're still unsure at this point, look at coinbase vout0, easy mining will always be p2pk with height encoded in the input

as I observe, https://kmdexplorer.io/blocks counts easy-mined blocks accurately, if a block is easy-mined then the NN who mined that block will appear under "Mined by" field

TheComputerGenie commented 3 years ago

here's a quote from Alright.....it doesn't necessarily mean it's easy mined...still not even the best indication.....

and all of the stats sites are going to add all that? Are those voting in favor of it going to write the if if if if code for them?

NOCTLJRNE commented 3 years ago

as I observe https://dpow.io/stats only counts easy-mined blocks https://komodostats.com/ counts all blocks mined by NN pubkeys, so both easy-mined & regular diff blocks. https://stats.kmd.io/ntx_scoreboard/ doesn't have daily stats so I'm not sure.

TheComputerGenie commented 3 years ago

stats.kmd.io counts all blocks

smk762 commented 3 years ago

https://stats.kmd.io individual notary profiles have "last 24hrs" stats - I'll make a page to combine into single table. Currently blocks mined is assigned by address it goes to, so it counts both. If easymined option comes to pass, @Alrighttt has mentioned he has a method subject to testing and confirmation.

TheComputerGenie commented 3 years ago

If easymined option comes to pass, @Alrighttt has mentioned he has a method subject to testing and confirmation.

Fair enough, that's basically what I was after: confirmation that arbitrary votes aren't going to be an extended burden on anyone wanting to track stats.

himu007 commented 3 years ago

alien_AR "RDosr7iNVe26tcErCBGHZ2YwE2JxcALiEN" "1. Yes, 2. No, 3. No, 4. No, 5. No" Hyl2ME0msF5NwhWdbnz/jAsp/4G6ENPdoNZwogvDCzFJAOwPbyedePd8iOTrjimbp95NWqvsYfO4Vz2SmVqhwMU=

alien_EU "RALiENfYqijwdDuKUwtQmXFYWURq27S98S" "1. Yes, 2. No, 3. No, 4. No, 5. No" IDTzYEWD+Q3TdBCdhWxhUr2bgYtGwwZVa0YldiNQ31PrWy9nq9kfiMt8RUrCO0W9xQViHGL0cNuUVQHhh0xd1/M=

alien_NA "RSUALiEnuYzcudwcAxSjeMiB7SwQMRR3Xu" "1. Yes, 2. No, 3. No, 4. No, 5. No" IJoN97Toz8OJpDwMdki7DzEnERuTJPIwkLZk5djiLAYsRk7GT+6ZI9cCzrLgeeCPyJpaZxHOcqcx21iGvdRWTcY=

TheComputerGenie commented 3 years ago

so, with 9 days still left, that brings us to:

1 iiiiiiii
2 i
3
4 iii

and counting

edit: and notably 0 for the late edit entry of 5 (not even the person that requested it)

smdmitry commented 3 years ago

Wow, this voting system has serious flaws: 1) Poll options can be edited at any time (the easiest is to replace order). Conclusion: we need hash of poll options to add to our answers. 2) Notaries just sign messages like "1. yes 2. no 3. no 4. no", which can be used to vote on their behalf by a 3rd party in any other poll like: 1) I am resigning to be notary operator 2-4) whatever. Conclusion: notaries need to include full text of options and their answers (or at least some hash of options).

Also I don't support modifying rules without any serious root cause, because someone wants to. And even if we had problems described in the 1st post, suggested options doesn't do any good, they are even harmful. Using node uptime component in score is good point, but proposed solution isn't about uptime. Why the hell we are voting with Third Party KMD keys, not main keys?

SHA256 hash on this string: "1. Do nothing (to clarify, this means no changes made to bible)

  1. Apply an Uptime score 0.5 for each hour in which a NN registers a notarization (0.25 per node 3P/main)
  2. Reach at least 40% of your region’s median score.
  3. Apply 1 point per easy-mined block mined to NN score (excluding external hashrate), up to 17 points per day maximum.
  4. A combination of options 3 and 4 (requested by Strob in Discord)" is 2ed28235736ea95c86f2e649ee002c903014f8599708e0230601be72460f1a44 (https://airicbear.github.io/sha256-online-hasher/)

smdmitry_AR vote with 3P key is: komodo-cli verifymessage "RAUxUitZ9GCd1F7EcG7QiKVeXxYMdwAtaS" Hx5VCUgLsLzwoocWxua4ycNN3FwPflGT26JQTXehD03RY1DTWNtkMHCGt42BeRkGqIQqfG/gFAIsX37Ur/BX7Iw= "Poll options hash: 2ed28235736ea95c86f2e649ee002c903014f8599708e0230601be72460f1a44. Answers: 1. Yes, 2. No, 3. No, 4. No, 5. No"

imylomylo commented 3 years ago
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "verifymessage", "params": ["RCpfW3ZKMmiuMWmumJEHKFfiSRJkuE5qeh", "IOG5vdUcgrwscUO45lhb7dUnTzuNP/0yOmfpRdMoB88JEq4BVtI9le+6rn99kXaq1XjF0zmK3J4Msz6ey9VB9jI=", "1. Do nothing (to clarify, this means no changes made to bible)"] }' -H 'content-type: text/plain;' http://127.0.0.1:7771/
{"result":true,"error":null,"id":"curltest"}
smk762 commented 3 years ago

Voting system (3P keys etc.) are from https://github.com/KomodoPlatform/dPoW/blob/master/doc/bible.md#polls-and-voting Agree it could be improved (we'd probably need a poll to do it). This poll is in response to https://github.com/KomodoPlatform/dPoW/issues/189

Rules shouldn't change because someone wants them to, vote would mean most want them to. The vote tally right now indicates so far most don't want a change. If that's the case, someone needs to figure out how to deal with the notaries that are in breach of the rule.

Someone else can start that poll, most of the feedback I get is negative so maybe someone else can do it better.

TheComputerGenie commented 3 years ago

If that's the case, someone needs to figure out how to deal with the notaries that are in breach of the rule.

Rules and their enforcement: seems pretty clear:

The Komodo team also decided that a violation of any of the above rules will lead to immediate loss of the NN spot....In case of such a spot-loss or disqualification, the next candidate from the election results will be eligible for the spot and the pubkey would be replaced with the next scheduled hardfork update.

daemonfox commented 3 years ago

I typed a really long reply then deleted it.

I am abstaining until the "controllers" of this process move it on chain and using the voting dAPP structures the Ops here have developed.

Silly way to run this.

StrobFX commented 3 years ago

I agree that doing nothing obviously means applying the rules like they are written now like CG pointed out. If we don't change the rules then the rules stay what they are including the 33% rule:

"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."

...and including the possible disqualification of TONYL_AR, DUDEZMOBI_AR, MIHAILO_EU who seem to not meet the 33% rule requirements right now. There is a grace period and probationary status until september 1st which was yesterday. So from now on the rule to be applied will be:

"...a violation of any of the above rules will lead to immediate loss of the NN spot." and "...the next candidate from the election results will be eligible for the spot and the pubkey would be replaced with the next scheduled hardfork update."

I wonder if all of those who voted to do nothing fully realize that. I myself voted to do something and change the 33% rule to avoid above mentioned possible disqualifications even though doing nothing could give me a spot in AR. So I guess the 33% rule first real check is on october 1st and those still not at 33% from the best score will be disqualified.

All I can add is if I get that spot you can be sure the rule will be met once I take care of it even though I will be sad for those disqualified but rules are rules and votes are votes.

StrobFX commented 3 years ago

Wow, this voting system has serious flaws:

I think those who criticize on last day have serious flaw in their participation to this voting process. If you wanted to change the process why wait on last day of a process that took 4 weeks?

smk762 wrote: "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)."

Also I don't support modifying rules without any serious root cause, because someone wants to.

Isn't the possible disqualification of 3 NN an enough serious cause to ask ourselves if the rules should be modified?

TheComputerGenie commented 3 years ago

Isn't the possible disqualification of 3 NN an enough serious cause to ask ourselves if the rules should be modified?

Isn't the possible disqualification of 3 NNs an enough serious cause to ask ourselves why certain people are so desperate to keep 3NNs doing so much more poorly than the other 61?

StrobFX commented 3 years ago

Not desperate, but just wondering if the rule is not too strong. I think 33% of the median would have been more fair than 33% of the top one only. But we just asked ourselves if we should change it and people voted to keep it like it was and it's fine with me.

TheComputerGenie commented 3 years ago

I think 33% of the median would have been more fair than 33% of the top one only.

On that, we (and others) agree; however, someone saw fit to make that not an option to vote on.

daemonfox commented 3 years ago

Wow, this voting system has serious flaws:

I think those who criticize on last day have serious flaw in their participation to this voting process. If you wanted to change the process why wait on last day of a process that took 4 weeks?

Does that also count for those of us that asked it be fixed last time... and the vote before... yet here we are still making up new polls and ways to vote without actually solving anything.

TheComputerGenie commented 3 years ago

wait on last day of a process that took 4 weeks?

Alternatively, the rule was committed on Feb 2, the hf was June 14 (4 months later), and the issue was created on July 31 (a month and a half later than the hf and nearly 6 months after the rule was commited); so, I'm not sure there's a whole lot of room to chuck rocks around calling out folks on "waiting"

Read as:

Why did you wait 4 weeks to comment on the thing we waited 24 weeks to decide might be an "issue"?

NOCTLJRNE commented 3 years ago

voting closed ? so option 1 has the majority of votes ? btw it seems 3/4 NN ops didn't cast their votes.

smk762 commented 3 years ago

Vote has ended. Results as below:

1) Do nothing (to clarify, this means no changes made to bible) 8 Votes 8 Votes (NodeOne, Chmex, PHBA2061, Alien (3 nodes), smdmitry, Mylo)

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

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

4) Apply 1 point per easy-mined block mined to NN score (excluding external hashrate), up to 17 points per day maximum. 3 Votes (Node-9, Strob (2 nodes))

5) A combination of options 3 and 4 (requested by Strob in Discord) 0 Votes

Abstain Mihalio

If someone else could please confirm the above it would be appreciated. Looks like 13 out of 64 votes were cast - though some multi-node operators might have only submitted a single key?

Either way it looks like that would not change the result, but should be kept in mind for future polls, along with how we should define a quorum (raised in https://github.com/KomodoPlatform/dPoW/issues/190#issuecomment-667968995).

As the result is "do nothing", the matter of sufficient votes cast to achieve quorum is moot. On secondary confirmation of this result, I'll close the issue.

TheComputerGenie commented 3 years ago

1) Do nothing (to clarify, this means no changes made to bible) 10 Votes 10 Votes (nodeone_NA, chmex_EU, chmex_AR, phba2061_EU, zatjum_SH, alien_AR, alien_EU, alien_NA, smdmitry_AR, mylo_SH)

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

4) Apply 1 point per easy-mined block mined to NN score (excluding external hashrate), up to 17 points per day maximum. 3 Votes (strob_NA, strob_EU, node9_EU)

TheComputerGenie commented 3 years ago

I think 33% of the median would have been more fair than 33% of the top one only.

So, now we have: https://github.com/KomodoPlatform/dPoW/issues/198

TheComputerGenie commented 3 years ago

along with how we should define a quorum

Robert's Rules of Order defines a quorum as The quorum refers to the number present, not to the number voting., which is not something countable in this type of forum (but would always presumably be every NN in attendance under section xii and thus a moot "discussion" as absence is not an option).