* v0.5.x has been out since April. It's f'n awesome and still gaining more features.
* But the Raspi Zero is near-impossible to find.
* We must port to alternate hardware.
* Begin MicroPython R&D hell.
Strategy:
Focus on easily-sourced microcontrollers (MCUs) instead of Pi-like single-board computers (SBCs).
The Pi Zero was an amazing cheat to get @SeedSigner off the ground quickly, but an MCU always made more sense (e.g. waiting 45s for linux to load is ridiculous).
The most popular MCU afaik is the STM32 line. But they're in supply chain hell. "See you in 2023" is not an option.
ALMOST through the hardest parts of @SeedSigner's PSBT review screens.
BIG breakthrough: realizing we can confirm change addrs much more easily than previously thought!
We can instantly provide assurances that single sig change addrs are legit. Multisig requires a 2nd step.
"35c5d905: change #0" means:
* For the seed that we selected to sign this psbt (ID'ed by its fingerprint)...
* The addr from the psbt was confirmed to match the seed's first (#0) change addr.
This is undeniably my seed's correct change addr. My change is not being stolen.
And, yes, probably the "confirmed address for seed" label could be improved. So f'n hard to convey complex concepts in limited real estate!
Experimenting with this @SeedSigner PSBT warning screen.
If your coordinator software gives you an evil PSBT that steals your change output, this would call that out.
But legit txs can obv be a full spend, too.
So too scary or confusing for noobs? Better wording ideas?
Obv a noob could misconstrue "input value" with "OMG is it stealing my WHOLE WALLET?!!"
But I think noobs are unlikely to ever construct a tx that spends exactly a whole utxo (and so wouldn't see this warning) unless they're actually sweeping their whole wallet.
The other possibility is that they're trying to sign with the wrong key.
(though me may be able to prevent this from happening, too)
Learning a lot more about what info @SeedSigner can pull out of a #Bitcoin PSBT.
What if you try to sign a PSBT w/the wrong seed? How do we detect that it is the wrong seed? Should we try to stop you or are there edge cases where it's better to let you try?
Live demo thus far!
@SeedSigner IF it makes sense to still offer the "Sign PSBT" button on what looks like the wrong seed, how should that be indicated?
The added question mark isn't super helpful, but there isn't much room to work with either.
And how does the seed/PSBT check work? We check each input utxo's `bip32_derivations` list which is generated by the `embit` library.
IF we find derivations AND the fingerprint within at least one of them matches our seed, THEN we know it's a valid seed for that PSBT.
Been collecting random easy-to-source metal plates to try to work out a super low budget, under-the-radar version of the awesome @SeedSigner SeedQR plates that @SeedMint21 has been testing.
My improvised versions obv won't be as nice nor as durable, though.
These credit card-sized bottle openers (wha..., why?) make the best impression of the bunch. Thicker and studier than they look. Shiny, smooth, w/nice rounded edges.
No indication of what grade of stainless steel. Assume meh.
Also testing a new QR template using dot targets instead of the inner grid, as suggested by @SeedMint21.
I think the dot targets are a bit better; there's less visual clutter. The overall scale on these plates is pretty small, but it's all easier on my eyes than I expected.