I am unable to understand the difference between history and bucketlist. As per documentation, bucketlist is used for:
Efficiently transmitting a minimal "delta" of changes to the set when a peer is out of sync with the current ledger state and needs to "catch up".
And history is
If the LedgerManager detects that it is out of sync with its peers, it enters "catchup mode", during which the history module downloads and replays historical history from a history archive to the LedgerManager, attempting to return it to synchronization with its peers.
"Historical" data exists for peers to catch up to one another, as well as for record auditing and interoperability with other programs.
It looks like both of them are used for syncing up the nodes. however I understand that bucketlist is also used for calculating the HASH of entire set but other than that what else is the difference between two?