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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions