From 4902fc0d26690a2c50cb5f75e4eb5dc75de502ee Mon Sep 17 00:00:00 2001 From: pingke Date: Tue, 9 Jul 2024 00:51:05 +0800 Subject: [PATCH 1/9] add doc for contribution and verification --- .gitignore | 9 ++- docs/auth0.png | Bin 0 -> 21501 bytes docs/auth1.png | Bin 0 -> 72019 bytes docs/clean.png | Bin 0 -> 7179 bytes docs/contribute0.png | Bin 0 -> 34129 bytes docs/contribute1.png | Bin 0 -> 27678 bytes docs/contribution.md | 148 +++++++++++++++++++++++++++++++++++++++++++ docs/logout.png | Bin 0 -> 22007 bytes docs/verification.md | 71 +++++++++++++++++++++ 9 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 docs/auth0.png create mode 100644 docs/auth1.png create mode 100644 docs/clean.png create mode 100644 docs/contribute0.png create mode 100644 docs/contribute1.png create mode 100644 docs/contribution.md create mode 100644 docs/logout.png create mode 100644 docs/verification.md diff --git a/.gitignore b/.gitignore index c088ded7..ba5f4354 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,13 @@ coverage/ docs/* !docs/CNAME !docs/index.html - +!docs/verification.md +!docs/contribution.md +!docs/contribute0.png +!docs/contribute1.png +!docs/auth0.png +!docs/auth1.png +!docs/clean.png +!docs/logout.png *.env diff --git a/docs/auth0.png b/docs/auth0.png new file mode 100644 index 0000000000000000000000000000000000000000..3159e39ab9abff68ed31e099066067a82135cc25 GIT binary patch literal 21501 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 literal 0 HcmV?d00001 diff --git a/docs/auth1.png b/docs/auth1.png new file mode 100644 index 0000000000000000000000000000000000000000..78c63b7e4efe7ea250c84c9d0e5512cbf8f0d6bf GIT binary patch literal 72019 zcmeFYWmwc*7dJ|GDH4K|sC0>dbcu9Jmvnc-5Rxh>-9vW{-QA6J4c*-g_5Qi<=XtL8 z)49&~b3PH*%-*Z_TEDf{F9kVqYzz_%I5;?LNr^8?aBzqTaBxU;Xb8Z67?L@v;NX1W zB)Eiu-fgh7h6p$&hsrtiD%nd1L zlb$Y9A}4(;o$hCMx`U!k67dUsv7c|@Uu60!zM~{Yi$@E1_f9|B>ZJt2)A6F|Na9@T z!GX1l;P$0=b=1(&NQ$G&Rdl84h_))!4IUr`uFaWw-3RIUH@pWtqvwCM#r}Wbr{8Fi z#b+qb0OIZTGxI2ZjK0e7CaQOM)_@3xDEknQI=mf9l&83olsQ)@EW;OG0}8tdpv3$h z4?WpqC_xGGL?^6`2EKZVC`{OfOL05JSI?PJX3Gb4d+fNylqE_^N>0`aa8P87#|nIu z6wJ~aKQ?EdPaqe;%?{S$XK%%osDf*suxsg8)^a_Y+%3C0TBzI2iYrBZBio7AEvHPSYFiU@%s*N#OVvsQXiQ}IqVdw-9oat1N4efEX(kA9!?E}bus=T#gdRQ01Cq*>O8Os=lFSJ+HLnKZLBt9A6YN7?BktXch zO3lJ{P47<;e98S7yD$YhFz8g9QU;wJ^|iEi;1Z?VFRI&T2z(jdFbjA*QTVwK`R{yM ziRcWE1&vbh!b#v6QC;n#8dTRKEu&ym$PTk{#J9O-_!AKBDXlXGnY341STv80$Zi_y z6??4eu}tvBm!ZN5MFtZ0;&w?nqLYmF9%vވDa^dwn;S|m8OnGnfiEss=)yZYp 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 literal 0 HcmV?d00001 diff --git a/docs/clean.png b/docs/clean.png new file mode 100644 index 0000000000000000000000000000000000000000..662e8fa1c33c8e3c8fe31dfdb1b38b55ab869747 GIT binary patch literal 7179 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 AnE(I) literal 0 HcmV?d00001 diff --git a/docs/contribute0.png b/docs/contribute0.png new file mode 100644 index 0000000000000000000000000000000000000000..b367f43b3f0ce0b5f47eb6b7f9da209c7124a564 GIT binary patch literal 34129 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�i@O<2#4$jgT((eS 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 literal 0 HcmV?d00001 diff --git a/docs/contribute1.png b/docs/contribute1.png new file mode 100644 index 0000000000000000000000000000000000000000..0f534ca11fcafec08f05b763e8b6f2c3d5406e19 GIT binary patch literal 27678 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 A1ONa4 literal 0 HcmV?d00001 diff --git a/docs/contribution.md b/docs/contribution.md new file mode 100644 index 00000000..cf21bbdb --- /dev/null +++ b/docs/contribution.md @@ -0,0 +1,148 @@ +# EthStorage Trusted Setup Ceremony + +In essence, a trusted setup ceremony is about creating a number that nobody knows and nobody can figure out. +Each of us will contribute a portion of the number and then forget what we contributed. Thus, +no malicious actor can figure out what the number we created is without knowing what each person contributed — +and all of us (or at least most of us, or at least one of us) forgot what we contributed. +This prevents anyone from knowing or figuring out the number. + +This document will walk you through contributing to the EthStorage trusted setup ceremony. You can reach out to us on Discord. + +Contribution will be open till + +## Background +### What is a Trusted Setup Ceremony? +To generate and verify proofs securely, a cryptographic event must be run where a group of people collaborate to create +a set of cryptographic parameters needed to kick-off zkSNARKs-based systems. The goal is to ensure that no one can +influence or manipulate the parameter creation process. The idea is to share the burden of the setup among many +participants; thus each produces only a fragment of the information needed to generate the ceremony parameter, +the so-called toxic waste. As the name could suggest, this information must be thrown away by the participants, +and it only takes at least one of them to successfully forget the toxic waste to ensure the security of the ceremony +because an attacker needs all fragments in order to break the system; that’s why these events are called MPC Trusted +Setup Ceremonies. + +### How does a Trusted Setup work? +Any Trusted Setup ceremony is organized in two subsequent steps: the Phase 1, is universally reusable in any point of +contribution as input for any zkSNARKs Phase 2. Briefly, the goal of the Phase 1 is to securely generate zk-SNARK +parameters for circuits of up to a huge amount of constraints while the Phase 2, s a circuit-specific ceremony that +must be done for each individual application circuit. Luckily, both phases have a similar workflow. Both assume that +there is at least one coordinator and multiple participants taking turns in (generally) sequential rounds. The +coordinator generates and publishes a challenge file, which the first participant downloads, generates some entropy +(the so-called toxic waste). Then, the participant runs a computation to produce a new challenge file, which is made +available for coordinator verification. If the contribution has been verified as correct, the next participant will +repeat the process starting from this latest contribution, otherwise is going to recompute the work taking the +position of the previous participant. The process is repeated indefinitely until the coordinator decides to end +the ceremony or a predetermined end date is reached. Ultimately, the ceremony results in the extraction of a key +for the specific circuit being used. + + +## Requirements + +1. **A computer**: + +A computer with 8GB or above Space and Ram is recommended. Ideally Mac or Linux, Windows via +[WSL](https://learn.microsoft.com/en-us/windows/wsl/install) is Ok; + +2. **A strong internet connection**: + +The most common cause of failures is an inability to upload your contribution to the ceremony before the timeout +period expires. Please run the ceremony with a strong internet connection, and your upload and download bandwidths +should be at least 25 Mbps each (preferably 50+ Mbps each). Using a wired (ethernet) connection rather than a +wireless (WiFi) connection is also recommended. + +3. **A GitHub Accout**: + +A GitHub account must be a month old with at least one follower, five followings and two repos. + +4. **Node Version Manager (NVM)** + +Running the CLI app to contribute to the ceremony requires node version 16.20 or above. +We’ll install nvm to change node versions by downloading a shell script using the following command in the terminal: +```bash +curl -sL https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh -o install_nvm.sh +sh install_nvm.sh +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +``` + +5. **Install node v18** + +Before contribution, let’s install and switch to node v18 which the ceremony relies on. +```bash +nvm install 18 +nvm use 18 +``` + +## Contributing to the Ceremony + +1. **Create a temporary directory** +```bash +mkdir ~/phase2cli +cd ~/phase2cli +``` + +2. **Install phase2cli** + +```bash +npm install @ethstorage-org/phase2cli +``` + +3. **Authenticate with GitHub** + +If your GitHub meets the requirements, you will be eligible for this next step using the following command +```bash +phase2cli auth +``` +You will be provided [a link](https://github.com/login/device) and your authentication code as following. + +auth0.png + +Open the link in your browser and log in your GitHub with your authentication code. + +auth1.png + +4. **Contribute** + +```bash +phase2cli contribute +``` + +Run the command and select the circom you want to contribute (like _EthStorage circom_); +![contribute0.png](contribute0.png) + +Once your contribution is complete, you’ll be invited to share a message on Twitter/X — please do so, or on whatever social media platform(s) you prefer! +![contribute0.png](contribute0.png) + + +5. **Cleanup** + +After successful contribution you can clear up this file and GitHub authorizations. Use these commands +```bash +phase2cli clean +phase2cli logout +``` +![clean.png](clean.png) +![logout.png](logout.png) + +## Note +**Make sure your computer does not go to sleep**: When your turn in the queue comes, your computer needs to be awake + and connected to the internet. If you’re going to leave your contribution running and step away from the computer, + be sure you don’t have your computer set to automatically sleep. + + +## FAQ +**Error: Your contribution took longer than the estimated time**: + +If you meet the following error: +"Your contribution took longer than the estimated time and you were removed as current contributor. You should wait for + a timeout to expire before you can rejoin for contribution." This means that your contribution uses twice times + contributions average used. Recommend using better machines (hardware and network) to provide contribution. + +**If you disconnect**: While in the queue, you can re-join by running the npx phase2cli contribute command again. + +**Authentication errors**: phase2cli authentication can get rejected if you initially failed the GitHub requirements. + Please make sure your GitHub meet our requirement and reset authentication. + +**Cannot rejoin after timeout**: If you encounter problems and your contribution window times out, you won’t be able to + rejoin the queue immediately. Rejoin again in a few hours (and talk to us if it still doesn’t work). + diff --git a/docs/logout.png b/docs/logout.png new file mode 100644 index 0000000000000000000000000000000000000000..f2c1c59e01880aa1367bfa6c40c5a83157e1d17a GIT binary patch literal 22007 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 literal 0 HcmV?d00001 diff --git a/docs/verification.md b/docs/verification.md new file mode 100644 index 00000000..1c5046b6 --- /dev/null +++ b/docs/verification.md @@ -0,0 +1,71 @@ +# Verifying Trusted Setup Ceremony + +A trusted setup ceremony is a fundamental process in ensuring the integrity and security of certain cryptographic systems. +By generating a unique and unpredictable “number” collectively, with contributions from multiple parties, +we create a foundation of trust that prevents malicious actors from compromising the system. + +Verifying the security of our ceremony is paramount. However, it's important to note that it's a more technical process than contributing. +We invite everyone to confirm the security of our ceremony for themselves, and so are publishing this guide to help you do so. + + +## Overview +There are multiple steps to verifying the security of a trusted setup ceremony. We provide the required list in a way +that malicious projects pretend to run rituals while secretly retaining backdoors. +To ensure that anyone can verify the integrity of our trusted setup ceremony, we have outlined a robust guide for +verifying the results. Here’s an overview of the key steps involved: + +- Verifying the circuit we are securing does not include security holes; +- Verifying the transcript matches the circuit; +- Verifying contributors' attestations match the transcript; + +## Verifying the Circuit +Confirming the integrity and security of the [EthStorage blob poseidon circuit](https://github.com/ethstorage/zk-decoder/blob/main/circom/circuits/blob_poseidon_2.circom) +by reviewing our circom code, which is open-source and available on Github. + +## Verifying the Transcript Matches the Circuit +Our ceremony transcript is included in the zkey published on ceremony.ethstorage.io in the "Download ZKey" tab of the +[EthStorage Circom page](https://ceremony.ethstorage.io/projects/EthStorage%20circom). You can verify it matches the +circuit using Circom and snarkjs: + +- Install [Circom](https://docs.circom.io/getting-started/installation/) and [snarkjs](https://github.com/iden3/snarkjs). +- Clone circom code https://github.com/ethstorage/zk-decoder. +- Download the Powers of Tau (ptau) file we used for our ceremony; we used the Hermez rollup with 2^20 powers of tau, +which is linked in [the snarkjs readme](https://github.com/iden3/snarkjs) or available directly +[here](https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_20.ptau). +- Generate the `r1cs` file from the `circom` source files, by running `circom blob_poseidon_2.circom --r1cs` in the +directory `zk-decoder/circom/circuits`. The SHA-256 hash of this file (i.e. as computed by `sha256sum blob_poseidon_2.r1cs`) +is `ba17a94a5edcc1d0b0ad10990e0aea4894f080ce571b0db79fb1c3a9c4a74a0d` +- Use snarkjs to verify that the transcript matches this circuit and powers of tau, by running +`snarkjs zkey verify blob_poseidon_2.r1cs powersOfTau28_hez_final_20.ptau blob_poseidon_2_final.zkey`. You should see +a list of contribution hashes (attestations) followed by the message snarkJS: `ZKey Ok!`. + + +## Verifying Contributor Attestations Match the Transcript + +Each contributor authorized our ceremony to publish an attestation to their GitHub account. (In a Gist entitled +"`ethstorage-circom_attestation.log`") These attestations match the attestations published in the transcript. +This proves which GitHub user made each contribution to the ceremony. You can verify attestations by looking them +up both in the transcript and on GitHub: + +In the transcript (generated by snarkjs in the previous step), you will see that each contribution is preceded +by the phrase contribution `#[number] [username]-[number]`. That username is the GitHub username. + +On GitHub, you can run a search to find an attestation Gist on gist.github.com. For example, if the username is +`somecontributor`, then you could search for filename:`"ethstorage-circom_attestation.log" user:somecontributor`. + +To verify an attestation, confirm that the hash in the attestation in the transcript matches the hash in the +GitHub Gist for that same user. + +**Important Note**: Contributors can remove their attestations from GitHub at any time. They can also edit their +attestations (although in this case the edit history will be visible). Only the original version of the attestation +can be valid; an edited version cannot be a valid attestation. Note that if any malicious contributors were +able to participate in the ceremony, it does not damage the security of the ceremony, but it does mean that they +can pretend to have a bad attestation by editing or deleting their Gist. Therefore, a contribution with no attestation +provides no security to the ceremony. + +Please exercise good judgment about whether a missing or edited attestation represents: + +- A malicious contributor +- Someone just cleaning up old Gists +- A problem in the ceremony + From 3d633eb0093f61b92d244f945eb017183f650bb0 Mon Sep 17 00:00:00 2001 From: pingke Date: Tue, 9 Jul 2024 15:41:26 +0800 Subject: [PATCH 2/9] fix comments --- docs/contribution.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/contribution.md b/docs/contribution.md index cf21bbdb..8d92725d 100644 --- a/docs/contribution.md +++ b/docs/contribution.md @@ -24,7 +24,7 @@ Setup Ceremonies. ### How does a Trusted Setup work? Any Trusted Setup ceremony is organized in two subsequent steps: the Phase 1, is universally reusable in any point of contribution as input for any zkSNARKs Phase 2. Briefly, the goal of the Phase 1 is to securely generate zk-SNARK -parameters for circuits of up to a huge amount of constraints while the Phase 2, s a circuit-specific ceremony that +parameters for circuits of up to a huge amount of constraints while the Phase 2, is a circuit-specific ceremony that must be done for each individual application circuit. Luckily, both phases have a similar workflow. Both assume that there is at least one coordinator and multiple participants taking turns in (generally) sequential rounds. The coordinator generates and publishes a challenge file, which the first participant downloads, generates some entropy @@ -84,7 +84,7 @@ cd ~/phase2cli 2. **Install phase2cli** ```bash -npm install @ethstorage-org/phase2cli +npm install -g @ethstorage-io/phase2cli ``` 3. **Authenticate with GitHub** From 0649eef95a51dbbf31eb3aa19fcdc05370d1c8a5 Mon Sep 17 00:00:00 2001 From: pingke Date: Wed, 17 Jul 2024 11:08:47 +0800 Subject: [PATCH 3/9] resolve comments --- docs/contribution.md | 10 +++++----- docs/verification.md | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/contribution.md b/docs/contribution.md index 8d92725d..2965eb24 100644 --- a/docs/contribution.md +++ b/docs/contribution.md @@ -41,7 +41,7 @@ for the specific circuit being used. 1. **A computer**: A computer with 8GB or above Space and Ram is recommended. Ideally Mac or Linux, Windows via -[WSL](https://learn.microsoft.com/en-us/windows/wsl/install) is Ok; +[WSL](https://learn.microsoft.com/en-us/windows/wsl/install) is Ok. 2. **A strong internet connection**: @@ -50,7 +50,7 @@ period expires. Please run the ceremony with a strong internet connection, and y should be at least 25 Mbps each (preferably 50+ Mbps each). Using a wired (ethernet) connection rather than a wireless (WiFi) connection is also recommended. -3. **A GitHub Accout**: +3. **A GitHub Account**: A GitHub account must be a month old with at least one follower, five followings and two repos. @@ -130,7 +130,7 @@ phase2cli logout be sure you don’t have your computer set to automatically sleep. -## FAQ +## Frequently Encountered Errors **Error: Your contribution took longer than the estimated time**: If you meet the following error: @@ -140,8 +140,8 @@ If you meet the following error: **If you disconnect**: While in the queue, you can re-join by running the npx phase2cli contribute command again. -**Authentication errors**: phase2cli authentication can get rejected if you initially failed the GitHub requirements. - Please make sure your GitHub meet our requirement and reset authentication. +**Authentication errors**: phase2cli authentication can get rejected if you initially failed the GitHub account requirements. + Please make sure your GitHub account meets our requirement and reset authentication. **Cannot rejoin after timeout**: If you encounter problems and your contribution window times out, you won’t be able to rejoin the queue immediately. Rejoin again in a few hours (and talk to us if it still doesn’t work). diff --git a/docs/verification.md b/docs/verification.md index 1c5046b6..3b26aea9 100644 --- a/docs/verification.md +++ b/docs/verification.md @@ -30,8 +30,8 @@ circuit using Circom and snarkjs: - Install [Circom](https://docs.circom.io/getting-started/installation/) and [snarkjs](https://github.com/iden3/snarkjs). - Clone circom code https://github.com/ethstorage/zk-decoder. - Download the Powers of Tau (ptau) file we used for our ceremony; we used the Hermez rollup with 2^20 powers of tau, -which is linked in [the snarkjs readme](https://github.com/iden3/snarkjs) or available directly -[here](https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_20.ptau). +which is linked in [the snarkjs readme](https://github.com/privacy-scaling-explorations/perpetualpowersoftau?tab=readme-ov-file#prepared-phase-2-files) +or available directly [here](https://pse-trusted-setup-ppot.s3.eu-central-1.amazonaws.com/pot28_0080/ppot_0080_20.ptau). - Generate the `r1cs` file from the `circom` source files, by running `circom blob_poseidon_2.circom --r1cs` in the directory `zk-decoder/circom/circuits`. The SHA-256 hash of this file (i.e. as computed by `sha256sum blob_poseidon_2.r1cs`) is `ba17a94a5edcc1d0b0ad10990e0aea4894f080ce571b0db79fb1c3a9c4a74a0d` From 3fbf4ce83998103215211a4c744c24bf463ef59b Mon Sep 17 00:00:00 2001 From: pingke Date: Wed, 17 Jul 2024 12:17:08 +0800 Subject: [PATCH 4/9] resolve comments --- docs/contribution.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/contribution.md b/docs/contribution.md index 2965eb24..741d366e 100644 --- a/docs/contribution.md +++ b/docs/contribution.md @@ -107,11 +107,12 @@ Open the link in your browser and log in your GitHub with your authentication co phase2cli contribute ``` -Run the command and select the circom you want to contribute (like _EthStorage circom_); +Run the command and select the circom you want to contribute (for this ceremony, please select _EthStorage circom_); + You can see the circom description after one ceremony is selected. ![contribute0.png](contribute0.png) Once your contribution is complete, you’ll be invited to share a message on Twitter/X — please do so, or on whatever social media platform(s) you prefer! -![contribute0.png](contribute0.png) +![contribute1.png](contribute1.png) 5. **Cleanup** From 7bda4b867b0e47dd170c0bed4b30d99a4aee8d3e Mon Sep 17 00:00:00 2001 From: pingke Date: Mon, 22 Jul 2024 17:43:54 +0800 Subject: [PATCH 5/9] resolve comments --- docs/verification.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/verification.md b/docs/verification.md index 3b26aea9..6d6681fe 100644 --- a/docs/verification.md +++ b/docs/verification.md @@ -33,10 +33,10 @@ circuit using Circom and snarkjs: which is linked in [the snarkjs readme](https://github.com/privacy-scaling-explorations/perpetualpowersoftau?tab=readme-ov-file#prepared-phase-2-files) or available directly [here](https://pse-trusted-setup-ppot.s3.eu-central-1.amazonaws.com/pot28_0080/ppot_0080_20.ptau). - Generate the `r1cs` file from the `circom` source files, by running `circom blob_poseidon_2.circom --r1cs` in the -directory `zk-decoder/circom/circuits`. The SHA-256 hash of this file (i.e. as computed by `sha256sum blob_poseidon_2.r1cs`) -is `ba17a94a5edcc1d0b0ad10990e0aea4894f080ce571b0db79fb1c3a9c4a74a0d` +directory `zk-decoder/circom/circuits` (need to run `npm install` for the first time). The SHA-256 hash of this file +(i.e. as computed by `sha256sum blob_poseidon_2.r1cs`) is `ba17a94a5edcc1d0b0ad10990e0aea4894f080ce571b0db79fb1c3a9c4a74a0d` - Use snarkjs to verify that the transcript matches this circuit and powers of tau, by running -`snarkjs zkey verify blob_poseidon_2.r1cs powersOfTau28_hez_final_20.ptau blob_poseidon_2_final.zkey`. You should see +`snarkjs zkey verify blob_poseidon_2.r1cs ppot_0080_20.ptau blob_poseidon_2_final.zkey`. You should see a list of contribution hashes (attestations) followed by the message snarkJS: `ZKey Ok!`. From 0632c589f4416ae968b47d8bfc42820dad3b5537 Mon Sep 17 00:00:00 2001 From: pingke Date: Mon, 22 Jul 2024 19:14:24 +0800 Subject: [PATCH 6/9] resolve comments --- docs/verification.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/verification.md b/docs/verification.md index 6d6681fe..af23f916 100644 --- a/docs/verification.md +++ b/docs/verification.md @@ -36,8 +36,9 @@ or available directly [here](https://pse-trusted-setup-ppot.s3.eu-central-1.amaz directory `zk-decoder/circom/circuits` (need to run `npm install` for the first time). The SHA-256 hash of this file (i.e. as computed by `sha256sum blob_poseidon_2.r1cs`) is `ba17a94a5edcc1d0b0ad10990e0aea4894f080ce571b0db79fb1c3a9c4a74a0d` - Use snarkjs to verify that the transcript matches this circuit and powers of tau, by running -`snarkjs zkey verify blob_poseidon_2.r1cs ppot_0080_20.ptau blob_poseidon_2_final.zkey`. You should see -a list of contribution hashes (attestations) followed by the message snarkJS: `ZKey Ok!`. +`snarkjs zkey verify blob_poseidon_2.r1cs ppot_0080_20.ptau [blob_poseidon_2_final.zkey] +(https://ethstorage-circom-ph2-ceremony.s3.us-west-2.amazonaws.com/circuits/blob_poseidon_2/contributions/blob_poseidon_2_final.zkey)`. +You should see a list of contribution hashes (attestations) followed by the message snarkJS: `ZKey Ok!`. ## Verifying Contributor Attestations Match the Transcript From 0d08bc5ac4c9a6a3154a0972fd743b13a6448533 Mon Sep 17 00:00:00 2001 From: pingke Date: Mon, 22 Jul 2024 19:16:58 +0800 Subject: [PATCH 7/9] resolve comments --- docs/verification.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/verification.md b/docs/verification.md index af23f916..986a2c42 100644 --- a/docs/verification.md +++ b/docs/verification.md @@ -36,8 +36,8 @@ or available directly [here](https://pse-trusted-setup-ppot.s3.eu-central-1.amaz directory `zk-decoder/circom/circuits` (need to run `npm install` for the first time). The SHA-256 hash of this file (i.e. as computed by `sha256sum blob_poseidon_2.r1cs`) is `ba17a94a5edcc1d0b0ad10990e0aea4894f080ce571b0db79fb1c3a9c4a74a0d` - Use snarkjs to verify that the transcript matches this circuit and powers of tau, by running -`snarkjs zkey verify blob_poseidon_2.r1cs ppot_0080_20.ptau [blob_poseidon_2_final.zkey] -(https://ethstorage-circom-ph2-ceremony.s3.us-west-2.amazonaws.com/circuits/blob_poseidon_2/contributions/blob_poseidon_2_final.zkey)`. +`snarkjs zkey verify blob_poseidon_2.r1cs ppot_0080_20.ptau blob_poseidon_2_final.zkey`. blob_poseidon_2_final.zkey can be download +[here](https://ethstorage-circom-ph2-ceremony.s3.us-west-2.amazonaws.com/circuits/blob_poseidon_2/contributions/blob_poseidon_2_final.zkey). You should see a list of contribution hashes (attestations) followed by the message snarkJS: `ZKey Ok!`. From 2c18245701f59dd912e4432f9b0d1a6dba2ca844 Mon Sep 17 00:00:00 2001 From: pingke Date: Mon, 22 Jul 2024 19:18:53 +0800 Subject: [PATCH 8/9] fix typo --- docs/verification.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/verification.md b/docs/verification.md index 986a2c42..22d39402 100644 --- a/docs/verification.md +++ b/docs/verification.md @@ -36,8 +36,8 @@ or available directly [here](https://pse-trusted-setup-ppot.s3.eu-central-1.amaz directory `zk-decoder/circom/circuits` (need to run `npm install` for the first time). The SHA-256 hash of this file (i.e. as computed by `sha256sum blob_poseidon_2.r1cs`) is `ba17a94a5edcc1d0b0ad10990e0aea4894f080ce571b0db79fb1c3a9c4a74a0d` - Use snarkjs to verify that the transcript matches this circuit and powers of tau, by running -`snarkjs zkey verify blob_poseidon_2.r1cs ppot_0080_20.ptau blob_poseidon_2_final.zkey`. blob_poseidon_2_final.zkey can be download -[here](https://ethstorage-circom-ph2-ceremony.s3.us-west-2.amazonaws.com/circuits/blob_poseidon_2/contributions/blob_poseidon_2_final.zkey). +`snarkjs zkey verify blob_poseidon_2.r1cs ppot_0080_20.ptau blob_poseidon_2_final.zkey`. `blob_poseidon_2_final.zkey` can be downloaded +[here](https://ethstorage-circom-ph2-ceremony.s3.us-west-2.amazonaws.com/circuits/blob_poseidon_2/contributions/blob_poseidon_2_final.zkey). You should see a list of contribution hashes (attestations) followed by the message snarkJS: `ZKey Ok!`. From 115f094d319528048e6003e33fd1683517d7c861 Mon Sep 17 00:00:00 2001 From: pingke Date: Tue, 23 Jul 2024 18:18:45 +0800 Subject: [PATCH 9/9] resolve commetns --- docs/verification.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/verification.md b/docs/verification.md index 22d39402..80dfc71e 100644 --- a/docs/verification.md +++ b/docs/verification.md @@ -40,6 +40,8 @@ directory `zk-decoder/circom/circuits` (need to run `npm install` for the first [here](https://ethstorage-circom-ph2-ceremony.s3.us-west-2.amazonaws.com/circuits/blob_poseidon_2/contributions/blob_poseidon_2_final.zkey). You should see a list of contribution hashes (attestations) followed by the message snarkJS: `ZKey Ok!`. +Note: If you meet issue "[ERROR] snarkJS: DOMException [QuotaExceededError]: The requested length exceeds 65,536 bytes" +when you run `snarkjs zkey verify ...` command, please update your snarkjs to latest version and rerun it again. ## Verifying Contributor Attestations Match the Transcript