Beide firmwareversies bouwen dezelfde 2-van-3 multisig-wallet. We doorliepen de volledige procedure op elk toestel en fotografeerden elk scherm.
Bijna alles is hetzelfde. Een seed aanmaken is hetzelfde. De publieke sleutels exporteren, de wallet bouwen, een transactie controleren en ze ondertekenen zijn hetzelfde.
Één ding niet: de seed van het toestel halen en op een veilige plek bewaren.
Op stock SeedSigner betekent dat de seed als een QR overschrijven. Het toestel toont je een raster van 25 hokjes, telkens één uitvergroot hokje, en je schrijft elk hokje met de hand over op iets dat blijft bestaan. Vijfentwintig hokjes, per seed. Drie seeds in een 2-van-3, dus vijfenzeventig.
Op ShieldSigner steek je een kaart in, kies je een pincode, en de seed staat op de kaart.
In schermen geteld, voor de volledige 2-van-3:
| stock | ShieldSigner | |
|---|---|---|
| A: 3 seeds aanmaken | 40 | 40 |
| B: 3 seeds back-uppen | 90 | 24 |
| C: 3 publieke sleutels exporteren & wallet bouwen | 19 | 19 |
| D: Controleren en ondertekenen | 14 | 14 |
| Volledige 2-van-3, totaal | 163 | 97 |
Alleen B verschilt, en met 66 schermen. Elke stap staat hieronder, in volgorde, dus dit dient meteen als handleiding om een 2-van-3 correct op te zetten.
Hoe dit is gedaan
ShieldSigner is een SeedSigner-fork die ondersteuning voor smartcards toevoegt.
Beide runs liepen in de browsersimulator, die de echte SeedSigner-firmware draait. Elk toestel maakte zijn eigen seed, zoals in echt gebruik. Niets hier raakt echt geld: deze seeds zijn weggegooid en mogen nooit geld bevatten.
Twee schermen gelden als hetzelfde scherm wanneer het toestel hetzelfde scherm toont. Een andere fingerprint die erop staat afgedrukt, maakt er geen ander scherm van.
A: 3 seeds aanmaken
Identiek op beide. Het toestel neemt een foto, zet de ruis erin om naar een seed, toont de twaalf woorden en vraagt om te bevestigen dat je ze hebt.
B: 3 seeds back-uppen
Dit is het verschil, en het is de moeite om hier traag te lezen.
Per seed heeft stock dertig schermen nodig. Vijf daarvan zijn keuzes en waarschuwingen. De andere vijfentwintig zijn de QR, telkens één uitvergroot hokje, en elk van die vijfentwintig is een hokje dat je met de hand overschrijft op iets dat blijft. Drie seeds, dus negentig schermen en vijfenzeventig hokjes.
ShieldSigner heeft er acht per seed nodig, vierentwintig voor alle drie. De kaart meldt dat ze leeg is, je kiest een pincode, je bevestigt ze, je aanvaardt het label, en de seed staat op de kaart.
Het zijn allebei echte back-ups. De ene vraagt een vaste hand en een lange avond, de andere een pincode.
stock SeedSigner
ShieldSigner
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner
ShieldSigner: geen overeenkomstige stap in deze back-uproute.
stock SeedSigner: geen overeenkomstige stap in deze back-uproute.
ShieldSigner
stock SeedSigner: geen overeenkomstige stap in deze back-uproute.
ShieldSigner
stock SeedSigner: geen overeenkomstige stap in deze back-uproute.
ShieldSigner
stock SeedSigner: geen overeenkomstige stap in deze back-uproute.
ShieldSigner
stock SeedSigner: geen overeenkomstige stap in deze back-uproute.
ShieldSigner
stock SeedSigner: geen overeenkomstige stap in deze back-uproute.
ShieldSigner
De andere twee seeds
Een 2 van 3 heeft drie seeds nodig, dus alles hierboven gebeurt drie keer. De stappen zijn elke keer hetzelfde, dus ze worden hieronder niet volledig herhaald; waar een stap een herhaling is, staat vermeld welke stap ze herhaalt.
Stappen 50 tot 97 herhalen stappen 2 tot 49 voor seed 2.
Stappen 98 tot 145 herhalen stappen 2 tot 49 voor seed 3.
C en D: 3 publieke sleutels exporteren, wallet bouwen, controleren en ondertekenen
Vanaf hier houden de twee firmwareversies op te verschillen. De sleutels van het toestel halen, de 2 van 3 samenstellen, de transactie controleren en ze twee keer ondertekenen: dezelfde schermen, in dezelfde volgorde, op beide.
Stappen 153 tot 159 herhalen stappen 146 tot 152 voor seed 2.
Stappen 160 tot 166 herhalen stappen 146 tot 152 voor seed 3.
Wat dit betekent als je een keuze maakt
Vraag je je af of de smartcard-fork iets verandert aan hoe multisig werkt: dat doet ze niet. Dezelfde procedure, dezelfde sleutels, dezelfde descriptor, dezelfde handtekeningen, en de schermen tonen het.
Wat ze verandert, is fase B, en enkel fase B: de seed neerschrijven als een QR. Vijfenzeventig hokjes met de hand overschrijven over drie seeds is geen kleine opgave, en het is net dat werk dat mensen uitstellen.
QR-codes hebben foutencorrectie, en SeedQR gebruikt niveau L, dus een paar verkeerde stippen zijn te herstellen in plaats van fataal. Het toestel scant je kopie ook terug in en zegt je of ze leesbaar is. Wat dit dus kost, is de arbeid, niet de breekbaarheid: een avond zorgvuldig overschrijven, drie keer, tegenover een kaart insteken en een pincode kiezen.
Dat is de afweging. Niet het ondertekenen, niet de wallet, niet de adressen. De back-up.
Je kunt beide firmwareversies zelf draaien in de browsersimulator en op dezelfde knoppen drukken, zonder hardware en zonder iets te installeren.