<p>It takes a digital signature produced with the corresponding <em>private</em> key on a message committing to the spending transaction to move the funds. Since you only have the <em>public</em> key, you will find it challenging to produce such a signature.</p>

CC BY-SA 4.0
2023-08-09T10:03:20.640Z
Even with SIGHASH_SINGLE?
pbies
CC BY-SA 4.0
2023-08-09T11:27:51.213Z
You can’t spend a UTXO without fulfilling the spending conditions defined in its output script. The transaction commitment created for `SIGHASH_SINGLE` still commits to all inputs, by the way, but even with `SIGHASH_SINGLE+SIGHASH_ANYONE_CAN_PAY` the input would need its own signature.
Murch
CC BY-SA 4.0
2023-08-10T15:26:20.443Z
Isn't it that way, that spending p2pk with SIGHASH_SINGLE is possible for second somebody's else output by only public key which has been already used?
pbies
CC BY-SA 4.0
2023-08-10T15:31:43.157Z
No, you cannot spend a UTXO without fulfilling the output script of that UTXO. And P2PK requires a signature made using the corresponding private key. I have no idea where you are getting this from. This would be completely unsafe and basically would mean that anyone can spend pretty much any funds.
Murch
CC BY-SA 4.0
2023-08-09T09:08:25.523Z
2023-08-09T09:08:25.523Z
Murch
<p>The security design of Bitcoin ensures that only the private key owner can move the funds. This is a fundamental aspect of Bitcoin's security and trustlessness. Without the private key, the funds remain secure and under the control of their rightful owners.</p>

CC BY-SA 4.0
2023-08-09T09:10:23.573Z
I don’t understand why you would consider it “seemingly logical” that someone could spend coins using only public information.
Murch
CC BY-SA 4.0
2023-08-09T09:08:30.343Z
2023-08-11T06:36:51.763Z
2023-08-11T06:36:51.763Z
Mani T
<p>The foundation of bitcoin, the thing that makes it possible, the reason people trust it with their money is that</p>
<p>You cannot spend money without knowing the private key.</p>

CC BY-SA 4.0
2023-08-09T08:57:06.223Z
2023-08-09T08:57:06.223Z
RedGrittyBrick
<p>This is strange for me that there exist over 30 000 of p2pk with addresses mainly with very high balance and these funds weren't moved yet. There are Linux tools to scan blockchain for them and note in one text/csv file.</p>
<p>If we have p2pk public keys and addresses for them (I have list of over 30k of them) why we can't just hash the public key and move the balance from all the addresses with p2pkh?</p>
<p>Or even simpler one: move these funds with only public key?</p>
<p>What is missing here, private key?</p>

<address><p2pk>
Move p2pk with addresses
pbies
# Move p2pk with addresses

(Asked by: username_0 on 2023-08-08)

This is strange for me that there exist over 30 000 of p2pk with addresses mainly with very high balance and these funds weren't moved yet. There are Linux tools to scan blockchain for them and note in one text/csv file.

If we have p2pk public keys and addresses for them (I have list of over 30k of them) why we can't just hash the public key and move the balance from all the addresses with p2pkh?

Or even simpler one: move these funds with only public key?

What is missing here, private key?

**Tags:** address, p2pk


---

## 3 answers

### Answer by username_1 on 2023-08-09. Score: 1 | Accepted answer

It takes a digital signature produced with the corresponding *private* key on a message committing to the spending transaction to move the funds. Since you only have the *public* key, you will find it challenging to produce such a signature.

> **Comments:**
> **username_0**: Even with SIGHASH_SINGLE?  
> **username_1**: You can’t spend a UTXO without fulfilling the spending conditions defined in its output script. The transaction commitment created for `SIGHASH_SINGLE` still commits to all inputs, by the way, but even with `SIGHASH_SINGLE+SIGHASH_ANYONE_CAN_PAY` the input would need its own signature.  
> **username_0**: Isn't it that way, that spending p2pk with SIGHASH_SINGLE is possible for second somebody's else output by only public key which has been already used?  
> **username_1**: No, you cannot spend a UTXO without fulfilling the output script of that UTXO. And P2PK requires a signature made using the corresponding private key. I have no idea where you are getting this from. This would be completely unsafe and basically would mean that anyone can spend pretty much any funds.  

---

### Answer by username_2 on 2023-08-09. Score: 1

The security design of Bitcoin ensures that only the private key owner can move the funds. This is a fundamental aspect of Bitcoin's security and trustlessness. Without the private key, the funds remain secure and under the control of their rightful owners.

> **Comments:**
> **username_1**: I don’t understand why you would consider it “seemingly logical” that someone could spend coins using only public information.  

---

### Answer by username_3 on 2023-08-09. Score: 1

The foundation of bitcoin, the thing that makes it possible, the reason people trust it with their money is that

You cannot spend money without knowing the private key.


---

