Darknodes

Darknodes are the underlying machines that contribute their computational, storage, and network resources to power RenVM. It is assumed that Darknodes are rational participants.

Bond

The safety and liveliness of RenVM assumes that less than 1/3rd of Darknodes are colluding adversaries. To prevent a malicious adversary from registering an unbounded number of Darknodes — thereby subverting the safety and liveliness of RenVM — a bond of 100,000 REN is required. This bond is paid to the DarknodeRegistry contract when the Darknode is registered and can only be refunded after deregistration has completed (see "Darknode Registry Contract").

Darknode Registry

Contract address: 0x34bd421C7948Bc16f826Fd99f9B785929b121633

The DarknodeRegistry contract is a smart contract deployed to Ethereum. It is used to register and deregister Darknodes. Epochs are triggered on the DarknodeRegistry contract to progress Darknodes through the different states of their lifecycle.

Lifecycle

Darknodes progress through multiple states throughout their lives. It is important to notice that Darknodes cannot progress backwards to a previous state. This simplifies the lifecycle, but also means that a Darknode can never be re-used.

In the Registered and Pending Deregistration states, Darknodes are considered active. While active, a Darknode is expected to contribute its computational, storage, and network resources to power RenVM. Failure to contribute will prevent the Darknode from earning fees. Failure to behave honestly will cause the Darknode to lose its bond.

The lifecycle of a Darknode. Epochs are represented by grey blocks.
  1. Pending Registration The bond is sent to the DarknodeRegistry contract and the Darknode is in the Pending Registration state until the beginning of the next epoch. The address sending this transaction is the owner of the Darknode.

  2. Registered The registration is finalised and the Darknode is in the Registered state. The Darknode is considered active until it progresses to the Deregistered state.

  3. Pending Deregistration The intent to deregister is sent to the Darknode Registry and the Darknode is in the Pending Deregistration state until the beginning of the next epoch. The Darknode is still considered to be active.

  4. Deregistered The deregistration is finalised and the Darknode is in the Deregistered state. The Darknode cannot refund their bond until the beginning of the next epoch. The Darknode is not longer considered to be active.

  5. Refundable The Darknode can now refund its bond.

  6. Refunded The Darknode has refunded its bond.

Darknode Payment

Contract address: 0x5a7802E66b067cB1770ee5b1165AA201690A8B6a

The DarknodePayment contract is a smart contract deployed to Ethereum. It is used to pay fees to the Darknodes. Payment cycles are triggered on the DarknodePayment contract once every 4 weeks to allow Darknodes to claim their rewards for the previous payment cycle.