Bitcoin Forum
February 18, 2020, 12:22:29 AM *
News: Latest Bitcoin Core release: 0.19.0.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Tutorial] Sign and verify messages - Prove ownership of BTC address - Electrum  (Read 429 times)
BTCW
Copper Member
Jr. Member
*
Offline Offline

Activity: 68
Merit: 4

Click "+Merit" top-right corner


View Profile WWW
May 31, 2018, 12:32:45 PM
Last edit: May 31, 2018, 01:15:34 PM by BTCW
 #1

Introduction

A lot of people are asking how to prove or claim the ownership of bitcoin belonging to a certain public address.

Say your name is Jane Doe, and you want to make business with a John Doe, who claims his public address is 19Ho6eA4hBtb7hkN1S6GdmHD611Egd7gtC and that he had exactly 2.04531538 BTC on October 15, 2015. How can John prove without doubt that he indeed owns this address, so that Jane can be absolutely confident that it is the case?

In this short tutorial we will show you how you can accomplish all this using our favorite wallet, Electrum. You don't need any coding skills at all, but you should be familiar with the concept of private and public keys, and not the least, the importance of NEVER SHARING YOUR PRIVATE KEY with anyone or send it online in any form.

All private and public keys inhere are for educational purposes and should never be recycled - or you will be robbed in the blink of an eye.


The blockchain is not enough - A screenshot is not enough

John sends Jane the following link to the blockchain

https://blockchain.info/address/19Ho6eA4hBtb7hkN1S6GdmHD611Egd7gtC

Sure, the public address is there, the amount and the date too. But pretty soon Jane realizes that John could have picked any random address on the blockchain and sent her as "proof".

Jane asks John for better evidence, and John replies with two screenshots of his wallet:





Alright, so it certainly looks like John is telling the truth. But - images are very easily manipulated. John could have used Photoshop to create these images.

Jane is therefore still not convinced. And she shouldn't be. She requires definitive proof. The best part is that she can have it!


Signing and verifying messages - a perfect proof

A bitcoin address consists of a private key - which you should keep REALLY private - and a public key, which is the same as your public address. Here is the sweet part: A cryptographic keypair can be used to sign messages. Without even involving the blockchain.

If John truly owns the public address that he claims, he also owns its private key. And it can be used to sign messages.

In this example, John indeed owns the bitcoin address he claims. Specifically, his credentials are:

Code:
Private key: 5KSFWJRuCuTFFsPQgokmLuKbY84f8e9pcWaJX2C7r8jsLi2RuJF
Public key: 19Ho6eA4hBtb7hkN1S6GdmHD611Egd7gtC

BEWARE - NEVER USE THESE - SIMPLY AN ILLUSTRATIVE EXAMPLE

Jane now realizes that if John is honest, he has access to his keypair and thus able to sign messages for Jane.

Now, Jane asks John to sign a specific message, using his keypair. Jane wants John to sign his public key, i.e. his bitcoin address, with the message "I own this address, Jane!"

And this can be swiftly done in Electrum. John simply imports his private key into a fresh wallet, selects Tools/Sign/verify message, and...



The wallet spits out the following code...

Code:
I own this address, Jane!

19Ho6eA4hBtb7hkN1S6GdmHD611Egd7gtC

GxHVqiSW+WxEA+IlNB5oqDpzLba7MJxYJl5Gr3ijm1SQYb9xEukrvnoXPbfi1k+wa54k0F/0tQ0hdsEjw1paa5w=

... which he sends Jane. Note especially that he could NOT have signed this message without his private key. And even more important, John never sends Jane his private key.

Jane is now able to use Electrum on her own computer. Without importing any specific wallet details at all, Jane can now use the same function and paste in her own EXACT message, John's bitcoin address, the signed code, and press "Verify". And she gets...




Conclusion

Mission accomplished! Jane can now be 100% confident that John owns the address he claims he does. John has proven beyond all doubt that he controls the bitcoin address he says he does.

If you're considering dealing bitcoins with people you are unsure about, simply ask them to sign a message for you. It is really easy, and it makes the whole crypto ecosystem significantly safer and more credible. Win-win!
1581985349
Hero Member
*
Offline Offline

Posts: 1581985349

View Profile Personal Message (Offline)

Ignore
1581985349
Reply with quote  #2

1581985349
Report to moderator
1581985349
Hero Member
*
Offline Offline

Posts: 1581985349

View Profile Personal Message (Offline)

