Registration Operation
Registration is the starting point for using Encrypted ERC. In this step, the user introduces themselves to the system by linking their wallet address with a unique public key. It simply sets up the user’s cryptographic identity, which is then verified through zero-knowledge proofs to ensure the registration is valid without exposing the user’s private key.
The registration circuit is the smallest circuit in the protocol taking only the sender’s registration details, which include their private key, public key, and registration hash. This simple yet crucial circuit serves as the entry point for all subsequent private operations within the Encrypted ERC system.
Before a user can participate in any encrypted operations, the system verifies that the sender’s public key is mathematically well-formed, ensuring it follows the proper elliptic curve cryptography standards on the BabyJubJub curve. The circuit also validates that the sender’s registration hash which is the Poseidon Hash of the chain id, private key and address of the user. This check is essential to prevent a user registering to the system using another user’s proof and other proofs from different chains.
The registration process is handled by a separate registrar contract that works in conjunction with the Encrypted ERC system. When a user successfully completes registration, their public key and registration details are stored in the registrar contract, making them eligible to participate in private mints, transfers, and withdrawals. The Encrypted ERC contract validates user participation by checking their registration status through the registrar.
For any additional questions, please view our other knowledge base articles or contact a support team member via the chat button. Examples are for illustrative purposes only.
Learn More About AvaCloud | Download Case Studies | Schedule an AvaCloud Demo