Pool 3

Students must receive a score of 26/28 to successfully pass the course.Students must receive a score of 26/28 to successfully pass the course.

  1. Which Output List data structure is correct?

Output script, Output script length, Value

Value, Output script, Output script length

Value, Output script length, Output script ✓

Output script length, Output script, Value

  1. An 8-byte little-endian value representing a non-negative integer representing the quantity of satoshis held by the output.

Value ✓

Output script length

Output script

  1. The output script in bytes, given as a 1-9 byte VarInt is known as the?

Value

Output script length ✓

Output script

  1. Often referred to as the scriptPubKey, each scriptPubKey defines the locking/spending conditions of an output and is known as the?.

Value

Output script length

Output script ✓

ScriptSig

  1. If the nLockTime field is less than or equal to 500,000,000, what does the nLockTime field represent?

The Block height at which the transaction becomes final. ✓

A UNIX epoch timestamp.

The transaction size.

The transaction fee.

  1. If the nLockTime field is greater than 500,000,000, what does the nLockTime field represent?

The Block height at which the transaction becomes final.

A UNIX epoch timestamp. ✓

The transaction size.

The transaction fee.

  1. What occurs to the nLockTime if all the transaction inputs have the maximum nSequence value?

It is ignored and the transaction can be included within a block. ✓

The transaction becomes final and doesn't need to be added to a block.

The nLockTime becomes a UNIX epoch timestamp.

The transaction is invalid until it can be finalized.

  1. A transaction in which nLockTime is set in the future and has multiple inputs with nSequence number fields _____ 0xFFFFFFFF is considered____.

above, non-final

below, non-final ✓

equal to, final

below, final

  1. What happens to a transaction with a future nLockTime and an nSequence field below 0xFFFFFFFF?

Since it is a final transaction it is accepted by nodes and included within a valid block.

It is held until nLockTime expiry or its input's nSequence has been finalized. ✓

Since it is a non-final transaction it is ignored until the payment channel is closed.

Nodes wait until the block height has passed before validating the transaction.

10. Non-final transactions are replaceable with what?

Transactions with the same inputs but with a lower nSequence number.

Transactions with different inputs but the same nSequence number.

Transactions that include the same inputs and the same nSequence number.

Transactions that include the same inputs with a higher nSequence number. ✓

11. What do non-final transactions allow for?

Non-standard transactions.

Final transactions.

Payment channels. ✓

All of the above.

12. Which describes payment channels?

An entirely new means of payment. ✓

A way to deliver services directly through bitcoin transactions. ✓

The dynamic exchange of value and/or data between parties. ✓

A way to pay for services in real-time. ✓

13. In what state is a payment channel that is built on a transaction in which all of its inputs have a maximal nSequence value but a nLockTime in the future?

It is complete and can be timestamped in a block. ✓

It is still incomplete and must wait for the nLockTime to expire.

It is complete but it must wait until the nLocktime expiry to be added to a block.

It is still incomplete but can be added to a block.

14. To establish a payment channel, two parties create a ______ for the channel. The channel can be updated frequently by creating a ______, which spends the channel funds, and iterates this transaction by updating it and increasing its _______.

non-final transaction, funding transaction, nSequence numbers.

nLockTime for the channel, funding transaction, nSequence numbers.

non-final transaction, funding transaction, nLockTime.

funding transaction, non-final transaction, nSequence numbers. ✓

15. What may occur many times before the channel is eventually closed by finalizing and broadcasting the transaction?

The transaction update process. ✓

The iteration of the nSequence numbers.

The finalization of the inputs.

The iteration of the inputs maximal nSequence number.

16. What happens once a payment channel closes?

Only the last non-final transaction is recorded on-chain.

Only the funding transaction is recorded on-chain.

Only the most recent version of the iterated transaction is recorded on-chain. ✓

All iterations of the transaction are recorded on-chain.

17. Which are the correct rules for comparing each new version of the iterated transaction with the previous version?

The previous outputs are the same set being spent by the transaction inputs. ✓

No more than one of those inputs can be submitted with a decreased nSequence number.

At least one input must have an increased nSequence number. ✓

None of those inputs can be submitted with a decreased nSequence number. ✓

18. A channel can be closed by finalizing the _______ of the transaction or waiting for its ______.

nSequence values, nLockTime to expire. ✓

nLockTime, nSequence to finalize.

input’s maximum nSequence values, finalization.

nSequence expiry, block height.

19. What does a node do once it receives a valid transaction?

It inserts it into a transaction pool based on its finality and the node’s local policies. ✓

It includes it into its next block.

It inserts all types of valid transactions into the main mempool.

It inserts final transactions into the main mempool and non-final transactions into the secondary mempool.

20. How many transaction pools may a node retain?

Three.

As many as it wishes. ✓

One.

Those which are available through the BitcoinSV node client software.

21. BitcoinSV node client software provides which transaction pools to nodes?

Main mempool ✓

Secondary mempool ✓

Final mempool

Non-final mempool ✓

22. Match the mempool type with the description: This mempool contains transactions that don’t meet the node’s local policies for inclusion in a block, but may meet the requirements of other nodes on the network.

Main mempool.

Secondary mempool. ✓

Non-final mempool

23. Match the mempool type with the description: This mempool contains transactions that have been accepted as valid and will be included in the nodes next block.

Main mempool. ✓

Secondary mempool.

Non-final mempool.

24. Match the mempool type with the description: This mempool may store transactions such as the intermediate states of a payment channel.

Main mempool.

Secondary mempool.

Non-final mempool. ✓

25. Transactions in a node's main mempool must be ____, ____, and meet all ____.

valid, non-final, network rules.

valid, final, network rules and local policies. ✓

final, valid, local policies.

payment channels, non-final, network rules.

26. Transactions in a node's secondary mempool generally contain transactions _______ but ________.

that are valid, below the node’s and the network's minimum fee limit

that are valid, but don’t follow the network rules

that are non-standard and too large to process for the node, are still valid

below the node’s transaction fee limit, above the network-wide minimum fee ✓

27. The non-final mempool stores ____ transactions that are not yet final and deals with transactions which can theoretically be updated around ____ times per ____.

complex, 43, iteration.

non-final, 4.3 million, minute.

valid, 4.3 billion, input. ✓

invalid, 43 billion, transaction

28. What is the final field of a transaction?

scriptPubKey

nSequence

nLockTime ✓

scriptSig

Last updated