z_signmessage + z_verifymessage #323

Open
opened 8 months ago by duke · 2 comments
duke commented 8 months ago
Owner

As described in this HIP: https://git.hush.is/hush/hips/src/branch/master/hip-0304.md

  • Implement z_signmessage
  • Implement z_verifymessage
    • Deserialize
      • nf
      • rk
      • zkproof
      • SpendAuthSig
    • Use librustzcash to verify with deser'ed data
  • Verify code works by signing and verifying data by zaddr

Currently the z_signmessage branch has both RPCs existing, and signing seems to be implemented (might need some tweaks) while verifying only deserializes the first of the 4 items and does not yet actually verify anything.

As described in this HIP: https://git.hush.is/hush/hips/src/branch/master/hip-0304.md * [x] Implement z_signmessage * [ ] Implement z_verifymessage * [ ] Deserialize * [x] nf * [ ] rk * [ ] zkproof * [ ] SpendAuthSig * [ ] Use librustzcash to verify with deser'ed data * [ ] Verify code works by signing and verifying data by zaddr Currently the z_signmessage branch has both RPCs existing, and signing seems to be implemented (might need some tweaks) while verifying only deserializes the first of the 4 items and does not yet actually verify anything.
duke self-assigned this 8 months ago
Poster
Owner

It seems that ZIP304 finalized: https://zips.z.cash/zip-0304

and the code written about 2.5 years after I started this branch:

0abb194920

It's still unclear if the code changes above are compatible or easy to merge into our version of librustzcash. It does not seem that zcash ever cared to use these features in zcashd, I don't see any RPC interface to this stuff.

It seems that ZIP304 finalized: https://zips.z.cash/zip-0304 and the code written about 2.5 years after I started this branch: https://github.com/zcash/librustzcash/pull/210/commits/0abb1949206ef727d57e4aa20e084071940a6c1e It's still unclear if the code changes above are compatible or easy to merge into our version of librustzcash. It does not seem that zcash ever cared to use these features in zcashd, I don't see any RPC interface to this stuff.
Poster
Owner

The next step for this is probably to see how hard it is to migrate the librustzcash code for signing+verifying to our version of librustzcash. Their code may depend on a different rust version, different rust crates and other differences in their fork of librustzcash. Even if we can't use their code, seeing exactly how it works will likely help us write our own independent version in C++.

The next step for this is probably to see how hard it is to migrate the librustzcash code for signing+verifying to our version of librustzcash. Their code may depend on a different rust version, different rust crates and other differences in their fork of librustzcash. Even if we can't use their code, seeing exactly how it works will likely help us write our own independent version in C++.
duke added the
feature
label 7 months ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.