The ZkMatrix project is divided into three modules: the front-end ZkWallet, the side chain ZkNode, and the ZkProver.
When a transaction is sent to ZkNode for aggregation, its status changes from Queued to Committed. The transaction party can change to Verified when ZkProver develops circuit proof and sends the aggregated transaction to the main chain.
ZkProver has created a GPU version to drastically reduce the time required to generate Proof. ZkNode allows multi-Prover to generate two-layer block proofs simultaneously, theoretically supporting transaction aggregation up to 2000 TPS.
Most users are happy with a high degree of confidence when the state is changed to the submitted state, which takes relatively little time in the ZkMatrix project. It can be done in 5 seconds thanks to ZkNode’s well-designed transaction pool and state transition logic. Following that, the proof generation time and the main chain block generation rules limit the interaction logic with the main chain. After waiting 60 seconds, it is expected that the transaction data may be placed on the main chain to achieve the same security as the main chain. The block size is automatically coordinated by the ZkNode side chain based on the block time and aggregation performance. It now supports capacities ranging from 8 to 32 to 64. When transaction volume is adequate, the average cost of each transaction on the main chain is merely 1/64.