Author

Topic: [Tutorial] Sign and verify messages - Prove ownership of BTC address - Electrum (Read 709 times)

legendary
Activity: 3472
Merit: 10611
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://bitcointalksearch.org/topic/cannot-verify-signed-message-from-trezor-with-electrum-5107563

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.
full member
Activity: 882
Merit: 126
★777Coin.com★ Fun BTC Casino!
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
legendary
Activity: 3234
Merit: 5637
Blackjack.fun-Free Raffle-Join&Win $50🎲
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://bitcointalksearch.org/topic/cannot-verify-signed-message-from-trezor-with-electrum-5107563
legendary
Activity: 2450
Merit: 4295
eXch.cx - Automatic crypto Swap Exchange.
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.
legendary
Activity: 2758
Merit: 6830
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
legendary
Activity: 2450
Merit: 4295
eXch.cx - Automatic crypto Swap Exchange.
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.

member
Activity: 486
Merit: 27
HIRE ME FOR SMALL TASK
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).
copper member
Activity: 193
Merit: 255
Click "+Merit" top-right corner
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.
legendary
Activity: 2758
Merit: 6830
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.
copper member
Activity: 630
Merit: 420
We are Bitcoin!
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.
member
Activity: 486
Merit: 27
HIRE ME FOR SMALL TASK
What is with click plus merit on your title? Just off topic question.
copper member
Activity: 193
Merit: 255
Click "+Merit" top-right corner
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.
copper member
Activity: 630
Merit: 420
We are Bitcoin!
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.
copper member
Activity: 193
Merit: 255
Click "+Merit" top-right corner
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!
Jump to: