La situación en que dos archivos distintos tienen mismo md5 pero difieran en contenido se llama colisión, y puede ocurrir. Es posible "fabricar" archivos de modo que siendo distintos coincidan en su MD5, por lo cual es una situación que puede ocurrir, y que por tanto, debe estar contemplada.
Hay dos situaciones interesantes bien distintas que se generan a partir de esto:
- En el tracker: Si hay dos archivos con mismo nombre, pero distinto MD5, el tracker debe decidir qué MD5 retornar.
- En el cliente: Cuando recibe una solicitud para descargar desde él un cierto MD5, si posee archivos distintos con ese MD5, debe decidir qué archivo servir.
Justamente cuando haya que tomar alguna decisión es que se tiene cierto grado de libertad para cumplir ese requisito.
Saludos.