Skip to content

Decentralization #10

@arjunhassard

Description

@arjunhassard

Following @cygnusv's initial look at testnet decentralization.

Some risks of overcentralization that impact NuCypher service quality & network health:

  • Collusion
    Stakers might collude to compromise data privacy, to deny revocation, to game payout mechanisms, or to facilitate other (unknown) attacks.
  • Censorship
    Blocking access to data by refusing to re-encrypt. This is hard to orchestrate – see nucypher/nucypher#803
  • High threshold service discontinuation
    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.
  • Weakening of economic mechanisms (i.e. stake-based sybil resistance)

Across which planes should we measure and monitor the gini coefficient / lorenz curve? At least these four:

  1. Primary ownership of tokens
    Fairly obvious, since reward allocation and job assignment are stake-weighted
  2. Control of delegated tokens
    Depending on governance rules, this could equate to the the political power @michwill mentioned
  3. Total number of workers
    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
  4. Client diversity
    Including dependency on underlying clients (i.e. Geth dominance)

The risks of overcentralization are also affected by:

  • the reliability/security of the randomness with which stakers are selected for policies (initially and if user requests a worker re-shuffle)
  • 'permanence of employment' - how long stakers are tied into (relatively) lucrative policies, during which they cannot be displaced
  • liquidity and price of token: how feasible is it for a staker to join later and reduce a trend towards consolidation
  • typical thresholds chosen by users

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions