Nostr привлек к себе много внимания и внимания с момента своего появления. последнее дополнение в список альтернативных социальных площадок, продвижение которых в Твиттере запрещено. И это также набирает обороты, поскольку стало ясно, что покупка Твиттера Илоном Маском ничего принципиально не изменила в свободе выражения мнений на платформе — пользователи все еще запрещен по непоследовательным и произвольным причинам, и люди ищут децентрализованную альтернативу, которая не похожа на Mastodon, где оператор сервера по-прежнему имеет возможность контролировать вашу личность.
Несмотря на недавнее внимание, протокол Nostr и первая реализация сервера ретрансляции фактически были созданы разработчиком в конце 2020 года. фиатжаф. До большого всплеска внимания это был просто тихий, нишевый протокол, просто пытающийся стать легким решением проблем Twitter и Mastodon. В обеих системах ваша личность/имя пользователя просто контролируется тем, кто управляет сервером. Mastodon, являющийся федеративной системой с множеством разных серверов, общающихся друг с другом, принципиально не меняет эту реальность. Какой бы сервер вы ни использовали для размещения учетной записи, он полностью контролирует, можете ли вы его использовать или нет. Даже если у вас есть собственный сервер, другие операторы серверов могут внести в черный или белый список серверы, которым будет разрешено общаться со своими. Это привело к множеству разделов в Fediverse на разные серверы Mastodon и делает идею запуска собственного сервера бессмысленной. В конечном итоге вы все еще можете подвергнуться цензуре со стороны других операторов серверов, что не позволит их пользователям увидеть ваш контент в своей ленте.
Основное различие между Nostr и чем-то вроде Mastodon заключается в том, что вместо использования имени пользователя, принадлежащего оператору сервера, каждый пользователь использует пару открытого/закрытого ключей для выполнения этой функции. Это то, что оператор сервера не может просто забрать у вас или заблокировать. Это один из основных строительных блоков, на основе которого строится общий протокол Nostr.
Следующее — «события». Это основной тип объекта/данных, используемый клиентами и серверами ретрансляции, к которым подключаются клиенты для отправки и получения сообщений. Общая идея протокола заключается в том, что клиенты отправляют события на серверы ретрансляции, которые затем, в свою очередь, сохраняют и индексируют их, а другие клиенты могут связываться с серверами ретрансляции, чтобы запрашивать события, которые они получили и сохранили. В оригинале NIP 01определены три различных типа событий:
- 0: Отправляет метаданные о пользователе, такие как имя пользователя, изображение, биография и т. д.
- 1: Отправляет текстовые сообщения и основной контент
- 2: рекомендует серверы ретрансляции для людей, следящих за создателем события, чтобы подключиться к ним.
Все события структурированы строго определенным образом. Они включают в себя открытый ключ создателя, временную метку, когда они были созданы, их тип (или вид в спецификации), полезную нагрузку содержимого и подпись создателя события. Они также могут иметь теги, ссылающиеся на другие события или пользователей, и иметь значение идентификатора, которое представляет собой хэш всего, кроме подписи создателя (аналогично TXID для биткойн-транзакций). Это позволяет вам гарантировать, что сообщение действительно было создано владельцем открытого ключа внутри него, проверив подпись (и лицо, которому принадлежит этот ключ, если он не скомпрометирован), и гарантировать, что сообщение не было изменено после они подписали его. Точно так же, как вы не можете изменить биткойн-транзакцию после того, как она была подписана, не аннулируя ее, вы не можете изменить событие Nostr после того, как его подписал создатель, без явного мошенничества.
Система видов событий была значительно расширена по сравнению с исходным NIP. Существует тип события для зашифрованных прямых сообщений, устанавливающий общий ключ путем объединения закрытого ключа отправителя с открытым ключом получателя, в результате чего получается тот же ключ, который вы получили бы, объединив открытый ключ отправителя с закрытым ключом получателя (вот как BIP 47 и тихие платежи работают). Существуют также типы для заменяемых событий и эфемерных событий. В случае заменяемого события (очевидно) они разработаны таким образом, чтобы первоначальный создатель события мог подписать новое взамен старого. Серверы ретрансляции, соответствующие спецификации, автоматически удалят старое событие из своего хранилища и начнут предоставлять более новые версии клиентам после их получения. Эфемерные события спроектированы таким образом, что они будут транслироваться всем, кто подпишется на их создателя, при отправке в ретранслятор, но серверы ретрансляции не должны их хранить. Это создает возможность того, что сообщения будут видны только людям, которые находятся в сети во время их трансляции. Существует даже тип события, чтобы сигнализировать о реакции (например, лайки или смайлики) на события других людей.
Говоря о последнем, события также могут содержать теги. В настоящее время существуют типы тегов для событий (для ссылки на конкретное событие Nostr), открытых ключей (для тега или ссылки на других пользователей) и тем (для имитации функций, таких как темы электронной почты). Все они могут включать указатели на определенные серверы ретрансляции, с которых могут быть получены данные, чтобы пользователи могли фактически взаимодействовать между серверами, т. е. пользователь, размещающий свой контент на одном сервере ретрансляции, может взаимодействовать и ссылаться на контент, созданный другим пользователем, публикующим на нем. другой сервер ретрансляции таким образом, чтобы любой пользователь мог когерентно получать весь поток взаимодействий в правильном порядке и без особых сложностей в выяснении, где найти соответствующие данные.
Внутри исходного NIP дается спецификация того, как клиенты должны взаимодействовать с серверами ретрансляции через структуру сообщений/данных о подписке, которая включает фильтры для того, какие события заинтересованы в получении клиентом. Эти фильтры могут указывать открытые ключи пользователей, точные события, типы событий и даже определенные временные рамки, в которые они хотят, на основе предыдущих критериев. Вы даже можете отправлять префиксы открытых ключей или идентификаторов событий, например «1xjisj…». и получать любое событие или события из открытого ключа, которые начинаются с этой короткой строки (это может быть полезно для сокрытия от сервера ретрансляции того, что вы действительно хотели просмотреть).
В целом, протокол представляет собой очень простую обобщенную схему передачи сообщений между пользователями, которая охватывает важные вещи, такие как гарантия целостности сообщений и отправителя с использованием идентификаторов с открытым ключом, а также упрощает инфраструктуру на бэкэнде для серверы ретрансляции, которые могут быть чрезвычайно централизованы или позволять пользователю запускать свой личный сервер ретрансляции, при этом беспрепятственно взаимодействуя друг с другом и не вызывая массового хаоса в случае блокировки пользователя на одном сервере ретрансляции. Они могут перейти на другой или запустить свой собственный, и их деплатформизация с предыдущего сервера не потеряет их цифровую идентичность или подписчиков, потому что они по-прежнему сохраняют контроль над своим закрытым ключом, и пользователи могут аутентифицировать его, находя их в другом месте.
Серверы ретрансляции также могут работать так, как они хотят. Они могут работать бесплатно, могут взимать микроплатежи за публикацию или загрузку сообщений. даже НПВ за требование подтверждения работы в стиле hashcash для отправки сообщения. Они могут быть единым сервером ретрансляции для хостинга и предоставления другим пользователям только ваших сообщений, или они могут быть сервером, работающим в больших масштабах, таким как Twitter или Reddit (клиенты могут отображать и организовывать информацию так, как они хотят, что позволяет эмулировать практически любую социальную сеть). медиаплатформа, существующая сегодня). Все это может беспрепятственно взаимодействовать и не блокировать пользователя. Вы можете запретить им размещать контент на вашем сервере ретрансляции, но в конечном итоге вы не можете запретить им просматривать контент, который вы размещаете на своем сервере ретрансляции, или запретить другим пользователям находить их контент на других серверах.
Это очень упрощенный протокол с большим открытым пространством для разработки, гарантирующим, что пользователи всегда могут взаимодействовать друг с другом, независимо от того, что отдельные операторы серверов ретрансляции решат размещать или не размещать. В этом одновременно его величайшая сила и величайшая слабость. Хотя он гарантирует разработчикам свободу построения без жестких ограничений с помощью сложного протокола, существует также множество проблем, с которыми он неизбежно столкнется и которые не обрабатываются самим протоколом.
В следующей части, которую я напишу, я расскажу о некоторых проблемах, которые я вижу, и о потенциальных решениях, но сейчас я просто скажу, что с точки зрения простоты дизайна и возможностей, которые он открывает для людей. build, Nostr проделал очень хорошую работу, учитывая, что это детище одного человека, и только несколько человек до сих пор действительно внесли свой вклад в саму спецификацию протокола.
Это гостевой пост Шиноби. Высказанные мнения являются полностью их собственными и не обязательно отражают точку зрения BTC Inc или Bitcoin Magazine.
- SEO-контент и PR-распределение. Получите усиление сегодня.
- Платоблокчейн. Интеллект метавселенной Web3. Расширение знаний. Доступ здесь.
- Источник: https://bitcoinmagazine.com/technical/what-makes-nostr-a-different-social-platform
- 2020
- 7
- a
- способность
- в состоянии
- О нас
- Учетная запись
- через
- на самом деле
- После
- Все
- позволяет
- альтернатива
- всегда
- и
- Другой
- кто угодно
- внимание
- проверять подлинность
- автоматически
- Backend
- запрещенный
- основанный
- основной
- , так как:
- становиться
- до
- за
- не являетесь
- между
- большой
- Bitcoin
- Биткойн-журнал
- биткойн-транзакции
- bitcoiners
- Блоки
- вещания
- BTC
- BTC Inc
- строить
- Строительство
- построенный
- выкуп
- не могу
- случаев
- Причинение
- централизованная
- изменение
- Chaos
- заряд
- Выберите
- Очистить
- клиент
- клиентов
- комбинируя
- общаться
- сложность
- сложный
- Ослабленный
- Свяжитесь
- принимая во внимание
- ограничения
- содержание
- способствовало
- контроль
- контроль
- Основные
- Обложки
- создали
- создает
- создатель
- Критерии
- В настоящее время
- данным
- децентрализованная
- Проект
- предназначенный
- Застройщик
- застройщиков
- различный
- Интернет
- цифровая идентификация
- направлять
- Дисплей
- скачать
- Падение
- в течение
- каждый
- Элон
- Elon Musk
- в другом месте
- зашифрованный
- Весь
- полностью
- по существу
- налаживание
- и т.д
- Даже
- События
- События
- НИКОГДА
- многое
- Кроме
- существует
- расширенный
- выраженный
- чрезвычайно
- облегчающий
- Федиверс
- Получено
- фильтры
- Найдите
- обнаружение
- First
- флокирования
- после
- мошенничество
- Бесплатно
- Freedom
- от
- функция
- функциональность
- принципиально
- получение
- Общие
- получить
- данный
- Go
- хорошо
- хорошая работа
- величайший
- гарантия
- гарантии
- GUEST
- Guest Post
- горсть
- обрабатывать
- хэш
- имеющий
- кашель
- хостинг
- Как
- Однако
- HTTPS
- идея
- тождества
- Личность
- реализация
- важную
- in
- включают
- включает в себя
- индекс
- individual
- информация
- Инфраструктура
- вместо
- целостность
- взаимодействовать
- взаимодействующий
- взаимодействие
- заинтересованный
- взаимодействовать
- вопросы
- IT
- саму трезвость
- работа
- Основные
- ключи
- Вид
- большой
- Фамилия
- привело
- Lets
- легкий
- Список
- искать
- терять
- серия
- журнал
- поддерживать
- ДЕЛАЕТ
- многих
- массивный
- Мастодонт
- Медиа
- сообщение
- Сообщения
- Метаданные
- микроплатежи
- двигаться
- с разными
- Маск:
- обязательно
- Новые
- следующий
- Ностр
- Очевидный
- Старый
- ONE
- онлайн
- открытый
- Откроется
- работать
- оператор
- Операторы
- Мнения
- заказ
- оригинал
- Другое
- общий
- собственный
- принадлежащих
- владелец
- владеет
- Прохождение
- платежи
- Люди
- человек
- личного
- картина
- кусок
- Платформа
- Платформы
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- возможности,
- возможность
- После
- Блог
- потенциал
- предотвращать
- предупреждение
- Предварительный
- частная
- Секретный ключ
- проблемам
- продвижение
- доказательство
- правильный
- протокол
- что такое варган?
- публичный ключ
- открытые ключи
- реакция
- Реальность
- причины
- Получать
- получила
- получение
- последний
- рекомендует
- Reddit.
- отражать
- Несмотря на
- соответствующие
- замещать
- запросить
- Итоги
- возвращают
- Run
- Бег
- то же
- Шкала
- схема
- легко
- видя
- Воспользоваться
- Серверы
- выступающей
- общие
- Короткое
- подпись
- сигнал
- подписанный
- аналогичный
- простота
- просто
- одновременно
- с
- одинарной
- So
- уже
- Соцсети
- социальные сети
- социальные платформы
- Решение
- Решения
- некоторые
- удалось
- Space
- конкретный
- Спецификация
- Steam
- По-прежнему
- Stop
- диск
- магазин
- хранить
- прочность
- Структура
- структурированный
- отправить
- подписка
- такие
- предполагаемый
- система
- системы
- TAG
- Говорить
- говорить
- terms
- Ассоциация
- их
- задача
- вещи
- три
- Через
- отметка времени
- в
- сегодня
- топ
- Всего
- тяга
- сделка
- Сделки
- ОЧЕРЕДЬ
- Типы
- В конечном счете
- использование
- Информация о пользователе
- пользователей
- использует
- ценностное
- проверка
- Вид
- мочеиспусканий
- стремятся
- слабость
- Что
- будь то
- который
- в то время как
- Белый список
- КТО
- кто бы ни
- будете
- без
- Работа
- бы
- записывать
- Ты
- ВАШЕ
- зефирнет