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
dnaleor edited 3 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

saddam edited 3 years ago Weight: -515 | Link [ - ]

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

Drhiggins edited 3 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

fluffypony edited 3 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-----
Reply to: fluffypony
arnuschky edited 3 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.

Reply to: arnuschky fluffypony
Lloydimiller4 edited 3 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
roosmaa edited 3 years ago Weight: -518 | Link [ - ]

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

Lloydimiller4 edited 3 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

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

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

roosmaa edited 3 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
Bassica edited 3 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

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

320 xmr sent, transaction 00b0adb52b63e5b8dcc050a9df2b530f0bf9a6abf3eb2ef5f64d7b573ffa61fb; good luck!

fluffypony edited 3 years ago Weight: -520 | Link [ - ]

I donated 50 XMR towards this, transaction 7be96e398536a1112b9453ffed8e5deba46ec383917a5de860a182e2693d5813 (no payment ID)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

UPDATE: I'm escrowing this on roosmaa's behalf.

Deposit address: 49hGzzV9XtNZKHAe1kNuXkRfhws12ZHipavhffm2gXDXR3aGxiLzt9GRBFPqL6Vgp6hEnpsiT285v5v4XmrUC93PSTaML5r
View key: 2a2e69948dfcc5a3198ee0288494a729c65069611cf0146f8f31013dd2a0ac0c

roosmaa will move the funds donated thus far to that escrow account, and I will confirm receipt once received.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJVK8NRAAoJEFVDLfMczU/N++sH/iOTObE6iiBlhaz7pUgMx3tB
WM49xGvVCtSlxcJX/zwX/K5zeaF5NeNMgsOx5RU0+z9zvnM4O/3X5S1OhxzrcosM
3OE4r8Z/+eMfW0o+567HkXxg7Q5E7hMN9GgJVLxcuQ4fDhXlxjr6m7wXgZG/tdLj
bpCiQI/VXnhg/iDy++vb7zshuTh/H8QmgPDPkKWaSQD66oozi9vi629g2ytWBBCE
5tygq+liI6+1a+sHWq/2HFi7Yq+5a99gz5Gm5AX/thFoodGgeAeXXAOhTMN7QGEx
ieTuqBm3+okUOvOztHT7pNLXvSiPrGKAtOJ9IvuCI0u/lLRKNeXnU96NmymQ2t8=
=DwW/
-----END PGP SIGNATURE-----
antw081 edited 3 years ago Replies: 1 | Weight: -520 | Link [ - ]

I've donated 100 XMR towards this project.

Tx ID: c44babb72e22dd741fe540ff09650dea253f26b974cf8cafb5b62c6e81dacc67

Pay ID: a29a82c47346bfc13fafdf723ae7994095c3ad7389717a9fc44a24fad72c01b8

You would probably get more donations if you used a trusted escrow.

Reply to: antw081
roosmaa edited 3 years ago Weight: -520 | Link [ - ]

Thank you! Fluffypony agreed to escrow this, just waiting for him to setup everything up. :) Will let everyone know when it's done.

Kazuki edited 3 years ago Weight: -521 | Link [ - ]

I would like to see this happening, donated 10 XMR 21b14c9d26253270bd6bf921a9671d9cc3116a10f3742c38a98bdf544aae58fd

binaryFate edited 3 years ago Replies: 1 | Weight: -521 | Link [ - ]

This is a nice idea, of course!

However in all honesty, I warn everyone about donating without the funds being in escrow. I am reasonably familiar with the trezor code, and I'd estimate the cost of supporting Monero to be much more than 500 XMR. I find this unrealistic pricing to be a red flag.

Reply to: binaryFate
roosmaa edited 3 years ago Replies: 1 | Weight: -521 | Link [ - ]

I'm not really trying to make a profit as it is an interesting project for me. 500 XMR is just the minimum amount for which I'm willing to take this on. Mainly it is to gauge the community's interest for such a thing - if people really want this, then they are probably willing to take a small risk.

And in case the Trezor code does get the better of me and I fail to deliver the funds will go to Monero core team. But this is again the problem of "do we trust this random dude and his word".

It does seem to me that we should really establish some pointers for this sub-forum for people like me :) How to be transparent about the money raised, who are the people willing to provide escrow whom everybody trusts, etc. For the transparency part, fluffypony did say he's working on viewkey import for MyMonero, which would be awesome :)

Reply to: roosmaa binaryFate
binaryFate edited 3 years ago Replies: 1 | Weight: -521 | Link [ - ]

I don't see any rational reason for which you would refuse to use a trusted escrow.

Reply to: binaryFate roosmaa binaryFate
roosmaa edited 3 years ago Replies: 1 | Weight: -521 | Link [ - ]

I guess my last post was slightly unclear. What I described there, was what I was thinking when I was writing the first post in this thread. Since I did not know any better and since the 500XMR is more of a gesture of support rather than any significant amount of money (as you said yourself there is no way this amount will even begin to cover the time I will have to put into this) I did not really think anyone would care so passionately about escrow.

So, who do you trust? I hope you trust fluffypony...

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

Undoubtedly fluffypony is trusted (by me but more importantly by the community at large so people would be more willing to donate for your project!). :)

Technical remark: you'll need to adapt some code PC-side, additionally to the device firmware, to have it working. Also you'll have to update the trezor crypto library to work with a different type of ECDSA signing too, which is incredibly critical to write yourself so I strongly suggest you take the code from a known and trusted library.

Reply to: binaryFate roosmaa binaryFate roosmaa binaryFate
arnuschky edited 3 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! :)

Reply to: arnuschky binaryFate roosmaa binaryFate roosmaa
roosmaa edited 3 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: roosmaa arnuschky binaryFate roosmaa binaryFate
arnuschky edited 3 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.