Shielded Support for Ledger Hardware Wallets (NanoS+, NanoX)

Oh well. it seems Zecwallet Lite isnt in active development anymore.

Its only obvious Zondax’s ledger app needs to be integrated into Ywallet, as the most wildly used, feature rich, actively developed Zcash wallet. I support this grant. Shielded support for Ledger cant come fast enough.

1 Like

@gottabeJay A new zecwallet release came out today (just fyi)

3 Likes

I think the case is quite different because the guidelines developers must abide by are public and moreover there are millions of applications being approved and released and hundreds if not thousands newly approved every day. That’s something that can’t be said of Ledger, given their scale are probably more subject to arbitrarily approving or declining third party applications.

Given the precedent mentioned by @tokidoki, it would be good that he ZF authorities reach out to Ledger to know what’s going on. If they don’t even care to fix their current Zcash app, how can we know for sure that this other one will be approved? I mean, we know that it is going to be technically sound. No doubt. so will they do their part?

Again, I’m not against the grant itself. I’m against “the gatekeeper” role of the hardware wallet manufacturer and I want us to make sure that we don’t end up putting a lot of effort into something they (ledger) will throw to the dumpster for whatever reason.

4 Likes

I’m not authorized to speak on anyone’s behalf, but I do have a friend at Ledger on the executive team (who’s probably not speaking on their behalf either) but we discussed this recently. Their message is Ledger is waiting on us to finish this very update, and that they might need some help defraying cost of running their own zcash node, but with those two things they’re ready to rock for shielded cold storage. So to me this is is a top priority.

9 Likes

While the rumor, if true, is great. I’m skeptical with a team who has not done anything to resolve many users concern while using their product.

I repeat:

This :arrow_up: is about transparent ZEC.

I also wonder how many people stops spending ZEC or stops accepting ZEC for their business after they encountered this exact problem: not being able to know exactly that the ZEC they receive on their Ledger devices will be spendable or not. :upside_down_face:

5 Likes

I want to provide some background and context to the discussions that are happening in this thread.

Zondax received a grant from the Zcash Foundation to (a) develop a Ledger app (i.e. an app that runs on Ledger hardware wallet devices, enabling them to sign both transparent and shielded Zcash transactions), and (b) provide libraries that wallet developers could use to integrate Ledger support.

Zondax created the Ledger app but then hit an unexpected roadblock because Ledger requires that there must be an existing user-facing wallet that demonstrates the new Ledger app working. That new requirement stopped the grant in its tracks, as Zondax were unable to move forward without a working wallet integration.

Last year, in a bid to get things moving again, Zondax did the integration with the Zecwallet Lite desktop app. They demo’d it at Zcon3, and at the end of September they submitted a PR to add the new functionality to Zecwallet Lite.

In anticipation of that PR getting merged, and with the goal of making Ledger support available to as many Zcash users as possible, ZF asked Zondax to look into adding Ledger support to Ywallet.

I sent Hanh an email at the time (Sept 30th) to let him know that we’d asked Zondax to do this.

Aditya from Zecwallet hasn’t accepted Zondax’s PR, which leaves three potential paths forward:

  1. fork the Zecwallet Lite Desktop codebase to create a new desktop light wallet with Ledger integration, and submit it to Ledger for approval,
  2. add support for Ledger devices to Ywallet and submit it to Ledger for approval, or
  3. build an entirely new wallet with Ledger integration.

#3 seems like overkill so, in the interest of progressing #2, I reached out to Hanh (on 23rd February) to coordinate a meeting between him and the Zondax team to discuss adding Ledger support to Ywallet.

The purpose of that meeting, which took place on Monday 27th February, was:

  • to make sure that Hanh would be willing to accept a pull request from Zondax to add Ledger support to Ywallet, and
  • to figure out if there are any other pitfalls or hurdles that would need to be overcome.

(Note that Zondax have already built the Ledger app, and have already integrated it with Zecwallet Lite Desktop. The premise of the meeting with Hanh was that Zondax would do a similar integration with Ywallet, with Zondax doing most of the integration work, and relatively little effort required from Hanh.)

During the meeting, there was discussion about Hanh doing the GUI part of the integration because Ywallet uses a GUI framework (Flutter) that Zondax haven’t worked with previously, and it would also allow Hanh to retain control over the Ywallet user experience. I asked Hanh to let me know how much effort would be required from his side.

