Pages:
Author

Topic: Krux DIY Hardware Wallet - page 5. (Read 1949 times)

newbie
Activity: 10
Merit: 108
August 11, 2022, 02:32:47 AM
#43
Popping in to let everyone know that a new release of Krux is finally available:
https://github.com/selfcustody/krux/releases/tag/v22.08.0

It now includes support for the Maix Amigo, Maix Bit, and Maix Dock, and of course the existing M5StickV.

Hope you like it! And if not, file an issue Wink
Wow, it's great to see you continuing working on this project.
Especially with the broader hardware support now, I'm going to order something and play around with it.

Awesome, welcome aboard!

My ultimate goal with Krux is to have it become something like the Linux of hardware wallet firmware, an open-source device-agnostic signing "OS" you can install on any platform capable of running Micropython. For now, we're expanding the K210-based devices that it supports, but I hope to eventually shim out the MaixPy/K210-specific modules so we can port to other platforms and not be too locked-in to any one vendor. I've been eyeing ESP32 as a potential next target.

Still a LOT of work to do before we get to that point.
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
August 10, 2022, 05:17:01 PM
#42
Popping in to let everyone know that a new release of Krux is finally available:
https://github.com/selfcustody/krux/releases/tag/v22.08.0

It now includes support for the Maix Amigo, Maix Bit, and Maix Dock, and of course the existing M5StickV.

Hope you like it! And if not, file an issue Wink
Wow, it's great to see you continuing working on this project.
Especially with the broader hardware support now, I'm going to order something and play around with it.
newbie
Activity: 10
Merit: 108
August 10, 2022, 04:56:58 PM
#41
Popping in to let everyone know that a new release of Krux is finally available:
https://github.com/selfcustody/krux/releases/latest

It now includes support for the Maix Amigo, Maix Bit, and Maix Dock, and of course the existing M5StickV.

Hope you like it! And if not, file an issue Wink
newbie
Activity: 10
Merit: 108
April 02, 2022, 09:07:12 PM
#40
Quote from: dkbit98
I saw you are cooking and preparing something for a while but I forgot to post updates in this topic.

Yes, I was waiting for the code to become more stable before I posted an update here. Unfortunately that took longer than I originally anticipated. Anyway, I appreciate everything you've done in here already. Smiley

One of the changes I made in response to a comment here was adding support for airgapped firmware updates via microSD. Although Krux doesn't store keys, I still didn't like that any firmware upgrade would require plugging the device in to flash the latest code. So, now, after you've initially flashed the firmware, any subsequent upgrades can be done by placing the new firmware and a corresponding signature file on a microSD card and plugging that into the device. On boot, Krux will verify the signature and prompt you to install the upgrade.

I've also been working on some more fun features to come, including support for "printing" your QR codes by streaming gcode to a CNC machine so you can mill them out of wood or metal.

Quote from: dkbit98
This looks much better and cleaner in github and I will finally have to power up my M5Stick device that is collecting dust and waiting for better times.
Instructions on website will help a lot in this process, and I will try to report in forum how everything tuned out in my case.

Sounds good, hope you like it!

Quote from: dkbit98
Interesting thing that I found out is that Krux will be able to work with Sipeed Maix Amigo devices soon, and they are based on RISC-V chips!

Yes, odudex on Github has been doing great work to port Krux over to the Maix Amigo and Maix Bit devices. See here for recent progress:
https://github.com/selfcustody/krux/discussions/108

Quote from: dkbit98
I think this would be first a RISC-V based bitcoin signing device... but can you say more about this?

The short version: Krux will run on any device that has a Kendryte K210 SoC. The K210 does indeed have 2 RISC-V cores. Here's some more info on it:
https://github.com/kendryte/kendryte-doc-datasheet/blob/master/en/001.md

The longer version:
Krux is primarily written in Python and is a [Micro]python project. However, it uses a wrapper around Micropython, called MaixPy (that I had to fork to add some more features for Krux to utilize), which was created by Sipeed to add support for the K210 and add additional, non-standard features to Micropython including OpenMV support, with drivers for interfacing with various camera sensors found in their devices.

