<blockquote>
  <p>Does Bitcoin Core store these private keys in the application or in
  the public ledger?</p>
</blockquote>

<p>the private keys are stored in the wallet, along with the public keys. Never (!) ever you would show the private keys to someone else, otherwise you'll loose the funds! This is why wallets are also secured...</p>

<blockquote>
  <p>Are these private keys store on a private server by Bitcoin Core
  developers?</p>
</blockquote>

<p>No, as mentioned before, in the wallet software. If the developpers had access to the private keys, they could steal all funds... doesn't make sense.</p>

<blockquote>
  <p>When you sign a transaction with your private key, how does Bitcoin
  Core know that this private key is related to your public address?</p>
</blockquote>

<p>The link between priv and pub keys is by the ECDSA logic. </p>

<p>The answers here are fairly generic, and deserve probably a whole chapter of a book, but I think I'll reference to Andreas' book "Mastering Bitcoin". It is an amazing book that'll definitely get you to go. It's freely available online here: <a href="http://chimera.labs.oreilly.com/books/1234000001802/index.html" rel="nofollow noreferrer">http://chimera.labs.oreilly.com/books/1234000001802/index.html</a></p>

CC BY-SA 3.0
2018-02-22T09:09:15.200Z
You did answer fairly generically. As I know you shouldn't share your keys with anyone. I'm just trying to understand how the technology works. How does Bitcoin Core know that your private key is valid if it is not stored anywhere? I'd like to know more about ECDSA logic if that is in relation to my question. Do you have other links on what that is? Or a way to explain in rather basic terms as well as the actual mathematical algorithm?
Michael d
CC BY-SA 3.0
2018-02-22T10:45:31.330Z
The private keys are stored in the file "wallet.dat", which is located in your home directory. The bitcoin core wallet itself creates the private keys, and from this private key a public key is derived (which is also stored in the wallet) via ECDSA logic. I provided a link to Andreas' book, which explains in detail the ECDSA logic (chapter 4), and in chapter 5 the way how wallets handle the keys.
pebwindkraft
CC BY-SA 3.0
2018-02-22T08:39:16.393Z
2018-02-22T08:39:16.393Z
pebwindkraft
<p>When a user creates an account on Bitcoin Core, he is assigned private keys. And he needs to use these private keys in order to send transactions onto the network.</p>

<p>Does Bitcoin Core store these private keys in the application or in the public ledger? Are these private keys store on a private server by Bitcoin Core developers? </p>

<p>When you sign a transaction with your private key, how does Bitcoin Core know that this private key is related to your public address?</p>

<bitcoin-core><private-key><public-key><signature><address-generation>
How does Bitcoin Core know that your private key relates to your public address? Are the private keys stored?
Michael d
# How does Bitcoin Core know that your private key relates to your public address? Are the private keys stored?

(Asked by: username_0 on 2018-02-22)

When a user creates an account on Bitcoin Core, he is assigned private keys. And he needs to use these private keys in order to send transactions onto the network.

Does Bitcoin Core store these private keys in the application or in the public ledger? Are these private keys store on a private server by Bitcoin Core developers?

When you sign a transaction with your private key, how does Bitcoin Core know that this private key is related to your public address?

**Tags:** bitcoin-core, private-key, public-key, signature, address-generation


---

## 1 answers

### Answer by username_1 on 2018-02-22. Score: 1

> Does Bitcoin Core store these private keys in the application or in
> the public ledger?

the private keys are stored in the wallet, along with the public keys. Never (!) ever you would show the private keys to someone else, otherwise you'll loose the funds! This is why wallets are also secured...

> Are these private keys store on a private server by Bitcoin Core
> developers?

No, as mentioned before, in the wallet software. If the developpers had access to the private keys, they could steal all funds... doesn't make sense.

> When you sign a transaction with your private key, how does Bitcoin
> Core know that this private key is related to your public address?

The link between priv and pub keys is by the ECDSA logic.

The answers here are fairly generic, and deserve probably a whole chapter of a book, but I think I'll reference to Andreas' book "Mastering Bitcoin". It is an amazing book that'll definitely get you to go. It's freely available online here: <http://chimera.labs.oreilly.com/books/1234000001802/index.html>

> **Comments:**
> **username_0**: You did answer fairly generically. As I know you shouldn't share your keys with anyone. I'm just trying to understand how the technology works. How does Bitcoin Core know that your private key is valid if it is not stored anywhere? I'd like to know more about ECDSA logic if that is in relation to my question. Do you have other links on what that is? Or a way to explain in rather basic terms as well as the actual mathematical algorithm?  
> **username_1**: The private keys are stored in the file "wallet.dat", which is located in your home directory. The bitcoin core wallet itself creates the private keys, and from this private key a public key is derived (which is also stored in the wallet) via ECDSA logic. I provided a link to Andreas' book, which explains in detail the ECDSA logic (chapter 4), and in chapter 5 the way how wallets handle the keys.  

---

