Dusk | Release Cycle #32

Release Cycle Update #32

Our development planning features a Release Cycle of three weeks, providing a consistent stream of updates to the community, developers, and businesses relying on Dusk technology.

The publicly available Dusk GitHub contains over 18 active repositories, each focused on a different technical subject. Progress in each is ongoing and can be followed in real-time. The Release Cycle process is currently applied to some of our most active repositories.

Release Cycle Update Summary

We are always building and developing, and are making great progress towards mainnet. This progress is evidenced by the updates and activities across various key repositories.

Rusk saw a lot of activity, particularly in refining its consensus mechanism. This includes adaptive timeout configuration adjustments, enhancements in the verification process of candidate block headers, and improvements in the voting mechanisms. 

 The release of Piecrust 0.15.0 came with a number of small but useful tweaks. It introduced changes that better manage contract ownership and streamlined how contracts handle and return data. The addition of a new function in uplink 0.10.0 further enhanced contract ID management.

Citadel’s version 0.9.0 release swapped dependencies, reflecting an improvement in its cryptographic framework. This release also indicated ongoing efforts to optimize and restructure the Citadel codebase for better efficiency and functionality.

Phoenix Core, focusing on an anonymity-preserving, zero-knowledge proof-powered transaction model, released version 0.25.0. This update, primarily involving dependency changes, with an emphasis on cryptographic efficiency..

The Poseidon252 repository, dedicated to the Poseidon Hashing algorithm, released version 0.34.0. This version brought significant restructuring, such as modifications in crate features and the introduction of new features for zk and cipher, increasing the modularity of this crate.

The Schnorr repository, which implements the Schnorr signature algorithm using the Poseidon hash function, released version 0.2.0. This release focused on enhancing the challenge computation process in the signature algorithm and highlighted the emphasis on implementing more robust and versatile signature schemes.

Lastly, Hades252, which deals with the Hades252 permutation algorithm, released version 0.24.1. The primary change in this release was a deprecation notice, given the Hades functionality has been moved into dusk-poseidon.

Overall, these updates across the Dusk repositories reflect a dynamic and forward-looking approach in blockchain technology development. The focus is clearly on enhancing smart contract capabilities, improving cryptographic algorithms, and ensuring efficient, secure blockchain operations. This blend of new feature introductions, optimizations, and refinements in existing components is a strong indication of the Dusk Network's commitment to technological excellence and innovation.

release cycle graphic

For the community's benefit, we have divided our repositories in 3 categories, main, libraries and other. Below you will find a selection of some (but not all) of the work that is being done in our repositories, including recent advancements.

Main Repositories


The Dusk's Smart Contract Platform.

Update Summary

Multiple issues were closed in the Rusk repository, with a lot of updates made to the consensus, as well as some updates to Phoenix. There was no new version of Rusk released, but we can see a lot of issues being closed.  


consensus: Adjust config parameters of adaptive timeout #1245

consensus: Revert to last common ancestor #1260

consensus: Allow fallback to lower-round blocks #1168

consensus: Verify the candidate block header before submitting a validation vote #1243

Single vote for iteration #1109

consensus: Emergency Mode #1171

Remove phoenix-core from stake-contract #1138

Remove Timestamps from Validation Logic #1062

consensus: round in Sortition hash is redundant #1204

consensus: Implement adaptive timeout #1170

Remove phoenix-core from rusk-recovery #1139

consensus: Increase iterations to 255 #1174


Piecrust is a Rust workspace containing two crates, piecrust and piecrust-uplink, that together form the WASM virtual machine for running, handling and creating Dusk smart contracts.

Update Summary

Piecrust 0.15.0 was released on January 24th. Implementing the following changes:


Change owner import to accept the contract ID as argument and return

non-zero upon success

uplink 0.10.0 - 2024-01-24


Add self_owner function returning the owner of the calling contract


Change owner function to take a ContractId as argument and return an Option<[u8; N]>

Change owner extern to take a *const u8 argument signifying the contract ID

Opened issues

Remove panic when an empty argument constructor exists and an argument is not provided #316

Add ability to migrate contract bytecode #313

Closed issues

Proc Macro for uplink::wrap_call #308



This repository contains the implementation of Citadel, a protocol that integrates a self-sovereign identity system into the Dusk blockchain. An academic paper with further details about the protocol can be found here.

It also contains Shelter, a version of Citadel meant for non-Blockchain use cases. Documentation on this version will be provided soon.

Update Summary

Citadel v0.9.0 was released on January 24th, with the following updates:


Exchanged [email protected] dependency for [email protected]


Restructure the objects used in the code #98


No issues were closed in the last 3 weeks. 

Fix compute parameters #59 

Remove local state #54 

Address code reuse of Citadel data structures and test utilities #36 

Phoenix Core

Phoenix is an anonymity-preserving zero-knowledge proof-powered transaction model formalized and developed by Dusk Network.

Update Summary

Phoenix Core v0.25.0 was released on January 24th, with the following updates:


Exchanged [email protected] dependency for [email protected]

Exchanged [email protected] dependency for [email protected]


No issues were opened or closed in the past 3 weeks. 


Reference implementation for the Poseidon Hashing algorithm.

Poseidon252 v0.34.0 was released on January 24th, with the following updates:


Restructure crate features [#184]


Remove default and alloc features [#184]


Add zk and cipher features [#184]


In the past 3 weeks, no issues were opened in the Poseidon252 repository.


Move hades permutation in this crate #240

Add sponge helper to take ref bytes as argument #169

Restructure crate features #184


The Schnorr signature algorithm, given its namesake by its creator Claus Schnorr, is a digital signature scheme which provides a simple method of creating short signatures.

The implementation has been created using the Poseidon hash function, the paper for which can be found here.

For a reference to the algorithm, please see the docs.

Update Summary

Schnorr v0.2.0 was released on January 24th. Introducing the following changes:


Change challenge computation adding the public key to the hash [#3]

Opened issues

Implement a multisignature signer version of Schnorr #2

Closed issues

Add strong FS versions of the signature scheme #3


Implementation of Hades252 permutation algorithm over the Bls12-381 Scalar field.

Update Summary

Hades252 v0.24.1 was released on January 24th. Introducing the following changes:


Add deprecation notice [#120]

Opened issues

No issues were opened in the past 3 weeks. 

Closed issues

Deprecate crate after migration to dusk-poseidon #120