Is there some reason we need the BlockID in the Header? From what I understand, we only need it in the proposal to support the SWIFT like gossiping. I don't immediately see why we would need the next block to include a commitment to the way the last block was gossiped.
@jaekwon @milosevic