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

Support ZIP-244 TxIDs #2031

Closed
andrewkozlik opened this issue Dec 20, 2021 · 9 comments
Closed

Support ZIP-244 TxIDs #2031

andrewkozlik opened this issue Dec 20, 2021 · 9 comments
Assignees
Labels
altcoin Any non-Bitcoin coins core Trezor Core firmware. Runs on Trezor Model T and T2B1. T1B1 legacy Trezor One

Comments

@andrewkozlik
Copy link
Contributor

andrewkozlik commented Dec 20, 2021

The NU5 network upgrade in Zcash introduces a new TxID digest [1]. The legacy TxIDs will still be accepted by the network, but in order for Trezor to be able to spend UTXOs from transactions which use the new ZIP-244 digest, Trezor will apparently need to implement the new algorithm, so that it may verify previous transaction output amounts. The NU5 upgrade should activate on Zcash Mainnet on 18th April 2022 [2].

  • In trezor-core the Zcashlike class will need to override get_prevtx_output() to compute the legacy TxID or ZIP-244 TxID depending on the transaction version. @jarys
  • The same will be needed in trezor-legacy. @andrewkozlik
  • Updates will also be needed in trezor-suite and blockbook in order to process the new transaction format [3]. See also discussion about backwards compatibility [4]. @martinboehm

[1] ZIP-244: https://zips.z.cash/zip-0244#txid-digest
[2] https://z.cash/support/schedule/
[3] ZIP-225: https://zips.z.cash/zip-0225
[4] Backwards compatibility discussion: zcash/zips#580

@andrewkozlik andrewkozlik added core Trezor Core firmware. Runs on Trezor Model T and T2B1. T1B1 legacy Trezor One altcoin Any non-Bitcoin coins labels Dec 20, 2021
@github-actions github-actions bot added this to 📥 Inbox in Backlog 🗂 Dec 20, 2021
@andrewkozlik andrewkozlik self-assigned this Dec 20, 2021
@hynek-jina hynek-jina moved this from 📥 Inbox to 💻 Code in Backlog 🗂 Dec 20, 2021
@krnak
Copy link
Collaborator

krnak commented Dec 22, 2021

I'm working on ZIP-244 support for TT.

Also I proposed ZIP-244 changes to enable not checking prevouts (as in Taproot). zcash/zips#574

I will keep this thread updated.

@krnak
Copy link
Collaborator

krnak commented Jan 3, 2022

ZIP-244 will be modified in order simplify the signing process on HWW. They will include sha_amounts and sha_scriptpubkeys fields introduced BIP-341. [source]

@hynek-jina hynek-jina added blocked Blocked by external force. Third party inputs required. LOW labels Jan 3, 2022
@prusnak
Copy link
Member

prusnak commented Feb 23, 2022

@hynek-jina Why is this marked as blocked?

@martinboehm Are there any changes on the blockbook side of things? I don't remember exactly if we had to do any changes in blockbook related to previous network upgrades. Can you please deploy Zcash Testnet blockbook to see if it works as intended?

@hynek-jina
Copy link

@prusnak
I thought it was blocked by the activation on the Zcash Mainnet planned on April.

@prusnak
Copy link
Member

prusnak commented Feb 23, 2022

I thought it was blocked by the activation on the Zcash Mainnet planned on April.

We need to implement this before the Zcash upgrade is in effect not after. Removing blocked status and bumping priority ...

@prusnak prusnak added MEDIUM and removed blocked Blocked by external force. Third party inputs required. LOW labels Feb 23, 2022
@martinboehm
Copy link

@prusnak the testnet is running (behind firewall) here https://blockbook-dev.corp.sldev.cz:19132/ and there are version 5 transactions already, for example https://blockbook-dev.corp.sldev.cz:19132/tx/68ac26aebc57e1a0bfa89dc4f52c816d92c3606de7209e0bb4c6286e4739c1c3.

@ondracja
Copy link

Is this testable on our side or was the needs qa label added automatically?

@andrewkozlik
Copy link
Contributor Author

Not testable until we have trezor/trezor-suite#5344.

@andrewkozlik
Copy link
Contributor Author

@trezor/qa test cases when trezor/trezor-suite#5344 is finished:

  • Sign a Zcash transaction which spends two UTXOs, one coming from a v4 transaction and the other from a v5 transaction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
altcoin Any non-Bitcoin coins core Trezor Core firmware. Runs on Trezor Model T and T2B1. T1B1 legacy Trezor One
Projects
Archived in project
Backlog 🗂
💻 Code
Development

No branches or pull requests

6 participants