Reputation Proof

User generates a proof of his own reputation

  • There are two types of reputation proof in Unirep:

  1. Reputation proof: how much reputation that a user has, which includes reputation from all attesters and airdropped karma.

  2. Reputation from attester proof: how much reputation from a specified attester, which is indicated by attester id

  • Both of the reputation proofs are generated by user with a semaphore identity and the proof can be verified by everyone at the Unirep smart contract.

1. Reputation proof

  • This proof will be generated with a post, a comment, an upvote and a downvote action. The proof is used to ensure that a user has enough reputation to make the action.

  • There is another option that a user can choose to prove how much reputation he has and it exceeds the required reputation for the action.

  • After user made an action, it will create a proof with Unirep.reputationProofprefix. Other users can verify this proof at the Unirep smart contract.

verifyReputationProof

npx ts-node cli/index.ts verifyReputationProof 
                  [-h] 
                  [-e ETH_PROVIDER] 
                  [-ep EPOCH] 
                  -epk EPOCH_KEY 
                  -pf PROOF 
                  -th TRANSACTION_HASH 
                  [-mr MIN_REP]
                  [-b START_BLOCK] 
                  -x CONTRACT
  • This command will help other users with a proof with Unirep.reputationProofprefix to call the Unirep smart contract to verify the proof.

  • The input should match the claim that the prover provides.

  • Actions includes: publishPost, leaveComment, and vote

Options

Options inherited from parent commands

2. Reputation proof from attester

genReputationProofFromAttester

  • The prover (the user with a semaphore identity) can choose to prove how much reputation he receives from a certain attester id, including:

    • minimum positive reputation received from the attester since the first epoch

    • maximum negative reputation received from the attester since the first epoch

    • minimum difference between positive and negative reputation from the attester since the first epoch

    • what is the graffiti pre-image of the reputation, where the graffiti is optional to be attached from the attester

  • If the reputation matches the user's claim, the Circom circuit will generate a valid proof.

  • A string with Unirep.reputationProofFromAttester prefix is the proof of the reputation claim.

Options

Options inherited from parent commands

verifyReputationProofFromAttester

  • This command will help other users with a proof with Unirep.reputationProofFromAttesterprefix to call the Unirep smart contract to verify the proof.

  • The input should match the claim that the prover provides.

Options

Options inherited from parent commands

Last updated

Was this helpful?