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.
This page is a collection of the libraries included in the E2E Release Candidate.
Zero-Knowledge Virtual Machine
Microkelvin is the first toolkit specifically engineered for making advanced zero-knowledge friendly data structures easy to implement. It is a foundational component optimized for the storage of data within confidential as well as public smart contracts.
Canonical (link), HAMT (link), nStack (link), RKYV
Together, Canonical and MicroKelvin are the system level bundle, managing how data is stored on-chain. HAMT and nStack utilize the stack to enable developers to create efficient smart contracts, optimized for zero-knowledge cryptography. The upcoming update will see Canonical complimented with RKYV (a zero-copy deserialization library) which will simultaneously boost performance of zero-knowledge smart contract execution, while severely bringing down the gas costs of all operations.
Zero-Knowledge proof System
PLONK (link), PLONKup
PLONK is the zero-knowledge proof system used by Dusk Network, and features an updatable reference string, constant verification times and is concise (proofs are ~1kb). The upcoming update adds PLOOKup to the library: PLONKup will be the world’s first zero-knowledge proof system that not only enables flexible zero-knowledge proofs for smart contracts, but also enables lookup based functions.
Hades (link), Poseidon (link), Reinforced Concrete
Poseidon is an optimized hashing algorithm to perform Merkle Tree opening proofs, which are vital to verification. Hades is used to ensure someone cannot take the output of a hash and use that to learn what the input has been. The upcoming update will replace Poseidon with Reinforced Concrete, the latest hashing function co-authored by Dusk’s lead cryptographer, which is up to 17 times faster than industry standard Poseidon.
RUSK & ABI (link) Zelbet, WASMer
The Rusk VM is the first Virtual Machine optimized for zero-knowledge cryptography. Thanks to the implementation of Dusk-ABI, we make it a possibility for smart contracts to natively access host functionalities. The upcoming update will see strong VM performance improvements, as we adapt for Zelbet trees (come with the introduction of our new hashing algorithm Reinforced Concrete) and RKYV (new serialization library), and swap WASMi for WASMer.
Rusk Smart Contract Platform
Embedded Domain Specific Language
Application Binary Interfaces
RUSK-ABI is a higher-level interface built on top of the RUSK Virtual Machine and the DUSK-ABI, enabling access to host functions that are specific to the RUSK VM, and not native to WebAssembly. Such functions include Poseidon hashing, proofs and Schnorr signature verification.
Zero Knowledge Circuits (link)
Genesis Circuits encompass the Zero-Knowledge infused circuitry governing the Genesis Contracts, enabling Proof Verification, anonymity assurance, and other ZK actions.
Transfer Contract (link) ,
Stake Contract (link)
Pending: Reward, Bid contract
The Transfer contract ensures that there is only one global state to manage, streamlining the way of interacting with any asset on-chain. The Staking contract manages the locked stakes and withdrawals for the consensus.
RUSK enables you to program smart contracts, power new decentralised applications (dapps), and set all kinds of parameters for compliance and control.