Transactions which aren't relayed by most nodes because they deviate from their standardness rules yet are valid according to the consensus rules. Transactions can be non-standard for example because they send to an unknown output script type or because they use script opcodes or other features that only serve as a mechanism for future protocol upgrades and whose meaning is currently undefined.
Questions tagged [non-standard-transaction]
60 questions
19
votes
3 answers
Will general non-standard transactions ever be allowed?
To the best of my knowledge, currently "Satoshi" client relays and most pools accept only standard (transfer or generation) transactions. Besides, community is working on M-of-N transaction type. Adding non-standard transaction to the blockchain is…
aland
- 1,388
- 8
- 18
12
votes
1 answer
Why is OP_SUBSTR disabled? (and OP_LEFT, OP_RIGHT)
Why are the substring opcodes disabled?
I understand that OP_CAT is disabled because it can blow up the stack easily (in combination with OP_DUP).
But the substring opcodes reduce the stack size.
Context:
I'd like to use OP_LEFT to implement a…
hrobeers
- 133
- 8
11
votes
1 answer
How is a "standard" Bitcoin transaction defined?
This is useful in Andreas Antonopoulos' book, Mastering Bitcoin:
https://github.com/bitcoinbook/bitcoinbook/blob/7c552ea5cfbc19448635b36407761b377ff5cbe9/ch05.asciidoc#standard-transactions
"In the first few years of bitcoin’s development, the…
Michael Folkson
- 14,337
- 3
- 11
- 45
8
votes
1 answer
What's the use of not relaying non-standard transactions if anyone can still use them using P2SH?
It seems that non-standard transactions are not normally relayed because there is a concern this might break the network or it might make future upgrades harder.
But anyone can use these non-standard transactions (and get them relayed!) using P2SH.…
boot4life
- 509
- 1
- 3
- 11
6
votes
1 answer
What is meant by "relaxed standards" for P2SH redeem scripts in Bitcoin Core 0.10.0?
From the Bitcoin Core 0.10.0 release notes:
Standard script rules relaxed for P2SH addresses
The IsStandard() rules have been almost completely removed for P2SH
redemption scripts, allowing applications to make use of any valid
script type,…
Wizard Of Ozzie
- 5,268
- 4
- 30
- 63
6
votes
1 answer
How to sign non-standard transaction
Consider Testnet transaction 7a438...de03e which has vout[0].scriptPubKey =
OP_DUP OP_DROP OP_DUP OP_HASH160 039.....6fe OP_EQUALVERIFY OP_CHECKSIG
The script is equivalent to a standard pay-to-pubkeyhash scriptPubKey. Let's try to spend it:
>…
kaoD
- 988
- 6
- 13
6
votes
2 answers
What is this unusual transaction in the Bitcoin blockchain?
I found a transaction in the Bitcoin blockchain. The first output is unspent and has an abnormal Pkscript. What is this output and why does this output address have no transaction and balance on it?
Link to transaction:…
mshomali
- 163
- 6
5
votes
1 answer
How to test if a transaction is standard without spending real money?
The problem with Testnet is all types of transactions are allowed, so how can I know if a transaction would be rejected on mainet ?
user2284570
- 286
- 2
- 14
5
votes
1 answer
Not relaying non-standard transactions
The following statement appears on the "Script" page in the wiki:
Note that there is a small number of standard script forms that are relayed from node to node; non-standard scripts are accepted if they are in a block, but nodes will not relay…
Will Nelson
- 252
- 2
- 10
4
votes
1 answer
Why is a minRelayTxFee of 1000 sat/kb not equivalent to 250 sat/kw?
Naively, we would expect a minRelayTxFee of 1000 sat/kb to correspond to 250 sat/kw. However, apparently this is not so according to this issue (ACINQ), which also references this issue (c-lightning).
/**
* why 253 and not 250 since…
Darius
- 779
- 4
- 16
4
votes
1 answer
Why are transactions with no outputs not relayed by default?
I was reading this thread about making a transaction without an output:
Are Bitcoin transactions permitted to have no outputs (i.e. all inputs become transaction fee)?
The answer is that outputs under a certain value are considered "dust" or…
bvpx
- 1,132
- 7
- 28
4
votes
1 answer
What is the maximum size transaction that will be relayed by bitcoin nodes using the default configuration?
I understand that the actual size limit of a transaction is determined by the block size, as we can see from this absolute unit. But transactions this large must be submitted directly to a mining pool because they will not propagate through the…
vnprc
- 365
- 1
- 10
3
votes
2 answers
What defines the standard Bitcoin transaction size?
The Lightning Network specifications limit the number of (unsettled) HTLCs in a channel to 483 at each side (maximum 967 total). The rationale behind this is that the penalty transaction must be under certain size:
With a maximum standard weight of…
Sergei Tikhomirov
- 1,430
- 7
- 17
3
votes
2 answers
Why can non-standard transactions be mined but not relayed?
As far as I understand, a non-standard transaction can be mined in to a block (and this block will be accepted by all nodes), but nodes will not relay a non-standard transaction to other nodes.
Why is it that miners have the freedom to construct…
inersha
- 2,928
- 1
- 17
- 41
3
votes
1 answer
How was transaction a4bfa8ab6435ae5f25dae9d89e4eb67dfa94283ca751f393c1ddc5a837bbc31b mined?
The OP_HASH256 puzzle transaction described here was mined in block 211997. But I read that only standard transactions (with outputs one of P2PK, P2PKH, bare multisig, P2SH, OP_RETURN) get relayed. So how did this transaction get relayed and mined?
synthetic
- 33
- 3