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)
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.
Zero-Knowledge proof System
PLONK is the zero-knowledge proof system used by Dusk Network. PLONK features an updatable reference string, constant verification times and concise (proofs are ~1kb).
Hades (link), Poseidon (link)
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.
RUSK & ABI (link)
The Rusk VM is the first Virtual Machine optimized for zero-knowledge cryptography. The Dusk-ABI plays an important role in connecting the Rusk Virtual Machine with the smart contract platform. Thanks to the implementation of Dusk-ABI, we make it a possibility for smart contracts to natively access host functionalities.
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.