Здравствуйте, я разрабатываю приложение, которое будет обмениваться уникальными группами и принадлежащими им сообщениями между узлами внутри локальной сети без каких-либо серверов. Каждый из одноранговых узлов должен иметь возможность создать новое сообщение и связать его с существующей или новой группой. Поскольку сообщения и группы должны быть уникальными, я реализовал хэш-алгоритм, создающий идентификатор этих сообщений из статических значений, таких как содержание, дата создания, автор, заголовок (сообщения не редактируются). Идентификатор, который я использую, помогает мне проверить целостность и возможное дублирование, когда сообщение/группа отправляется на другое устройство. Но поскольку нет сервера для хранения учетных записей и проверки достоверности каждого из пиров, я не могу придумать способ реализовать механизм, который будет проверять подлинность данного сообщения от конкретного автора. На данный момент любой может публиковать сообщения с добавлением ложного имени автора, что я и хочу решить. Как я могу это сделать?
PS. Мое приложение может быть похоже на то, как работает Twitter, но у него нет учетных записей и основных серверов для их хранения. Он разработан на Android и не может использовать Интернет просто потому, что он использует Wi-Fi для подключения только к маршрутизаторам локальной сети, и я бы не хотел, чтобы пользователям приходилось использовать 3G/edge.
Возможные решения:
Используйте специальный идентификатор телефона (IMEI), а также как его получить программно и действительно ли он уникален?
Используйте MAC-адрес телефона (фактически хэшированное объединение MAC-адресов Bluetooth и WiFi), уникально ли это для каждого телефона? Проблема с этим и вышесказанным заключается в том, что настоящий автор может со временем сменить свой телефон.
Если подлинный автор ранее входил в систему со своей учетной записью Google, сохраняется ли она в памяти телефона и могу ли я программно получить эту информацию в автономном режиме?