pull down to refresh

Hi again,

I have been working on SignerOS for some time and I just released v1.3.0.

SignerOS is an air-gapped Bitcoin signing system that runs from a USB stick. The idea is simple: use a regular PC as an offline Bitcoin signing device and wallet creation device.

It is a very minimal Buildroot-based Linux system. There is no network support and no desktop environment. The signing application is basically the whole system.

It runs from RAM and does not install anything to the PC. You boot it, use it, and shutdown the PC when you are finished. It never touch the hard-drive.

After my previous post, some people here took a look at the project and gave me some good feedback. One of the comments also pointed out some things about the change validation, especially for multisig and P2WSH/P2SH scripts.

So I did another review of this part of the code and made some improvements in v1.3.0.

Some of them:

  • Better script validation: Before, SignerOS was mainly looking for your public key inside the script. Now it reads the script and checks what the script actually does.
  • Better multisig validation: For 2-of-2, 2-of-3 and other multisig wallets, SignerOS checks the real public keys of the cosigners instead of trusting a wallet description or label in the PSBT.
  • All inputs are checked: While working on this, I also found a case where one valid input could make a fake change output look valid. Now all inputs are checked to make sure they belong to the same wallet.
  • Timelocks: Fixed some problems in how timelocked scripts are handled.
  • More warnings: There are also some new warnings for multisig change outputs which are valid, but may not be recognized by some wallet software.

I think the most important part of this release is that SignerOS is now better at checking "is this change really mine?" before signing.

Thanks to everyone who is interested in the project, tested it, reviewed the code, reported issues and sent donations.

The feedback from the previous post was very useful for me. I originally made SignerOS for my own use, so it is really helpful to have other people looking at it too.

https://signeros.org

6 sats \ 1 reply \ @OT 16h

It sounds like Tails. How is this different?

reply

It does pretty much the same thing, but SignerOS is dedicated to a single use case and is air-gapped by design. It's also much more minimal, with a much smaller kernel and userspace.

reply

Interesting project, but i wonder if some people are going to be making similar arguments against this like they did Cake Wallet’s Cupcake app

reply

I don't know exactly what the arguments against the Cupcake app were, but I don't see SignerOS as an alternative to a hardware wallet. I see it more as a complementary option for a multisig setup.

reply