Final Assessment

  1. What language is the Bitcoin scripting language based on?

  2. What is the stack notation used in Bitcoin script called?

  3. True or False: Node operators have the right to change the opcode list at any time

  4. When looking at a raw transaction, what do the last 4 bytes represent?

  5. When nLocktime has a value less than 500,000,000, what is used to determine when the transaction can be mined?

  6. Under what conditions is a transaction valid and final?

  7. Which of the following stack configurations will result in a valid input (final value is top of stack)?

    1. 0x01, 0x01, 0x01, 0x00

    2. 0x81

    3. 0x80

    4. 0x01

  8. How many OP_ELSE statements can go into an IF loop?

  9. What will OP_FALSE/OP_0 push onto the stack?

  10. What does OP_NOP do?

  11. What does OP_RETURN do?

  12. Which opcode copies the top stack item and places it behind the second from top stack item?

  13. What does OP_SIZE do?

  14. Which of the following is a P2PKH script?

  15. Which value do I need to know to validly solve an R-Puzzle?

  16. Which opcode can be used to reduce the size of the scriptSig component in a transaction pre-image?

  17. When using OP_PUSH_TX how does the pre-image get generated?

  18. Does using OP_PUSH_TX make Bitcoin Turing complete?

  19. Which hash function is used to create hashPrevouts, hashSequence and hashOutputs in the transaction pre-image?

  20. Which SIGHASH flag must you ALWAYS use?

Last updated