Bitcoin Forum
May 11, 2024, 11:50:29 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: way to sign/verify to prove ownership of an address without revealing it?  (Read 114 times)
samadamsbeer (OP)
Member
**
Offline Offline

Activity: 93
Merit: 10


View Profile
February 04, 2024, 06:36:04 PM
 #1

I understand I can sign a message Y to prove I own an address X that produces a hash Z. However is there a way to sign/verify to prove ownership of X without revealing X? This would be for purposes of establishing ownership in documentation now in case of audit later. I imagine in said document you could simply reveal Y & Z but in theory, an attacker could then cycle thru known addresses until one hash matches, so was looking to avoid this. Is the simplest method to just hash the revealed components one more time, withholding one of the inputs?
1715428229
Hero Member
*
Offline Offline

Posts: 1715428229

View Profile Personal Message (Offline)

Ignore
1715428229
Reply with quote  #2

1715428229
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715428229
Hero Member
*
Offline Offline

Posts: 1715428229

View Profile Personal Message (Offline)

Ignore
1715428229
Reply with quote  #2

1715428229
Report to moderator
komisariatku
Sr. Member
****
Offline Offline

Activity: 868
Merit: 456


View Profile
February 04, 2024, 06:59:32 PM
 #2

I understand I can sign a message Y to prove I own an address X that produces a hash Z. However is there a way to sign/verify to prove ownership of X without revealing X? This would be for purposes of establishing ownership in documentation now in case of audit later. I imagine in said document you could simply reveal Y & Z but in theory, an attacker could then cycle thru known addresses until one hash matches, so was looking to avoid this. Is the simplest method to just hash the revealed components one more time, withholding one of the inputs?

Do you mean verify the sign message without including the wallet address? If that can be done, how can a signature be proof that you own the address if you don't provide the address? privatkey has a long combination and makes it have a very high probability that it is almost impossible to hack.

So in my opinion it's impossible to do, because you want to prove something but without revealing it, and without revealing it you can't prove anything. It's like you want to prove your name but you never say your own name, then how do we know your name if you don't want to say it?


██████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
██████████████████████
SHUFFLE.COM███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
█████████████████████
████████████████████
██████████████████████
████████████████████
██████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
██████████████████████
██████████████████████
██████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
████████████████████    ████    ██
.
Next Generation Crypto Casino
.
██    ████    ████████████████████
██████
██
██
██
██
██
██
██
██
██
██
██
██████
Upgrade00
Legendary
*
Offline Offline

Activity: 2030
Merit: 2174


Professional Community manager


View Profile WWW
February 04, 2024, 07:32:45 PM
 #3

I imagine in said document you could simply reveal Y & Z but in theory, an attacker could then cycle thru known addresses until one hash matches,
You can't do that theoretically, cause the document would be unverified then, it could pretty much be any signature for any address, or not be a valid signature at all, if there is no address with which to verify it.

You could provide the signed message and then encrypt that using a PGP signature, this keeps the information covert until such a time that it become needed, at which point you can decrypt it.

.BEST..CHANGE.███████████████
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
███████████████
..BUY/ SELL CRYPTO..
DaveF
Legendary
*
Offline Offline

Activity: 3472
Merit: 6269


Crypto Swap Exchange


View Profile WWW
February 04, 2024, 07:37:50 PM
 #4

So what you are looking to do is:

Text:
Code:
This is DaveF saying this

Signature:
Code:
IGd595fz/NXdZJSV0DDA4grRZAf4kDqBB7fa8LnI7wuIf7Ihu8chopvTsWWXGieVFqysnZ3laZZzAJ0Enw5x8cc=


BUT not tell people what address it's signed with.

So, until there is a NEED to prove you wrote something there is no way to know if it's valid or not.

So in theory 10 years from now I could prove that on 4-Feb-2024 because of the above text and signature I controlled the address bc1qugdlj4sghspzyx5w74xm77mn67auyzc2y6huls

I cannot see another need other than that.

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
BitMaxz
Legendary
*
Offline Offline

Activity: 3248
Merit: 2971


Block halving is coming.


View Profile WWW
February 04, 2024, 07:37:55 PM
 #5

Signing a message requires a private key once you sign a message it generates a signature and then verifying ownership of an address requires a message and signature.

You need to provide them all except the private key.

So what exactly is the X for you is that a private key? If that's the private key you shouldn't share it with anyone providing the message, address, and signature is enough to prove you own that address.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Stalker22
Legendary
*
Offline Offline

Activity: 1498
Merit: 1358



View Profile
February 04, 2024, 07:40:27 PM
 #6

~
I imagine in said document you could simply reveal Y & Z but in theory, an attacker could then cycle thru known addresses until one hash matches, so was looking to avoid this. Is the simplest method to just hash the revealed components one more time, withholding one of the inputs?

Is there a reason you have to reveal the entire message right away? In your scenario, you could first simply reveal Y (partially) & Z. Then, when proof is needed, you can reveal Y in full, and X to verify and confirm the signature.  That way, there is no real chance of an "attacker" finding X ahead of time.

█████████████████████████
██
█████▀▀███████▀▀███████
█████▀░░▄███████▄░░▀█████
██▀░░██████▀░▀████░░▀██
██▀░░▀▀▀████████████░░▀██
██░░█▄████▀▀███▀█████░░██
██░░███▄▄███████▀▀███░░██
██░░█████████████████░░██
██▄░░████▄▄██████▄▄█░░▄██
██▄░░██████▄░░████░░▄██
█████▄░░▀███▌░░▐▀░░▄█████
███████▄▄███████▄▄███████
█████████████████████████
.
.ROOBET 2.0..██████.IIIIIFASTER & SLEEKER.██████.
|

█▄█
▀█▀
████▄▄██████▄▄████
█▄███▀█░░█████░░█▀███▄█
▀█▄▄░▐█████████▌▄▄█▀
██▄▄█████████▄▄████▌
██████▄▄████████
█▀▀████████████████
██████
█████████████
██
█▀▀██████████████
▀▀▀███████████▀▀▀▀
|.
    PLAY NOW    
odolvlobo
Legendary
*
Offline Offline

Activity: 4312
Merit: 3214



View Profile
February 04, 2024, 09:53:21 PM
 #7

I understand I can sign a message Y to prove I own an address X that produces a hash Z. However is there a way to sign/verify to prove ownership of X without revealing X? This would be for purposes of establishing ownership in documentation now in case of audit later. I imagine in said document you could simply reveal Y & Z but in theory, an attacker could then cycle thru known addresses until one hash matches, so was looking to avoid this. Is the simplest method to just hash the revealed components one more time, withholding one of the inputs?

A simple way to do it is to sign a message and provide only a hash of the message plus signature. Then when you want to prove ownership, provide the message and signature. The hash proves that the message and signature are authentic.

If that is not sufficient, then perhaps it can be done with a "zero-knowledge proof". A zero knowledge proof is used to prove that a statement is true without revealing the statement itself.

https://en.wikipedia.org/wiki/Zero-knowledge_proof

Join an anti-signature campaign: Click ignore on the members of signature campaigns.
PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
nelson4lov
Hero Member
*****
Offline Offline

Activity: 2072
Merit: 793


Top Crypto Casino


View Profile
February 04, 2024, 10:37:01 PM
 #8

The only technology that I have read about in recent times that can do what OP wants is a Zero Knowledge Proof. AFAIK, there's no public version that everyone can publicly use right now. The projects working on Zk tech like Zksync, Aleo, etc are yet to fully launch.

Like DaveF said, in years to come, it should be available but I'm of the opinion that we will get it before 10 years.

Wikipedia info: https://en.m.wikipedia.org/wiki/Zero-knowledge_proof

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


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
adaseb
Legendary
*
Offline Offline

Activity: 3752
Merit: 1710



View Profile
February 05, 2024, 05:26:19 AM
 #9

Like the above replies have said. You can post the hash but the other party wouldnt be able to verify at the moment if it’s real or not. So in the future you can post your address finally and prove your hash was true but at the moment it’s a risky take for the other party.

You need to provide the address if you want have adequate proof that the hash you provide has meaning. Because anyone can make up a bunch of random character and tell the other party that they need to just trust you that you are telling the truth, but in crypto most people want to verify and not trust.

.BEST..CHANGE.███████████████
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
██
███████████████
..BUY/ SELL CRYPTO..
samadamsbeer (OP)
Member
**
Offline Offline

Activity: 93
Merit: 10


View Profile
February 05, 2024, 12:29:33 PM
 #10

So what you are looking to do is:

Text:
Code:
This is DaveF saying this

Signature:
Code:
IGd595fz/NXdZJSV0DDA4grRZAf4kDqBB7fa8LnI7wuIf7Ihu8chopvTsWWXGieVFqysnZ3laZZzAJ0Enw5x8cc=


BUT not tell people what address it's signed with.

So, until there is a NEED to prove you wrote something there is no way to know if it's valid or not.

So in theory 10 years from now I could prove that on 4-Feb-2024 because of the above text and signature I controlled the address bc1qugdlj4sghspzyx5w74xm77mn67auyzc2y6huls

I cannot see another need other than that.

-Dave


Yes that is what I was trying to explain I was trying to do. If the document is public, this allows people to view it, but I can selectively prove the ownership to parties I want to do that with. Sounds like a 2nd hashing is a good way to do this.
DaveF
Legendary
*
Offline Offline

Activity: 3472
Merit: 6269


Crypto Swap Exchange


View Profile WWW
February 05, 2024, 02:40:58 PM
 #11

So what you are looking to do is:

Text:
Code:
This is DaveF saying this

Signature:
Code:
IGd595fz/NXdZJSV0DDA4grRZAf4kDqBB7fa8LnI7wuIf7Ihu8chopvTsWWXGieVFqysnZ3laZZzAJ0Enw5x8cc=


BUT not tell people what address it's signed with.

So, until there is a NEED to prove you wrote something there is no way to know if it's valid or not.

So in theory 10 years from now I could prove that on 4-Feb-2024 because of the above text and signature I controlled the address bc1qugdlj4sghspzyx5w74xm77mn67auyzc2y6huls

I cannot see another need other than that.

-Dave


Yes that is what I was trying to explain I was trying to do. If the document is public, this allows people to view it, but I can selectively prove the ownership to parties I want to do that with. Sounds like a 2nd hashing is a good way to do this.

The issue is that once you let the proof out, no matter who you reveal it to, it's out there because they can then tell anyone.
The other side is you show them in a way that they can see but not duplicate, BUT and this is a big important BUT, they have to then trust that you are not doing something shady in the background.

If you want to give them the process / address / info to prove it then you are giving them the ability to prove it to the world.

Don't know if that matters for what you are trying to do, but it's something to think about.

-Dave

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
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!