What is a mergeset in Kaspa's blockDAG?
A mergeset is the set of blocks a new Kaspa block must account for in consensus — specifically, blocks that are not ancestors of the selected parent but are still reachable through the block's parent set. In Kaspa's blockDAG, each new block picks a "selected parent," but other recent blocks may exist in the graph that haven't been formally ordered yet. The mergeset captures those blocks so the protocol can include them in its consensus decisions. For a concrete example: if block B is the selected parent, blocks C and D — assuming they are not ancestors of B but are reachable through the parent set — would both be part of the mergeset for the block being created. Knowing what a mergeset is matters because it shows how Kaspa accounts for every valid block in the network, not just the ones on a single chain.