<p>The second option proposed by Willtech above would work well. Simply sign a message using that private key and that will prove that you are in possession of the private key corresponding to that public key. As mentioned in the answer it doesn't ensure uniqueness of the actual key, but it does prove that at the time of signing the message that you are in control of the key.</p>

CC BY-SA 4.0
2019-01-17T02:44:45.430Z
2019-01-17T02:44:45.430Z
Niall Moore
<p>a) It should be a simple matter to show that the company owns all private data stored on their computers.</p>

<p>b) Depending on the wallet functionality, you could sign a verifiable message for each address associated with a utxo thereby validating that you have the private key for each address and could spend the utxo but, this doesn't prove that somebody else doesn't also have the private key stored.</p>

CC BY-SA 3.0
2018-03-30T21:11:22.277Z
2018-03-30T21:18:59.143Z
2018-03-30T21:18:59.143Z
Willtech
<p>The basis of the math to demonstrate ownership of a private key is found at <a href="https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch06.asciidoc#ecdsa-math" rel="nofollow noreferrer">https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch06.asciidoc#ecdsa-math</a>.</p>

<p>For demonstrative purposes, let's assume the wallet has one of the absolute worst hexadecimal encoded private keys possible 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff</p>

<p><strong>Associated WIF encoded compressed private key:</strong></p>

<p><code>% echo 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff | sed 's/$/01/' | bx base58check-encode -v 128</code></p>

<p><strong><code>KwDiDMtpksBAcfyHsVS5XzmirtyjKWSeaeM9U1QppugixMUeKMqp</code></strong></p>

<p><strong>Associated compressed public address:</strong></p>

<p><code>% echo 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff | bx ec-to-public | bx ec-to-address -v 0</code></p>

<p><strong><code>1PbStXjfDNBU6FZA2iSeisVWwCFN9GK1eQ</code></strong></p>

<p>Given the data above with the private key remaining tightly controlled (private),  the following two commands can without out any doubt provide solid proof that the wallet holder truly has custodianship of the private keys without the need to share the companion public key to the private key:</p>

<p>1) <a href="https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-message-sign" rel="nofollow noreferrer">https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-message-sign</a></p>

<p>2) <a href="https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-message-validate" rel="nofollow noreferrer">https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-message-validate</a></p>

<p>The challenger can create a random phrase to challenge the person claiming to have custodianship of the the private key above to the associated public address above.</p>

<p>Let's assume the challenge phrase is <strong>"Craig Wright is not the real Satoshi!"</strong>.  That phrase is sneaker netted over to the person with the private key and performs this operation.</p>

<p><code>% echo -n "Craig Wright is not the real Satoshi!" | bx message-sign KwDiDMtpksBAcfyHsVS5XzmirtyjKWSeaeM9U1QppugixMUeKMqp</code></p>

<p><strong><code>H4k3D8jR4efMsAjCs9K/Pt8GB64h83Z07jkV4mERvNUZaYKG2ggWGmfoiJJl1ELh/8j6RikruaVeLWmHdQgeZfU=</code></strong></p>

<p>The signature result of the operation above is then sneaker netted back over to the challenger. The challenger in turn take the public address associated with the private key and performs this operation to confirm private key custodianship.</p>

<p><code>% echo -n "Craig Wright is not the real Satoshi!" | bx message-validate 1PbStXjfDNBU6FZA2iSeisVWwCFN9GK1eQ H4k3D8jR4efMsAjCs9K/Pt8GB64h83Z07jkV4mERvNUZaYKG2ggWGmfoiJJl1ELh/8j6RikruaVeLWmHdQgeZfU=</code></p>

<p><strong><code>The signature is valid.</code></strong></p>

<p>If either the wrong private key signed signed the message or the message signed is not the same, a message like the following will be conveyed from the last operation:</p>

<p><strong><code>The signature is not valid.</code></strong></p>

<p>Trezor and Ledger hardware wallets provide the functionality above.</p>

<p>This is technology is critical for auditing and preventing any centralized custodian from re-hypothecating or fractional reserving resources like stock or currency that are in digital form.</p>

<p>Funds for specified addresses that are vaulted should be audit-able by the true owners of those digital resources with challenge-answer turn around times under a few days. This is critical for confirming <strong>Full Reserve Encumbered Custodianship</strong> capabilities. We will see is <strong>Bakkt</strong> provides such an auditing service.</p>

CC BY-SA 4.0
2019-01-17T04:54:26.027Z
2019-01-17T04:54:26.027Z
skaht
<p>In case you both have the private key any of you can transfer btc inside that wallet so to prove them your owenership you can just sign all utxos and transfer those btc to some safe account whose private key is kown only to you.</p>

