mirror of https://github.com/nucypher/nucypher.git
47 lines
2.2 KiB
ReStructuredText
47 lines
2.2 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. 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 period of completed,
|
|
depending on *re-stake* and *wind-down* options (more on this later).
|
|
|
|
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 stakes,
|
|
but only ever has one Worker bonded at a time. Once the stake is bonded to a Worker node, it can only
|
|
be *rebonded* once every 2 periods (48 Hours).
|
|
|
|
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. Workers must remain online to provide
|
|
uninterrupted re-encryption services on-demand. Each staking account or Staker is bonded to exactly one Worker.
|
|
The Worker's Ethereum account must remain unlocked to send automated work confirmation transactions and have enough
|
|
ether to pay for transaction gas; however, it is *not* necessary (and potentially risky) to hold NU tokens on a worker's
|
|
account for any reason.
|
|
|
|
Staker and Worker Delegation
|
|
-----------------------------
|
|
|
|
There are several strategies for running and maintaining a staking node:
|
|
|
|
* Delegate custody of NU and work to a third-party custodian.
|
|
* Delegate work via a staking pool or `Node-as-a-Service provider <https://github.com/nucypher/validator-profiles>`_.
|
|
* Run your own node.
|
|
|
|
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
|