Latest on ATNET:

#derivatives #derisking
#crypto-trading-strategy #portfolio-diversification

Bitcoin Signature: How to sign and verify a message in your bitcoin wallet

Altcoin Trading Blog
06/22/21 · Technical

About This Blog Post

  1. Filed as Tech
  2. Uses electrum ( + more posts) 
  3. Uses trezor ( + more posts) 
  4. Uses coldcard ( + more posts) 
Ledger wallet no longer supports bitcoin signatures. You will need the Electrum wallet, but signatures are easy to do.
Crypto Trading Strategy - 5 Weeks of Onboarding Reads: Subscribe and select "All Posts" or "Strategy & Security" as your preference.
 
Bitfinex Platform Exchange Fee Discount

You know what they say: Not your keys, not your bitcoin.

Conversely - if you can prove you own the keys, for all intents and purposes that also says you own the crypto.

Address signature verification is typically needed when you lose access to an exchange account where you were not KYC’d. Regulated exchanges may also ask for wallet signature if you submit documents for verification, but they are rejected. The exchange will return your deposits then, and failing to prove you own the private keys to the origin will get your cryptocurrency flagged as stolen.

How to Sign Message in Bitcoin Electrum

If you do not use Electrum for the address you need to sign, find the seed phrase of that wallet and restore it in Electrum. Then proceed with the steps below.

  1. Open the Electrum wallet. If you have multiple wallets, you need to go to the one which has the address you are verifying.
  2. Go to Addresses and find the concerned address
  3. Right-click the address and choose Sign/Verify Message
  4. Copypaste the message to sign into its box and click Sign. You will be asked for the wallet password.
  5. The signature string is in the bottom box.

How to Verify Bitcoin Signature in Electrum

  1. Open the Electrum wallet.
  2. Go to Addresses and find the address you need to use.
  3. Right-click the address and choose Sign/Verify Message
  4. Paste the message that was meant to be signed into its box.
  5. Paste the signature string into its box and click Verify.

Why do we use Bitcoin signatures

Message Signature as a proof

For obvious reasons, you cannot show the private key to anyone.

Showing it would prove your ownership, but at the same time it would make you lose said ownership.

One of the established ways to prove the ownership of a private key is to sign a message with it. To sign a message you only work with the public address associated with your private keys, but you need to do it from the wallet that holds it.

That requires your physical access to your wallet device or laptop, and a password that decrypts the wallet and lets you use it.

Wallet Support

Message signing has become an advanced function. Most new crypto wallets that are user friendly do not support it.

  • Electrum: SUPPORTS MESSAGE SIGNING
  • Trezor: SUPPORTS MESSAGE SIGNING
    • Trezor wallet’s Chrome extension lets you sign a message with an address belonging to your wallet.
  • Ledger: NO SUPPORT
    • Ledger wallet did support message signature and verification in its old web interface. The web UI us now deprecated. Ledger Live does NOT support message signing.

Exchange says your message signature could not be verified?

Sadly, a lot of crypto software that deals with bitcoin message verifications still will not validate bech32 signatures. The format is too new and most software libraries that deal with BTC were not yet updated to recognize bech32.

If you genuinely signed a message, the address was bc1 but the exchange customer support tells you the signature could not be verified, do point this out.

There is an alternative way to prove your ownership of that address: Move an arbitrary (but pre-defined) amount of crypto from the address in question to any other address you own.

By broadcasting a transaction from an address you prove you have the private keys to it. If it is a random specific amount, there is practically zero chance that the transaction out of the wallet could be coincidental. Any exchange should accept that as the proof of ownership.

The downside is you lose the transaction fees, especially if you need to first transfer some money to the address you’re verifying as well.

Your wallet does not support message signatures?

If you have access to your wallet’s seed phrase, use it to load your wallet into Electrum.

Here’s how to restore a copy of any BTC wallet into Electrum:

  • Open the Electrum wallet and in the File menu, select “New/Restore”
  • Select “Standard wallet”
  • Select “Already have a seed”

If you need to verify ownership of a Legacy address starting with 1:

  • Type in your seed phrase
  • Choose legacy

If you need to verify ownership of a P2SH Segwit address starting with 3:

  • Type in your seed phrase and click “Options”
  • Select BIP39 (ignore any warnings)
  • Select derivation path “p2sh-segwit”

If you need to verify ownership of a native Segwit address starting with bc1:

  • Type in your seed phrase
  • Choose segwit

Latest Airdrops

Bitgesell (BGL) Weekly Lotto Lucky Draw - ends 31 Jul
Bitgesell accepts bets in the weekly lotto. You submit your bet via a Google form and confirm via bitcointalk thread. This round ends Saturday, July 31 at 11:00 AM UTC.
PolkaDog PDOG bounty - ends 28 Aug
PDOG runs 4 weeks of social media bounty work. There are bounties for all the social networks, including TikTok and Instagram, which is not that common in token bounties. Requires proof via bitcointalk.
ByteDEX bounty campaign - ends 14 Aug
ByteDex is a Hybrid Decentralized Crypto Exchange that trades on a Dual-Chain Blockchain. There are four weeks of social media and blogging works available.