Open
Description
The heartbeat is sent when our last block is a minute old. We select a peer, send them our latest block hash, and if it's old, we receive the next few blocks. We then send the same peer our new latest block hash and receive the next set until synced.
Since the Tributary uses Tendermint, we can check a block was finalized without the Tributary handle itself. The heartbeat task SHOULD sync a list of headers, verify the tail commit, then sync the blocks themselves from its peers in parallel.
There's also an argument headers should only be the last hash and the block hash to minimize their size. I forget their current definition.