Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Teams - Phase 1 #861
base: main
Are you sure you want to change the base?
Teams - Phase 1 #861
Changes from 75 commits
63f6cf5
a58df9a
1f35b3e
1554c46
1cabb57
ecaff73
69dc64d
fd4c09a
cf25c25
ad23d80
17ccfca
905acd6
58d88f2
f10163b
fec7031
647a243
6d3d771
b869dbb
d7ab9bb
1a0c94b
cbbd0a7
8eb8da2
268f194
d7e47cd
13bdb8f
24c283c
5ec25c9
7dc133b
d7967cf
0a6a2a5
5881d14
94c3a08
6dace77
828de2f
f18f4ae
c28b3a4
a13ef01
2ba08eb
b02bc07
d898efc
54cd974
a37affd
e03496a
bec0261
cbf4a3d
cec4487
0ef8885
510a79a
c9791d7
b95379f
9014aee
9582fd9
959bb3a
9afcf1f
9c8327b
46ffc7b
8b69941
cbb0d86
13dc94a
f86c50f
395c3ae
845da19
2c831aa
598499a
c60c0c2
3922dc5
8b6d06c
bb20351
d254dd3
1298631
19a6cf2
51a9ea7
a90213a
67660c2
7dd61b6
5688b6a
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The issue I see with this is that it is essentially reducing the problem to proof of work. I think we need a system where one tall tower is preferred over many short towers.
Alternatively, we could keep the rate limit on validators (but potentially increase the limit) to prevent Sybil attacks such as this, but I think the rate limit would need to decrease with time. As it stands, the number of validators can double every 2 weeks, which poses a problem for Sybil attacks now, but won't be much of an obstacle once there are many validators.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a design idea here.
The min tower height is determined by the number of towers who are a members in a team. Basically as you add members to a team the min height increases. I think this would mitigate sybiks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zmanian is this the min height of a member to join a team? Is this like musical chairs in a sense, where people get knocked off a team the as the height to join a team gets progressively higher?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My mental model is that increasing height requirement on the team can prevent the n+1 team member from join but you don't get kicked out of team if the difficulty becomes higher than your height
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So then even if they make a new team, the rate of growth for that team would be limited…This idea sounds quite promising
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the sum of squares approach makes sense (or at least sum of some super-linear function, squares is simple, but maybe not optimal, depending on what exactly we want to achieve). Just to confirm, the rate limit would limit the number of teams that can be created, not the number of people that can join teams (which would be unbounded), is that correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The rate-limit I refer to is the creation of new validator accounts, as we have today. So effectively new teams. The increase would be from 2 weeks to 4 or 6 weeks. Limits speed at which validator could gain edge (and give ample time to catch attacks coming).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looping back on this discussion. The final implementation uses a threshold of the RMS of the towers. Which achieves the goal of sum of squares per @jamesmeijers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the RMS of towers threshold specifically for being able to join a team?
So phase 1 keeps the validator tower height as the metric for validator set inclusion and consensus. Then, in phase 2 of the rollout, will the collective (not RMS) towers of the validator/team be the metric in order to incentivize team formation?
In phase 2, will the collective delay tower difficulty for teams target 100/max validators to limit subsidy minting?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@misko9 This is covered in the ol/documentaiton/teams. In short yes the Phase 1 does not change qualification or consensus weights. Phase 2 Does. And there are things to work out about the sybil resistance of phase 2, including how the collective difficulty changes.