IntersectMBO / IntersectMBO/mithril

Add a SNARK verification key Proof of Bound Possession

Open
#3,537 0 comments 0 reactions 1 assignee Claimed by @damrobi View on GitHub
cryptography :closed_lock_with_key: optimization :hammer_and_wrench:
Dominant language
Rust
Stars
154
Forks
51
Avg merge
1d 23h
Merged PRs (30d)
38

Description

## Why

We want to make sure that no registered SNARK verification key can be used by an adversary to pollute the membership registration. A way to avoid this problem is to implement a Proof of Bound Possession for the SNARK verification key.

## What

Implement a Proof of Bound Possession for the SNARK verification keys.

## How

- [x] Create a document explaining the Proof of Bound Possession mechanism
- [x] Add the SNARK Proof of Bound Possession to the SNARK verification keys
- [x] Adapt the SNARK key registration to not return errors on collision of verification key (with a deterministic resolution in case of collision)
- [x] Make backward compatibility for codecs of the signer registration messages
- [ ] Check that computation of total stake is accurate for the SNARK AVK

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.