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

Add Bulletproof rewind functionality #1

Merged
merged 1 commit into from
Nov 27, 2020

Conversation

hansieodendaal
Copy link

@hansieodendaal hansieodendaal commented Nov 26, 2020

This is closely modelled on Grin's solution, but using two private keys:

  • Interfaces:
    • create a rewindable ZK proof with up to 23 bytes additional embedded data
    • extract the value and 23 bytes extra data only
    • extract the value, blinding factor and 23 bytes extra data
  • Required:
    • two rewind nonces, based on two public rewind keys and the value
      commitment
    • two blinding nonces, based on the two private rewind keys and the value
      commitment
  • Use:
    • the two rewind nonces are used to extract the value and 23 bytes embedded
      data
    • the two rewind nonces and two blinding nonces are used to extract the
      value, blinding factor and 23 bytes embedded data

See related Dalek issue dalek-cryptography#335

@delta1
Copy link

delta1 commented Nov 27, 2020

I think it's probably worth submitting this PR to the source repo as well, then hopefully they take a look and merge it or have any feedback

@philipr-za
Copy link

I think it's probably worth submitting this PR to the source repo as well, then hopefully they take a look and merge it or have any feedback

We have, we are doing this so we can use the fork until we finish our discussions with them.

@delta1
Copy link

delta1 commented Nov 27, 2020

Sorry! I didn't realize it was already submitted. That's my bad

@hansieodendaal
Copy link
Author

Sorry! I didn't realize it was already submitted. That's my bad

Actually not submitted, just the issue that has been registered. It also needs to be rebased on top of their dev branch to be submitted.

This is closely modelled on Grin's soliution, but using two private keys:
- Interfaces:
  - create a rewindable ZK proof with up to 23 bytes additional embedded proof
    data
  - extract the value and 23 bytes proof data only
  - extract the value, blinding factor and 23 bytes proof data
- Required:
  - two rewind nonces, based on a two public rewind keys and the value
    commitment
  - two blinding nonces, based on the two private rewind keys and the value
    commitment
- Use:
  - the two rewind nonces are used to extract the value and 23 bytes embedded
    proof data
  - the two rewind nonces and two blinding nonces are used to extract the
    value, blinding factor and 23 bytes embedded proof data
@stringhandler stringhandler merged commit f93eaaf into tari-project:main Nov 27, 2020
CjS77 pushed a commit that referenced this pull request Apr 26, 2021
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.

4 participants