<p>Yes.</p>

<ul>
<li>The private key is used to send <strong>from</strong> an address.</li>
<li>The public key is used to send <strong>to</strong> an address.</li>
<li>The public key is generated from the private key.</li>
</ul>

<p>So if you have the private key you have full control over an address.</p>

CC BY-SA 3.0
2013-03-02T22:44:19.610Z
You would also need to know the transaction hash + index of the funding transaction (used as an INPUT in the payment transaction) but technically I don't need to know the Bitcoin address to do that.)
Stephen Gornick
CC BY-SA 3.0
2013-03-16T15:53:41.270Z
@StephenGornick:  what is an "index"?
joe
CC BY-SA 3.0
2013-03-17T00:00:38.237Z
@joe: To form a Bitcoin transaction (other than the coinbase tranasction to claim the mining reward) you need to know not just which transaction's output your trying to claim but also which output it is, since a transaction can have more than one output. Each output of a transaction has an index that must match in any transaction that tries to use that output as its input (or one of its inputs). (This is all public information though.)
David Schwartz
CC BY-SA 3.0
2013-03-02T18:56:39.130Z
2013-03-02T19:02:21.690Z
2013-03-02T19:02:21.690Z
o0'.
<p>If only my private key were stolen, could it be used? </p>

<p>Without knowledge of the corresponding public key or address, can one spend BTC with only the private key?</p>

<p>I know you can derive the public key from a private key, but if an address has never been spent from  and change is never returned to the same public key, the public key will remain unknown, thus how could one exploit knowledge of a private key alone?</p>

<p>EDIT:  yes, i now realize this is a pretty bad question.  i now know that with just a private key, an attacker can calculate the public key and Bitcoin address and thus spend any stored coins.</p>

CC BY-SA 3.0
2013-03-02T18:04:23.610Z
Welcome to Bitcoin.SE!  To get the right eyes on what you're asking, please phrase the title as a question.
makerofthings7
CC BY-SA 3.0
2013-03-02T18:57:20.160Z
I'm unsure how to improve the title of this question, since it is so much confused. I was able to give an answer, though.
o0'.
<security>
Use Stolen Private Key?
joe
# Use Stolen Private Key?

(Asked by: username_0 on 2013-03-02)

If only my private key were stolen, could it be used?

Without knowledge of the corresponding public key or address, can one spend BTC with only the private key?

I know you can derive the public key from a private key, but if an address has never been spent from and change is never returned to the same public key, the public key will remain unknown, thus how could one exploit knowledge of a private key alone?

EDIT: yes, i now realize this is a pretty bad question. i now know that with just a private key, an attacker can calculate the public key and Bitcoin address and thus spend any stored coins.

**Tags:** security

> **Comments:**
> **username_1**: Welcome to Bitcoin.SE!  To get the right eyes on what you're asking, please phrase the title as a question.  
> **username_2**: I'm unsure how to improve the title of this question, since it is so much confused. I was able to give an answer, though.  

---

## 1 answers

### Answer by username_2 on 2013-03-02. Score: 4

Yes.

* The private key is used to send **from** an address.
* The public key is used to send **to** an address.
* The public key is generated from the private key.

So if you have the private key you have full control over an address.

> **Comments:**
> **username_3**: You would also need to know the transaction hash + index of the funding transaction (used as an INPUT in the payment transaction) but technically I don't need to know the Bitcoin address to do that.)  
> **username_0**: @username_3:  what is an "index"?  
> **username_4**: @username_0: To form a Bitcoin transaction (other than the coinbase tranasction to claim the mining reward) you need to know not just which transaction's output your trying to claim but also which output it is, since a transaction can have more than one output. Each output of a transaction has an index that must match in any transaction that tries to use that output as its input (or one of its inputs). (This is all public information though.)  

---

