Организация свободного информационного сообщества на основе любого протокола обмена сообщениями с открытым API

8e75717033bb4f07e46154274b5009b9.jpg

Интернет создавался прежде всего как свободная система обмена информацией между людьми, но сейчас он сильно зарегулирован, и перестал быть таким свободным, каким он был в начале. Я не хочу обсуждать надо или не надо регулировать обмен информацией между людьми, но лично меня не устраивает такое обилие регуляторов и генерируемый ими поток запретов и блокировок информации.

На данный момент определенная часть интернет ресурсов позиционирует себя относительно свободными и независимыми, но так ли это на самом деле? Веб сайты уже давно зацензурированы и зарегулированы, а иногда и заблокированы по самое не могу. Относительно свободными остаются некоторые мессенджеры и файлообменные сети, но и они вынуждены подчиняться регуляторам.

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

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

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

Хранить посты сообщества и комментарии к ним можно самым банальным способом — в виде локальной папки с каталогом файлов веб-страниц и медиа, которые можно просматривать любым браузером. Это по сути будет локальный веб-сайт, с определенными правилами по иерархии и форматированию страниц. Файлы страниц и медиафайлы будут изменяться и добавляться в папку помощью специальной программы, назовем её — СП. СП может как принимать обновления так и отправлять свои посты и комментарии другим членам сообщества.

СП с определенными оговорками можно сравнить с системой контроля версий файлов, а посты и комментарии к ним с запросами на изменение кода в репозитории. В качестве транспорта для обмена информацией можно использовать Email, благо бесплатных или относительно дешёвых Email ресурсов в интернете навалом. Большинство из них поддерживает отправку и прием сообщений через API по хорошо документированным протоколам с морем готовых библиотек на разных языках программирования.

Организация сообщества начинается с публикации в любом из популярных блокчейнов названия сообщества, его ЭЦП и начального списка email-адресов почтовых ящиков. В дальнейшем в этом блокчейне или в другом месте можно публиковать обновления этого списка адресов, подписанного ЭЦП. ЭЦП также является ключом или может содержать открытый ключ сообщества (это зависит от выбранного алгоритма шифрования). Также публикуется и периодически обновляется открытый протокол обмена сообщениями в сообществе (ОПОС) тоже подписанный ЭЦП. Для того чтобы каждый мог при желании написать свою версию СП.

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

Да, у конкретного сообщества будет свой владелец или группа владельцев, которые будут обеспечивать его функционирование: запускать почтовых ботов, поддерживать БД сообщества, обновлять списки адресов и ОПОС и т.п. Как мне кажется — это будет намного дешевле, чем содержание сети определенных серверов, и в отличие от того же Павла Дурова, владельцы могут быть весьма анонимными и на них невозможно будет воздействовать через блокировку определенных серверов или монополию магазинов приложений. При желании любой сможет организовать собственное сообщество по такому же принципу.

Для того чтобы стать членом конкретного сообщества надо в настройках СП указать список адресов и ЭЦП сообщества, список своих адресов, после чего на любой из его адресов отправить из СП email, зашифрованный открытым ключом из ЭЦП. Формат этого сообщения подробно будет описан в ОПОС. Сообщение будет содержать команду бота для регистрации нового члена сообщества, его имя, открытый ключ шифрования, и список своих адресов.

После регистрации СП будет периодически получать зашифрованные email c архивами изменений от бота сообщества на список своих адресов, расшифровывать эти сообщения, делать все необходимые проверки и распаковывать архивы в локальную папку на флешке. Также с помощью СП можно будет отправить зашифрованное сообщение со своим постом в сообщество или с комментарием к уже опубликованным постам.

Я не хочу сейчас придумывать конкретную структуру сообщества, правила и прочие детали и нюансы. Пост и так получился длинным, надеюсь главная суть предлагаемого уже понятна, если нет, то отвечу на дополнительные вопросы в комментариях. Интересно узнать мнение хабровчан о предложенной идее в принципе, стоит ли начинать её более детальную проработку?

Habrahabr.ru прочитано 3428 раз