Сравнительный анализ децентрализованных социальных протоколов

Продвинутый1/7/2024, 12:40:33 PM
Эта статья знакомит с децентрализованными социальными протоколами, сравнивая традиционные платформы социального контента с новыми проектами Web3 в аспектах, таких как личность, обмен данными, хранение и бизнес-модели.

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

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

История децентрализованных и альтернативных социальных медиа

До того как веб стал центром коммерции, развлечений и социальных взаимодействий, он в основном был академическим и военным инструментом. Тим Бернерс-Ли придерживался эгалитарного видения, когда формулировал первые веб-протоколы - первоначальное проектирование интернета должно было быть децентрализованной сетью, где информация могла свободно передаваться между узлами без какой-либо единой точки управления или отказа.

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

Ключевым новшеством в хронологии альтернативных социальных сетей стало появление концепции федеративных протоколов. Федеративная сеть относится к системе, в которой несколько независимых серверов или "узлов" сотрудничают для формирования единой социальной сети, в отличие от централизованных платформ, где одна организация контролирует все серверы.

В федеративной системе каждый сервер выполняет совместимое программное обеспечение, которое следует общим протоколам, позволяя им обмениваться информацией друг с другом. Пользователь, зарегистрированный на одном сервере, может без проблем следовать, взаимодействовать и обмениваться контентом с пользователями с других серверов, как если бы они были на одной платформе. Примеры таких протоколов включают ActivityPub и OStatus, которые поддерживают федеративные платформы, такие как Mastodon и PeerTube.

В федеративной установке пользователи могут выбирать сервер, которому они доверяют, потенциально переходя к различным или создавая свои собственные, что дает им больше автономии. Термин "Федиверс'' - каламбур слов "федерация" и "вселенная" - используется для описания такой системы. Федиверс начался с платформ, таких как GNU социальная и ее предшественники (StatusNet и Laconica), но настоящим поворотным моментом стало развитие и широкое принятие протокола ActivityPub, который был опубликован в качестве рекомендуемого стандарта Всемирной паутины консорциумом (W3C) в 2018 году.

В рамках web3 федеративные социальные сети являются стандартным состоянием децентрализованных систем после того, как данные переносятся на цепочку. Блокчейны действуют как безоценочный сервер бэкенда для хранения контента, с фронтэндом, индексирующим этот контент и предоставляющим его напрямую пользователям. Идентификация обрабатывается открытыми и закрытыми ключами, которые уже управляют кошельками пользователей, позволяя им легко аутентифицировать любые данные или контент, которые они генерируют. Кроме того, использование примитивов на цепочке, таких как NFT, может объединять хранимый контент в метаданных и действовать как доменное имя или децентрализованный идентификатор (DID).

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

Сравнение протоколов

Чтобы по-настоящему оценить инновации в рамках децентрализованных протоколов социальных медиа, необходимо понимать технические тонкости, которые их обеспечивают. Важно отметить, что здесь мы не включаем все социальные протоколы, а выбираем некоторые из наиболее распространенных:

Идентификация / Пространства имен

В контексте федеративных и децентрализованных социальных графов или сетевых протоколов термин «namespace» относится к домену или области, в пределах которой идентификаторы пользователей или другие ресурсы уникальны. Это способ отличать ресурсы или идентификаторы одного домена/сервера от другого, гарантируя отсутствие конфликтов или неоднозначностей при интеграции или общении между несколькими доменами.

Идентификация и связанные пространства имен в рамках децентрализованных социальных протоколов варьируются от простых пар ключей (Nostr, Scuttlebutt) до URI, указывающих на HTTPs-URL-адреса, на которых размещены профили (ActivityPub), а также более сложные модели, которые используют примитивы onchain, такие как NFT (и более недавно расширения ERC-6551, например, Lens v2)

