Post
Topic
Board Development & Technical Discussion
Re: How to prove to someone that an Bitcoin address (or UTXO) belongs to you?
by
aliashraf
on 25/04/2019, 18:29:46 UTC
AFAIK ZKP isn't possible, either use method mentioned by CodyAlfaridzi or aliashraf

Note: Signing a message with your private key is not safe because you need to disclose the corresponding pubkey (which your address is its RIPEMD-160 hash).

Good point, but it's not like Quantum Computer which can guess ECDSA's private key from it's public exist (yet).

Although QC is not commercially available for now in cases that the wallet holds large amounts of bitcoin and is supposed to be untouched for years (like Satoshi's wallets) disclosing public key is not recommended because:

1- Bitcoin uses ECDSA 256k1 which is not considered very strong compared to electronic signature schemes currently employed with 2048 bits length and more. Besides QC, traditional supercomputers and sophisticated algorithms increasingly push for breaking longer and longer key lengths in feasible time.

2- Many implementation bugs have been identified (and fixed, thanks god) in ECDSA key generation libraries that allow hackers to run side channel attacks against them, there is no guarantee for this not to occur again, a disclosed public key provides the basis and multiple instances of signed messages escalates the problem.

3- Many authors have suggested conspiracy theories about NSA implementing back doors in the whole ECDSA algorithm and/or related software/hardware.