So, for now, Krux can only run on K210 devices*. However, I hope for it to support other Micropython platforms in the future.

*or simulated ones. I did add a simulator recently so that Krux can be run on Linux and Mac, but I obviously don't recommend using it for real:
https://github.com/selfcustody/krux/tree/main/simulator
legendary
Activity: 2212
Merit: 7064
Cashback 15%
April 02, 2022, 04:01:01 PM
#39
Hey everyone! Dropping in to announce that the first stable release of Krux is now out
Hey jreesun!
I saw you are cooking and preparing something for a while but I forgot to post updates in this topic.
This looks much better and cleaner in github and I will finally have to power up my M5Stick device that is collecting dust and waiting for better times.
Instructions on website will help a lot in this process, and I will try to report in forum how everything tuned out in my case.
Great to see you have stepansnigirev and other onboard.

Interesting thing that I found out is that Krux will be able to work with Sipeed Maix Amigo devices soon, and they are based on RISC-V chips!
I believe price for this devices was around $50 dollars last time I checked, but I am not sure how easy is to buy them now for that price.
I think this would be first a RISC-V based bitcoin signing device... but can you say more about this?


https://wiki.sipeed.com/soft/maixpy/en/develop_kit_board/maix_amigo.html
newbie
Activity: 10
Merit: 108
April 01, 2022, 02:34:43 PM
#38
Hey everyone! Dropping in to announce that the first stable release of Krux is now out:
https://github.com/selfcustody/krux/releases/tag/v22.03.0

I created an organization on Github to house the project and its dependencies under. Hopefully the URL will now be easier to remember than my username...

I have also updated the website to include much more documentation on all of Krux's functionality, including guides for installing from a release or from source and using it in single-key or multisig wallets created with either Specter Desktop, Sparrow, or BlueWallet:

https://selfcustody.github.io/krux/

Enjoy!

PS: This isn't an April Fools joke Wink
legendary
Activity: 2212
Merit: 7064
Cashback 15%
December 17, 2021, 07:01:50 AM
#37
What screen does Krux use? Resembles electronic ink.
You can find all the details and specifications on m5stack website and I posted all the links in first post of this topic.
Screen for M5StickV K210 is IPS 1.14 TFT, 135*240 ST7789.

Will there be benefits from using e-ink displays in hardware wallets?
This is not the  subject of this topic so please don't go off-topic, and I personally don't care if the screen is e-ink or not.
legendary
Activity: 1792
Merit: 1296
keep walking, Johnnie
December 17, 2021, 04:17:04 AM
#36
What screen does Krux use? Resembles electronic ink.

Will there be benefits from using e-ink displays in hardware wallets?

It is good that such devices appear. This allows hardware wallet market to evolve, which ultimately allows users to get a technically better product. It also expands the assortment from which you can choose an individually suitable device.  The pace of development immediately slows down when only 2 large manufacturers remain. The story of Ledger and Trezor doesn't you remember the story of Intel and AMD?
legendary
Activity: 2212
Merit: 7064
Cashback 15%
December 15, 2021, 09:48:36 AM
#35
Development of Krux wallet is still active as you can see in github and developer is currently optimizing the code and working on translations with community contributions.
Krux Website is released with detailed step by step installation guide, generating mnemonic, menu navigation, etc. and it's still work in progress:
https://jreesun.github.io/krux/

