* Compare verified vks against current group instead of initial dealers * Fix various dkg logs * API auto-advance epoch even on corrupt states * Use verified vks as ultimate truth for dealers * Set initial dealers based of verified vk * Extend register period even more * Fix test * Use shares from current epoch * Save initial dealers only when triggering resharing * Fix tests * Backup the last InProgress state too * Reset previous signers that are not initial dealers * Add unit test for bug reproduction * More verbose debug logging * Handle edge case for coconut keypair removal * Update dkg api test * Remove dealings directly for each key * Replacement data is saved only on the first reshare start * More debug logging * On failed DKG, just reset * Clippy fix
Nym API
The Nym API provides multiple services to the Nym network, and is designed to be run alongside Nyxd validators. From a logical perspective, there are multiple applications, but they are bundled together for ease of deployment.
Nym Directory Caching
The Nym directory is contained in the mixnet smart contract in the Nyx blockchain. The blockchain holds the canonical directory information about nodes, stake, locations etc. The Nym API caches this information periodically to make queries faster and more scalable.
Nym Network Monitoring
The Nym API periodically sends test packets through the entire Nym mixnet to test node liveness and quality of service.
Nym Epoch Advancement and Payment
The Nym API periodically advances the epoch and triggers payment based on network monitoring measurements.
Coconut Credentials
Coconut [paper] is a distributed cryptographic signing scheme providing a high degree of privacy for its users. You can find an overview of how to use it in the Coconut section of the Nym documentation.
A simple explanation is also available in blog form.
This project was partially funded through the NGI0 PET Fund, a fund established by NL.net with financial support from the European Commission's NGI programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310.