Trezor support for Zcash shielded transactions

Hello, I apologize, things just go slow.

Currently there is a discussion about priority of Zcash PRs, because there is still lack of flash memory on Trezor T. After many optimizations, current size of the new code is about 41kb.

There are many ways how release some memory, investigated in Investigate how to save flash space · Issue #1947 · trezor/trezor-firmware · GitHub . The most promising is https://github.com/trezor/trezor-firmware/pull/2525 .

7 Likes

Great Stuff, thanks for sharing

2 Likes

from https://blog.trezor.io/trezor-suite-and-trezor-model-t-firmware-update-november-2022-a0b30bb0abf5

Trezor Model T firmware 2.5.3

Zcash unified addresses
Trezor Model T firmware now supports the sending of funds to the new Zcash unified address format.

5 Likes

Hello @agi!

I have updated the firmware and Tresor Suite, but still can’t work with unified addresses of Zcash on Trezor T. What am I doing wrong?

3 Likes

I agree you can neither receive nor send to UA’s with the current version of Trezor Suite using a Model T-- a bit misleading. So I think what they added was firmware support, but unless you go into the weeds, you cant use it yet :face_with_monocle:

4 Likes

wen? :cowboy_hat_face:

4 Likes

UA support was added to the Trezor T firmware, but not to the Suite. Therefore Suite does not recognize UAs as valid atm. I will notice the Suite team about this issue.

wen? :cowboy_hat_face:

We had that meeting. It was about hight-level architecture of spending and recieving shielded transactions on Suite.

10 Likes

GitHub Update :zebra: :shield: :heart:

Orchard-tests were added yesterday:

10 Likes

Wow. Thank you for watching and updating @artkor :heart:

2 Likes

We are glad to announce the submission of milestone M.3. This is what we’ve done:

  • Trezor now supports v5 transaction format specified in ZIP-244.
  • Interface for pasta_curves crate was added.
  • Necessary Orchard primitives and schemes were re-implemented to fit the Trezor constrained environment.
  • Signing protocol for shielded transaction was designed with theses properties:
    • Amount of shielded inputs and outputs per transaction is not limited by the protocol.
    • Signing process and proof computation process can be parallelized.
    • Outputs are reviewed in order they were entered by the user.
    • All randomness required for transaction shielding is derived deterministically, which minimizes communication cost and adds some extra security.
  • This signing protocol was implemented as an extension of the current signing protocol for transparent transactions.
  • Python module trezorlib was extended to support signing shielded transactions and getting viewing keys and shielded addresses.
  • Trezor terminal client was extended to support getting viewing keys and shielded addresses.
  • Device tests for getting shielded addresses and viewing keys were added.
  • Device tests for signing shielded transactions (with test cases accepted by testnet) were added.
  • Signing protocol was documented and illustrated [3].

At the moment, all new code related to shielded transactions is in the form of two pull requests [1],[2]. These PRs will be merged after merging some major UI and core Trezor firmware upgrades from the end 2022.

This closes the work on Trezor firmware and starts work on Trezor Suite in M.4.

For more detailed info see: ztrezor/M.3_report.md at main · jarys/ztrezor · GitHub

16 Likes

Thanks for your hard work and the detailed update @agi, many of us are waiting with baited breath! Happy New Year and all the best for you and the team as you move into 2023.

4 Likes

Thanks for the continued efforts, it’s good to see that solid progress is being made.
Any thoughts on rough timeline for M4 and M5 work?
Happy new year

1 Like

@agi @hanh once shielded HW support is available a big thing IMO would be Integration with a GUI that would allow an average user to run a full node easily from the GUI. Not sure if this is something Trezor could support or if Ywallet for example could get a grant for this.

A few UX advantages Monero currently has over Zcash that would be great to have a solution for -
-Hardware wallet support(covered by this grant of course)
-GUI supporting hardware wallets allowing users to easily run a full node. Would be great to enable/incentivise users to run a full node(prior to POS)
-More recently ‘enterprise grade’ multisig solution. This might be further down the track once ZF have progressed further with Frost

Cheers

1 Like

awesum. seein it has taken longer den expected - will de integration to Trezor Suite not take dat long?

Any thoughts on rough timeline for M4 and M5 work?

will de integration to Trezor Suite not take dat long?

An estimation is 6 months for reaching M.4 and one month for M.5. I’m taking few days off now. We will set more precise timeline later and then I will update you.

a big thing IMO would be Integration with a GUI that would allow an average user to run a full node easily from the GUI

Thank you for an idea. From my perspective, this seems to be totally unrelated. Our GUI will be a part of Trezor Suite. There is definitely no plan to support running full nodes from Trezor Suite.

6 Likes

Hi everyone, I just wanted to let you that we at Trezor currently do not have the capacities to follow up on the M4 milestone and finish the integration in Trezor Suite. We are fully devoted to other priorities at the moment. I’d love to give you some more particular estimate but at this moment we can’t really guarantee any date. Thank you for your understanding.

3 Likes

Thank you for the information, Tomas! Hundreds if not thousands of eyes are looking in your direction and we will look forward to good news.

By the way, I have subscribe to your team’s github updates and I see that you are currently cooking a new model with two screens and a new filling.

2 Likes

Will you still support integration of Zcash app with Orchard support into Model T?

FYI folks, @agi has worked with Zingo team to add watch-only mode to zingolib. Trezor Suite might not support shielded transaction with Trezor hardware device, but Zingo wallet might :crossed_fingers:

8 Likes

Hi tokidoki, at the moment, we do not have the capacity for any Zcash-related projects. Therefore, I am afraid the answer is no for now. Bear with us, and we will inform the community as soon as we decide to make some progress with the shielded transactions.

4 Likes

Thanks for the update :slightly_smiling_face: