Skip to content

Commit

Permalink
Audit report and formal spec (#39)
Browse files Browse the repository at this point in the history
* fixed wrong link to semaphore-base.circom in docs

* added audit report and spec

Former-commit-id: 7a28c61
  • Loading branch information
weijiekoh authored Mar 22, 2020
1 parent dabd686 commit 36d634c
Show file tree
Hide file tree
Showing 12 changed files with 36 additions and 14 deletions.
Binary file not shown.
3 changes: 3 additions & 0 deletions docs/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,9 @@ <h1><a class="header" href="#about" id="about">About</a></h1>
verification on-chain. The zero-knowledge components work off-chain to allow
the user to generate proofs, which allow the smart contract to update its state
if these proofs are valid.</p>
<p>For a formal description of Semaphore and its underlying cryptographic
mechanisms, also see this document
<a href="https://github.com/appliedzkp/semaphore/tree/master/spec">here</a>.</p>
<p>Semaphore is designed for smart contract and dApp developers, not end users.
Developers should abstract its features away in order to provide user-friendly
privacy.</p>
Expand Down
6 changes: 4 additions & 2 deletions docs/audit.html
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,10 @@ <h1><a class="header" href="#security-audit" id="security-audit">Security audit<
as well as relevant circuits in
<a href="https://github.com/iden3/circomlib">circomlib</a>, which contains components
which the Semaphore zk-SNARK uses.</p>
<p>All security and performance issues have been fixed. The full audit report will
be available soon.</p>
<p>The summary of the audit results can be found
<a href="https://github.com/appliedzkp/semaphore/tree/master/audit">here</a>. After three
rounds of fixes, all security and performance issues were fixed, and the few
remaining issues are minor and do not affect security.</p>

</main>

Expand Down
5 changes: 3 additions & 2 deletions docs/howitworks.html
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,9 @@ <h2><a class="header" href="#broadcasting-signals" id="broadcasting-signals">Bro
<p>To zk-SNARK proof must satisfy the constraints created by Semaphore's zk-SNARK
circuit as described below:</p>
<h3><a class="header" href="#the-zk-snark-circuit" id="the-zk-snark-circuit">The zk-SNARK circuit</a></h3>
<p>The <a href="./circuits/circom/semaphore-base.circom">semaphore-base.circom</a> circuit
helps to prove the following:</p>
<p>The
<a href="https://github.com/appliedzkp/semaphore/blob/master/circuits/circom/semaphore-base.circom">semaphore-base.circom</a>
circuit helps to prove the following:</p>
<h3><a class="header" href="#that-the-identity-commitment-exists-in-the-merkle-tree" id="that-the-identity-commitment-exists-in-the-merkle-tree">That the identity commitment exists in the Merkle tree</a></h3>
<p><strong>Private inputs:</strong></p>
<ul>
Expand Down
3 changes: 3 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,9 @@ <h1><a class="header" href="#about" id="about">About</a></h1>
verification on-chain. The zero-knowledge components work off-chain to allow
the user to generate proofs, which allow the smart contract to update its state
if these proofs are valid.</p>
<p>For a formal description of Semaphore and its underlying cryptographic
mechanisms, also see this document
<a href="https://github.com/appliedzkp/semaphore/tree/master/spec">here</a>.</p>
<p>Semaphore is designed for smart contract and dApp developers, not end users.
Developers should abstract its features away in order to provide user-friendly
privacy.</p>
Expand Down
14 changes: 10 additions & 4 deletions docs/print.html
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@ <h1><a class="header" href="#about" id="about">About</a></h1>
verification on-chain. The zero-knowledge components work off-chain to allow
the user to generate proofs, which allow the smart contract to update its state
if these proofs are valid.</p>
<p>For a formal description of Semaphore and its underlying cryptographic
mechanisms, also see this document
<a href="https://github.com/appliedzkp/semaphore/tree/master/spec">here</a>.</p>
<p>Semaphore is designed for smart contract and dApp developers, not end users.
Developers should abstract its features away in order to provide user-friendly
privacy.</p>
Expand Down Expand Up @@ -276,8 +279,9 @@ <h2><a class="header" href="#broadcasting-signals" id="broadcasting-signals">Bro
<p>To zk-SNARK proof must satisfy the constraints created by Semaphore's zk-SNARK
circuit as described below:</p>
<h3><a class="header" href="#the-zk-snark-circuit" id="the-zk-snark-circuit">The zk-SNARK circuit</a></h3>
<p>The <a href="./circuits/circom/semaphore-base.circom">semaphore-base.circom</a> circuit
helps to prove the following:</p>
<p>The
<a href="https://github.com/appliedzkp/semaphore/blob/master/circuits/circom/semaphore-base.circom">semaphore-base.circom</a>
circuit helps to prove the following:</p>
<h3><a class="header" href="#that-the-identity-commitment-exists-in-the-merkle-tree" id="that-the-identity-commitment-exists-in-the-merkle-tree">That the identity commitment exists in the Merkle tree</a></h3>
<p><strong>Private inputs:</strong></p>
<ul>
Expand Down Expand Up @@ -735,8 +739,10 @@ <h1><a class="header" href="#security-audit" id="security-audit">Security audit<
as well as relevant circuits in
<a href="https://github.com/iden3/circomlib">circomlib</a>, which contains components
which the Semaphore zk-SNARK uses.</p>
<p>All security and performance issues have been fixed. The full audit report will
be available soon.</p>
<p>The summary of the audit results can be found
<a href="https://github.com/appliedzkp/semaphore/tree/master/audit">here</a>. After three
rounds of fixes, all security and performance issues were fixed, and the few
remaining issues are minor and do not affect security.</p>
<h1><a class="header" href="#credits" id="credits">Credits</a></h1>
<ul>
<li>Barry WhiteHat</li>
Expand Down
2 changes: 1 addition & 1 deletion docs/searchindex.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/searchindex.json

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions docs_src/src/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ verification on-chain. The zero-knowledge components work off-chain to allow
the user to generate proofs, which allow the smart contract to update its state
if these proofs are valid.

For a formal description of Semaphore and its underlying cryptographic
mechanisms, also see this document
[here](https://github.com/appliedzkp/semaphore/tree/master/spec).

Semaphore is designed for smart contract and dApp developers, not end users.
Developers should abstract its features away in order to provide user-friendly
privacy.
Expand Down
6 changes: 4 additions & 2 deletions docs_src/src/audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@ as well as relevant circuits in
[circomlib](https://github.com/iden3/circomlib), which contains components
which the Semaphore zk-SNARK uses.

All security and performance issues have been fixed. The full audit report will
be available soon.
The summary of the audit results can be found
[here](https://github.com/appliedzkp/semaphore/tree/master/audit). After three
rounds of fixes, all security and performance issues were fixed, and the few
remaining issues are minor and do not affect security.
5 changes: 3 additions & 2 deletions docs_src/src/howitworks.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,9 @@ circuit as described below:

### The zk-SNARK circuit

The [semaphore-base.circom](./circuits/circom/semaphore-base.circom) circuit
helps to prove the following:
The
[semaphore-base.circom](https://github.com/appliedzkp/semaphore/blob/master/circuits/circom/semaphore-base.circom)
circuit helps to prove the following:

### That the identity commitment exists in the Merkle tree

Expand Down
Binary file added spec/Semaphore Spec.pdf
Binary file not shown.

0 comments on commit 36d634c

Please sign in to comment.