Farcaster — отличный пример таких техник. Учетная запись Farcaster представляет собой отдельную сущность в сети. Каждая учетная запись имеет уникальный числовой идентификатор, называемый Farcaster ID ("fid"). Идентификация выпускается и управляется в блокчейне с помощью контракта Ethereum под названием IdRegistry. Пользователи совершают транзакцию в IdRegistry, чтобы получить новый fid. Адрес, которому принадлежит fid, является адресом хранения пользователя. IdRegistry гарантирует, что fid-файлы могут передаваться между адресами и что никакие два адреса не имеют одинаковых fid-файлов. Farcaster также расширяет это пространство имен для поддержки имен ENS, которые выпускаются в блокчейне или вне сети. Подписанное доказательство должно быть отправлено в сеть, чтобы претендовать на имя пользователя.

ActivityPub, с другой стороны, идентифицирует каждого пользователя уникальным URI, обычно это HTTPS URL. Этот URI указывает на профиль пользователя и служит его глобальным идентификатором в Федиверсе. Для того чтобы сделать эти URI более удобными для пользователей, многие платформы ActivityPub используют систему под названием Webfinger. Webfinger позволяет пользователям иметь идентификатор вроде ‘@username@domain.com’.

Lens и CyberConnect вместо этого управляют профилями пользователей как NFT. В случае с Lens адрес пользователя содержит ProfileNFT, и возможно, что один адрес может содержать несколько ProfileNFT. Каждый ProfileNFT инкапсулирует всю историю активности пользователя, включая посты, зеркала, комментарии и другие типы контента, которые они создали. Кроме того, у ProfileNFT есть FollowModule, который по сути является набором правил, регулирующих то, как различные учетные записи могут получать Follow NFT. Эти Follow NFT служат для документирования связей между учетными записями и основным профилем напрямую в сети. Также существуют имена, которые могут существовать и могут быть отдельно чеканены от профилей, и могут быть связаны и отвязаны от одного профиля к другому. Имена существуют в своих собственных пространствах имен (например, линза/@alice).

Данные

Данные, безусловно, являются наиболее важной особенностью децентрализованных сетей, поскольку их создание и стандартизация позволяют работать этим системам. Самый распространенный метод управления данными здесь - использование стандартизированных форматов, таких как JSON и общих объектов отношений (например, лайки, подписки). Основными объектами данных обычно являются:

Актёры и объекты: Определены «актёры» (например, пользователи или группы) и «объекты» (например, посты или сообщения).

Публикации: Посты или комментарии инкапсулируются как «Публикации», часто связанные с внешним контентом через URL-адреса.

Содержимое в журналах только для добавления: Журналы, где каждая запись, будь то сообщение или обновление, является отдельным элементом содержимого, последовательно добавленным и сохраненным.

Давайте рассмотрим несколько примеров того, как это работает с использованием конкретных протоколов.

ActivityPub использует формат данных ActivityStreams 2.0, основанный на JSON, для представления различных социальных взаимодействий, таких как сообщения или лайки. Протокол различает два основных компонента: клиент-сервер (C2S) и сервер-сервер (S2S). C2S позволяет пользователям через клиентские приложения взаимодействовать со своими соответствующими серверами. В отличие от этого, S2S облегчает коммуникацию между серверами, обеспечивая прочную федеративную природу протокола.

В рамках ActivityPub сущности классифицируются как "акторы" (часто учетные записи пользователей или группы) и "объекты" (контент или действия, такие как сообщения или лайки). Когда актер выполняет действие над объектом, создается "активность", такая как "Создать", "Подписаться" или "Лайк".

Социальные графы Web3 берут многие из основных идей ActivityPub, но применяют их в блокчейне. Lens Protocol, например, вводит «публикации», которые инкапсулируют различный пользовательский контент, такой как сообщения, зеркала, комментарии и другие формы медиа. Каждая публикация связана с ContentURI, направляющим конкретный контент, хранящийся в децентрализованном протоколе, таком как IPFS или Arweave, или, в качестве альтернативы, в централизованном сервисе хранения, таком как AWS S3. Такая конфигурация гарантирует, что профиль пользователя и все связанные с ним публикации надежно хранятся в его личном кошельке, что позволяет уйти от зависимости от централизованных баз данных.