Ignore
1581985349
Reply with quote  #2

1581985349
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
mdayonliner
Sr. Member
****
Offline Offline

Activity: 490
Merit: 377


I always respected forum rules even private ones


View Profile WWW
May 31, 2018, 12:41:44 PM
 #2

Hey great effort however did you miss this topic anyhow : How to sign a message?!

You needed to use the search function before working on this post  Grin

May be you can rename the title (i.e: [Tutorial] How to sign and verify messages - Electrum Exclusive). Never mind, just saying.

I could not stand the lies against me anymore. I can not prove them wrong too. It's better I live in peace.
So, I am willingly locking mdayonliner. Thank you BitcoinTalk. Be addictive, be a Bitcoiner.
BTCW
Copper Member
Jr. Member
*
Offline Offline

Activity: 68
Merit: 4

Click "+Merit" top-right corner


View Profile WWW
May 31, 2018, 12:46:13 PM
 #3

Hey great effort however did you miss this topic anyhow : How to sign a message?!

You needed to use the search function before working on this post  Grin

May be you can rename the title (i.e: [Tutorial] How to sign and verify messages - Electrum Exclusive). Never mind, just saying.

Fair enough Smiley

Title updated.
Strufmbae
Member
**
Offline Offline

Activity: 364
Merit: 20

