Как реализовать безопасную распределенную социальную сеть?

Мне интересно, как вы подошли бы к реализации социальной сети, подобной BitTorrent. У него может быть центральный сервер, но он должен иметь возможность работать в режиме одноранговой сети без связи с ним:

  • Если сеть всего региона отключена от Интернета, она должна иметь возможность передавать обновления от пользователей внутри региона друг другу.

  • Однако, если какой-то компьютер получает сообщения с центрального сервера, он должен иметь возможность передавать их.

  • Существует некоторый разумный уровень идентификации; некоторые компьютеры могут рассылать неполные/неверные сообщения или проводить DOS-атаки. Он должен иметь возможность описывать некоторую информацию как полученную от более надежных компьютеров, а некоторую — с менее надежных.

  • Однако теоретически он должен иметь возможность использовать любой компьютер в качестве сервера, динамически оптимизируя сеть, чтобы обычно только быстрые компьютеры с достаточным количеством Интернета работали в качестве сидов.

  • Сеть должна иметь возможность масштабироваться до сотен миллионов пользователей; однако каждого конкретного человека интересует менее тысячи каналов.

  • Он должен включать некоторые функции конфиденциальности, подобные Tor.

Чисто теоретический вопрос, хотя и навеянный недавними событиями :) Надеюсь, кто-нибудь его реализует.


person ilya n.    schedule 22.06.2009    source источник


Ответы (3)


Интересный вопрос. С использованием уже существующего tor, p2p, darknet и, используя некоторую инфраструктуру открытого/закрытого ключа, вы, возможно, могли бы придумать несколько замечательных вещей. Было бы неплохо увидеть нечто подобное в действии. Однако я вижу большую проблему. Не некоторыми людьми, использующими его для обмена файлами, НО тем, что наводняют сеть бесполезной информацией. Поэтому я бы предложил использовать подход, подобный твиттеру, где вы можете банить и подписываться на определенных людей и начинать с очень ограниченного набора функций в начале.

Между прочим, мы, программисты, могли бы сделать хорошее начало для достижения этой цели, НЕ сохраняя и не анализируя много информации о пользователях, а используя безопасные способы хранения и доступа к данным, связанным с пользователями!

person merkuro    schedule 22.06.2009
comment
Ну, я думаю, если мы говорим о Твиттере, количество информации из одного источника ограничено скоростью, с которой человек может печатать, а это немного. - person ilya n.; 23.06.2009

Интересно, протокол рандеву делает что-то подобное (хватает "приятелей" в локальной сети)

Bittorrent — это средство передачи статической информации, оно не предназначено для того, чтобы все становились производителями нового контента. Кроме того, битторрент требует, чтобы производитель был выделенным сервером, пока все клиенты не смогут получить информацию.

person monksy    schedule 09.10.2009

Диаспора претендует на такое место.

person asyncwait    schedule 11.02.2011