Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Range proof protocol notes #43

Merged
merged 18 commits into from
Apr 11, 2018
Merged

Range proof protocol notes #43

merged 18 commits into from
Apr 11, 2018

Conversation

oleganza
Copy link
Collaborator

@oleganza oleganza commented Apr 9, 2018

This addresses issues #35, #36 and fixes a few typos in the pre-existing docs.

@oleganza oleganza changed the title [WIP] Range proof protocol notes Range proof protocol notes Apr 10, 2018
@oleganza
Copy link
Collaborator Author

oleganza commented Apr 10, 2018

PTAL Hold on, adding notes on verification_scalars interface in IPP to also address #36

.chain(iter::once(
w * (self.t_x - a * b) + c * (delta(n, &y, &z) - self.t_x),
))
.chain(iter::once(-self.e_blinding - c * self.t_x_blinding))
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are reordered to match the standard ordering of the base points (B, \tilde{B}) both in the code and in the docs.

@oleganza
Copy link
Collaborator Author

oleganza commented Apr 10, 2018

PTAL.

I've made notation more consistent across RP docs, IPP docs and notes by enforcing the following:

  1. Q = w*B
  2. P_k = P + <a,b>*w*B
  3. P_k == <a,G'>+<b,H'>+<a,b>Q - Sum[L,R...]

The only inconsistency left is use of x for IPP challenges in the IPP docs and u in the notes module. EDIT: and the use of a, b vectors instead of a_L, a_R in IPP for brevity. However my personal opinion is to rename a_L,a_R into a,b and s_L,s_R into s_a, s_b.

@oleganza
Copy link
Collaborator Author

@hdevalence WDYT of changing xs into us in the IPP notes, so x is only used in the second phase of RP?


\\[
\begin{aligned}
-{\widetilde{e}} {\widetilde{B}} + A + x S + {\langle z {\mathbf{y}}^n + z^2 {\mathbf{2}}^n, {\mathbf{y}}^{-n} \circ {\mathbf{H}} \rangle} - z{\langle {\mathbf{1}}, {\mathbf{G}} \rangle} + t(x)wB \stackrel{?}{=}\\\\
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The leading minus sign causes this to be parsed by the Markdown parser as a bullet point, which breaks this equation's math.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, thanks!

Inner product argument protocol
===============================

These notes explain how the protocol is implemented in the [`Proof`](struct.Proof.html) type.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(just recording this for later) this seems like a reason to call it InnerProductProof or something

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doing this in #49

@hdevalence
Copy link
Contributor

hdevalence commented Apr 11, 2018

This looks good. We could maybe do another edit pass on the IPP notes later.

@hdevalence hdevalence merged commit cb69b1b into master Apr 11, 2018
oleganza added a commit that referenced this pull request Apr 11, 2018
@oleganza
Copy link
Collaborator Author

Note: we have updated master with a squashed merge in commit b41a021. Commit cb69b1b is now orphaned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants