Bitcoin Forum
May 11, 2024, 01:33:44 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why are few address impossible to be singed?  (Read 283 times)
Sohyun Park (OP)
Member
**
Offline Offline

Activity: 103
Merit: 10


View Profile
November 14, 2019, 12:28:52 PM
 #1

its impossible to sign a message with an address starting with a 3. Why is it so?

Please help.

1715391224
Hero Member
*
Offline Offline

Posts: 1715391224

View Profile Personal Message (Offline)

Ignore
1715391224
Reply with quote  #2

1715391224
Report to moderator
1715391224
Hero Member
*
Offline Offline

Posts: 1715391224

View Profile Personal Message (Offline)

Ignore
1715391224
Reply with quote  #2

1715391224
Report to moderator
"You Asked For Change, We Gave You Coins" -- casascius
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18512


View Profile
November 14, 2019, 12:44:28 PM
Merited by pooya87 (1)
 #2

It's not impossible, it's just that there isn't an accepted standard for doing so across all wallets.

Some wallets such as Electrum will let you sign and verify messages with both P2SH ("3" addresses) and Bech32 ("bc1" addresses). The only quirk is that you probably need to verify any message using the same client as the person who signed it, as different clients may be implementing different methods of signing (since there is no accepted standard), and so a different client may wrongly reject a correctly signed message.
pooya87
Legendary
*
Offline Offline

Activity: 3444
Merit: 10558



View Profile
November 14, 2019, 01:01:55 PM
 #3

you should also keep in mind that you aren't signing with your "address", you are creating a signature with your private key. so as long as your "address" has private key(s) you should be able to sign a message the same way you are signing a transaction (even if it is a multi signature address!).
the problem as o_e_l_e_o mentioned is that there isn't any standard in other words your "wallet" doesn't let you sign a message because the developers have not yet written any code for it to let you do that.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
Sohyun Park (OP)
Member
**
Offline Offline

Activity: 103
Merit: 10


View Profile
November 14, 2019, 01:18:18 PM
 #4

so as long as your "address" has private key(s) you should be able to sign a message the same way you are signing a transaction (even if it is a multi signature address!).

In short you mean that I can not sign address that belong to a exchange as I do not have a private key.

Still there is a query:


The screenshot is from: https://bitcointalk.org/index.php?topic=990345.0#post_intro

Here it is stated that we should not upload our private key.

HeRetiK
Legendary
*
Offline Offline

Activity: 2926
Merit: 2091


Cashback 15%


View Profile
November 14, 2019, 01:55:36 PM
 #5

What wallet are you using? If you're using Electrum, you should be able to sign a message as described by o_e_l_e_o with the caveat that your counterparty has to use Electrum as well to verify your signature. They don't need to use Electrum as their main wallet, they only need it for verification.

If the address belongs to an exchange or similar custodial service then no, no you can't use this address to sign a message.

Yes, and don't upload your private keys or recovery seed. Ever.


.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
pooya87
Legendary
*
Offline Offline

Activity: 3444
Merit: 10558



View Profile
November 14, 2019, 02:04:58 PM
 #6

so as long as your "address" has private key(s) you should be able to sign a message the same way you are signing a transaction (even if it is a multi signature address!).