For support installing, using Krux wallet or any other questions you can visit matrix.to/#/#krux:matrix.org
legendary
Activity: 2212
Merit: 7064
Cashback 15%
October 20, 2021, 06:31:03 AM
#34
I was talking about "normal" hardware wallets, say Trezor/Ledger. As far as I know it shouldn't be possible to extract the PIN.
I know you said this about regular hardware wallets because Krux doesn't need PIN codes.
For ledger wallet I am not sure if they keep PIN code in secure element or not (like seed words) but I know you can change PIN anytime and it's just 4 to 8 digits, so I won't trust them.
Kraken labs showed that it's possible to crack the PIN code on Trezor wallet, so I would rather use good passphrase in addition to PIN code.
In same way it's not very hard to bypass or reset password on Windows or Android OS, but some people still use and trust it. Smiley
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
October 20, 2021, 06:10:16 AM
#33
PIN code can be hacked or extracted fairly easy from any device, and it's more like a french fry keeping door locked.
I was talking about "normal" hardware wallets, say Trezor/Ledger. As far as I know it shouldn't be possible to extract the PIN.
legendary
Activity: 2212
Merit: 7064
Cashback 15%
October 20, 2021, 05:55:06 AM
#32
I hope this device doesn't have any cables for connections (USB, MicroUSB, etc) because the screen is not implanting pixels in random places around the characters which means they can be categorized/guessed through an oscilloscope.
This is airgapped device that has 200mAh battery for power, and usb cable is used only one time for loading the code, but this could probably be done with microSD card.
This attack you are speaking off is highly unlikely to happen, especially for unknown DIY device like Krux is.

With "normal" hardware wallets, one of my worries is that someone replaces it by another one, which is rigged to broadcast whatever PIN I enter. The thief can then enter PIN in the real wallet.
PIN code can be hacked or extracted fairly easy from any device, and it's more like a french fry keeping door locked.

legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
October 20, 2021, 05:38:27 AM
#31
they can be categorized/guessed through an oscilloscope.
This attack vector is not part of the long list of things I worry about. It sounds like an attack that can only work in a lab setting.

With "normal" hardware wallets, one of my worries is that someone replaces it by another one, which is rigged to broadcast whatever PIN I enter. The thief can then enter PIN in the real wallet.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
October 20, 2021, 05:15:44 AM
#30
I hope this device doesn't have any cables for connections (USB, MicroUSB, etc) because the screen is not implanting pixels in random places around the characters which means they can be categorized/guessed through an oscilloscope.
legendary
Activity: 2212
Merit: 7064
Cashback 15%
October 19, 2021, 07:44:18 AM
#29
I have just added support for single-key wallets. After entering your mnemonic, you will be presented with a new screen asking if you want "Single-key" or "Multisig" before landing on the home menu. Note that you still need to use the coordinator software to create the single-key wallet and generate PSBTs for you; Krux continues to act only as a signer.
Nice work!
I would also like to see some comparison of Krux wallet with Seed Signer, both of them are working in similar way and I heard that QR codes are now compatible between those two devices.
Krux wallet should be cheaper and more simple to make, and I think that Vlad Costea from Wasabi made one comparison and short reviews of DIY wallets but Krux is missing.
I would maybe add few more wallets and things to compare with advantages and disadvantages:


https://blog.wasabiwallet.io/diy-hardware-wallets-part-ii/
newbie
Activity: 10
Merit: 108
October 19, 2021, 12:41:38 AM
#28
Is it possible to optionally use it as a single sig device, in similar way like it's possible with Seed Signer device in settings?
Multi sig has many advantage but sometimes you want to avoid complications for whatever reason.

I have just added support for single-key wallets. After entering your mnemonic, you will be presented with a new screen asking if you want "Single-key" or "Multisig" before landing on the home menu. Note that you still need to use the coordinator software to create the single-key wallet and generate PSBTs for you; Krux continues to act only as a signer.

You'll want to pull down the latest code and do a full run through the steps: building the firmware, flashing the firmware, building the software (new step), and flashing the software.

If you run into any problems, feel free to file an issue on the repo or drop a message here. I'll try to check in on this thread more frequently.
legendary
Activity: 2212
Merit: 7064
Cashback 15%
October 12, 2021, 06:12:33 AM
#27
Just to reiterate what was stated above, Krux was designed to be a hardware signer for multisig wallets, and relies on coordinator software (such as Specter Desktop or BlueWallet) to generate PSBTs that it can sign to send funds out. It isn't really a 'hardware wallet', it's much simpler.
Is it possible to optionally use it as a single sig device, in similar way like it's possible with Seed Signer device in settings?
Multi sig has many advantage but sometimes you want to avoid complications for whatever reason.

