Blockchains.
As defined in validator-state, we model a blockchain as a list of blocks, growing from right to left (i.e. via cons).
Here we introduce operations on blockchains, specifically operations to extend blockchains. These operations are used to define what happens when a validator commits one or more anchors, each of which results in a block.