Finds block that satisfies given predicate @param predicate - predicate for block \return block if search was successfull, null - if such block doesn't exist
Return list of all hashes in storage \return list of hashes
Reads block with given fingerprint from storage @param fingerprint - fingerprint of block to read \return block with given fingerprint, null - if such block doesn't exist
Writes given block to storage @param block - block to write
\interface HashChainStorage Interface represents entity that provides access to storage of hash chain blocks