Кроме того, Web3 обеспечивает более простой подход к монетизации контента пользователей и влияния по сравнению с фреймворком Web2. Пользователи могут брать плату за чеканку Follow NFT или интегрировать модули Collect с их Публикациями. Последний вариант позволяет им получать плату за чеканку NFT, связанных с ContentURI их публикации. Кроме этих функций, протокол Lens предлагает GraphQL API, служащий для маскировки блокчейн-компонентов от интерфейсов фронтенда и, следовательно, обеспечивающий более удобный опыт для пользователей, чем предыдущие попытки создания децентрализованных социальных сетей.

В конечном итоге, многие протоколы децентрализованных социальных сетей создают структуры данных только для добавления, которые аутентифицируются ключами пользователей. Например, на CyberConnect каждый элемент данных, связанных с пользователем, представлен как поток данных, в котором обновления разрешены только владельцем данных. Каждое обновление данных добавляется к потоку данных в виде журнала только для добавления, и полученная структура данных становится хэшированной связанной структурой данных, называемой Merkle DAG. Типы данных включают контент, коллекции, комментарии и подписки.

Scuttlebutt также использует журнал только для добавления. У каждого пользователя есть свой собственный журнал, в котором каждое новое сообщение или действие добавляется в конец после подписания пользовательской идентичности (т.е. связанной парой ключей Ed25519). Он также поддерживает обмен бинарными данными, называемыми 'блобами'. Это могут быть изображения, видео или любое другое бинарное содержимое. Блобы хранятся отдельно от журналов только для добавления, но ссылки (хеши) на эти блобы могут быть включены в журналы.

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

Хранилище

Ранние подходы к хранению данных для децентрализованных протоколов в основном были оффчейн, хотя напоминали оффчейн-согласование. Scuttlebutt, например, использует сеть пиринга для рассылки слухов, возлагая ответственность за хранение на устройство пользователя. Такой подход обеспечивает суверенитет данных, так как пользователи имеют полный контроль над своей информацией. Однако это также означает, что доступность данных зависит от того, находится ли устройство пользователя в сети или имеют ли другие участники сети копию данных. Со временем для управления пространством хранения некоторым клиентам Scuttlebutt может потребоваться реализация стратегий сбора мусора для очистки старых или менее актуальных данных.

Альтернатива этому пиринговому подходу заключается в том, что серверы хранят данные, хотя и с избыточностью по сравнению с традиционными медиаплатформами. Matrix, как пример, имеет несколько домашних серверов, которые хранят копии историй комнат и синхронизируются друг с другом. Когда пользователь отправляет сообщение (или любое событие) в комнате, их домашний сервер передает это событие другим участвующим домашним серверам, которые затем сохраняют и пересылают событие своим подключенным клиентам. Точно так же ActivityPub заставляет каждый экземпляр (или сервер) в сети хранить свои данные, обычно в базе данных. Выбор базы данных (реляционная, NoSQL и т. д.) зависит от конкретной реализации программного обеспечения ActivityPub. Например, Mastodon, популярная платформа ActivityPub, использует базу данных PostgreSQL.

Такие протоколы, как Cyberconnect, Farcaster и Lens, используют блокчейн для хранения данных. Использование ончейн-хранилища гарантирует, что данные являются неизменяемыми и проверяемыми, обеспечивая надежную основу для децентрализованных приложений, использующих базовые механизмы консенсуса для синхронизации состояния. Однако такой подход может привести к проблемам с масштабируемостью, поскольку каждый фрагмент данных должен храниться в блокчейне, что потенциально может привести к высоким комиссиям за транзакции и более медленному времени извлечения.

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

CyberConnect, чтобы эффективно справляться с частыми обновлениями между пользовательскими соединениями, использует хэш-связанный список в децентрализованном хранилище данных. При установлении соединения создается «журнал операций». Последующие изменения состояния, такие как переключение между подпиской и отменой подписки, добавляются в этот журнал в виде новых узлов. Хотя эти обновления изначально хранятся на центральном сервере, они периодически пакетно загружаются на децентрализованные платформы хранения, такие как Arweave или IPFS. Для быстрого извлечения данных узлы в журнале операций хранятся централизованно. Тем не менее, пользователи могут независимо проверить целостность данных, перемещаясь по этому списку, связанному с хешем. Несмотря на зависимость от центрального сервера для некоторых запросов данных, система CyberConnect спроектирована таким образом, чтобы быть достаточно децентрализованной, а также обеспечивать высокую производительность.

