Earlier blockchains (including the one created for Bitcoin) intrinscially performed two roles:
- Declaring transactions
- Maintaining a serial (single) history (list) of transaction blocks
We can split these roles by allowing blocks to observe multiple referential blocks, forming a Directed Acyclic Graph (DAG), which can then be inferred to determine the serial history of transaction blocks.