The QR code input method offers a compromise by making the 'login' process a lot faster (near-instant reads once you have the camera lens honed in), but it requires that you create one which isn't the safest thing to accomplish. To solve that, Krux itself can print one out for you when you attach a mini thermal printer to it (probably sounds more intimidating than it is! see here: https://github.com/jreesun/krux#printing-qrs).
Seed Signer have the option for drawing your own QR code manually on paper with sharpie for example, and I think that is more permanent than thermal printing.
newbie
Activity: 10
Merit: 108
October 12, 2021, 02:19:08 AM
#26
Just to reiterate what was stated above, Krux was designed to be a hardware signer for multisig wallets, and relies on coordinator software (such as Specter Desktop or BlueWallet) to generate PSBTs that it can sign to send funds out. It isn't really a 'hardware wallet', it's much simpler.

so every time you turn it off from power you will wipe his memory, and you will have to import your key every time you turn it on.

This is inconvenient, but this was by design to decouple the hardware from the keys in a multisig so that:
1) you can have less hardware devices than there are keys in your multisig (saves money), and
2) you don't have to worry about safely storing your hardware devices in addition to physical backups of your keys, or have to worry about bit rot.

Basically, Krux is designed to be used with physical copies of your keys that you obtain from various geographic sites you have them stored at, hence all the different supported ways of inputting your mnemonic (as text, numbers, bitstrings, QR codes, etc.); I wanted a device I could use to input a key directly from a steel punch card without having to do a conversion, for example.

The QR code input method offers a compromise by making the 'login' process a lot faster (near-instant reads once you have the camera lens honed in), but it requires that you create one which isn't the safest thing to accomplish. To solve that, Krux itself can print one out for you when you attach a mini thermal printer to it (probably sounds more intimidating than it is! see here: https://github.com/jreesun/krux#printing-qrs). The downside to this is that you now have an extra copy of your mnemonic to safely store, but the upside is that you can always just burn it and make another. Alternatively, you could technically have the printed QR code be the only copy of your mnemonic, though I wouldn't suggest it since it could fade over time or if exposed to heat. If only there were a $50 laser printer one could use to etch a QR code into steel! Cheesy
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
September 27, 2021, 11:00:51 AM
#25
Thanks for these clarifications! So it's really a simpler version of SeedSigner basically. Pity it has no persistent (secure) storage, I assumed it had.
Yeah, I think jreesun first saw SeedSigner DIY device, and than he came up with an idea to use M5StickV to create his own version of signing device.
I think he did a great job with that fast QR codes and simple menus.
Yes, it looks great in the pictures!

Didn't an M5Stack with secure element exist? I think it does, but without camera.
There is only one ESP32 device with secure element same like in ColdCard, Bitbox02 and Passport, that is M5Stack Core2 ESP32 AWS, but it's more expensive and there is no camera included.
You always have tradeoffs with this devices.
I think it should be possible to get an SPI based secure chip and hook it up to the M5StickV with some wires, in theory Grin
I'll order a stick and see what's possible when I find the time Smiley
legendary
Activity: 2212
Merit: 7064
Cashback 15%
September 26, 2021, 02:52:41 PM
#24
Thanks for these clarifications! So it's really a simpler version of SeedSigner basically. Pity it has no persistent (secure) storage, I assumed it had.
Yeah, I think jreesun first saw SeedSigner DIY device, and than he came up with an idea to use M5StickV to create his own version of signing device.
I think he did a great job with that fast QR codes and simple menus.

Didn't an M5Stack with secure element exist? I think it does, but without camera.
There is only one ESP32 device with secure element same like in ColdCard, Bitbox02 and Passport, that is M5Stack Core2 ESP32 AWS, but it's more expensive and there is no camera included.
You always have tradeoffs with this devices.
Pages:
Jump to: