Private onchain attestations using Ethereum Attestation Service on Scroll with Noir
Ethereum Attestation Service (EAS) is an open-source infrastructure public good for making attestations on-chain or off-chain.
The main issue with on-chain at EAS is that the data is public and anyone can see which other attestations are related to your address. We created a contract that saves the root of a Merkle tree, and instead of giving the attestation to the user, we give it to the contract, this contract has a verify function which the user can use with proof to verify that they hold the attestation without revealing their address. We used Aztec Noir to create the circuit and the verifier contract.
We created a contract that saves the root of a Merkle tree, and instead of giving the attestation to the user, we give it to the contract, this contract has a verify function which the user can use with proof to verify that they hold the attestation without revealing their address. We used Aztec Noir to create the circuit and the verifier contract.
This project uses the Ethereum Attestation Service contracts in Scroll (we deployed the contracts there as it wasn't supported on Scroll) and used Noir to create the circuits and the circuit verifier contract.