In short you mean that I can not sign address that belong to a exchange as I do not have a private key.
you can not even spend the coins that is in the address that belongs to an exchange let alone sign a message. the exchange owns the private key and they spend the coins and they can also sign messages. so theoretically the exchange can sign a message from the address that belongs to your account on your behalf and give you the signature (they won't do it though).

Quote
~
Here it is stated that we should not upload our private key.
that is correct but it has nothing to do with my comment. signing a message doesn't require you to "upload" or even reveal your private key! it is a very similar process to signing a transaction, that is why i said it could even work for multi signature addresses.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18512


View Profile
November 14, 2019, 02:53:39 PM
 #7

you can not even spend the coins that is in the address that belongs to an exchange let alone sign a message.
Furthermore, "your" address on the exchange isn't your address at all, just an address they have assigned to you to deposit, and the bitcoin you have deposited to that address have almost certainly been swept to the exchange's main central wallet (you can verify this by putting the address in to a block explorer and seeing that it likely has a balance of zero). There is little point trying to "prove" that an exchange address is yours via signing a message since you don't actually control it in any way, and the exchange can assign you a new one at any time, as well as potentially even reassigning the old one to someone else (unlikely, but some exchanges have done stupider things in the past).

It will be impossible to sign any exchange address, regardless of whether it starts with "1", "3", or "bc1". You can only sign addresses you control. If you want to be able to sign a message from an address you control, then you will need to set up your own wallet - I would suggest electrum.org.
Sohyun Park (OP)
Member
**
Offline Offline

Activity: 103
Merit: 10


View Profile
November 15, 2019, 07:23:07 AM
 #8

What wallet are you using? If you're using Electrum, you should be able to sign a message as described by o_e_l_e_o with the caveat that your counterparty has to use Electrum as well to verify your signature. They don't need to use Electrum as their main wallet, they only need it for verification.

If the address belongs to an exchange or similar custodial service then no, no you can't use this address to sign a message.

Yes, and don't upload your private keys or recovery seed. Ever.

I am using blockchain.com wallet. Let me tell you the actual problem I am facing. I am trying to sign my address in Ubuntu and installing Bitcoincore or electrum needs root password which I have forgot so I am preferring to use a wallet which is online.

Any suggestions of online wallets that allows signing my address online.

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18512


View Profile
November 15, 2019, 08:42:33 AM
Merited by pooya87 (2), HeRetiK (1), ABCbits (1)
 #9

So why not just reset your root password?

Restart your computer and hold down shift until the GRUB menu appears.
From the GRUB menu, select "Recovery mode".
From the new menu, select "Drop to root shell prompt".
Input the following to grant write access to the root partition:
Code:
mount -rw -o remount /
Input the following to reset the password, replacing "username" with the username of the account needing reset:
Code:
passwd username
You will be prompted to input a new password twice. Once you have done so, type "exit" and then select "Resume normal boot".

You can then install Electrum, import your blockchain seed, and sign a message as you need.

I'm not aware of any web wallet which allows you to sign a message. A workaround would be to download both https://iancoleman.io/bip39/ and https://brainwalletx.github.io/ to an airgapped machine, input your seed phrase from blockchain.com in to iancoleman, pull the private key for the address you want to sign a message with, and put that in to brainwallet to sign a message. I wouldn't recommend doing this unless you can do it on a separate computer which you can guarantee will be permanently airgapped (i.e. never have an internet connection). It doesn't sound like you have another device available, so this method would be a bad choice for you.
bob123
Legendary
*
Offline Offline

Activity: 1624
Merit: 2481



View Profile WWW
November 15, 2019, 02:07:50 PM
 #10

I am using blockchain.com wallet. Let me tell you the actual problem I am facing. I am trying to sign my address in Ubuntu and installing Bitcoincore or electrum needs root password which I have forgot so I am preferring to use a wallet which is online.

How are you even operating on your system without root access at all ?
How do you keep your system up-to-date without root access ?

The real problem here is not that electrum needs root acces to be installed, which every software requires, but that you forgot your root password.
Just follow o_e_l_e_o's steps to set a new one.

Oh, and btw.. you don't need to install electrum to use it. Just get the AppImage file. This is an executable containing all necessary dependencies.



Any suggestions of online wallets that allows signing my address online.

The best advice would be to not use an online wallet at all.
There are way more disadvantages than advantages of an online wallet compared to a desktop-/mobile wallet.

HCP
Legendary
*
Offline Offline

Activity: 2086
Merit: 4316

<insert witty quote here>


View Profile
November 16, 2019, 04:23:43 AM
Last edit: November 15, 2023, 07:13:03 AM by HCP
 #11

I am using blockchain.com wallet. Let me tell you the actual problem I am facing. I am trying to sign my address in Ubuntu and installing Bitcoincore or electrum needs root password which I have forgot so I am preferring to use a wallet which is online.

Any suggestions of online wallets that allows signing my address online.
Blockchain.com does support creating signed messages. However, it will only allow you to sign with an imported private key.

In the settings, select "Wallets and Addresses":



Click the "Import Bitcoin Address" button and follow the prompts:



Once the private key has been imported, you can click the "More Options" button on the right and select "Sign Message":



You can then enter your message, click "Sign" and you'll get the message signature:



NOTE: If you want to practice... you can use the private key found here: https://en.bitcoin.it/wiki/Private_key#Base58_Wallet_Import_format

It is a very "public" private key for the address "1CC3X2gu58d6wXUWMffpuzN9JAfTUWu4Kj" as seen in the screenshots above Tongue

There are ways to extract the private keys for the addresses already in your blockchain.com wallet (and then "import" them)... but I would NOT recommend it. The potential for your private keys to be compromised is high if you do not know what you're doing... which could result in loss of funds.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
TechPriest
Sr. Member
****
Offline Offline

Activity: 377
Merit: 282


Finis coronat opus


View Profile
November 16, 2019, 02:27:05 PM
 #12

its impossible to sign a message with an address starting with a 3. Why is it so?

Please help.

Let me tell you why it so.

There two (before Segwitt) main address formats: P2PKH (pay to public key hash) and P2SH (pay to script hash).

Signature is one way encryption of some information using private key in priv key - pub key key pair in Public-key cryptography (asymmetric encryption). You need public key to verify it (in RSA for example without pub key you can't verify signature). In ECSDA (which bitcoin uses) you don't need public key as an entity. It's enough to know what curve were used (secp256k1 for Bitcoin), raw message and signature to derive pub key from them.

P2PKH is when address derived from public key and in general from one private key you can derive one address (I know, that there some  exceptions).
So, it's easy to create one standard of signature verification in Bitcoin :
1. get raw message, signature and address
2. Derive from message + signature two (some times four) public keys.
3. use address to verify what of that two keys is needed (address is hash, so if we hash two different public keys we will get two different addresses and we must know which we needed)

That's all.

In P2SH it more complicated. There no such connections address - private key and programm don't know is signature is valid or not. P2SH sometimes called as "multisignature addresses" so, with one address there can be assosiated more than one private key. So, you can not know what pub key is needed to use to verify such signature.

To verify such kind of messages you need to attach or pub key itself or pub key hash (like in P2PKH). Because P2SH address is just a hash of bitcoin script

In science we trust!
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!