At the end of the meeting, I was expecting that the Zondax team and Hanh would continue to liaise via email to finalize who would be responsible for which parts of the integration, and that Hanh would let me know how much effort would be required from his side.

Based on my reading of Hanh’s grant proposal, it appears that the integration with Ywallet may be significantly more effort than we expected (possibly due to the fact that Ywallet supports multiple coins, which I believe makes the transaction builder element of the integration more complex than with a single coin wallet like Zecwallet).

To address the question of why only provide support for Sapling, and not Orchard: from my perspective, it makes sense to spend the minimum amount of resources and time required to get the Ledger app approved. Once it’s been approved by Ledger, we can extend its functionality with support for Orchard, Unified Addresses, and mobile devices. Ideally, we also want Zcash to be fully supported in the Ledger Live app, and add support for ZSAs when they get deployed.

Finally, I want to make something very clear. There have been multiple delays with this project, all of which were due to circumstances and dependencies that were entirely beyond Zondax’s control.

21 Likes

Thanks for the context @Dodger
It’s great to see ZF works to get this going.

Is Ledger, the company, involved in the conversation here? I think it’s reasonable for the Zcash community to be skeptical with Ledger due to reasons mentioned many times in this thread.

We need some assurance from Ledger that they will distribute this app through Ledger live.

Thankyou @Dodger for the context here, this is ledger integration always seems agonisingly just out of reach.

It is quite frustrating from a user point of view that this cannot get resolved when the integration into zecwallet lite has already been developed, is there any reason known for why the PR has not been accepted?

2 Likes

Btw, this grant also covers spending from the transparent address. One additional advantage is that the user will not have to rely on Ledger Live (and its infrastructure) and use YWallet for both shielded and transparent transactions.
These days, I suspect Ledger Live stopped working because their zcashd instance isn’t up to date and hit the expiration height.

6 Likes

Not detrimental to this grant, but hasn’t ZingoLabs forked these repos already? Would they be able to integrate this PR that’s already been in the works? or has time passed so much that it’s unfeasible?

3 Likes

I believe Zingo has only released mobile apps (which also works on Apple silicon computers). I assume the integration needs to be done on a desktop app.

1 Like

We’ve been looking into rebooting the desktop app, I don’t think it’s gotten much further than the “Hey, it would be cool to do this” stage at the moment. James Katz recently put some work into rebooting zingo-pc, although the repo was archived a week ago. @zancas might be able to say more on this, I’ve been really focused on prototyping what we’re calling memo-sync recently (which will enable much more rapid rescan/restore from seed), and he has a more holistic view on what zingolabs as a whole is up to.

2 Likes

We intend to republish a desktop offering for power-users/developers who are willing to build software from github.

We have invested some time in this already (building on @james_katz 's excellent start).

We are not committed to a timeline.

4 Likes

I’d say the cost of not having reliable shielded hardware support is much greater than the cost of this grant.

Getting Ywallet to work with Ledger would:
-Allay the constant criticism that Zcash doesn’t have shielded hardware support
-Provide a safer solution to storing larger amounts of shielded ZEC, potentially increasing the size of the shielded pool. This would not only increase Zcash’s privacy properties but demonstrate to the world “people are using shielded ZEC”.
-If significantly adopted, perhaps show to others (ahem, Trezor) that Zcash shielded hardware support is a product worth having, not only for financial privacy, but for their bottom line.

Also, there is little risk of the technical side of things getting done, just look at @hanh’s track record. As others have brought up, the risk seems to be on the integration and platform-support side of things. But with a plug-and-play solution that has little resource demand on Ledger’s team, combined with high-level lobbying (aka pressure), it seems like a bet worth taking that this would get across the finish line.

11 Likes

@hanh & Zcash Community, the @ZcashGrants Committee has unanimously voted to approve this grant.

25 Likes

Thanks @ZcashGrants

As discussed with the committee, Zondax will not be involved after all. The grant submission will be updated to reflect this decision.

9 Likes

Congratulations @hanh this will be monumental for zcash

Thanks, also to be clear, I will not use the Zondax code in order to avoid any potential issue with IP.

3 Likes

Excellent, looking forward to this one!

@hanh how will not using Zondax work Alter the delivery timeline?
Really pleased to see this was funded, one of the most important things we need for usability/adoption along with the work ECC are doing on syncing, mobile SDK’s etc

3 Likes