<p>In Public-Private Key Cryptography, you can use your Private Key, <em>(without sharing it with anyone)</em>, in a way to create a message that is completely tied to your Public key.</p>

<p>Anyone can look at that message, and your Public key, and deduce that the <strong><em>only</em></strong> way that message could be generated is by someone who knows the Private key, even though they don't know what the Private key is.</p>

<p>The fact that the message can be confirmed with your Public key <strong><em>proves</em></strong> that you must know the Private key, and must be the owner of the Public Key and the Wallet Address.</p>

<p>Think of it as a lock that is left closed all the time.
You can unlock the lock anytime with your secret key, without showing anyone your key.</p>

<p>Anyone can look at that lock, and come to the conclusion: <em>"This lock must have been opened by the owner who has the key; no one else could have opened it"</em>, but you still never shared the key with anyone.</p>

CC BY-SA 3.0
2017-06-08T09:57:13.143Z
This is the exact response I was looking for.
nohamk
CC BY-SA 3.0
2017-06-07T20:39:01.380Z
2017-06-07T20:39:01.380Z
abelenky
<p>I'm trying to understand how Bitcoin works under the hood, but there's something I don't get at all, and can't find it.</p>

<p>Suppose I own address A (I have the public key, A-public, and the private key A-private) and I want to transfer 1 BTC to address B (I know its public key, B-public).</p>

<p>In order to be able to do the transaction, I must, somehow, prove that I own A, and the only way to do that is to show A-private. But, if I show A-private, then I'm exposing my private address, so, someone, somehow, could get it.</p>

<p>To sum up: in the Bitcoin blockchain, how do I prove that I own a certain amount of bitcoins without exposing my private key? Or, alternatively, how does the Bitcoin protocol handle that?</p>

CC BY-SA 3.0
2017-06-07T20:38:18.520Z
https://en.wikipedia.org/wiki/Digital_signature
amaclin
<transactions><private-key><public-key><transaction-verification>
When creating a transaction, how can you prove that you own your address without exposing your private key?
nohamk
# When creating a transaction, how can you prove that you own your address without exposing your private key?

(Asked by: username_0 on 2017-06-07)

I'm trying to understand how Bitcoin works under the hood, but there's something I don't get at all, and can't find it.

Suppose I own address A (I have the public key, A-public, and the private key A-private) and I want to transfer 1 BTC to address B (I know its public key, B-public).

In order to be able to do the transaction, I must, somehow, prove that I own A, and the only way to do that is to show A-private. But, if I show A-private, then I'm exposing my private address, so, someone, somehow, could get it.

To sum up: in the Bitcoin blockchain, how do I prove that I own a certain amount of bitcoins without exposing my private key? Or, alternatively, how does the Bitcoin protocol handle that?

**Tags:** transactions, private-key, public-key, transaction-verification

> **Comments:**
> **username_1**: https://en.wikipedia.org/wiki/Digital_signature  

---

## 1 answers

### Answer by username_2 on 2017-06-07. Score: 3 | Accepted answer

In Public-Private Key Cryptography, you can use your Private Key, *(without sharing it with anyone)*, in a way to create a message that is completely tied to your Public key.

Anyone can look at that message, and your Public key, and deduce that the ***only*** way that message could be generated is by someone who knows the Private key, even though they don't know what the Private key is.

The fact that the message can be confirmed with your Public key ***proves*** that you must know the Private key, and must be the owner of the Public Key and the Wallet Address.

Think of it as a lock that is left closed all the time.
You can unlock the lock anytime with your secret key, without showing anyone your key.

Anyone can look at that lock, and come to the conclusion: *"This lock must have been opened by the owner who has the key; no one else could have opened it"*, but you still never shared the key with anyone.

> **Comments:**
> **username_0**: This is the exact response I was looking for.  

---

