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.
CPU | RAM | Storage | Network Connection |
---|---|---|---|
2 cores; 2 GHz | 4 GB | 50 GB | 10 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
CPU | RAM | Storage | Network Connection |
---|---|---|---|
4 cores; +2 GHz | 8 GB | 20 GB | 20 Mbps |
Per Worker
The specifications listed below are per worker.
CPU | RAM | Storage | Network Connection |
---|---|---|---|
1 core; +2 GHz | 1 GB | 2 GB | 5 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.
CPU | RAM | Storage | Network Connection |
---|---|---|---|
8 cores; 2 GHz | 16 GB | 250 GB | 100 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.