LINUX.ORG.RU

Синхронизация в P2P сети

 , , ,


1

4

Доброго времени суток. Можно ли где-то посмотреть алгоритм синхронизации данных в одноранговой сети с защитой от подмены этих данных? Например, если пиру нужен отсутствующий файл, то он запросит его на всех узлах и сохранит тот экземпляр, который имеется на большинстве узлов. Но ведь обращаться ко всем узлам неэффективно? Тогда каких будет достаточно? Механизм схож с блокчейном, если не ошибаюсь.


DHT? Там, вроде, оперируют хэшами данных и у узлов есть адреса тоже в виде хэшей. Для поиска запрос посылается известному узлу, у которого расстояние (Хэмминга, например) до хэша нужного файла минимальное. Тот узел тоже может кому-то другому переслать, если сам такого файла не знает. Могу что-то путать, но идея примерно такая там.

xaizek ★★★★★
()

Этих алгоритмов бесконечное количество в зависимости от твоих требований, которые ты не обозначил. В общем случае «защита от подмены» обеспечивается цифровой подписью, а не консенсусом, и достаточно скачать «файл» с первого попавшегося пира, и если он битый, продолжить искать дальше. А там можно чего только не накрутить с распределёнными блеклистами, алгоритмами распределённого доверия и консенсусами.

slovazap ★★★★★
()

По хешу. Файл бьется на блоки адекватного размера и каждый блок хешируется, потом взять хеш от этих хешей.
Просто брать хеш файла не очень эффективно, если файл большой то плохой пир может намешать туда мусора, все докачали файл а он битый - и что делать?

KillTheCat ★★★★★
()

Можно ли где-то посмотреть алгоритм синхронизации данных в одноранговой сети с защитой от подмены этих данных?

ZeroNet. Все данные первоисточника подписаны приватным ключом и подделать их на распространяющих узлах никто не может. Это для классического файлового обмена.

В IPFS ещё интересный вариант. Каждый файл адресуется хешем его контента. Соответственно, передаёшь хеш-ключ и можешь быть уверен, что по нему гарантированно получишь точный файл.

KRoN73 ★★★★★
()

Почитай мою обзорную статью про p2p-технологии, а потом подробнее про DHT и Сеть доверия:

https://m.habr.com/post/350220/

Novator ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.