← Timeline
Avatar
unidentified
Что мы знаем о лисе?

Наткнулся на такой распределённый чат-протокол, вроде даже с ненулевым количеством клиентов. Кто-нибудь щупал и насколько это идеологически совместимо с мойрой? Может, стоит задуматься о гейте?
https://nostr.org/

Come join us on Nostr, a new protocol for more than socializing
get nostr!NOSTR.ORG
To react or comment  View in Web Client
Comments (3)
Avatar
Shmuel Leib Melamud (updated )

Руками не щупал, но это примерно та же идея, что и у BlueSky. В BlueSky есть (1) хранилища контента, (2) релеи, которые собирают контент из хранилищ и индексируют его и (3) клиенты, которые запрашивают контент у релеев. В Nostr обошлись без хранилищ - релеи запрашивают контент прямо с клиентского устройства того, кто публикует контент. Но хранилище вполне можно сделать, протоколу всё равно.

В BlueSky есть одна большая проблема: релей - настолько сложная и прожорливая штука, что в сети он существует в единственном экземпляре, что сводит на нет всю децентрализацию. В Nostr есть около тысячи только публичных релеев, есть механизмы оплаты работы релея и экономии ресурсов (удаление старого контента).

Не нравятся мне тут, как минимум, две вещи. Первая - это всё работает исключительно с публичным контентом. Если я хочу давать право читать мой пост только ограниченному кругу пользователей, я должен положиться на релей, что он будет эти ограничения соблюдать. Но раз релей может запустить кто угодно, то любой, кто захочет читать мои посты в обход ограничений просто запустит свой релей, который не соблюдает правила.

Вторая - это опять грёбаный Твиттер. Это значит, что нет никаких комментов, а есть только посты, отвечающие на мой пост. И если я хочу прочесть все комменты, я должен сделать поиск по всей сети и собрать все посты, ссылающиеся на мой пост. И тут децентрализованность даёт трещину. Дело в том, что релей работает просто и экономно только в случае, когда клиенты сообщают ему, что (или кого) хотят читать, и релей только эти посты и собирает. А вот с комментами так не получится. Комменты могут быть где угодно в сети, а значит релей должен собирать вообще всё. Такой себе Гугл в сотнях экземпляров. Или же он просто будет игнорировать всех пользователей за пределами своего пузыря.

А гейт сделать можно. Чтобы выдавать контент из Мойры в Nostr, вообще особо напрягаться не нужно. А чтобы читать Nostr из Мойры, придётся сделать свой релей и как-то решить проблему комментов. И проблему оплаты работы этого релея, потому что его хранилище будет расти на 1-10 Гб в месяц (это я у искина спросил). И это база данных, а не object storage.

👍2
Avatar

А как правильно делать посты с ограниченным распространением? Я только вижу вариант с зашифрованным каналом и распространением ключа среди френдов, но тогда невозможно отозвать такой ключ

Avatar

В Мойре просто все посты запрашиваются напрямую у ноды, а она уже решает, отдавать или нет. Но если нужно кэшировать на релее, который не контролируешь, то тогда нода должна шифровать пост, а ключ выдавать напрямую тем, кто может этот пост читать. Можно делать для каждого поста отдельный ключ, или один ключ на какой-то период времени, а потом менять. Я не знаю лучшего решения.

To react or comment  View in Web Client