достоинство 1) если твой сосед по локалке уже скачал хотя бы часть, клиент у него утащит, и не будет грузить сеть 2) резервирование хранилища файлов — в худшем случае х количество клиентов
с любым промежуточным хранилищем прийдеться организовывать систему удаления переданного файла, ну тоесть получатель после получения файла должен будет или сам удалить временный файл, или послать сообщение кому-то кто этот файл должен будет удалить
Очень плюсую такой подход. Ещё позволяет избежать дублирования, если много пользователей по какой-то причине грузят одинаковый файл.
только вот лучше не md5, а sha256 или sha512, и можно бы не все в одну папку складывать, а хеш бить на части, чтобы получить дерево - чтобы не получить миллион файлов в одном месте