Keystone Wallet feedback

The Keystone Hardware Wallet seem very promising and may become the best (most secure and private) way to safely store ZEC tokens.

For this reason I am creating this thread as there is currently no place to discuss how well it will work for us, ZEC users. As soon as ZEC becomes supported, I intend to test that device myself as report back anything that may be relevant in here.

I had created a similar thread that has been removed due to a moderation mistake, where I have asked the following question: “Unlike Ledger where this is impossible, are we able to use the wallet 100% offline?”

After reading all the very insightful comments from @Lixin, @daira, @hanh, @conradoplg & @str4d I felt like we were onto something. Let’s focus back on the main objective: what is the most secure way to use and manage a hardware wallet while retaining a good UX? Fully offline may be too much and unnecessary for most people (still may be useful in some cases). However, I have suggested the following example:

“Connect the hardware wallet management software to your node or a trusted one, and with LittleSnitch or whatever firewall you use, deny all connections aside from that node you have selected. That’s it, already so much more secure. It’s something I could see most people doing as best practice, without getting into tinfoil hat practices.”

Having access to the ZEC network feels like a reasonable requirement to have all features with the most convenience. But blocking any other network requests is also important in order to substantially reduce the attack surface. If Ledger could work like that (I can’t), it would guarantee that they cannot extract the passphrase (they currently can). Kind of a big deal.

The question becomes not so much as being 100% offline but as only having access to a full (or lite?) node that can be customized by the user. Thanks to @Lixin’s answer, I understand the hardware wallet can be fully updated offline, awesome. Now the question is, can I expect to be able to use the wallet in the way describe just above? That is only having access to any full node I wish to use and without any ability to access any other network resources? Will this create any kind of limitation or can I expect everything to work properly?

4 Likes

I had to dig a bit deeper than I should have to find this, which I am sure many will find interesting and useful - @Lixin if I may, I would suggest to have a link to this post on your main page:

2 Likes

As I am getting started to review the Keystone wallet, I went through the order process. Two options were available to me: traditional payment methods and transparent crypto options. I can receive the device to an address not linked to me personally, but the payment options you offer may easily reveal a buyers’ identity. It’s not necessarily a deal breaker, but still something worth improving, if possible.

@Lixin, you may find the following thread to be of interest as multiple payment platforms options are mentioned:

1 Like

Hey Jelly5649,

Please forgive my ignorance. I read through this but I can’t tell what you are expecting from Keystone. What features do you need us to develop? Do you mind rephrasing it a bit?

Thanks!

Yes. This is an issue that people who are extremely sensitive about privacy are concerned about. And we are fully aware of this.

But unlike Hush Line you mentioned, selling a physical device is way more complicated than maintaining a whistleblowing platform. Right now the best option for us is using services like Shopify to manage the whole process for us. We are not capable of building a e-commerce system which is privacy centric. With Shopify, we can’t implement Zcash payment without 3rd party payment gateway support.

If you want to maximize your privacy, I think maybe one day we could sell Keystone on a conference with Zcash f2f or fiat cash payment. Actually this is the way those hardcore users buy hardware wallet in the old days.

Hope you can understand this.

2 Likes

Hey @Lixin. Thank you for your answer.

Let’s start with my intention here: I see that you are trying to make your product as good as possible for the Zcash ecosystem. I simply want to help you do that by trying it myself and giving you feedback from the first look at your website, the purchase, to the actual usage of the device, from someone with a particular interest in privacy / security matters. I am very disappointed by the current hardware wallets, therefore if there is a chance that yours could check all the boxes that a good Zcash hardware wallet should require (privacy, safety, good UX, etc), I am happy to do this.

I have expressed some expectation in my initial post so I’ll now skip this to focus on the things I actually had to go through so far:

  • It is very important that we can easily tell who we are trusting here, so I would suggest you to add the following blog article to your main menu: Keystone: Who we are | Keystone Hardware Wallet
  • Regarding the private crypto payment issue, thank you for the clarification. Hopefully it will be addressed in the “medium-term” as it is something rather important, particularly if we are to list the wallet on the z.cash website. Back in the days, it was fine to buy a wallet at a crypto conference indeed. Nowadays however, it’s mostly a great way to get flagged as a wrench survey target.

I’ll update this post once I can provide more hopefully useful feedback. Thanks a lot @Lixin.

1 Like

Noted for both suggestions!

Thanks so much!!!

4 Likes

Hey @Lixin.

I have three questions for you today:

  1. Could you please clarify if PINs and Passwords are handled any differently? I have found this Reddit question to be good but it went unanswered: link.

  2. I was looking into security features in case someone tried to brute-force the wallet. Time-delay and/or auto-wipe is what I am looking for. Here also, a Reddit user asked the question, which you have answered, however I am confused by it. Could you please clarify why you do not officially document the feature? link

  3. Is it possible to side-load code to support a specific crypto? I am asking this question should one day you would decide not to upgrade the Zcash app for any reason and it would result in users having their tokens locked inside the wallet indefinitely (I understand they can always use the recovery codes in an online wallet but it defeats the purpose).

Thank you!

1 Like

I am not sure I fully understand your question correctly.

If you are asking why PINs are widely adopted as a standard for security but we are allowing users to use passwords, here is the answer -

In some scenarios, PINs are not secure enough - x.com

Will do.

It’s possible. We have open source firmware but right now we don’t allow installing 3rd party firmware into the device due to security reasons. Keystone can only install firmware that’s signed by us. But we may open this option of 3rd party firmware installing in the future. We are struggling for this.

Regarding PIN vs Password, I found the question of that Reddit user to be quite interesting. After all, in Android (among other systems) you also have the option to either create a PIN or a password, yet it is possible to use a PIN as password! I think it is confusing UX but if it’s just this Reddit user and me, I guess it’s no big deal.

Thank you for the clarification on the documentation of the time-delay and/or auto-wipe in case of multiple wrong PIN/password. It’s obviously a critical feature.

For the side-loading of application, I understand it is not easy. Are you familiar with our current trouble with Ledger? I, for one, have been locked out of my funds for years (!!!) because Ledger has made updating our app very difficult. Actually, even on Ledger it is possible to side-load applications, it’s just quite unpractical. Either way, in light of this, I am sure you can understand how important it is for us to have a way to not be entirely dependent on your will to update the app. I am certain we wish you all the success in the world, but it’s impossible to know where you’ll be in 10 years.

Thanks as always!!

If this is the case, we will allow users to install 3rd party firmware for sure. Then the Zcash community can modify our firmware and users can burn that into Keystone to move the funds.

This is the meaning of open source.

3 Likes

That’s why I prefer to use hardware wallets in a multisig setup when possible. 2 out of 3 with 1 hardware or 3 out of 5 with 2 hardwares. That way even if something goes wrong with the hardware wallet you can still access your funds.

1 Like

100% agree.

I think with the QR protocol we made together with the Zashi team, it’s not hard to make a mobile App that can be used with airplane mode on the mobile phone, which can act as a second signer for the multisig.

1 Like