Farcaster также использует гибридный подход: onchain контракты используются для редко встречающихся действий, где важны согласованность и децентрализация. Учетные записи, имена пользователей, хранилища и ключи управляются с помощью серии контрактов Ethereum. Offchain системы используются для частых действий, где производительность критична. Сообщения, созданные учетными записями пользователей, хранятся и распространяются в пиринговой сети узлов Farcaster.

Обсуждение

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

Для содействия развитию новых приложений существует настоятельная необходимость для разработчиков протоколов и участников open-source продвигаться за пределы базовых типов данных и объектов отношений, которые в настоящее время используются на уровне инфраструктуры. Хотя существующие примитивы достаточно хорошо инкапсулируют функциональные возможности традиционных веб-социальных медиа веб2, существует огромный потенциал для расширения и инноваций. Большинство протоколов, обсуждаемых здесь, по своей природе поддерживают расширяемость в своих системах, обеспечивая прочное основание для будущих разработок и вклада в open-source.

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

В области хранения данных вновь возникающий консенсус в рамках социальных протоколов web3 склоняется к гибридному подходу. Учитывая высокий объем социального контента и вовлеченности, прагматично выделять высокоценные активы, такие как личность и основной контент, в ончейновые примитивы, в то время как переносить менее рискованный контент, такой как лайки и реакции, на внеблочные решения. Такой сбалансированный подход не только сохраняет целостность и безопасность критических данных, но также обеспечивает пользовательский опыт, напоминающий традиционные социальные медиа-платформы.

Disclaimer:

  1. Эта статья перепечатана с [зеркало]. All copyrights belong to the original author [1kx]. Если есть возражения по поводу этого повторного издания, пожалуйста, свяжитесь с Gate Learnкоманда, и они оперативно справятся с этим.
  2. Ответственность за отказ: Взгляды и мнения, выраженные в этой статье, являются исключительно точкой зрения автора и не являются инвестиционным советом.
  3. Переводом статьи на другие языки занимается команда Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Сравнительный анализ децентрализованных социальных протоколов

Продвинутый1/7/2024, 12:40:33 PM
Эта статья знакомит с децентрализованными социальными протоколами, сравнивая традиционные платформы социального контента с новыми проектами Web3 в аспектах, таких как личность, обмен данными, хранение и бизнес-модели.

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

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

История децентрализованных и альтернативных социальных медиа

До того как веб стал центром коммерции, развлечений и социальных взаимодействий, он в основном был академическим и военным инструментом. Тим Бернерс-Ли придерживался эгалитарного видения, когда формулировал первые веб-протоколы - первоначальное проектирование интернета должно было быть децентрализованной сетью, где информация могла свободно передаваться между узлами без какой-либо единой точки управления или отказа.

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

Ключевым новшеством в хронологии альтернативных социальных сетей стало появление концепции федеративных протоколов. Федеративная сеть относится к системе, в которой несколько независимых серверов или "узлов" сотрудничают для формирования единой социальной сети, в отличие от централизованных платформ, где одна организация контролирует все серверы.

В федеративной системе каждый сервер выполняет совместимое программное обеспечение, которое следует общим протоколам, позволяя им обмениваться информацией друг с другом. Пользователь, зарегистрированный на одном сервере, может без проблем следовать, взаимодействовать и обмениваться контентом с пользователями с других серверов, как если бы они были на одной платформе. Примеры таких протоколов включают ActivityPub и OStatus, которые поддерживают федеративные платформы, такие как Mastodon и PeerTube.

В федеративной установке пользователи могут выбирать сервер, которому они доверяют, потенциально переходя к различным или создавая свои собственные, что дает им больше автономии. Термин "Федиверс'' - каламбур слов "федерация" и "вселенная" - используется для описания такой системы. Федиверс начался с платформ, таких как GNU социальная и ее предшественники (StatusNet и Laconica), но настоящим поворотным моментом стало развитие и широкое принятие протокола ActivityPub, который был опубликован в качестве рекомендуемого стандарта Всемирной паутины консорциумом (W3C) в 2018 году.

