Please login or register.

Monero support for Trezor

Who wants Trezor to support Monero? Sadly it doesn't currently. I think it would be awesome and would like to work on this.

I'd like to raise at least 500XMR so I could make it happen. Want to beef up your Monero wallet security? Show your support by donating and help make Monero support for Trezor a reality!

  • Address for donations: 49hGzzV9XtNZKHAe1kNuXkRfhws12ZHipavhffm2gXDXR3aGxiLzt9GRBFPqL6Vgp6hEnpsiT285v5v4XmrUC93PSTaML5r
  • View key: 2a2e69948dfcc5a3198ee0288494a729c65069611cf0146f8f31013dd2a0ac0c (if anyone wants to keep an eye on the account)
  • Escrowed by our very own fluffypony

What I plan on doing

  1. Modify the Trezor firmware to support generating private keys for Monero & support signing transactions using spend key.
  2. Add Trezor support to simple_wallet command (or create new trezor_wallet utility)

How will the funds be used

  • The raised money will go towards buying a Trezor I could use for development purposes and compensating for some of the time I put into this.
  • If we don't manage to raise enough to even buy a Trezor for me, I will not be undertaking this project. All moneros received will be sent to [email protected] in this case.
  • I will not be touching the money raised before I have managed to add Monero support to Trezor. Should I fail to deliver, the funds will be sent to [email protected].

Edits

  • 13th April: Changed donation destination to account escrowed by fluffypony.
  • 14th April: We're funded! Check out the progress of this project here.
Replies: 24
saddam edited 8 years ago Weight: -515 | Link [ - ]

Well, I guess I have to buy a Trezor now! Cool.

dnaleor edited 8 years ago Weight: -515 | Link [ - ]

This is very important! I'll donate 10 XMR now and when finished I'll donate 90 more :) payment ID: cc16c5f96957d9604d93a3051664923c7963d0009dec7fcbaa36ba5ca78b0ee6

Reply to: roosmaa
Bassica edited 8 years ago Weight: -516 | Link [ - ]

Sent 25 over your way (that's probably part of the unknown). Good luck with the project. And thanks to all the other donators.

85772fe18086584faf1dd9e95decb9b95c9bb617f99d0e09bc9c20b4249a7388

Drhiggins edited 8 years ago Weight: -517 | Link [ - ]

Sent 200 XMR. I've been dreaming of a hard wallet and hopefully the Trezor will work for Monero

Payment I.D. 0094162f4a18cb16cf72f6e040b9a6e8e245458d52abf2af78498843a2915dfe

Drhiggins

Reply to: arnuschky fluffypony
Lloydimiller4 edited 8 years ago Weight: -517 | Link [ - ]

I am sure you are welcome to donate more XMR for the project, it might help roosmaa to be able to spend more time developing.

Reply to: fluffypony
arnuschky edited 8 years ago Replies: 1 | Weight: -517 | Link [ - ]

Awesome! I missed to donate, but I can chip in with Trezor knowledge. roosmaa, contact me if I can help out our you're stuck with something.

nagrom1981 edited 8 years ago Weight: -518 | Link [ - ]

Sounds like a great project :) 50 XMR sent, id 6FB8AD03EFDDF9FFC20E17ADB4DB8ED1C85696FA2A6C68662CFF75C4C733C1C0

Reply to: fluffypony
roosmaa edited 8 years ago Weight: -518 | Link [ - ]

That's great news! I've started a separate progress report thread. :)

fluffypony edited 8 years ago Replies: 2 | Weight: -517 | Link [ - ]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Looks like we're fully funded (over funded, in fact!) -

[wallet 49hGzz]: balance
balance: 782.472749733811, unlocked balance: 782.472749733811

