Tomorrow I'm going to add in chain_state computation into the headers protocol, and look at the performance cost of maintaining that state and adding it into header writes. There should really not be a material cost, as the chain state class never hits the store - it just rolls forward the small amount of history necessary to obtain chain state at and given block. Dummy values are already being written to the store, so there's no change to write cost. I'll follow this up with a full sync that builds on the store with prepopulated headers (and correct chain state). This will provide a store that is then fully capable of self-contained full chain validation.