Questions tagged [non-standard-transaction]

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.

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,…
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: >…
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:…
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…
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…
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…
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…
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…
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
1
2 3 4