BlackHole is an data de-duplicating network block device that also supports mirroring, snapshots, and support for multiple LUNs using the same data store. It is filesystem agnostic and has been tested with ext2/3/4, NTFS, ReiserFS, and the Oracle Cluster File System (OCFS2). It supports encryption, compression, and multiple storage backends. The hashing scheme used is user configurable. The program exports an NBD device which can be mounted in Linux and GNU/Hurd.