В рамках web3 федеративные социальные сети являются стандартным состоянием децентрализованных систем после того, как данные переносятся на цепочку. Блокчейны действуют как безоценочный сервер бэкенда для хранения контента, с фронтэндом, индексирующим этот контент и предоставляющим его напрямую пользователям. Идентификация обрабатывается открытыми и закрытыми ключами, которые уже управляют кошельками пользователей, позволяя им легко аутентифицировать любые данные или контент, которые они генерируют. Кроме того, использование примитивов на цепочке, таких как NFT, может объединять хранимый контент в метаданных и действовать как доменное имя или децентрализованный идентификатор (DID).

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

Сравнение протоколов

Чтобы по-настоящему оценить инновации в рамках децентрализованных протоколов социальных медиа, необходимо понимать технические тонкости, которые их обеспечивают. Важно отметить, что здесь мы не включаем все социальные протоколы, а выбираем некоторые из наиболее распространенных:

Идентификация / Пространства имен

В контексте федеративных и децентрализованных социальных графов или сетевых протоколов термин «namespace» относится к домену или области, в пределах которой идентификаторы пользователей или другие ресурсы уникальны. Это способ отличать ресурсы или идентификаторы одного домена/сервера от другого, гарантируя отсутствие конфликтов или неоднозначностей при интеграции или общении между несколькими доменами.

Идентификация и связанные пространства имен в рамках децентрализованных социальных протоколов варьируются от простых пар ключей (Nostr, Scuttlebutt) до URI, указывающих на HTTPs-URL-адреса, на которых размещены профили (ActivityPub), а также более сложные модели, которые используют примитивы onchain, такие как NFT (и более недавно расширения ERC-6551, например, Lens v2)

Farcaster — отличный пример таких техник. Учетная запись Farcaster представляет собой отдельную сущность в сети. Каждая учетная запись имеет уникальный числовой идентификатор, называемый Farcaster ID ("fid"). Идентификация выпускается и управляется в блокчейне с помощью контракта Ethereum под названием IdRegistry. Пользователи совершают транзакцию в IdRegistry, чтобы получить новый fid. Адрес, которому принадлежит fid, является адресом хранения пользователя. IdRegistry гарантирует, что fid-файлы могут передаваться между адресами и что никакие два адреса не имеют одинаковых fid-файлов. Farcaster также расширяет это пространство имен для поддержки имен ENS, которые выпускаются в блокчейне или вне сети. Подписанное доказательство должно быть отправлено в сеть, чтобы претендовать на имя пользователя.

ActivityPub, с другой стороны, идентифицирует каждого пользователя уникальным URI, обычно это HTTPS URL. Этот URI указывает на профиль пользователя и служит его глобальным идентификатором в Федиверсе. Для того чтобы сделать эти URI более удобными для пользователей, многие платформы ActivityPub используют систему под названием Webfinger. Webfinger позволяет пользователям иметь идентификатор вроде ‘@username@domain.com’.

Lens и CyberConnect вместо этого управляют профилями пользователей как NFT. В случае с Lens адрес пользователя содержит ProfileNFT, и возможно, что один адрес может содержать несколько ProfileNFT. Каждый ProfileNFT инкапсулирует всю историю активности пользователя, включая посты, зеркала, комментарии и другие типы контента, которые они создали. Кроме того, у ProfileNFT есть FollowModule, который по сути является набором правил, регулирующих то, как различные учетные записи могут получать Follow NFT. Эти Follow NFT служат для документирования связей между учетными записями и основным профилем напрямую в сети. Также существуют имена, которые могут существовать и могут быть отдельно чеканены от профилей, и могут быть связаны и отвязаны от одного профиля к другому. Имена существуют в своих собственных пространствах имен (например, линза/@alice).

Данные

Данные, безусловно, являются наиболее важной особенностью децентрализованных сетей, поскольку их создание и стандартизация позволяют работать этим системам. Самый распространенный метод управления данными здесь - использование стандартизированных форматов, таких как JSON и общих объектов отношений (например, лайки, подписки). Основными объектами данных обычно являются:

Актёры и объекты: Определены «актёры» (например, пользователи или группы) и «объекты» (например, посты или сообщения).

