Hey guys,
Can someone clarify the difference between:
I already have a Seed & Use a Hardware Device?
Aren't they basically the same? Like, if I just manually enter the seed from the hardware device under:
I already have a seed
Will signing through the hardware device still work if I haven't selected:
Use a Hardware Device?
Question about Electrum Multisig
7 replies 255 views
stack_2017Senior Member
Posts: 201 · Reputation: 1389
#2Apr 26, 2017, 12:26 AM
Use a hardware wallet -> You will link your device without exposing the seedphrase. Any transaction you make will need to be authorized from the physical device itself. This is basically the same as using the device's software (such as Trezor suite or Ledger live).
"I already have a seed" -> You will be restoring your hardware wallet (or any wallet) into Electrum. Doing so would make the device pretty useless afterwards.
OK, so it's just a matter of the computer knowing the seed when I enter it manually?
Could I still sign on the hardware device?
I will only use Electrum on an airgap computer, so it makes no difference whether the seed stays on the device or I enter it manually on an airgap computer.
I would like to use the hardware wallet (Specter Shield), unfortunately it is not compatible with Electrum, but if I enter the Specter Shield seed manually into Electrum, I could still use the Specter Shield as a signing device, right?
PS:
I think I'm making a mistake in my thinking, if I use a MultiSig with Electrum Coldwallet + Specter Shield and I enter the seed from the Specter Shield manually into Electrum, then I don't need the shield at all, since I can sign with both seeds with Electrum
stack_2017Senior Member
Posts: 201 · Reputation: 1389
#4Apr 26, 2017, 05:25 AM
You can still sign on the hardware device if you initiate a transaction from the hardware device, yes. But if you restore the seedphrase on the PC, then the signing is not going to happen on the device.
Or, if you go the "Use hardware device" route, then you would also be able to sign transactions from the device directly.
Hope this make sense.
There will be no connection between the device and Electrum in this case, because you're just restoring the seed. I'm not familiar with the device you mentioned, but I don't see how you would be signing from it.
It sound like you're trying to achieve something like this but using hardware wallets instead?
https://electrum.readthedocs.io/en/latest/coldstorage.html
I also see that you're mentioning "multisig" in the title... so you're trying to setup a multi signature wallet here?
Exactly you dont need the specter shield for signing because what is needed for signing the transaction is your private key which is already on the electrum wallet since you imported the seed phrase already. The only time you need a hardware wallet for signing is when you connect your electrum wallet to it and on that the seed phrase is not known by the electrum wallet.
What youre doing is not actually multi sig but rather still a single sig wallet. What you need if you have imported the seed phrase to an electrum wallet on an airgapped device is to simply set up a watch only wallet on an online device by importing the cold wallet public key to the online wallet. This way you only sign transactions using the airgapped device, the watch only wallet will create the transaction and after you have signed will be used to broadcast the same transaction
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#6Apr 26, 2017, 12:10 PM
"Use a hardware device" requires a specific transaction-signing protocol that's unique to the hardware wallet to be implemented in Electrum (usually as plugin)
"Use a master key" (import an extended (master) public key) or import a "skeleton wallet" exported from the hardware wallet opens for the following transaction signing options:
Via QR Code, the hardware device has to produce and accept the base43 encoded transaction data contained in the compatible QR code with Electrum. (AFAIK Shield uses UR2.0)Via "Micro SD" transaction export, it should be compatible as long as it's in "PSBT" format (usigned) and serialized hex raw transaction (when signed).
Using "I already have a seed" will create a wallet containing the seed that can derive all of your keys for signing.
Yes, if you want separate signing devices; the alternative is to use your hardware wallet's master public key and see if you can export PSBT transaction.
Perfect, thank you very much,
So QR Code doesn't work in the same way as with the SeedSigner.
USB doesn't work either because there's no plugin.
The only option is to try using microSD.
Is it the same procedure as the Foundation Wallet? ( via .json file )
Or how exactly do I connect the Specter to Electrum via SD
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#8Apr 26, 2017, 06:30 PM
Use ".psbt" export option on your Electrum watch only wallet (created with your xpub, notes below)
as described here: https://bitcoinelectrum.com/creating-a-cold-storage-wallet-in-electrum/
Transfer that to Specter Shield via SD card, sign it and import it to Electrum with "Tools->Load Transaction...".
Now, this is where it may not work, the signed raw transaction should be compatible with Electrum, else, the broadcast button wont be clickable even though the transaction is fully signed.
If it doesn't work and you're really up to it, you can convert the exported base64 psbt text (signed) to serialized hex string
with Bitcoin Core command: finalizepsbt <psbt>, it should output a hex string if the psbt is fully signed.
With that, you should install Bitcoin Core in the air-gap machine, using that command wont require a wallet nor syncing, just use its console if you do not want to use CLI (Window->Console).
Notes: If Specter Shield can export an Electrum-compatible skeleton wallet like what Coldcard does, use it.
If you have no other option but through xpub and your addresses aren't legacy, you should convert it first to a different format (e.g.: zpub, ypub) using convert_xkey command in the console (View->Show Console).
Sample commands (testnet):
Legacy to Native SegWit:
Result: vpub5aTVFh4KPVJWDHMkyM4bpX7Fk5EJ2yWqRPexaneGXzjafovW8wibYP2yyTuyTewt8GMcgAXns53 UANGB28fTsKgYGQ5J4yszJWsEV9pVfCL
Legacy to Nested SegWit:
Result: upub5FdDx2PQEom2MzAe8zGycS1ka75r6MXLWH8joPkP9zMhci7GtHZ2vKNqxFxPTkHxidEovgwEQQg vH5ecJSFT55zwQ4NsV54W2nob6dNm9aS
Native SegWit to Legacy:
Result: tpubDEVePGDqQ8LvBfvr6FcwScddR8cqubztoFHhW8VBdvFEXJDfiUtovx26FuuvyyCxjT88nhEnKVa cd7yurPLjMEW34gDSvLBCRvaw2Nt1eeu