mirror of https://github.com/nucypher/nucypher.git
47 lines
2.3 KiB
ReStructuredText
47 lines
2.3 KiB
ReStructuredText
.. _running-a-node:
|
|
|
|
Stakers and Workers
|
|
===================
|
|
|
|
NuCypher staking operations are divided into two roles - “Staker” and “Worker”.
|
|
The Staker can be thought of as a fiduciary administrator that holds NU and collects rewards.
|
|
The Worker is bonded to a Staker and performs work on behalf of the Staker.
|
|
|
|
Staker Overview
|
|
----------------
|
|
|
|
A nucypher staker is a holder of NU and manager of one or more stakes. NU is an ERC-20 token that underpins the network. Stakes are initiated by locking NU into
|
|
the *"Staking Escrow "* contract for a fixed duration of time. Staked NU earns two income streams: inflation
|
|
rewards (NU) and policy fees (ETH). Staked NU gradually unlocks with each completed period (7 days),
|
|
depending on *re-stake* and *wind-down* configuration options.
|
|
|
|
Active network participation (work) is delegated to a *Worker* node through *bonding*.
|
|
There is a 1:1 relationship between the roles; One Staker to one Worker. A Staker controls a single Ethereum
|
|
account and may have multiple substakes, but only ever has one Worker bonded at a time. To ensure the integrity of the network and its service quality,
|
|
staked NU can be :ref:`slashed <slashing-protocol>` due to misbehaviour, deliberate or unintentional, by the
|
|
corresponding worker.
|
|
|
|
Worker Overview
|
|
----------------
|
|
|
|
*Worker* - (aka "Ursula") Active network participant who carries out threshold cryptography operations.
|
|
|
|
The Worker is the bonded delegate of a Staker and an active network node, performing work on behalf of a Staker.
|
|
Workers must remain online to provide uninterrupted services on-demand, signalling their availability with
|
|
a commitment transaction before the start of each period (every 7 days), which costs approximately 200k gas.
|
|
|
|
|
|
Staker and Worker Delegation
|
|
-----------------------------
|
|
|
|
There are several strategies for running and maintaining a stake:
|
|
|
|
* Delegate custody of NU and work to a third-party custodian (Staker Delegation).
|
|
* Delegate work via a staking pool or `Node-as-a-Service provider <https://github.com/nucypher/validator-profiles>`_ (Worker Delegation).
|
|
* Control the Staker yourself and run your own worker (Self Directed).
|
|
|
|
Here is a simple heuristic to help decide on a course of action:
|
|
|
|
.. image:: ../.static/img/running_a_node_decision.svg
|
|
:target: ../.static/img/running_a_node_decision.svg
|