The following paragraph complements finding ref and describes the equation that implements one of the two ZK arguments involved in withdrawal transactions. This ZK argument asserts that the plaintext value of a given ciphertext (consisting of a Pedersen commitment and decryption handle) is the same as that of a different Pedersen commitment.

Prerequisite definitions:

  • is the point at infinity

  • is the Ristretto base point

  • is the auxiliary point used for construction of the Pedersen commitment scheme

  • public keys are represented as

    • legitimate public keys are derived from a secret as , so and

    • rogue public keys could have a nonzero term

  • encrypted values are represented as a tuple , where

    • is the plaintext

    • is an arbitrary (normally random) scalar

    • is the public key of the recipient of the ciphertext

The equality argument is constructed, referring to

  • the legitimate public key

    • this is the pubkey associated with the confidential account

    • might not be zero when leveraging issue ref

  • the rogue public key

    • this public key can differ from the legitimate public key when leveraging issue ref

  • the encrypted balance

  • the Pedersen commitment

The values provided must satisfy the following relationship:

The following additional values have been introduced:

  • witness variables and

    • the relationship must hold for any possible value of these variables

  • scalars , and

    • these scalars are completely free and can be set arbitrarily

  • points , for

    • these points cannot depend on the value of any witness variable

The relationship can be expanded by expressing all the points as a sum of their two components and :

We can set up the following system of equations from the two scalar components of the relationship:

The system can be manipulated to obtain the following,

which is satisfied if the following system of equations is satisfied:

Zellic © 2024Back to top ↑