Home Bitcoin opcodes – What’s an “empty vector” in Bitcoin?

opcodes – What’s an “empty vector” in Bitcoin?

opcodes – What’s an “empty vector” in Bitcoin?


Most likely the lowest-IQ query ever, however what does empty vector characterize in Bitcoin? Is it a single byte 0x00 (worth 0) or is it actually nothing (“air”) or possibly each relying on the scenario?

In BIP342, the next is written for OP_IF and OF_NOTIF :

Consensus-enforced MINIMALIF The MINIMALIF guidelines, that are solely a
standardness rule in P2WSH, are consensus enforced in tapscript. This
implies that the enter argument to the OP_IF and OP_NOTIF opcodes should
be both precisely 0 (the empty vector) or precisely 1 (the one-byte
vector with worth 1).

I assume that right here empty vector represents actually byte 0x00 (worth 0) on the stack, thus it’s not an “air” (nothing). I’ve that assumption as a result of if the empty vector right here represents an “air” (nothing) then it might require completely empty stack to carry out these opcodes.

In the identical BIP, for signature opcodes (OP_CHECKSIGADD, OP_CHECKSIGVERIFY and OP_CHECKSIG) and signature test it says that if the signature is an empty vector then completely different behaviors are carried out than in pre-Taproot. I assume that right here empty vector actually represents an “air”, i.e. the witness merchandise with size 0.

On the finish, within the BIP342, it writes that if the signature is an empty vector (“air”; witness merchandise with the size 0), then OP_CHECKSIG will push an empty vector onto the stack and execution continues with the subsequent opcode. I assume that the empty vector within the case of opcodes (OP_CHECKSIG on this case) additionally characterize byte 0x00 (worth 0), since there is no such thing as a level to push actually nothing (“air”) onto the stack.

  1. Am I proper or mistaken? Does empty vector truly represents the (3) possibility from the primary paragraph, thus in case of stack it represents 0x00 and in case of witness stack it represents merchandise with the size of 0? If not, are you able to inform me what the empty vector represents.
  2. Would a witness merchandise of size 1 and worth 0x00 even be thought-about an empty vector in order that the signature test additionally wouldn’t be carried out within the case of Tapscript?



Please enter your comment!
Please enter your name here