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

ZIP-244: Implement transaction authorization hashes #2048

Closed
2 tasks
teor2345 opened this issue Apr 21, 2021 · 2 comments
Closed
2 tasks

ZIP-244: Implement transaction authorization hashes #2048

teor2345 opened this issue Apr 21, 2021 · 2 comments
Assignees
Labels
A-consensus Area: Consensus rule updates A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement NU-5 Network Upgrade: NU5 specific tasks

Comments

@teor2345
Copy link
Contributor

teor2345 commented Apr 21, 2021

Implement (but not validate) ZIP-244 transaction authorization hashes.

Blockers

Specifications

Motivation

ZIP-244 creates non-malleable transaction identifiers that commit to all transaction data except for attestations to transaction validity. (That is, signatures and proofs.)

ZIP-244 also adds a transaction authorization hash, which is hash-chained to the block commitment (#1567) and placed in the block commitment fields.

Describe the solution you'd like

We should implement or integrate this new transaction digest algorithm in Zebra as per:

This will include:

Update the block::Commitment for NU5:

Transaction authorization hashes

  • implement transaction authorization hashes using librustzcash

Alternative Implementations

The ECC have implemented a version of this in Rust in the librustzcash library, we should be able to either port some of that code or learn from that code to implement the Zebra version.

Follow up

Validation is done in #2562

@teor2345 teor2345 added A-consensus Area: Consensus rule updates A-rust Area: Updates to Rust code S-blocked Status: Blocked on other tasks C-enhancement Category: This is an improvement S-needs-triage Status: A bug report needs triage P-Medium labels Apr 21, 2021
@teor2345 teor2345 added this to the 2021 Sprint 10 milestone Apr 21, 2021
@teor2345 teor2345 added the NU-5 Network Upgrade: NU5 specific tasks label Apr 21, 2021
@teor2345 teor2345 removed the S-blocked Status: Blocked on other tasks label Apr 22, 2021
@mpguerra mpguerra removed the S-needs-triage Status: A bug report needs triage label Apr 27, 2021
@mpguerra
Copy link
Contributor

Moved to Sprint 13

@conradoplg
Copy link
Collaborator

I've updated the description:

With this I think we can remove this blocking on #2562 and close this (implemented in #2547). @mpguerra I'll leave this for you to confirm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-consensus Area: Consensus rule updates A-rust Area: Updates to Rust code C-enhancement Category: This is an improvement NU-5 Network Upgrade: NU5 specific tasks
Projects
None yet
Development

No branches or pull requests

3 participants