This public library release covers another Dusk Genesis Contract: the Staking Contract. This contract makes it possible for users to participate in Dusk’s consensus, and manages the locked stakes and withdrawals.
In previous releases, we’ve explained how zero-knowledge infused circuitry makes the Transfer Contract tick. This circuitry is why contract users are able to retain their anonymity on Dusk Network. However, just like any other blockchain, it all starts with consensus.
It starts with consensus
The Dusk Network consensus mechanism differentiates between two roles, namely bidding and staking. To add a new block to the chain, network participants will first compete for the right to propose such a candidate block. This part is handled by the Bid Contract. After the proposal phase, participants agree upon and finalize the candidate block. Actors in this latter stage are called Provisioners.
Provisioners are randomly selected to participate in committees. In an optimistic scenario, it would only take three committee steps to finalize the block, with a committee size of 64. To be more precise, Dusk’s consensus mechanism actually treats every single DUSK staked by the pool of Provisioners as a separate node. This means that there is a linear relationship between the amount of DUSK you stake and your chance of election, and that a single consensus participant can be elected more than once during the same step.
Staking contract functionality
The Staking Contract ensures that interested parties can successfully act as Provisioners for the network. By locking up a certain amount of DUSK (10.000 < X <1.000.000) they are able to participate in consensus. The Staking Contract is responsible for managing the locked stakes. Participants define their lock-time and the contract will allow their withdrawal after expiration.
👉 Read more on the Staking Contract here.
The E2E RC Release schedule
The End-to-End Release Candidate is a feature-freeze, and signals the version of the blockchain protocol that we want to go live with. The Release Candidate includes various libraries, which together form the E2E Release Candidate. Alongside these announcement articles, we’ll also be increasing the specificity of the libraries being released to ensure full transparency.
👉 You can find the full schedule here.
Previously we released: