<p>This script is almost exactly the same as the standard Pay-To-Public-Key-Hash (P2PKH) script, except instead of pushing the hash onto the stack it pushes an empty vector.</p>
<p>As a reminder, a P2PKH script locks an output with the hash of a public key. To spend this output one must provide both the public key and a signature generated from its corresponding private key. Since the hash function always produces a 20-byte hash and never an empty vector, there is no public key to satisfy this script, making the output forever unspendable.</p>
<p>Why this output exists I can't tell you, but a <a href="https://bitcointalk.org/index.php?topic=620203.msg7315697#msg7315697" rel="nofollow noreferrer">bitcointalk.org message</a> mentions there are 23 of these. Most likely it's the result of a software bug.</p>
<p>NULL_DATA is probably just that specific blockchain explorer's label used for non-standard outputs. <a href="https://mempool.space/tx/03acfae47d1e0b7674f1193237099d1553d3d8a93ecc85c18c4bec37544fe386" rel="nofollow noreferrer">mempool.space</a> marks this as UNKNOWN.</p>

CC BY-SA 4.0
2022-03-01T18:55:51.143Z
2023-06-19T16:53:01.110Z
2023-06-19T16:53:01.110Z
Vojtěch Strnad
<p>I am currently reviewing a computer science conference paper. The authors in the paper mention that the following is a non-standard script.</p>
<p>OP_DUP
OP_HASH160
OP_0
OP_EQUALVERIFY
OP_CHECKSIG</p>
<p>But when I checked the transaction on the explorer, its output script has NULL_DATA <a href="https://btc.com/btc/transaction/03acfae47d1e0b7674f1193237099d1553d3d8a93ecc85c18c4bec37544fe386" rel="nofollow noreferrer">https://btc.com/btc/transaction/03acfae47d1e0b7674f1193237099d1553d3d8a93ecc85c18c4bec37544fe386</a></p>
<p>Which is the above two is true? Thank you</p>

<script><non-standard-transaction>
Is this script a non-standard script?
Stonecipher
# Is this script a non-standard script?

(Asked by: username_0 on 2022-03-01)

I am currently reviewing a computer science conference paper. The authors in the paper mention that the following is a non-standard script.

OP\_DUP
OP\_HASH160
OP\_0
OP\_EQUALVERIFY
OP\_CHECKSIG

But when I checked the transaction on the explorer, its output script has NULL\_DATA <https://btc.com/btc/transaction/03acfae47d1e0b7674f1193237099d1553d3d8a93ecc85c18c4bec37544fe386>

Which is the above two is true? Thank you

**Tags:** script, non-standard-transaction


---

## 1 answers

### Answer by username_1 on 2022-03-01. Score: 3 | Accepted answer

This script is almost exactly the same as the standard Pay-To-Public-Key-Hash (P2PKH) script, except instead of pushing the hash onto the stack it pushes an empty vector.

As a reminder, a P2PKH script locks an output with the hash of a public key. To spend this output one must provide both the public key and a signature generated from its corresponding private key. Since the hash function always produces a 20-byte hash and never an empty vector, there is no public key to satisfy this script, making the output forever unspendable.

Why this output exists I can't tell you, but a [bitcointalk.org message](https://bitcointalk.org/index.php?topic=620203.msg7315697#msg7315697) mentions there are 23 of these. Most likely it's the result of a software bug.

NULL\_DATA is probably just that specific blockchain explorer's label used for non-standard outputs. [mempool.space](https://mempool.space/tx/03acfae47d1e0b7674f1193237099d1553d3d8a93ecc85c18c4bec37544fe386) marks this as UNKNOWN.


---

