Skip to content

Fully integrate Qurrency #133

Open
Open
@jimthematrix

Description

@jimthematrix

This is for tracking the work to fully integrate the new Qurrency protocol (add link here once the paper is published) to Zeto with a new token implementation.

The name of the new token is zeto_anon_nullifier_qurrency. It's based on zeto_anon_nullifier, enhanced with a post-quantum encryption using the public key of the audit authority.

Remaining work items:

  • work out the onboarding process of the audit authority, that may look like the following
    • generate the Kyber key pair
    • put the public key inside the circuit, hardcoded to avoid extra cost of using public input signals
    • register the public key
  • implement the AES-256 encryption portion of the ML-KEM scheme on the message, which is defined as having the following parts:
    • input owner public key (x, y): 2
    • input secrets (value, salt) for each input UTXOs: 2 * nInputs
    • output owner public keys (x, y) for each output: 2 * nOutputs
    • output secrets (value, salt) for each output UTXOs: 2 * nOutputs
  • add test code to perform end to end transaction flows
    • sender:
      • generate a random AES encryption key and use the auditor's public key to generate its encapsulation
      • encrypt the secrets in AES, and output ciphertext ct-1
      • feed the AES key to the circuit to generate the ciphertext ct-2
      • add ct-1 and ct-2 to the transaction payload
    • auditor:
      • get the ct-2 from the transaction input, and use the Kyber secret key to decrypt to recover the AES key
      • get the ct-1 from the transaction input, and decrypt using the recovered AES key
  • add Qurrency to the remaining token operations (mint, deposit, withdraw, transferLocked)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions