<p>Not sure if this is helpful, but here's what I think you should think about when you hear <em>"Bitcoin wallet"</em>:</p>

<ol>
<li>A Bitcoin <em>wallet</em> is a set of <em>accounts</em> that you can (a) spend coins from and (b) receive coins into.</li>
<li>An <em>account</em> is one and the same thing as a <em>secret key</em> and its corresponding <em>public key</em> [1].</li>
<li>To spend coins from an <em>account</em>, you need to perform a <em>digital signature</em> using that account's <em>secret key</em>.</li>
<li>Thus, anybody in possession of the account's <em>secret key</em> can spend all coins from that account. In other words, your <em>secret key</em> <strong>better stay secret</strong> and please <strong>don't lose or "forget" it</strong>. Or else [2].</li>
<li>To receive coins from Alice, you have to give Alice one of your accounts' <em>public key</em> [1].</li>
</ol>

<p>Now, armed with this knowledge, I think you can answer your own questions:</p>

<blockquote>
  <p>A Bitcoin wallet itself is nothing more than a "record" that is stored
  on Blockchain. It's an identifier that will be used in a person's
  Bitcoin transactions.</p>
</blockquote>

<p>Yes and no. A wallet is a bunch of <em>accounts</em>. Each <em>account</em> has a "record" in the blockchain: there will be an entry of the form <code>(_public key_, 10 bitcoins)</code> for that account [3].</p>

<blockquote>
  <p>A Bitcoin wallet app is simply a software tool to create transactions
  that are written on BlockChain</p>
</blockquote>

<p>Yes. A <em>wallet app</em> is a piece of software that manages all of your accounts' <em>secret keys</em> and enables you to perform those <em>digital signatures</em> that let you spend your coins. Those signatures are over <em>transactions</em> of the form <code>(_my public key_, _recipient public key_, x bitcoins)</code> as I detailed in [3].</p>

<blockquote>
  <p>I think some BitCoin wallet providers -- not sure if "provider" is the
  right term -- may keep some information about the user's
  wallet/transaction information on their own system.</p>
</blockquote>

<p>I'm assuming you are talking about folks like <a href="https://coinbase.com" rel="nofollow noreferrer">coinbase.com</a>, which manage your <em>wallet</em> for you? Recall that if they're gonna allow you to spend your bitcoins with a click of a button online, then they need your accounts' <em>secret keys</em>. So yes, they store that. And sometimes they're hacked and you lose your money [2]. On the other hand, if you don't use online wallets like coinbase.com, managing your own <em>secret keys</em> can be dangerous too: I have heard many stories of people losing their hard drives and thus their bitcoins.</p>

<blockquote>
  <p>The value added by those who provide BitCoin services are simply
  providing user-friendly tools to read/write information from
  Blockchain. They may also be providing a method of converting real
  currency into cryptocurrency and vice versa e.g. trading or purchasing
  of BitCoin</p>
</blockquote>

<p>The value part of this is in "opinion land", but yes, I suppose I agree: it's much more user-friendly not to mange your <em>secret key</em> and worry about losing it or being hacked. Still, you might just be replacing one worry with another: now coinbase.com might be hacked and your bitcoins gone [2].</p>

<p>And yes, some wallet providers like coinbase.com let you convert USDs into bitcoins and viceversa.</p>

<p>I hope this helps.</p>

<p>[1] Sometimes you'll hear the term <em>address</em>, which can be thought of as a "fingerprint" of the <em>public key</em>. To keep things simple, I will not distinguish between the two. Although, in practice, you will give the <em>address</em>, not the <em>public key</em>, to folks who want to send you coins. (This has to do with efficiency reasons and a bit of security.)</p>

<p>[2] Every time you hear about one of these "Bitcoin hacks," it's because someone's <em>secret key</em> got stolen <code>=&gt;</code> the victim's coins got sent to the attacker's account using a <em>digital signature</em> via the stolen <em>secret key</em>.</p>

<p>[3] To be more specific, there are actually a bunch of entries recording transfers from some other account into your account: <code>(_public key_ of sender, your account's _public key_, 5 bitcoins sent to you)</code></p>

CC BY-SA 3.0
2017-12-20T18:56:41.340Z
2017-12-20T19:02:28.550Z
2017-12-20T19:02:28.550Z
Alin Tomescu
<p>I want to make sure I'm understanding a few basic concepts clearly:</p>

<ul>
<li>A Bitcoin wallet itself is nothing more than a "record" that is stored on the Bitcoin blockchain. It's an identifier that will be used in a person's Bitcoin transactions.</li>
<li>A Bitcoin wallet app is simply a software tool to create transactions that are written on the Bitcoin blockchain</li>
<li>I think some Bitcoin wallet providers -- not sure if "provider" is the right term -- may keep some information about the user's wallet/transaction information on their own system.</li>
<li>The value added by those who provide Bitcoin services are simply providing user-friendly tools to read/write information from the Bitcoin blockchain. They may also be providing a method of converting real currency into cryptocurrency and vice versa (e.g., trading or purchasing of Bitcoin)</li>
</ul>

<p>Am I getting this right so far?</p>

<wallet><buy-bitcoins>
Understanding Bitcoin wallets
Sam
# Understanding Bitcoin wallets

(Asked by: username_0 on 2017-12-20)

I want to make sure I'm understanding a few basic concepts clearly:

* A Bitcoin wallet itself is nothing more than a "record" that is stored on the Bitcoin blockchain. It's an identifier that will be used in a person's Bitcoin transactions.
* A Bitcoin wallet app is simply a software tool to create transactions that are written on the Bitcoin blockchain
* I think some Bitcoin wallet providers -- not sure if "provider" is the right term -- may keep some information about the user's wallet/transaction information on their own system.
* The value added by those who provide Bitcoin services are simply providing user-friendly tools to read/write information from the Bitcoin blockchain. They may also be providing a method of converting real currency into cryptocurrency and vice versa (e.g., trading or purchasing of Bitcoin)

Am I getting this right so far?

**Tags:** wallet, buy-bitcoins


---

## 1 answers

### Answer by username_1 on 2017-12-20. Score: 0 | Accepted answer

Not sure if this is helpful, but here's what I think you should think about when you hear *"Bitcoin wallet"*:

1. A Bitcoin *wallet* is a set of *accounts* that you can (a) spend coins from and (b) receive coins into.
2. An *account* is one and the same thing as a *secret key* and its corresponding *public key* [1].
3. To spend coins from an *account*, you need to perform a *digital signature* using that account's *secret key*.
4. Thus, anybody in possession of the account's *secret key* can spend all coins from that account. In other words, your *secret key* **better stay secret** and please **don't lose or "forget" it**. Or else [2].
5. To receive coins from Alice, you have to give Alice one of your accounts' *public key* [1].

Now, armed with this knowledge, I think you can answer your own questions:

> A Bitcoin wallet itself is nothing more than a "record" that is stored
> on Blockchain. It's an identifier that will be used in a person's
> Bitcoin transactions.

Yes and no. A wallet is a bunch of *accounts*. Each *account* has a "record" in the blockchain: there will be an entry of the form `(_public key_, 10 bitcoins)` for that account [3].

> A Bitcoin wallet app is simply a software tool to create transactions
> that are written on BlockChain

Yes. A *wallet app* is a piece of software that manages all of your accounts' *secret keys* and enables you to perform those *digital signatures* that let you spend your coins. Those signatures are over *transactions* of the form `(_my public key_, _recipient public key_, x bitcoins)` as I detailed in [3].

> I think some BitCoin wallet providers -- not sure if "provider" is the
> right term -- may keep some information about the user's
> wallet/transaction information on their own system.

I'm assuming you are talking about folks like [coinbase.com](https://coinbase.com), which manage your *wallet* for you? Recall that if they're gonna allow you to spend your bitcoins with a click of a button online, then they need your accounts' *secret keys*. So yes, they store that. And sometimes they're hacked and you lose your money [2]. On the other hand, if you don't use online wallets like coinbase.com, managing your own *secret keys* can be dangerous too: I have heard many stories of people losing their hard drives and thus their bitcoins.

> The value added by those who provide BitCoin services are simply
> providing user-friendly tools to read/write information from
> Blockchain. They may also be providing a method of converting real
> currency into cryptocurrency and vice versa e.g. trading or purchasing
> of BitCoin

The value part of this is in "opinion land", but yes, I suppose I agree: it's much more user-friendly not to mange your *secret key* and worry about losing it or being hacked. Still, you might just be replacing one worry with another: now coinbase.com might be hacked and your bitcoins gone [2].

And yes, some wallet providers like coinbase.com let you convert USDs into bitcoins and viceversa.

I hope this helps.

[1] Sometimes you'll hear the term *address*, which can be thought of as a "fingerprint" of the *public key*. To keep things simple, I will not distinguish between the two. Although, in practice, you will give the *address*, not the *public key*, to folks who want to send you coins. (This has to do with efficiency reasons and a bit of security.)

[2] Every time you hear about one of these "Bitcoin hacks," it's because someone's *secret key* got stolen `=>` the victim's coins got sent to the attacker's account using a *digital signature* via the stolen *secret key*.

[3] To be more specific, there are actually a bunch of entries recording transfers from some other account into your account: `(_public key_ of sender, your account's _public key_, 5 bitcoins sent to you)`


---

