🐰
Unirep Social
  • Welcome!
  • Introduction
  • Getting Started
  • Definition
    • Trees
    • Nullifiers
  • Command-line interface
    • Deploy Unirep Contract
    • User Identity
    • User Sign Up
    • Epoch Key And Proof
    • Reputation Proof
    • User Interaction Functions
    • Epoch Transition
    • User State Transition
Powered by GitBook
On this page
  • Attestation nullifier
  • Epoch Key nullifier
  • Reputation nullifier

Was this helpful?

  1. Definition

Nullifiers

The definition of nullifiers used in Unirep

Attestation nullifier

  • Attestation nullifiers are used to prevent an attester attests to the same epoch key twice.

  • Definition:hash5(ATTESTATION_NULLIFIER_DOMAIN, identityNullifier, attesterId, epoch, epochKey)

  • ATTESTATION_NULLIFIER_DOMAIN = 1

Epoch Key nullifier

  • Epoch key nullifiers are used to prevent an epoch key be generated twice.

  • If an epoch key is used more than once, we cannot differentiate which user receives the reputation.

  • Definition:

    hash5(EPOCH_KEY_NULLIFIER_DOMAIN, identityNullifier, epoch, nonce, 0)

  • nonce is used to limit the number of epoch keys, if the nonce is more than numEpochKeyNoncePerEpochthe epoch key proof will be invalid.

  • EPOCH_KEY_NULLIFIER_DOMAIN = 2

Reputation nullifier

  • Reputation nullifiers are used to prevent a user double spending his reputation to perform actions.

  • If the same reputation nullifiers submitted to Unirep contract, the transaction will be rejected.

  • Definition:hash5(REPUTATION_NULLIFIER_DOMAIN, identityNullifier, epoch, nonce, 0)

  • nonce is used to limit the number of spent reputation, if the nonce is more than transitionedPosRep - transitionedNegRepthe reputation proof will be invalid.

  • REPUTATION_NULLIFIER_DOMAIN = 3

PreviousTreesNextDeploy Unirep Contract

Last updated 3 years ago

Was this helpful?