Impulsionadas por motivos comerciais, as plataformas de mídia social controladas pelas empresas surgiram e minaram grandemente as esperanças iniciais de uma cultura de engajamento online. A tecnologia da informação on-line deveria democratizar a produção cultural a partir do zero, mas hoje, essas plataformas orientadas para o lucro limitam e moldam o comportamento online – “likes” não são um agradecimento pelo conteúdo, mas uma ferramenta para comercialização.
Plataformas alternativas de mídia social construídas em tecnologias descentralizadas e protocolos federados reproduzem a visão original das redes sociais on-line. Os dados são controlados pelo usuário e gravados em um banco de dados descentralizado, o front-end é orientado pela comunidade, a moderação é uma expressão das preferências da comunidade e o algoritmo é escolhido pelo usuário. É um ethos de código aberto que impulsiona a inovação.
História das Redes Sociais Descentralizadas e Alternativas
Antes de a web se tornar um centro de negócios, entretenimento e interação social, era principalmente uma ferramenta nos campos acadêmico e militar. Tim Berners-Lee desenvolveu o primeiro protocolo de rede com uma visão igualitária: a Internet foi originalmente projetada para ser uma rede descentralizada onde a informação poderia viajar livremente entre nós, sem nenhum indivíduo controlando-a e nenhum ponto único de falha.
No entanto, à medida que a comercialização da web cresceu, plataformas centralizadas, como motores de busca e gigantes das redes sociais, tornaram-se dominantes. Embora essas entidades forneçam um valor tremendo, elas se desviam do espírito original de descentralização, levando ao nosso ambiente Web2 atual.
Uma inovação fundamental no desenvolvimento de redes sociais alternativas é o surgimento do conceito de protocolos federados. Uma rede federada é um sistema de servidores independentes ou “nós” que trabalham juntos para formar uma rede social, em oposição a uma plataforma centralizada onde uma organização controla todos os servidores.
Em um sistema de rede federada, cada servidor executa um software que segue um protocolo compartilhado, que permite que eles se comuniquem uns com os outros. Os usuários registrados em um servidor podem seguir perfeitamente os usuários em outros servidores, interagir com usuários em outros servidores e compartilhar conteúdo como se estivessem na mesma plataforma. Exemplos de protocolos federados incluem ActivityPub e OStatus, que fornecem suporte para plataformas federadas como Mastodon e PeerTube.
Nas configurações do sistema federado, os usuários podem escolher o servidor em que confiam, podem migrar para um servidor diferente ou configurar o seu, recebem mais autonomia. O termo “Fediverse” (uma junção de “federal” e “cosmos”) é usado para descrever tal sistema. Fediverse começou com a plataforma GNU Social e seus antecessores (Statusnet e Laconica), mas o verdadeiro ponto de virada foi o desenvolvimento e a adoção generalizada do protocolo ActivityPub, que foi publicado como uma recomendação pelo World Wide Web Consortium (W3C) em 2018.
Na Web3, uma vez que os dados são portados on-chain, as redes sociais federadas são o estado padrão para sistemas descentralizados. O blockchain atua como um servidor back-end para armazenar conteúdo, e o front-end indexa esse conteúdo e o serve diretamente aos usuários. A identidade está ligada ao par de chaves público-privado que rege a carteira do utilizador, permitindo aos utilizadores verificar facilmente quaisquer dados ou conteúdos que gerem. Além disso, o uso de primitivos on-chain, como NFTs, pode agrupar conteúdo armazenado em metadados e atuar como um nome de domínio ou identidade descentralizada (DID).
Semelhante a como o ActivityPub funciona, o protocolo Web3 procura orientar o gráfico social através de relações autenticadas entre nós de usuário. Como qualquer frontend pode indexar e veicular esse conteúdo, há uma forte concorrência na camada de frontend, e novos recursos estão prosperando. Além disso, uma vez que os dados são armazenados em cadeia, os utilizadores podem escolher os seus algoritmos preferidos e podem ser incentivados a recuperar o valor dos seus dados utilizando determinados algoritmos. Isso, combinado com meios mais simples de monetização de conteúdo, fornece uma melhor experiência geral para criadores que foram amplamente excluídos da monetização, embora seu conteúdo impulsione a demanda por essas plataformas.
Comparação de protocolos
Para realmente entender as inovações dos protocolos de mídia social descentralizados, é necessário entender as tecnologias que os implementam. Vale a pena notar que não incluímos todos os protocolos sociais aqui, mas selecionamos alguns dos mais populares:
Identidade / Namespace
Em gráficos sociais federados e descentralizados ou protocolos de rede, um “namespace” é um domínio onde um identificador de usuário ou outro recurso é exclusivo. É uma maneira de distinguir os recursos ou identidades de um domínio/servidor de outro, garantindo que não haja conflitos e ambiguidades ao integrar ou se comunicar entre vários domínios.
Os namespaces de identidade e associação de diferentes protocolos sociais descentralizados variam de pares de chaves simples (Nostr, Sputlebutt), a URIs apontando para perfis gerenciados (ActivityPub), ao uso de primitivos on-chain como NFTs (e, mais recentemente, extensões ERC-6551, como Lens V2).
Farcaster é um ótimo exemplo dessas tecnologias. Uma conta Farcaster representa uma entidade única na rede. Cada conta tem um identificador numérico exclusivo chamado Farcaster ID (fid). As identidades são gerenciadas on-chain usando um contrato ETH chamado IdRegistry, onde os usuários iniciam transações para obter novos fids. O endereço que possui o FID é o endereço administrativo do usuário. IdRegistry garante que fids podem ser transferidos entre endereços e que não há dois endereços com o mesmo fid. Farcaster também estendeu esse namespace para suportar nomes de domínio ENS publicados on-chain ou off-chain. Os usuários devem enviar um comprovante de assinatura para a rede, a fim de reivindicar um nome de usuário.
O ActivityPub, por outro lado, identifica cada usuário por um URI exclusivo, geralmente uma URL HTTPS. O URI aponta para o perfil do usuário e serve como seu identificador global em Fediverse. Para tornar esses URIs mais fáceis de usar, muitas plataformas ActivityPub usam um sistema chamado Webfinger. Webfinger permite que os usuários tenham uma identidade semelhante a “@username@domain.com”.
O Lens e o CyberConnect gerenciam perfis de usuários como NFTs. No caso do Lens, um endereço de usuário possui um NFT de perfil, e um único endereço pode conter vários NFTs de perfil. Cada NFT de perfil encapsula todo o histórico da atividade do usuário. Além disso, os NFTs de Perfil têm um FollowModule, que é essencialmente um conjunto de regras que regem como diferentes contas adquirem Follow NFTs. Esses NFTs Follow registram a conexão entre a conta e o perfil diretamente on-chain. Há também identificadores presentes que podem ser criados separadamente dos perfis e podem ser vinculados de um perfil para outro ou desvinculados. Os identificadores existem em seu próprio namespace (por exemplo, lente/@alice).
Dados
Os dados são indiscutivelmente a característica mais importante das redes descentralizadas, já que a criação e padronização de dados é a base desses sistemas. A técnica mais comum para gerenciar dados aqui é usar formatos padronizados, como JSON e objetos relacionais comuns (por exemplo, curtidas, seguidores). Os principais objetos de dados normalmente incluem:
Assunto & Objeto: definido “assunto” (por exemplo, usuário) e “objeto” (por exemplo, postagem ou mensagem).
Publicações: As publicações ou comentários são embalados como “publicações” e geralmente são vinculados a conteúdo externo através de URLs.
Anexe apenas o que está no log: Cada entrada, seja publicada ou atualizada, é um log de itens de conteúdo discretos, adicionados e armazenados sequencialmente.
Vamos mergulhar em alguns exemplos para ver como um determinado protocolo funciona.
O ActivityPub aproveita o formato de dados ActivityStreams 2.0, uma estrutura de dados baseada em JSON, para representar uma variedade de interações sociais, como postagens ou curtidas. O protocolo consiste em dois componentes principais: cliente-para-servidor (C2S) e servidor-para-servidor (S2S). O C2S permite que os usuários interajam com seus respetivos servidores por meio de aplicativos cliente. Em contraste, o S2S facilita a comunicação entre servidores, permitindo a natureza federada robusta do protocolo.
No ActivityPub, as entidades são categorizadas como “principais” (normalmente contas de usuário ou grupos) e “objetos” (conteúdo ou ações, como postagens ou curtidas). Quando um sujeito executa uma ação em um objeto, ele cria um objeto Ativo, como Criar, Seguir ou Curtir.
O gráfico social Web3 empresta muitas das ideias centrais do ActivityPub, mas aplica-as ao blockchain. Por exemplo, o Lens Protocol introduz “publicações”, que encapsulam uma variedade de conteúdo gerado pelo usuário, como postagens, espelhos, comentários e outras formas de mídia. Cada publicação é associada a um ContentURI que aponta para conteúdo específico armazenado em um protocolo descentralizado, como FIL ou Arweave, ou em um serviço de armazenamento centralizado, como o AWS S3. Esse design garante que os perfis dos usuários e todas as publicações relacionadas sejam armazenados com segurança em suas carteiras pessoais, libertando-os da dependência de bancos de dados centralizados.
Além disso, a Web3 oferece uma abordagem mais direta para monetizar o conteúdo e a influência do usuário do que as arquiteturas Web2. Os usuários podem cobrar pela cunhagem de Follow NFTs ou integrar Collect Modules com suas publicações. Esta última opção permite que eles cobrem uma taxa pela cunhagem de NFT vinculada ao ContentURI de sua publicação. Além desses recursos, o Lens Protocol também fornece uma API GraphQL para mascarar componentes de blockchain de interfaces front-end, fornecendo uma experiência mais amigável do que as redes sociais descentralizadas anteriores.
Eventualmente, muitos protocolos descentralizados de redes sociais criam estruturas de dados que só podem ser adicionadas e autenticadas com chaves de usuário. Por exemplo, no CyberConnect, cada parte de dados centrada no usuário é representada como um fluxo de dados, onde apenas o proprietário dos dados tem permissão para atualizar. Cada atualização dos dados é anexada ao fluxo de dados à medida que apenas o log de confirmação é adicionado e a estrutura de dados resultante se torna uma estrutura de dados vinculada a hash chamada DAG Merkle. Os tipos de dados incluem conteúdo, favoritos, comentários e assinaturas.
O Scuttlebutt também usa uma agência de dados de log somente para adicionar. Cada usuário tem seu próprio log, onde cada nova mensagem ou ação é anexada ao final depois de assinada pelo usuário. Ele também suporta o compartilhamento de dados binários chamados “blobs”. Esses dados podem ser imagens, vídeos ou qualquer outro conteúdo binário. Os blobs são armazenados separadamente dos logs somente de acréscimo, mas as referências (hashes) a esses blobs podem ser incluídas nos logs.
No caso do Farcaster, as mensagens são atualizações públicas, como postar, seguir ou adicionar uma foto de perfil, que são codificadas como protobuf e devem ser hash e assinadas pelo signatário da conta. Desde que haja armazenamento suficiente, os usuários podem postar mensagens no Hub. O HUb verifica a validade do seu signatário antes de aceitar cada mensagem.
Armazenamento
O armazenamento de dados nos primeiros protocolos descentralizados era principalmente off-chain. Por exemplo, o Scuttlebutt usa uma rede de fofocas ponto a ponto para armazenar dados no dispositivo local do usuário. Essa abordagem garante a soberania dos dados, pois os usuários têm controle total sobre suas informações. No entanto, isso também significa que a disponibilidade de dados depende se o dispositivo do usuário está online ou se outro nó na rede tem uma cópia dos dados. Com o tempo, alguns clientes Scuttlebutt podem precisar implementar políticas de coleta de lixo para excluir dados antigos ou menos relevantes para gerenciar o espaço de armazenamento.
Uma alternativa a essa abordagem ponto a ponto é o advento dos servidores de armazenamento de dados. No caso do Matrix, vários servidores domésticos armazenam cópias do histórico da sala e as sincronizam entre si. Quando um usuário envia uma mensagem (ou qualquer evento) em uma sala, seus servidores domésticos transmitem o evento para outros servidores domésticos, que armazenam o evento e o encaminham para seus clientes conectados. Da mesma forma, o ActivityPub permite que cada instância (ou servidor) na rede armazene seus dados, normalmente em um banco de dados. A escolha do banco de dados (relacional, NoSQL, etc.) depende da implementação do software ActivityPub. Por exemplo, Mastodon, uma plataforma popular ActivityPub, usa um banco de dados PostgreSQL.
Protocolos como Cyberconnect, Farcaster e Lens adotaram blockchain para armazenamento. O armazenamento on-chain garante a imutabilidade e verificabilidade dos dados, fornecendo uma base sólida para aplicativos descentralizados que sincronizam o estado usando o mecanismo de consenso subjacente. No entanto, essa abordagem pode apresentar desafios de escalabilidade, já que cada parte dos dados precisa ser armazenada on-chain, potencialmente levando a altas taxas de transação e tempos de recuperação mais lentos.
Isso levou muitos protocolos sociais Web3 a tentar uma abordagem híbrida, usando armazenamento on-chain para executar operações de baixa frequência (por exemplo, perfis, assinaturas), armazenamento off-chain para executar eventos de alta frequência (por exemplo, curtidas, retweets, comentários) ou armazenamento off-chain como um paliativo temporário para carregar dados em massa on-chain em intervalos.
Para lidar eficientemente com atualizações frequentes entre conexões de usuários, o CyberConnect emprega listas vinculadas com hash em um armazenamento de dados descentralizado. Quando você inicia uma conexão, um “Log de operação” é criado. Alterações de estado subsequentes, como alternar entre seguir e não seguir, são adicionadas a esse log como um novo nó. Embora essas atualizações sejam inicialmente armazenadas em servidores centralizados, elas são regularmente carregadas em massa para uma plataforma de armazenamento descentralizada, como Arweave ou FIL. Para obter uma recuperação rápida de dados, os nós no log de operações são armazenados centralmente. No entanto, os usuários podem verificar independentemente a integridade dos dados navegando nesta lista de links hash. Embora algumas consultas de dados dependam de servidores centralizados, o sistema da CyberConnect foi projetado para ser totalmente descentralizado e, ao mesmo tempo, oferecer alto desempenho.
Farcaster usa uma abordagem híbrida semelhante: contratos on-chain são usados para operações de baixa frequência que são importantes para a consistência e descentralização. Contas, nomes de usuário, armazenamento e chaves são gerenciados usando uma série de contratos ETH. Os sistemas off-chain são usados para operações de alta frequência que dependem do desempenho. As mensagens criadas por contas de usuário são armazenadas e propagadas na rede ponto a ponto do hub Farcaster.
Discussão
Os protocolos sociais descentralizados têm o potencial de revolucionar a experiência do usuário em interações digitais. Alimentada pela Web3, a adoção acelerada de pares de chaves público-privado contribuirá para uma compreensão mais ampla dos primitivos de identidade neste contexto, e a auditoria contínua e a captura de dados pelas empresas de mídia social Web2 levarão mais usuários para outros lugares. Esperamos que a curva de adoção desses protocolos sociais descentralizados acelere.
Para facilitar o desenvolvimento de aplicações inovadoras, os desenvolvedores de protocolos e contribuidores de código aberto precisam urgentemente ir além dos tipos de dados básicos e objetos relacionais atualmente usados pela camada de infraestrutura. Embora os primitivos existentes encapsulam totalmente as capacidades das mídias sociais Web2 tradicionais, ainda há um tremendo potencial de expansão e inovação. A maioria dos protocolos discutidos aqui são inerentemente favoráveis à escalabilidade dentro do sistema, fornecendo uma base sólida para o desenvolvimento futuro e contribuições de código aberto.
No entanto, a interoperabilidade também é fundamental. Embora os desenvolvedores front-end possam aprimorar a funcionalidade de forma independente, se a funcionalidade aprimorada não for interoperável com outros aplicativos criados no mesmo protocolo subjacente, isso pode ser prejudicial para o benefício geral do sistema. Garantir a compatibilidade e a integração perfeita entre vários aplicativos é fundamental para o sucesso a longo prazo e a adoção de protocolos sociais descentralizados.
No mundo do armazenamento de dados, os protocolos sociais Web3 tendem a favorecer uma abordagem híbrida. A abordagem equilibrada de alocar ativos de alto valor, como identidades e conteúdo, a primitivos on-chain, ao mesmo tempo em que atribui conteúdo de baixo risco, como likes, a soluções off-chain, não apenas preserva a integridade e a segurança de dados críticos, mas também fornece uma experiência de usuário próxima à das plataformas tradicionais de mídia social.
As redes descentralizadas prometem transformar a comunicação humana, o compartilhamento de informações e a construção de comunidades. Ao priorizar a autonomia do usuário, a privacidade e nutrir relações orgânicas, essas redes estão abrindo caminho para um ambiente digital mais equitativo e centrado no usuário. Além disso, a natureza descentralizada dessas redes ajuda a democratizar o acesso a informações e recursos, mitigando os riscos associados ao controle centralizado.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Compare os principais protocolos sociais descentralizados a partir das dimensões de identidade, dados e armazenamento
Autor: 1kx
Compilador: Luffy, Foresight News
Impulsionadas por motivos comerciais, as plataformas de mídia social controladas pelas empresas surgiram e minaram grandemente as esperanças iniciais de uma cultura de engajamento online. A tecnologia da informação on-line deveria democratizar a produção cultural a partir do zero, mas hoje, essas plataformas orientadas para o lucro limitam e moldam o comportamento online – “likes” não são um agradecimento pelo conteúdo, mas uma ferramenta para comercialização.
Plataformas alternativas de mídia social construídas em tecnologias descentralizadas e protocolos federados reproduzem a visão original das redes sociais on-line. Os dados são controlados pelo usuário e gravados em um banco de dados descentralizado, o front-end é orientado pela comunidade, a moderação é uma expressão das preferências da comunidade e o algoritmo é escolhido pelo usuário. É um ethos de código aberto que impulsiona a inovação.
História das Redes Sociais Descentralizadas e Alternativas
Antes de a web se tornar um centro de negócios, entretenimento e interação social, era principalmente uma ferramenta nos campos acadêmico e militar. Tim Berners-Lee desenvolveu o primeiro protocolo de rede com uma visão igualitária: a Internet foi originalmente projetada para ser uma rede descentralizada onde a informação poderia viajar livremente entre nós, sem nenhum indivíduo controlando-a e nenhum ponto único de falha.
No entanto, à medida que a comercialização da web cresceu, plataformas centralizadas, como motores de busca e gigantes das redes sociais, tornaram-se dominantes. Embora essas entidades forneçam um valor tremendo, elas se desviam do espírito original de descentralização, levando ao nosso ambiente Web2 atual.
Uma inovação fundamental no desenvolvimento de redes sociais alternativas é o surgimento do conceito de protocolos federados. Uma rede federada é um sistema de servidores independentes ou “nós” que trabalham juntos para formar uma rede social, em oposição a uma plataforma centralizada onde uma organização controla todos os servidores.
Em um sistema de rede federada, cada servidor executa um software que segue um protocolo compartilhado, que permite que eles se comuniquem uns com os outros. Os usuários registrados em um servidor podem seguir perfeitamente os usuários em outros servidores, interagir com usuários em outros servidores e compartilhar conteúdo como se estivessem na mesma plataforma. Exemplos de protocolos federados incluem ActivityPub e OStatus, que fornecem suporte para plataformas federadas como Mastodon e PeerTube.
Nas configurações do sistema federado, os usuários podem escolher o servidor em que confiam, podem migrar para um servidor diferente ou configurar o seu, recebem mais autonomia. O termo “Fediverse” (uma junção de “federal” e “cosmos”) é usado para descrever tal sistema. Fediverse começou com a plataforma GNU Social e seus antecessores (Statusnet e Laconica), mas o verdadeiro ponto de virada foi o desenvolvimento e a adoção generalizada do protocolo ActivityPub, que foi publicado como uma recomendação pelo World Wide Web Consortium (W3C) em 2018.
Na Web3, uma vez que os dados são portados on-chain, as redes sociais federadas são o estado padrão para sistemas descentralizados. O blockchain atua como um servidor back-end para armazenar conteúdo, e o front-end indexa esse conteúdo e o serve diretamente aos usuários. A identidade está ligada ao par de chaves público-privado que rege a carteira do utilizador, permitindo aos utilizadores verificar facilmente quaisquer dados ou conteúdos que gerem. Além disso, o uso de primitivos on-chain, como NFTs, pode agrupar conteúdo armazenado em metadados e atuar como um nome de domínio ou identidade descentralizada (DID).
Semelhante a como o ActivityPub funciona, o protocolo Web3 procura orientar o gráfico social através de relações autenticadas entre nós de usuário. Como qualquer frontend pode indexar e veicular esse conteúdo, há uma forte concorrência na camada de frontend, e novos recursos estão prosperando. Além disso, uma vez que os dados são armazenados em cadeia, os utilizadores podem escolher os seus algoritmos preferidos e podem ser incentivados a recuperar o valor dos seus dados utilizando determinados algoritmos. Isso, combinado com meios mais simples de monetização de conteúdo, fornece uma melhor experiência geral para criadores que foram amplamente excluídos da monetização, embora seu conteúdo impulsione a demanda por essas plataformas.
Comparação de protocolos
Para realmente entender as inovações dos protocolos de mídia social descentralizados, é necessário entender as tecnologias que os implementam. Vale a pena notar que não incluímos todos os protocolos sociais aqui, mas selecionamos alguns dos mais populares:
Identidade / Namespace
Em gráficos sociais federados e descentralizados ou protocolos de rede, um “namespace” é um domínio onde um identificador de usuário ou outro recurso é exclusivo. É uma maneira de distinguir os recursos ou identidades de um domínio/servidor de outro, garantindo que não haja conflitos e ambiguidades ao integrar ou se comunicar entre vários domínios.
Os namespaces de identidade e associação de diferentes protocolos sociais descentralizados variam de pares de chaves simples (Nostr, Sputlebutt), a URIs apontando para perfis gerenciados (ActivityPub), ao uso de primitivos on-chain como NFTs (e, mais recentemente, extensões ERC-6551, como Lens V2).
Farcaster é um ótimo exemplo dessas tecnologias. Uma conta Farcaster representa uma entidade única na rede. Cada conta tem um identificador numérico exclusivo chamado Farcaster ID (fid). As identidades são gerenciadas on-chain usando um contrato ETH chamado IdRegistry, onde os usuários iniciam transações para obter novos fids. O endereço que possui o FID é o endereço administrativo do usuário. IdRegistry garante que fids podem ser transferidos entre endereços e que não há dois endereços com o mesmo fid. Farcaster também estendeu esse namespace para suportar nomes de domínio ENS publicados on-chain ou off-chain. Os usuários devem enviar um comprovante de assinatura para a rede, a fim de reivindicar um nome de usuário.
O ActivityPub, por outro lado, identifica cada usuário por um URI exclusivo, geralmente uma URL HTTPS. O URI aponta para o perfil do usuário e serve como seu identificador global em Fediverse. Para tornar esses URIs mais fáceis de usar, muitas plataformas ActivityPub usam um sistema chamado Webfinger. Webfinger permite que os usuários tenham uma identidade semelhante a “@username@domain.com”.
O Lens e o CyberConnect gerenciam perfis de usuários como NFTs. No caso do Lens, um endereço de usuário possui um NFT de perfil, e um único endereço pode conter vários NFTs de perfil. Cada NFT de perfil encapsula todo o histórico da atividade do usuário. Além disso, os NFTs de Perfil têm um FollowModule, que é essencialmente um conjunto de regras que regem como diferentes contas adquirem Follow NFTs. Esses NFTs Follow registram a conexão entre a conta e o perfil diretamente on-chain. Há também identificadores presentes que podem ser criados separadamente dos perfis e podem ser vinculados de um perfil para outro ou desvinculados. Os identificadores existem em seu próprio namespace (por exemplo, lente/@alice).
Dados
Os dados são indiscutivelmente a característica mais importante das redes descentralizadas, já que a criação e padronização de dados é a base desses sistemas. A técnica mais comum para gerenciar dados aqui é usar formatos padronizados, como JSON e objetos relacionais comuns (por exemplo, curtidas, seguidores). Os principais objetos de dados normalmente incluem:
Vamos mergulhar em alguns exemplos para ver como um determinado protocolo funciona.
O ActivityPub aproveita o formato de dados ActivityStreams 2.0, uma estrutura de dados baseada em JSON, para representar uma variedade de interações sociais, como postagens ou curtidas. O protocolo consiste em dois componentes principais: cliente-para-servidor (C2S) e servidor-para-servidor (S2S). O C2S permite que os usuários interajam com seus respetivos servidores por meio de aplicativos cliente. Em contraste, o S2S facilita a comunicação entre servidores, permitindo a natureza federada robusta do protocolo.
No ActivityPub, as entidades são categorizadas como “principais” (normalmente contas de usuário ou grupos) e “objetos” (conteúdo ou ações, como postagens ou curtidas). Quando um sujeito executa uma ação em um objeto, ele cria um objeto Ativo, como Criar, Seguir ou Curtir.
O gráfico social Web3 empresta muitas das ideias centrais do ActivityPub, mas aplica-as ao blockchain. Por exemplo, o Lens Protocol introduz “publicações”, que encapsulam uma variedade de conteúdo gerado pelo usuário, como postagens, espelhos, comentários e outras formas de mídia. Cada publicação é associada a um ContentURI que aponta para conteúdo específico armazenado em um protocolo descentralizado, como FIL ou Arweave, ou em um serviço de armazenamento centralizado, como o AWS S3. Esse design garante que os perfis dos usuários e todas as publicações relacionadas sejam armazenados com segurança em suas carteiras pessoais, libertando-os da dependência de bancos de dados centralizados.
Além disso, a Web3 oferece uma abordagem mais direta para monetizar o conteúdo e a influência do usuário do que as arquiteturas Web2. Os usuários podem cobrar pela cunhagem de Follow NFTs ou integrar Collect Modules com suas publicações. Esta última opção permite que eles cobrem uma taxa pela cunhagem de NFT vinculada ao ContentURI de sua publicação. Além desses recursos, o Lens Protocol também fornece uma API GraphQL para mascarar componentes de blockchain de interfaces front-end, fornecendo uma experiência mais amigável do que as redes sociais descentralizadas anteriores.
Eventualmente, muitos protocolos descentralizados de redes sociais criam estruturas de dados que só podem ser adicionadas e autenticadas com chaves de usuário. Por exemplo, no CyberConnect, cada parte de dados centrada no usuário é representada como um fluxo de dados, onde apenas o proprietário dos dados tem permissão para atualizar. Cada atualização dos dados é anexada ao fluxo de dados à medida que apenas o log de confirmação é adicionado e a estrutura de dados resultante se torna uma estrutura de dados vinculada a hash chamada DAG Merkle. Os tipos de dados incluem conteúdo, favoritos, comentários e assinaturas.
O Scuttlebutt também usa uma agência de dados de log somente para adicionar. Cada usuário tem seu próprio log, onde cada nova mensagem ou ação é anexada ao final depois de assinada pelo usuário. Ele também suporta o compartilhamento de dados binários chamados “blobs”. Esses dados podem ser imagens, vídeos ou qualquer outro conteúdo binário. Os blobs são armazenados separadamente dos logs somente de acréscimo, mas as referências (hashes) a esses blobs podem ser incluídas nos logs.
No caso do Farcaster, as mensagens são atualizações públicas, como postar, seguir ou adicionar uma foto de perfil, que são codificadas como protobuf e devem ser hash e assinadas pelo signatário da conta. Desde que haja armazenamento suficiente, os usuários podem postar mensagens no Hub. O HUb verifica a validade do seu signatário antes de aceitar cada mensagem.
Armazenamento
O armazenamento de dados nos primeiros protocolos descentralizados era principalmente off-chain. Por exemplo, o Scuttlebutt usa uma rede de fofocas ponto a ponto para armazenar dados no dispositivo local do usuário. Essa abordagem garante a soberania dos dados, pois os usuários têm controle total sobre suas informações. No entanto, isso também significa que a disponibilidade de dados depende se o dispositivo do usuário está online ou se outro nó na rede tem uma cópia dos dados. Com o tempo, alguns clientes Scuttlebutt podem precisar implementar políticas de coleta de lixo para excluir dados antigos ou menos relevantes para gerenciar o espaço de armazenamento.
Uma alternativa a essa abordagem ponto a ponto é o advento dos servidores de armazenamento de dados. No caso do Matrix, vários servidores domésticos armazenam cópias do histórico da sala e as sincronizam entre si. Quando um usuário envia uma mensagem (ou qualquer evento) em uma sala, seus servidores domésticos transmitem o evento para outros servidores domésticos, que armazenam o evento e o encaminham para seus clientes conectados. Da mesma forma, o ActivityPub permite que cada instância (ou servidor) na rede armazene seus dados, normalmente em um banco de dados. A escolha do banco de dados (relacional, NoSQL, etc.) depende da implementação do software ActivityPub. Por exemplo, Mastodon, uma plataforma popular ActivityPub, usa um banco de dados PostgreSQL.
Protocolos como Cyberconnect, Farcaster e Lens adotaram blockchain para armazenamento. O armazenamento on-chain garante a imutabilidade e verificabilidade dos dados, fornecendo uma base sólida para aplicativos descentralizados que sincronizam o estado usando o mecanismo de consenso subjacente. No entanto, essa abordagem pode apresentar desafios de escalabilidade, já que cada parte dos dados precisa ser armazenada on-chain, potencialmente levando a altas taxas de transação e tempos de recuperação mais lentos.
Isso levou muitos protocolos sociais Web3 a tentar uma abordagem híbrida, usando armazenamento on-chain para executar operações de baixa frequência (por exemplo, perfis, assinaturas), armazenamento off-chain para executar eventos de alta frequência (por exemplo, curtidas, retweets, comentários) ou armazenamento off-chain como um paliativo temporário para carregar dados em massa on-chain em intervalos.
Para lidar eficientemente com atualizações frequentes entre conexões de usuários, o CyberConnect emprega listas vinculadas com hash em um armazenamento de dados descentralizado. Quando você inicia uma conexão, um “Log de operação” é criado. Alterações de estado subsequentes, como alternar entre seguir e não seguir, são adicionadas a esse log como um novo nó. Embora essas atualizações sejam inicialmente armazenadas em servidores centralizados, elas são regularmente carregadas em massa para uma plataforma de armazenamento descentralizada, como Arweave ou FIL. Para obter uma recuperação rápida de dados, os nós no log de operações são armazenados centralmente. No entanto, os usuários podem verificar independentemente a integridade dos dados navegando nesta lista de links hash. Embora algumas consultas de dados dependam de servidores centralizados, o sistema da CyberConnect foi projetado para ser totalmente descentralizado e, ao mesmo tempo, oferecer alto desempenho.
Farcaster usa uma abordagem híbrida semelhante: contratos on-chain são usados para operações de baixa frequência que são importantes para a consistência e descentralização. Contas, nomes de usuário, armazenamento e chaves são gerenciados usando uma série de contratos ETH. Os sistemas off-chain são usados para operações de alta frequência que dependem do desempenho. As mensagens criadas por contas de usuário são armazenadas e propagadas na rede ponto a ponto do hub Farcaster.
Discussão
Os protocolos sociais descentralizados têm o potencial de revolucionar a experiência do usuário em interações digitais. Alimentada pela Web3, a adoção acelerada de pares de chaves público-privado contribuirá para uma compreensão mais ampla dos primitivos de identidade neste contexto, e a auditoria contínua e a captura de dados pelas empresas de mídia social Web2 levarão mais usuários para outros lugares. Esperamos que a curva de adoção desses protocolos sociais descentralizados acelere.
Para facilitar o desenvolvimento de aplicações inovadoras, os desenvolvedores de protocolos e contribuidores de código aberto precisam urgentemente ir além dos tipos de dados básicos e objetos relacionais atualmente usados pela camada de infraestrutura. Embora os primitivos existentes encapsulam totalmente as capacidades das mídias sociais Web2 tradicionais, ainda há um tremendo potencial de expansão e inovação. A maioria dos protocolos discutidos aqui são inerentemente favoráveis à escalabilidade dentro do sistema, fornecendo uma base sólida para o desenvolvimento futuro e contribuições de código aberto.
No entanto, a interoperabilidade também é fundamental. Embora os desenvolvedores front-end possam aprimorar a funcionalidade de forma independente, se a funcionalidade aprimorada não for interoperável com outros aplicativos criados no mesmo protocolo subjacente, isso pode ser prejudicial para o benefício geral do sistema. Garantir a compatibilidade e a integração perfeita entre vários aplicativos é fundamental para o sucesso a longo prazo e a adoção de protocolos sociais descentralizados.
No mundo do armazenamento de dados, os protocolos sociais Web3 tendem a favorecer uma abordagem híbrida. A abordagem equilibrada de alocar ativos de alto valor, como identidades e conteúdo, a primitivos on-chain, ao mesmo tempo em que atribui conteúdo de baixo risco, como likes, a soluções off-chain, não apenas preserva a integridade e a segurança de dados críticos, mas também fornece uma experiência de usuário próxima à das plataformas tradicionais de mídia social.
As redes descentralizadas prometem transformar a comunicação humana, o compartilhamento de informações e a construção de comunidades. Ao priorizar a autonomia do usuário, a privacidade e nutrir relações orgânicas, essas redes estão abrindo caminho para um ambiente digital mais equitativo e centrado no usuário. Além disso, a natureza descentralizada dessas redes ajuda a democratizar o acesso a informações e recursos, mitigando os riscos associados ao controle centralizado.