Skip to content

Getting Started

A Dusk node can take many different roles, from being a Provisioner and participating in consensus, to proving transactions, to storing historical data. The node is designed to be efficient, decentralized, and able to run on a wide-variety of hardware and platforms.

Types of Nodes

Dusk supports several types of node configurations. Of the three node types, only Provisioners are directly incentivized by the protocol through staking rewards. Provers and Archivers contribute critical services to the network, but rely on external agreements or use-case driven services like providing ZK-proof generation (for Provers) or historical data and API access (for Archivers).

  • Provisioner: Provisioners are the only node type that requires staking and participates in the consensus process, earning staking rewards. Provisioners play a vital role as they are responsible for validating transactions, as well as processing and appending new blocks to Dusk blockchain.
  • Prover: Provers carry on the computation-heavy task of creating Zero-Knowledge proofs (ZKP), which are a requirement for privacy-preserving transactions on Dusk and for certain ZK-powered applications.
  • Archiver: While Provisioners generally only keep the current state of the blockchain, Archivers instead maintain the full history of the blockchain accessible to applications, users, researchers and auditors. By maintaing and serving this data, Archivers can provide value to services and dApps that require long-term historical access. They normally don’t actively engage in consensus related tasks and do not require a stake.

DUSK Requirement

To run a Dusk provisioner, at least 1000 DUSK must be staked.

Why stake?

Dusk uses a pure proof-of-stake algorithm to provide sybil-resistance and as such it is a cornerstone of Dusk’s security and consensus mechanism. By staking DUSK, participants actively contribute to the network’s integrity.

Stakers have the right to participate in the Succinct Attestation and accrue rewards for generating blocks and participating in block validation activities. These rewards are an incentive for creating blocks and voting, and compensate users for locking their assets while their node performs such operations.

Software

We recommend using a stable operating system with long-term support, such as Ubuntu 22.04 or Debian Bookworm.

Hardware

The node software has been tested on x86-64/AMD64 and ARM architectures.

Provisioner Specifications

These specifications are set to comfortably accommodate provisioner nodes, with limited proving capabilities.

For increased network throughput, the node benefits from highly performant single-threaded performance.

CPURAMStorageNetwork Connection
2 cores; 2 GHz4 GB50 GB10 Mbps

Prover Specifications

Prover requirements are dependant on the amount of workers a server can run in parallel. Single-threaded performance is key to generate proofs as quickly as possible.

Minimum

CPURAMStorageNetwork Connection
4 cores; +2 GHz8 GB20 GB20 Mbps

Per Worker

The specifications listed below are per worker.

CPURAMStorageNetwork Connection
1 core; +2 GHz1 GB2 GB5 Mbps

Archiver Specifications

Archivers store and provide access to historical data. As such, they benefit from the capability to process multiple concurrent data requests, fast internet connectivity, and enough storage. The following specs are a reference point for archivers. For an archiver, the beefier the configuration, the higher the amount of concurrent requests they can handle.

CPURAMStorageNetwork Connection
8 cores; 2 GHz16 GB250 GB100 Mbps

Networking

Dusk makes use of the ultra-efficient P2P network protocol Kadcast. As such, the internet service requirements are relatively low, but they should be symmetrical and stable, with low latency.

Port Forwarding

For the node to be accessible to the outside world, a number of ports need to be open to allow for inbound and outbound messages.

  • 9000/udp: Required for Kadcast consensus messages.
  • 8080/tcp: Optional HTTPS API for querying the node.

Server Security

Maintaining a secure and stable node is paramount for the proper functioning of Dusk. We advise using a firewall, locking down unused APIs, performing regular updates and using a static IP for an uninterrupted service.