# Puzzle Verifier

The Puzzle Verifier implements the core logic of PoW through smart contracts, including difficulty adjustments, puzzle iterations, reward adjustments and distribution, and management of different ZK circuits. The specific mechanisms are as follows:

**Epoch-based Puzzle:**Puzzle Verifier divides time into fixed epochs. During each epoch, miners compute ZK proofs based on the same puzzle and difficulty.**Difficulty Adjustment:**At the end of each epoch, Puzzle Verifier adjusts the difficulty based on the submission status of solutions from the previous epoch, ensuring a roughly equal number of solutions per epoch and uniform reward distribution over time. Additionally, a new puzzle is randomly chosen for the next epoch.**Reward Distribution**: Puzzle Verifier periodically adjusts the reward distribution based on tokenomics to ensure that the distribution of governance tokens aligns with a reasonable inflation rate.**Flexibility in ZK Circuits:**Puzzle Verifier allows for the replacement of ZK verification circuits and algorithms. For instance, early support might resemble ZK algorithms used in Aleo mining, while future iterations may lean towards useful ZK calculations like ZK co-processors and ZKML. The design of the algorithm will take into account both high-end hardware (like GPU) and mobile hardware.

Last updated