MD4 is a 'message digest' algorithm, that takes a file, and outputs a hex string of 32 digits. It's an open algorithm described in RFC:1320. it is almost impossible for two different files to have the same md4, thus giving a pretty safe means to identify files. is used to identify whole files and chunks on the ed2k-net.
It's faster than the more secure MD5.
The MD4 algorithm has been broken in 1995 (the Pr. Hans Dobbertin gave a method for creating a block of data with any given MD4 hash). Yet we shouldn't worry too much about that, because you usually download a chunk from several sources using the eDonkey or the Overnet networks, and that a "mix" from two chunks with the same MD4 hash (the real one and the fake) will certainly have a different hash.
Edit: that's not true. It can be done by modifying locally the block, in a zone as small as 64 bytes. That modification can go unnoticed by clients if they download that small zone at once :( :(