Disallow blocks who's root state hash is the same as the parent.
Fee splitting contract will need access to an Oracle - because it doesn't know anything about the DAG.
Goal - transaction fees are not delivered until a block is built on top of the block you proposed. The transaction fees are held in trust in the PoS contract.
Bag of fees for a transaction. Initially, the fees go to the proposer, and as validatorB creates a block referencing that block, the fees now go to the proposer & validatorB