Dusk | Release Cycle #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.
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
Rusk
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.
Opened
consensus: Adjust config parameters of adaptive timeout #1245
Closed
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
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:
Changed
Change owner import to accept the contract ID as argument and return
non-zero upon success
uplink 0.10.0 - 2024-01-24
Added
Add self_owner function returning the owner of the calling contract
Changed
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
Other
Citadel
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:
Changed
Exchanged [email protected] dependency for [email protected]
Opened
Restructure the objects used in the code #98
Closed
No issues were closed in the last 3 weeks.
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:
Changed
Exchanged [email protected] dependency for [email protected]
Exchanged [email protected] dependency for [email protected]
Opened/Closed
No issues were opened or closed in the past 3 weeks.
Poseidon252
Reference implementation for the Poseidon Hashing algorithm.
Poseidon252 v0.34.0 was released on January 24th, with the following updates:
Changed
Restructure crate features [#184]
Removed
Remove default and alloc features [#184]
Added
Add zk and cipher features [#184]
Opened
In the past 3 weeks, no issues were opened in the Poseidon252 repository.
Closed
Move hades permutation in this crate #240
Add sponge helper to take ref bytes as argument #169
Restructure crate features #184
Schnorr
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:
Changed
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
Hades252
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:
Changed
Add deprecation notice [#120]
Opened issues
No issues were opened in the past 3 weeks.