1. An apparatus comprising: physical storage comprising a plurality of persistent storage devices; and at least one computing node comprising at least one processor and memory, the processor running a compression algorithm that compresses a new block by: generating a probabilistically unique value that is used as a new block label; performing a probabilistic comparison of the new block label with a plurality of training labels, each training label being uniquely associated with a different training block, thereby identifiying a plurality of training labels that are potentially similar to the new block label; calculating a Hamming distance between each potentially similar training label and the new block label; selecting the training label associated with the smallest calculated Hamming distance; generating a bitmap of differences between the new block and the training block associated with the selected training label; storing the bitmap as a compressed representation of the new block; and discarding the new block.