Есть сырые мысли по этому поводу. Почему стоит рассмотреть Nostr.
Инфраструктура и данные
Что если отказаться от централизованного бэкенда? Участники создают кусочки информации, подписывают их своими ключами и отправляют в сеть. Нет единого центра, который хранит информацию, а значит нет риска его исчезновения и цензуры. Однако задача data availability никуда не исчезает и должна решаться усилиями остальных участников сети: хотя бы несколько акторов должны запустить свои узлы сети и «запинить» данные системы, чтобы они были доступны:
- достаточно одного-двух акторов, которые будут пинить копию данных
- любой участник может запустить свою ноду и быть полностью суверенным в этом плане
Интерфейс доступа
Ок, допустим у нас есть данные, плавающие в «супе» Nostr. Чтобы их оттуда выудить, нужен клиент. Данные разнотипные («комменты», «посты», «лайки» и .т.п), клиент должен понимать их и уметь отображать и создавать. Тут тоже можно обойтись без централизации. Скорее. всего у сообщества будет свой, канонический, экземпляр клиента: какой-то web-интерфейс, который доступен на сервере одного из участников (а-ля как veche.me). Однако это тонкий клиент, только вёб-приложение. Легко запустить копию этого фронтенда другим участником и сделать доступной для всех желающих. Легко запустить его копию из исходного кода, причём не нужен даже вёб-сервер, это может быть оффлайн-страничка в бразуере. Ну и клиенты могут быть написаны не на web-технологиях тоже. Их может (и, надеюсь, будет) несколько. Клиентов уже написано множество и их нужно будет доработать под наши нужды. Многие из «хотелок» уже стандартизированы в виде Nostr Improvement Proposal (NIP), но достаточно просто создавать свои форматы данных. Для этого не требуется ни разрешения от участников сети, ни KYС — идеально.
Конкретная реализация
Я бы предложил не изобретать велосипеды, а скоординировать усилия с существующими наработками. Например, @sondreb занимается разработкой https://freeplatform.city/ — набора софта для координации свободных людей в рамках комьюнити. Среди прочего там есть Nostr-клиент Notes, который очень близок к тому, что нужно.
Тематическое обсуждение на дВече:
Сложности
- Нам потребуется возможность делать приватные топики. Спецификация для приватных чатов 1-на-1 существует, но нам будет нужна подобная для групповых чатов и тут предстоит подумать, как её реализовать (у меня есть идеи, отдельная тема).
Что скажете?
Я не специалист в Nostr и могу упускать какие-то фундаментально непреодолимые препятствия, которые не позволят нам полноценной пользоваться такой системой. Если вы их знаете или знаете альтенативы — буду благодарен за критику.