Description
Background
In order to implement shielded transaction for TRC-20 token, We plan to develop the shielded token contract. The contract has three core modules: mint
, transfer
and burn
. mint
is used to transform the public TRC-20 tokens into shielded tokens. transfer
is used for shielded token transactions. burn
is used to transform the shielded tokens back to public TRC-20 tokens. The shielded contract will be implemented based on zero-knowledge proof, so it needs the complex zero-knowledge proof verification in mint
, transfer
and burn
methods.
Motivation
In order to accelerate the speed for zero-knowledge proof verification shielded token transactions. We want to introduces three new functions: verifyMintProof
, verifyTransferProof
, and verifyBurnProof
, which can accelerate the zero-knowledge verification for the mint
, transfer
and burn
processing in shielded token contract. The proof verificaton function can be implemented in precompiled contract form.