zatoshi/Computer Science > Cryptography and Security

Header chain

The witness appends Zcash block headers to the program. A header is accepted only if its previous hash equals the hash of the last accepted header and its proof of work meets the target encoded in its bits field. The program keeps the most recent four thousand and ninety six headers in a ring and discards older ones. A memo is acted on only once the header of its block has been accepted and at least twelve headers have been accepted after it.

The witness is anonymous and keyless. Anyone can submit a header. A wrong header is rejected and costs the submitter the transaction fee. There is no reward for being the witness beyond the program continuing to work.

Zcash tip
fieldvalue
height
tip hash
tip time utc
Header ring
one rectangle per sixty four headers, ring of four thousand and ninety six
Header fields
fieldoffsetsizemeaning
version04block version
prev hash432hash of the previous header
merkle root3632root of the transaction tree
final sapling root6832sapling commitment tree root
time1004unix time
bits1044encoded target
nonce10832equihash nonce
solution1401344equihash solution with its length prefix