В то время как многие социальные сети в дикой природе, большинство полагается на данные, хранящиеся на центральном сайте, принадлежащем третьей стороне.
Я хотел бы построить решение, где данные остаются локальными в системах-членах. Подумайте о проекте как адресной книге , которая автоматически обновляет контактные данные, как только контакт меняет свои координаты. Эта базовая идея может быть расширена позже...
Обновления будут переданы с использованием криптографии с открытым/закрытым ключом с использованием центрального узла. Единственная роль хоста должна быть промежуточной и промежуточной версией. Частные ключи остаются закрытыми для каждой системы-члена.
Если два клиента находятся как в сети, так и через соединение p2p, клиенты могут передавать телеграммы данных без центрального хоста.
Таким образом, отправитель и получатель будут единственными сторонами, которые могут создавать достоверные сообщения.
Вопросы:
- Существуют ли определенные протоколы, которые я должен принять?
- Есть ли проблемы безопасности, о которых я должен помнить?
- Существуют ли определенные службы, которые необходимо каким-то образом интегрировать или использовать?
Более технически:
- Использовать, например. Амазонки или услуги Google?
- Или лучше использовать необработанный веб-сервер? Если да: почему?
- Какой алгоритм и длина ключа должны использоваться?
ОБНОВЛЕНИЕ-1
Я просмотрел свой собственный вопрос и нашел этот академический проект, разработанный в 2008/09 году: http://www.lifesocial.org/.