Every Day is A Good Day (:


View Profile
May 31, 2018, 01:17:20 PM
 #4

What is with click plus merit on your title? Just off topic question.
mdayonliner
Sr. Member
****
Offline Offline

Activity: 490
Merit: 377


I always respected forum rules even private ones


View Profile WWW
May 31, 2018, 04:07:25 PM
 #5

What is with click plus merit on your title? Just off topic question.

Seems like you had a long sleep like Rip Van Winkle  Smiley

Feel free to read this:  Merit & new rank requirements

Welcome to the forum. Hope to see you around.

I could not stand the lies against me anymore. I can not prove them wrong too. It's better I live in peace.
So, I am willingly locking mdayonliner. Thank you BitcoinTalk. Be addictive, be a Bitcoiner.
TryNinja
Legendary
*
Offline Offline

Activity: 1288
Merit: 1824



View Profile
May 31, 2018, 04:54:29 PM
 #6

What is with click plus merit on your title? Just off topic question.

Seems like you had a long sleep like Rip Van Winkle  Smiley

Feel free to read this:  Merit & new rank requirements

Welcome to the forum. Hope to see you around.
I think he is talking about @BTCW's personal text 'Click "+Merit" top-right corner'

I'm pretty sure the user already knows about merit.

Thank you Mr. Tryninja, if I have merit I will toss you one for your very informative answer.

BTCW
Copper Member
Jr. Member
*
Offline Offline

Activity: 68
Merit: 4

Click "+Merit" top-right corner


View Profile WWW
June 02, 2018, 10:54:59 PM
 #7

An addition:

This highlights the importance of having access and complete control of your private keys. Never use online services or any type of software wallet that doesn't give you absolute control of your private keys. He or she who has the private key owns the coins associated with it.

You can have a 128 character password with crazy letters, two-factor authentication and IP restrictions, and still be completely screwed, because ALL you need to transfer funds from a public address is its corresponding private key. That is the cold hard truth.

For Bitcoin, Electrum is at the time of writing our first choice, why we dedicated a tutorial specifically for it.

We don't feel comfortable enough to recommend any online wallet, since we cannot know with perfect certainty who is trustworthy and who is not.
Strufmbae
Member
**
Offline Offline

Activity: 364
Merit: 20

Every Day is A Good Day (:


View Profile
June 08, 2018, 07:47:41 PM
 #8

Can i also ask for a verificiation sign message in my electrum app wallet? (android user here) .

I've been busy for about two weeks. And feel thankful for the appreciation, welcome, help and answer to my question.

@mdayonliner
@mrtryninja

I need to learn more about this industry for a better future. 
(insert song : i wanna be a billionaire by bruno mars).
CryptopreneurBrainboss
Hero Member
*****
Offline Offline

Activity: 714
Merit: 1051


WOLF.BET - Provably Fair Dice Game


View Profile WWW
March 05, 2019, 01:07:45 PM
 #9

Can i also ask for a verificiation sign message in my electrum app wallet? (android user here) .

I need answer on this, just downloaded electrum app wallet to use for my everyday transaction. Can it be used to sign and verify signature? I did a Google search and it resulted to this thread, I opened thinking question was already answered.


.WOLF.BET.▄███████████▄
███████    ████████████▄
███████    ███████   ▀██
██████████████████    ██
██    ██████████████████
██    ███████    ███████
█████████████    ███████
███████    █████████████
███████    ███████    ██
██████████████████   ▄██
██        ▀███████████▀
██
██

█████
  ███
  ███
  ███
  ███
  ███
  ███
  ███
  ███
  ███
  ███
█████


TryNinja
Legendary
*
Offline Offline

Activity: 1288
Merit: 1824



View Profile
March 05, 2019, 01:18:41 PM
Merited by CryptopreneurBrainboss (1)
 #10

I need answer on this, just downloaded electrum app wallet to use for my everyday transaction. Can it be used to sign and verify signature? I did a Google search and it resulted to this thread, I opened thinking question was already answered.
I didn’t saw OP’s last post at the time (maybe because he tagged me as “mrtryninja” Cheesy).

But the answer is no. If you need to verify a message while in your phone, you can use a website like https://bitcotools.com/verify-messages or https://tools.bitcoin.com/verify-message

CryptopreneurBrainboss
Hero Member
*****
Offline Offline

Activity: 714
Merit: 1051


WOLF.BET - Provably Fair Dice Game


View Profile WWW
March 05, 2019, 01:32:53 PM
 #11

Receiving a "500 Internal Server Error" on the second websites and the first only works for legacy Bitcoin addresses meanwhile my address is segwit. Any website that can be used for segwit address? Also procedures who be appreciated to avoid unnecessary mistakes, thank you. I'm new to this.

.WOLF.BET.▄███████████▄
███████    ████████████▄
███████    ███████   ▀██
██████████████████    ██
██    ██████████████████
██    ███████    ███████
█████████████    ███████
███████    █████████████
███████    ███████    ██
██████████████████   ▄██
██        ▀███████████▀
██
██

█████
  ███
  ███
  ███
  ███
  ███
  ███
  ███
  ███
  ███
  ███
█████


Lucius
Legendary
*
Offline Offline

Activity: 1694
Merit: 1522


⚔ Fortis Fortuna Adiuvat ⚔


View Profile WWW
March 05, 2019, 02:47:44 PM
 #12

CryptopreneurBrainboss, I do not know how much has changed in terms of verification of SegWit address signed message to the present day, but I find that one member is try to verify such address (from Trezor HW) in Electrum, but this is not working for him. But he find solution with help of other forum member in this variation of brainwallet : https://jhoenicke.github.io/brainwallet.github.io/#verify

I hope it works, personally I have not tried.

Link to thread : https://bitcointalk.org/index.php?topic=5107563.0

zhekinsp
Full Member
***
Offline Offline

Activity: 882
Merit: 126


★777Coin.com★ Fun BTC Casino!


View Profile
March 05, 2019, 08:18:54 PM
 #13

Can i also ask for a verificiation sign message in my electrum app wallet? (android user here) .

I need answer on this, just downloaded electrum app wallet to use for my everyday transaction. Can it be used to sign and verify signature? I did a Google search and it resulted to this thread, I opened thinking question was already answered.



As far as I know electrum mobile wallet don't have that feature,but you can sign in a message from coinomi android app. For the tutorial : https://medium.com/@bytether/how-to-sign-a-message-with-a-coinomi-android-wallet-9ebdda63e912

pooya87
Legendary
*
Offline Offline

Activity: 1918
Merit: 2342


Remember tonight for it's the beginning of forever


View Profile
March 06, 2019, 05:35:19 AM
 #14

CryptopreneurBrainboss, I do not know how much has changed in terms of verification of SegWit address signed message to the present day, but I find that one member is try to verify such address (from Trezor HW) in Electrum, but this is not working for him. But he find solution with help of other forum member in this variation of brainwallet : https://jhoenicke.github.io/brainwallet.github.io/#verify

I hope it works, personally I have not tried.

Link to thread : https://bitcointalk.org/index.php?topic=5107563.0

the problem is lack of standard and lack of communication between different developers! Trezor guys have defined a specific standard for themselves which they are using which is not used by anyone else which is why we have trouble verifying them anywhere else.
i pointed out the problem in that topic you linked, but basically it is about that little first byte! if you ignore than and use the following 64 bytes which is the actual signature, you can verify any message but you will have to change the underlying code for that.

there is also bip322 which is not yet complete or adopted.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!