store block hashes separately, allows for a 4-byte block index (instead of 32-byte hash) on transaction list