Публикации: Посты или комментарии инкапсулируются как «Публикации», часто связанные с внешним контентом через URL-адреса.

Содержимое в журналах только для добавления: Журналы, где каждая запись, будь то сообщение или обновление, является отдельным элементом содержимого, последовательно добавленным и сохраненным.

Давайте рассмотрим несколько примеров того, как это работает с использованием конкретных протоколов.

ActivityPub использует формат данных ActivityStreams 2.0, основанный на JSON, для представления различных социальных взаимодействий, таких как сообщения или лайки. Протокол различает два основных компонента: клиент-сервер (C2S) и сервер-сервер (S2S). C2S позволяет пользователям через клиентские приложения взаимодействовать со своими соответствующими серверами. В отличие от этого, S2S облегчает коммуникацию между серверами, обеспечивая прочную федеративную природу протокола.

В рамках ActivityPub сущности классифицируются как "акторы" (часто учетные записи пользователей или группы) и "объекты" (контент или действия, такие как сообщения или лайки). Когда актер выполняет действие над объектом, создается "активность", такая как "Создать", "Подписаться" или "Лайк".

Социальные графы Web3 берут многие из основных идей ActivityPub, но применяют их в блокчейне. Lens Protocol, например, вводит «публикации», которые инкапсулируют различный пользовательский контент, такой как сообщения, зеркала, комментарии и другие формы медиа. Каждая публикация связана с ContentURI, направляющим конкретный контент, хранящийся в децентрализованном протоколе, таком как IPFS или Arweave, или, в качестве альтернативы, в централизованном сервисе хранения, таком как AWS S3. Такая конфигурация гарантирует, что профиль пользователя и все связанные с ним публикации надежно хранятся в его личном кошельке, что позволяет уйти от зависимости от централизованных баз данных.

Кроме того, Web3 обеспечивает более простой подход к монетизации контента пользователей и влияния по сравнению с фреймворком Web2. Пользователи могут брать плату за чеканку Follow NFT или интегрировать модули Collect с их Публикациями. Последний вариант позволяет им получать плату за чеканку NFT, связанных с ContentURI их публикации. Кроме этих функций, протокол Lens предлагает GraphQL API, служащий для маскировки блокчейн-компонентов от интерфейсов фронтенда и, следовательно, обеспечивающий более удобный опыт для пользователей, чем предыдущие попытки создания децентрализованных социальных сетей.

В конечном итоге, многие протоколы децентрализованных социальных сетей создают структуры данных только для добавления, которые аутентифицируются ключами пользователей. Например, на CyberConnect каждый элемент данных, связанных с пользователем, представлен как поток данных, в котором обновления разрешены только владельцем данных. Каждое обновление данных добавляется к потоку данных в виде журнала только для добавления, и полученная структура данных становится хэшированной связанной структурой данных, называемой Merkle DAG. Типы данных включают контент, коллекции, комментарии и подписки.

Scuttlebutt также использует журнал только для добавления. У каждого пользователя есть свой собственный журнал, в котором каждое новое сообщение или действие добавляется в конец после подписания пользовательской идентичности (т.е. связанной парой ключей Ed25519). Он также поддерживает обмен бинарными данными, называемыми 'блобами'. Это могут быть изображения, видео или любое другое бинарное содержимое. Блобы хранятся отдельно от журналов только для добавления, но ссылки (хеши) на эти блобы могут быть включены в журналы.

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

Хранилище

Ранние подходы к хранению данных для децентрализованных протоколов в основном были оффчейн, хотя напоминали оффчейн-согласование. Scuttlebutt, например, использует сеть пиринга для рассылки слухов, возлагая ответственность за хранение на устройство пользователя. Такой подход обеспечивает суверенитет данных, так как пользователи имеют полный контроль над своей информацией. Однако это также означает, что доступность данных зависит от того, находится ли устройство пользователя в сети или имеют ли другие участники сети копию данных. Со временем для управления пространством хранения некоторым клиентам Scuttlebutt может потребоваться реализация стратегий сбора мусора для очистки старых или менее актуальных данных.

