-
Notifications
You must be signed in to change notification settings - Fork 5
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
Decentralization #10
Comments
@arjunhassard, I totally appreciate this memorandum - it needs to go somewhere. But as a github issue, I'm inclined to close it wontfix on account of not having a clear fix condition. Perhaps this material is better suited for the forum? |
I think, the biggest gotcha we've seen is that if someone is restaking, he/she can potentially get above maximum number of coins per staker and continue (I've got 20M out of 40M). Should we somehow make it possible to split one large node into two/three/...? Or are we ok if we start from initially diverse node distribution? One of the answers to this question could be also given by Livepeer: they had fairly high inflation for a while, and they also had restaking on for everyone by default. Here's the result: |
@jMyles that's fair. I think we agree that as we increasingly come under the scrutiny of the wider world, we must amass all material related to our protocol and economic system in a single location. It's practically impossible for someone outside NuCypher to follow the development of a solution, when this development is fragmented across PRs, public (& private!) discord channels, in-person discussions, whitepapers, forum posts, gists, elsewhere. This fragmentation also adds a substantial internal headwind for anyone seeking retrospective clarification on a component's workings that they weren't initially involved in designing. My preference is to rename nucypher/mint-paper as nucypher/protocol, make it public and then capture all pre-implementation protocol debate there. Livepeer the standard-bearer once again: https://github.com/livepeer/research/issues is easy to follow. We can easily move issues like this one, nucypher/nucypher#1275, nucypher/nucypher#1302, nucypher/nucypher#803 and others over there. While these discussions should of course be public (at the moment they're effectively private by virtue of fragmentation), my sense is that forum isn't the right starting point. The raison d'être of a forum is to encourage external participation, and I fear the esoteric and unpolished nature of a discussion today about, say, probabilistic micropayments, isn't particularly inviting. However, once refined and developed, the proposal can be reposted in the forum in a simplified/generalised manner that explicitly solicits external feedback, and doesn't require a deep understanding of NC character dynamics, business realities of AC services, the uptime monitoring problem, etc. Wdyt? |
Following @cygnusv's initial look at testnet decentralization.
Some risks of overcentralization that impact NuCypher service quality & network health:
Stakers might collude to compromise data privacy, to deny revocation, to game payout mechanisms, or to facilitate other (unknown) attacks.
Blocking access to data by refusing to re-encrypt. This is hard to orchestrate – see nucypher/nucypher#803
For whatever reason, if a dominant staker or staker cartel decides to spin up the minimum number of workers (1), then users (and indeed, mechanisms) relying on a large
n
may suffer.Across which planes should we measure and monitor the gini coefficient / lorenz curve? At least these four:
Fairly obvious, since reward allocation and job assignment are stake-weighted
Depending on governance rules, this could equate to the the political power @michwill mentioned
More of a functional issue (i.e. are there enough workers to satisfy the threshold choices of users) – doesn't have much impact on censorship or power consolidation risks
Including dependency on underlying clients (i.e. Geth dominance)
The risks of overcentralization are also affected by:
The text was updated successfully, but these errors were encountered: