Please login or register.

Adding Monero support for Trezor

The idea of adding Monero support for Trezor reached it's funding goal of 500XMR in 2 days! That means this just got real! :)

I don't know exactly how long this will take, since I don't have a Trezor yet and it'll be difficult to estimate all of the potential problems that can arise. What I can promise is that I'll be allocating on average 10h per week (~1h/weekdays; ~5h/weekend) for this project.

I will also be posting updates to this thread about how things are progressing and potential ETA for tasks I can estimate time for. All of the updates will be done as individual posts to this thread and I will link to them from this initial post.

If you think the work I'm doing is awesome and you're satisfied with the progress, please consider donating in the initial funding thread.

Progress

Code

Replies: 53
rottenchris edited 8 years ago Weight: -504 | Link [ + ]

Hey Guys,

Just to let you know : I sent the trezor on friday to roosmaa. Will take a couple of days to arrive there....

palexander edited 8 years ago Replies: 2 | Weight: -512 | Link [ + ]

Not to muddy the waters any, but here is another hardware device that could possibly be used. bitbox The hardware device doesn't necessarily have to be a Trezor. Also, according to digitalbox's site, they are altcoin friendly. Not exactly sure what that means, but that may be a positive.

Reply to: palexander
roosmaa edited 8 years ago Weight: -510 | Link [ + ]

Problem with devices like Bitbox and Ledger is that they're far less versatile than Trezor due to being very specialised. Lack of screen also is kind of a bummer (I own a Ledger).

Also a big red flag from the Bitbox website: Firmware updates not needed and not possible. So it'll probably work well with all Bitcoin forks, but not with Monero or other coins.

Reply to: palexander
Lloydimiller4 edited 8 years ago Weight: -513 | Link [ + ]

This could be cool too. I don't know enough about proper to security to be able to tell how it compares versus the Trezor, but it would be nice for people to have options assuming they are both safe tools.

Edit- I would even buy one for a dev like roosmaa to look at if needed, or we could start a seperate fund to get the bitbox running

arnuschky edited 8 years ago Replies: 1 | Weight: -512 | Link [ + ]

Roosmaa, do you plan to prototype in python first? It might be required to have a chance being integrated by SatoshiLabs.

Background: SatoshiLabs have a emulator for the trezor side and the client side written in python (see here and here). They use it for prototyping and testing, mostly the communication protocol and UI stuff. It can also be run on a RasPi using a special shield.

I suspect that using the emulator will be very useful for longer-term development, even if it might be initially more work that a pure firmware hack.

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

The emulator is mostly targeted for helping people implement Trezor support in their Bitcoin wallet software. If it's possible to implement Monero support without breaking Trezor communication API, then modifying the emulator to emulate Monero support would be easy. Otherwise it's probably not worth the effort yet. I make no promises either way until I've had a chance to see Trezor in action and analysing all of the functionality it provides to see how might Monero fit into there.

Reply to: roosmaa arnuschky
arnuschky edited 8 years ago Weight: -512 | Link [ + ]

Seems like a reasonable course of action. Let me know how it goes, maybe we can help out.

roosmaa edited 8 years ago Replies: 2 | Weight: -518 | Link [ + ]

14th of April: Getting started

I sent an email to SatoshiLabs yesterday to see if they would be interested in merging the work I'll be doing for Monero support back into their official firmware. Have not yet heard back from them on this front.

I'm also looking for ways to get a Trezor for development. I asked SatoshiLabs if they could send me a used one with a discount. Christoph from Twitter has offered to send me one of his old ones. If none of it pans out I'll just be buying one for full price.

Since it'll be a week or two before I get my hands on a Trezor I'll be starting with the Monero side of things. I will be evaluating the changes I need to make in the wallet code to add support for Trezor powered wallets.

Reply to: roosmaa
dnaleor edited 8 years ago Replies: 1 | Weight: -515 | Link [ + ]

"I sent an email to SatoshiLabs yesterday to see if they would be interested in merging the work I'll be doing for Monero support back into their official firmware."

I suppose that if this doesn't happen, the firmware with monero support will be 'unofficial'? If that's the case, will it be able to still store bitcoin private keys (I guess it's the case) although for security reasons it's better to not use unofficial firmware. Therefore people will probably need to buy a separate trezor for XMR storage. I hope trezor just integrates your software, if not, i'll just buy a second one ;)

Reply to: dnaleor roosmaa
roosmaa edited 8 years ago Weight: -514 | Link [ + ]

If the Monero implementation for Trezor will be so radically different that there is no chance of those changes being merged back to official tree, it will probably make more sense to create a Monero only Trezor firmware. I will know if this is the case after I've got my hands on a Trezor and played around with it a bit.

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

If SatoshiLabs or the guy from twitter aren't able to help you get a trezor in the next week, I will send you mine. It has just been sitting on my desk for a couple months and I'd much rather it be used in a project for Monero than collect dust. Just send me a PM next week here or on BTCT.