Альтернатива этому пиринговому подходу заключается в том, что серверы хранят данные, хотя и с избыточностью по сравнению с традиционными медиаплатформами. Matrix, как пример, имеет несколько домашних серверов, которые хранят копии историй комнат и синхронизируются друг с другом. Когда пользователь отправляет сообщение (или любое событие) в комнате, их домашний сервер передает это событие другим участвующим домашним серверам, которые затем сохраняют и пересылают событие своим подключенным клиентам. Точно так же ActivityPub заставляет каждый экземпляр (или сервер) в сети хранить свои данные, обычно в базе данных. Выбор базы данных (реляционная, NoSQL и т. д.) зависит от конкретной реализации программного обеспечения ActivityPub. Например, Mastodon, популярная платформа ActivityPub, использует базу данных PostgreSQL.

Такие протоколы, как Cyberconnect, Farcaster и Lens, используют блокчейн для хранения данных. Использование ончейн-хранилища гарантирует, что данные являются неизменяемыми и проверяемыми, обеспечивая надежную основу для децентрализованных приложений, использующих базовые механизмы консенсуса для синхронизации состояния. Однако такой подход может привести к проблемам с масштабируемостью, поскольку каждый фрагмент данных должен храниться в блокчейне, что потенциально может привести к высоким комиссиям за транзакции и более медленному времени извлечения.

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

CyberConnect, чтобы эффективно справляться с частыми обновлениями между пользовательскими соединениями, использует хэш-связанный список в децентрализованном хранилище данных. При установлении соединения создается «журнал операций». Последующие изменения состояния, такие как переключение между подпиской и отменой подписки, добавляются в этот журнал в виде новых узлов. Хотя эти обновления изначально хранятся на центральном сервере, они периодически пакетно загружаются на децентрализованные платформы хранения, такие как Arweave или IPFS. Для быстрого извлечения данных узлы в журнале операций хранятся централизованно. Тем не менее, пользователи могут независимо проверить целостность данных, перемещаясь по этому списку, связанному с хешем. Несмотря на зависимость от центрального сервера для некоторых запросов данных, система CyberConnect спроектирована таким образом, чтобы быть достаточно децентрализованной, а также обеспечивать высокую производительность.

Farcaster также использует гибридный подход: onchain контракты используются для редко встречающихся действий, где важны согласованность и децентрализация. Учетные записи, имена пользователей, хранилища и ключи управляются с помощью серии контрактов Ethereum. Offchain системы используются для частых действий, где производительность критична. Сообщения, созданные учетными записями пользователей, хранятся и распространяются в пиринговой сети узлов Farcaster.

Обсуждение

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

Для содействия развитию новых приложений существует настоятельная необходимость для разработчиков протоколов и участников open-source продвигаться за пределы базовых типов данных и объектов отношений, которые в настоящее время используются на уровне инфраструктуры. Хотя существующие примитивы достаточно хорошо инкапсулируют функциональные возможности традиционных веб-социальных медиа веб2, существует огромный потенциал для расширения и инноваций. Большинство протоколов, обсуждаемых здесь, по своей природе поддерживают расширяемость в своих системах, обеспечивая прочное основание для будущих разработок и вклада в open-source.

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

В области хранения данных вновь возникающий консенсус в рамках социальных протоколов web3 склоняется к гибридному подходу. Учитывая высокий объем социального контента и вовлеченности, прагматично выделять высокоценные активы, такие как личность и основной контент, в ончейновые примитивы, в то время как переносить менее рискованный контент, такой как лайки и реакции, на внеблочные решения. Такой сбалансированный подход не только сохраняет целостность и безопасность критических данных, но также обеспечивает пользовательский опыт, напоминающий традиционные социальные медиа-платформы.

Disclaimer:

  1. Эта статья перепечатана с [зеркало]. All copyrights belong to the original author [1kx]. Если есть возражения по поводу этого повторного издания, пожалуйста, свяжитесь с Gate Learnкоманда, и они оперативно справятся с этим.
  2. Ответственность за отказ: Взгляды и мнения, выраженные в этой статье, являются исключительно точкой зрения автора и не являются инвестиционным советом.
  3. Переводом статьи на другие языки занимается команда Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!