Решение, которое вы описываете, поразительно похоже на электронную почту, с зашифрованными сообщениями в качестве полезной нагрузки и приложением, а не человеком, создающим сообщения.
На самом деле это не похоже на «p2p» - в большинстве протоколов P2P единственным требованием для центральных серверов является обнаружение - вы используете store & forward.
В качестве быстрого доказательства концепции я настроил бы почтовый сервер и создал бы приложение, которое отправляет электронные письма на адреса, зарегистрированные на этом сервере, зашифрованные с использованием PGP - инструменты и библиотеки доступны, так что вы должны иметь возможность приступить к работе за несколько дней, а не недель. По моему опыту, создание одноразового PoC для такого рода вопросов - отличный способ отсеять самородок моей идеи.
Вторая проблема заключается в том, что природа социальной сети заключается в том, что это сеть. Ваш дизайн может потребовать от вас хранить больше, чем данные двух прямых контактов - вам также может понадобиться хранить их друзей или, по крайней мере, публичные взаимодействия этих друзей.
Возможно, это не является частью вашего плана, но если это так, вам нужно продумать его на раннем этапе - вам может понадобиться передать весь социальный граф каждому участнику для локального хранения, что создает проблему масштабируемости. ...