Take it away, roosmaa :)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJVLMrAAAoJEFVDLfMczU/N/ggIAII5TfHOv3Do3yLC4bFXV0T7
PFnBFRmWlAsw42BJGFveGiI9Zp1L3lmN+ZdqYKGlrRMu+7Kv/hsPo+N7NFzocfih
K6BtwTLFGVCKLXCdNyi0fJ4QwjQlMo93Vc/GqAwHFaLIenjQ7QDyMfQUeuzyw3bw
Aks+5UBMyBAALhME7giKpm8P3KOKIevfwvhaaVMObsYZmVjFM5brX/I2gAptxC7K
UjtDuhZgisjmSWK4eyJ6rSFaogaKJNs6RAWDIvGT+JAaWiF60GcGd3QQat/sdWZQ
ThS50FBxaIRi83lWPoz/MhknOIUreyCL56LZ23Xnz1tAUArDBi3MM8kl27GyIQ4=
=EKDN
-----END PGP SIGNATURE-----
Lloydimiller4 edited 8 years ago Weight: -518 | Link [ - ]

I know we are over the minimum, but I still want to donate to this project. Just sent 250 xmr eb44a68e15a3f33eb48815ae77c1b524d9cbe34d5299ffa9dcf0be77d06e937e

pa edited 8 years ago Weight: -519 | Link [ - ]

320 xmr sent, transaction 00b0adb52b63e5b8dcc050a9df2b530f0bf9a6abf3eb2ef5f64d7b573ffa61fb; good luck!

roosmaa edited 8 years ago Replies: 1 | Weight: -519 | Link [ - ]

Good news everyone!

Fluffypony will be escrowing the funds for this project from this point forward.

So far 186.97524732 XMR have been raised. I have transferred them over to the new account (187.167749733811 XMR in b9e709ba550a142ee789586a7fd85bec109c0f99a60da1c6e4508b42af1d82f8 & 0.055 XMR in 831633a754fd0e4828820341ea4aacb4ad67ca95ffec0f56492210a794b64d3b). 0.02XMR remains on the account due to some discrepancy between actual fees and what MyMonero thinks the fees will be. Fluffpony can confirm (using the original viewkey) that all of the funds were transferred from the original account.

Donations thus far:

Reply to: roosmaa arnuschky binaryFate roosmaa binaryFate
arnuschky edited 8 years ago Weight: -519 | Link [ - ]

I agree wrt to the communication protocol; it's using protobuffers and should be fairly easy to reuse/adapt.

Not sure how much work simplewallet integration would be. If I am not mistaken, there is no support for viewkeys yet. Maybe a plugin for the upcoming graphical wallet would be a better choice? (It would certainly be much cooler!)

If you did some embedded development before, great! (It's often kind of a rude awakening for "normal" devs.) Trezor uses the normal gcc arm toolchain, so there are no big surprises there.

Reply to: arnuschky binaryFate roosmaa binaryFate roosmaa
roosmaa edited 8 years ago Replies: 1 | Weight: -520 | Link [ - ]

Yup, you are right - Monero uses the more widely used security curve Ed25519 (SSH, etc) so finding a library that works in an embedded setting should be indefinitely easier than for the Bitcoins curve (which was pretty much unused before Bitcoin started using it).

From my brief review of the Trezor source it should be feasible to implement Monero transaction signing without changing the communication protocol that it uses to communicate with the USB host. (Though some things will be slightly misnamed.) Trezor will contain the viewkey and spendkey, viewkey will be made available to the USB host (like the xpub key for Bitcoin). Spend key will remain private, as it should. The host will then use that viewkey to scan through the blockchain (like the current simple_wallet does). For sending payments the transaction is prepared and Trezor signs it.

Of course there will probably be bumps in the road ahead (due to wrong assumptions), but so far it seems doable. I haven't done embedded programming in ages, but considering trezor-mcu is mostly fairly high-level C we should be good.

Reply to: binaryFate roosmaa binaryFate roosmaa binaryFate
arnuschky edited 8 years ago Replies: 1 | Weight: -520 | Link [ - ]

AFAIK Monero uses ECDSA with a different curve, which should be fairly easy to modify.

The rest is the hard part: the crypto libraries that deal with transactions. Worse, you have to do it at two ends (the pc end and the embedded code).

As binaryFate, I am quite familiar with the Trezor code and architecture. (Actually, we took it apart together :)). This will be a considerable undertaking. Not impossible, but you need knowledge from a bunch of different fields which makes it hard.

If you don't have solid knowledge in C, python, embedded programming, general crypto and monero specifics, you won't go far. If you do, great - good luck and god speed! :)