CC BY-SA 4.0
2019-02-16T06:37:16.843Z
2019-02-16T06:37:16.843Z
Parishilan Rayamajhi
<p>Considering your user handle there might be nuances to your countries laws (i'm assuming non US). Even then there might be gaping holes in the laws that wouldn't cover this. </p>

<p>Answer from a legal perspective: No idea. Without a ton more information and legal expertise no one can reasonably answer this.</p>

<p>From a technical perspective: The blockchain doesn't recognize "ownership". Either the transaction to move the crypto currency / token has a valid key and is a valid transaction, or it is not. It's a binary assessment.</p>

<p>If authority is granted and recognized solely by the ability to access the funds, then the person with the correct private key is the "owner". </p>

<p>I suspect this is more about law than it is technical.</p>

<p>(This is speculation not legal advice) If it does come down to: "We have the private key." Simply move the bitcoin to another wallet. If she owned the wallet, she would have had the private key. You can say "she moved it. It's her wallet. Why would we have access to her wallet?" </p>

CC BY-SA 4.0
2018-12-17T21:22:04.357Z
2018-12-17T21:22:04.357Z
cleanmarker
<p>Good day. Can you help me out regarding my question.</p>

<p>The company (legal entity) at the moment want to confirm the fact, tha certain BTC core wallet actually belongs to her. Though, i would like to clarify: can we refer to our Private key as to prove of ownership on wallet and on it's funds?</p>

CC BY-SA 3.0
2018-03-30T13:57:27.803Z
A private key should never be published to anybody else but its owner.
watchme
CC BY-SA 3.0
2018-03-30T14:13:35.290Z
Yes, we will not point it, just refer to it
Денис Кастин
<private-key>
Regarding Private Key
Денис Кастин
# Regarding Private Key

(Asked by: username_0 on 2018-03-30)

Good day. Can you help me out regarding my question.

The company (legal entity) at the moment want to confirm the fact, tha certain BTC core wallet actually belongs to her. Though, i would like to clarify: can we refer to our Private key as to prove of ownership on wallet and on it's funds?

**Tags:** private-key

> **Comments:**
> **username_1**: A private key should never be published to anybody else but its owner.  
> **username_0**: Yes, we will not point it, just refer to it  

---

## 5 answers

### Answer by username_2 on 2019-01-17. Score: 1

The second option proposed by username_3 above would work well. Simply sign a message using that private key and that will prove that you are in possession of the private key corresponding to that public key. As mentioned in the answer it doesn't ensure uniqueness of the actual key, but it does prove that at the time of signing the message that you are in control of the key.


---

### Answer by username_3 on 2018-03-30. Score: 0

a) It should be a simple matter to show that the company owns all private data stored on their computers.

b) Depending on the wallet functionality, you could sign a verifiable message for each address associated with a utxo thereby validating that you have the private key for each address and could spend the utxo but, this doesn't prove that somebody else doesn't also have the private key stored.


---

### Answer by username_4 on 2019-01-17. Score: 0

The basis of the math to demonstrate ownership of a private key is found at <https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch06.asciidoc#ecdsa-math>.

For demonstrative purposes, let's assume the wallet has one of the absolute worst hexadecimal encoded private keys possible 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff

**Associated WIF encoded compressed private key:**

`% echo 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff | sed 's/$/01/' | bx base58check-encode -v 128`

**`KwDiDMtpksBAcfyHsVS5XzmirtyjKWSeaeM9U1QppugixMUeKMqp`**

**Associated compressed public address:**

`% echo 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff | bx ec-to-public | bx ec-to-address -v 0`

**`1PbStXjfDNBU6FZA2iSeisVWwCFN9GK1eQ`**

Given the data above with the private key remaining tightly controlled (private), the following two commands can without out any doubt provide solid proof that the wallet holder truly has custodianship of the private keys without the need to share the companion public key to the private key:

1) <https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-message-sign>

2) <https://github.com/libbitcoin/libbitcoin-explorer/wiki/bx-message-validate>

The challenger can create a random phrase to challenge the person claiming to have custodianship of the the private key above to the associated public address above.

Let's assume the challenge phrase is **"Craig Wright is not the real Satoshi!"**. That phrase is sneaker netted over to the person with the private key and performs this operation.

`% echo -n "Craig Wright is not the real Satoshi!" | bx message-sign KwDiDMtpksBAcfyHsVS5XzmirtyjKWSeaeM9U1QppugixMUeKMqp`

**`H4k3D8jR4efMsAjCs9K/Pt8GB64h83Z07jkV4mERvNUZaYKG2ggWGmfoiJJl1ELh/8j6RikruaVeLWmHdQgeZfU=`**

The signature result of the operation above is then sneaker netted back over to the challenger. The challenger in turn take the public address associated with the private key and performs this operation to confirm private key custodianship.

`% echo -n "Craig Wright is not the real Satoshi!" | bx message-validate 1PbStXjfDNBU6FZA2iSeisVWwCFN9GK1eQ H4k3D8jR4efMsAjCs9K/Pt8GB64h83Z07jkV4mERvNUZaYKG2ggWGmfoiJJl1ELh/8j6RikruaVeLWmHdQgeZfU=`

**`The signature is valid.`**

If either the wrong private key signed signed the message or the message signed is not the same, a message like the following will be conveyed from the last operation:

**`The signature is not valid.`**

Trezor and Ledger hardware wallets provide the functionality above.

This is technology is critical for auditing and preventing any centralized custodian from re-hypothecating or fractional reserving resources like stock or currency that are in digital form.

Funds for specified addresses that are vaulted should be audit-able by the true owners of those digital resources with challenge-answer turn around times under a few days. This is critical for confirming **Full Reserve Encumbered Custodianship** capabilities. We will see is **Bakkt** provides such an auditing service.


---

### Answer by username_5 on 2019-02-16. Score: 0

In case you both have the private key any of you can transfer btc inside that wallet so to prove them your owenership you can just sign all utxos and transfer those btc to some safe account whose private key is kown only to you.


---

### Answer by username_6 on 2018-12-17. Score: 0

Considering your user handle there might be nuances to your countries laws (i'm assuming non US). Even then there might be gaping holes in the laws that wouldn't cover this.

Answer from a legal perspective: No idea. Without a ton more information and legal expertise no one can reasonably answer this.

From a technical perspective: The blockchain doesn't recognize "ownership". Either the transaction to move the crypto currency / token has a valid key and is a valid transaction, or it is not. It's a binary assessment.

If authority is granted and recognized solely by the ability to access the funds, then the person with the correct private key is the "owner".

I suspect this is more about law than it is technical.

(This is speculation not legal advice) If it does come down to: "We have the private key." Simply move the bitcoin to another wallet. If she owned the wallet, she would have had the private key. You can say "she moved it. It's her wallet. Why would we have access to her wallet?"


---

