Uma Análise Comparativa de Protocolos Sociais Descentralizados

Avançado1/7/2024, 12:40:33 PM
Este artigo apresenta protocolos sociais descentralizados, comparando plataformas tradicionais de conteúdo social com projetos emergentes da Web3 em aspectos como identidade, compartilhamento de dados, armazenamento e modelos de negócios.

A emergência de plataformas de mídia social controladas por corporações, impulsionadas por motivos comerciais, erodiu significativamente a esperança inicial de uma cultura participativa online. As tecnologias de informação em rede deveriam democratizar fundamentalmente a produção cultural, mas hoje em dia, essas plataformas limitam e moldam a participação online principalmente para fins lucrativos - um 'like' não é uma expressão de gratidão por um conteúdo, mas sim uma ferramenta de monetização que impulsiona algoritmos motivados comercialmente.

Plataformas de mídia social alternativas construídas em protocolos descentralizados e federados oferecem um retorno à concepção original da socialidade online. Os dados são controlados pelo usuário e são propagados em bancos de dados descentralizados, os frontends são impulsionados pela comunidade, a moderação é uma expressão das preferências da comunidade, os algoritmos são escolhidos pelo usuário e um ethos de código aberto impulsiona a inovação.

História das redes sociais descentralizadas e alternativas

Antes da web se tornar um centro de comércio, entretenimento e interações sociais, ela era principalmente uma ferramenta acadêmica e militar. Tim Berners-Lee tinha uma visão igualitária quando formulou os primeiros protocolos da web - o design inicial da internet era ser uma rede descentralizada, onde as informações poderiam fluir livremente entre os nós sem nenhum ponto único de controle ou falha.

No entanto, à medida que a web crescia em importância comercial, plataformas centralizadas, como mecanismos de busca e gigantes das redes sociais, surgiram como players dominantes. Embora essas entidades tenham fornecido um valor significativo, elas se desviaram do ethos descentralizado original, resultando em nosso ambiente web2 atual.

A principal inovação na linha do tempo das redes sociais alternativas foi a chegada do conceito de protocolos federados. Uma rede federada refere-se a um sistema em que múltiplos servidores independentes ou "nós" cooperam para formar uma única rede social, ao contrário das plataformas centralizadas onde uma única organização controla todos os servidores.

Em um sistema federado, cada servidor executa software compatível que segue protocolos compartilhados, permitindo que eles se comuniquem entre si. Um usuário registrado em um servidor pode seguir, interagir e compartilhar conteúdo com usuários de outros servidores de forma transparente, como se estivessem na mesma plataforma. Exemplos desses protocolos incluem ActivityPub e OStatus, que alimentam plataformas federadas como Mastodon e PeerTube.

Em uma configuração federada, os usuários podem escolher em qual servidor confiam, potencialmente migrando para diferentes ou configurando o seu próprio, dando-lhes mais autonomia. O termo 'Fediverse' - um portmanteau de 'federação' e 'universo' - é usado para descrever tal sistema. O Fediverse começou com plataformas como GNU social e seus antecessores (StatusNet e Laconica), mas o verdadeiro ponto de virada foi o desenvolvimento e a ampla adoção do protocolo ActivityPub, que foi publicado como um padrão recomendado pelo World Wide Web Consortium (W3C) em 2018.

Dentro do web3, as redes sociais federadas são o estado padrão de sistemas descentralizados uma vez que os dados são transferidos para a cadeia. As blockchains atuam como um servidor de backend sem opiniões para o conteúdo armazenado, com frontends indexando esse conteúdo e servindo diretamente aos usuários. A identidade é gerenciada por pares de chaves pública-privada que já gerenciam as carteiras dos usuários, permitindo que eles autentiquem facilmente qualquer dado ou conteúdo que gerarem. Além disso, o uso de primitivas onchain como NFTs pode agrupar conteúdo armazenado nos metadados e atuar como um nome de domínio ou identificador descentralizado (DID).

Similar ao funcionamento do ActivityPub, os protocolos da web3 buscam inicializar grafos sociais por meio de relacionamentos autenticados entre os nós de usuário. Como qualquer frontend pode indexar e servir esse conteúdo, há uma hipercompetição na camada frontend resultando em um cenário próspero de recursos. Além disso, porque os dados estão na cadeia, os usuários podem eleger os algoritmos que se sentem confortáveis em usar, e podem ser incentivados a usar determinados deles, recapturando o valor de seus dados. Isso é combinado com meios mais diretos de monetizar seu conteúdo, tornando uma experiência geral melhor para os criadores que foram em grande parte deixados de fora da monetização, embora seu conteúdo seja o que impulsiona a demanda por essas plataformas.

Comparação de Protocolo

Para apreciar verdadeiramente as inovações dentro dos protocolos de mídia social descentralizados, é necessário entender as nuances técnicas que os possibilitam. Notavelmente, não estamos incluindo todos os protocolos sociais aqui, mas optamos por alguns dos mais prevalentes:

Identidade / Espaços de Nomes

No contexto de grafos sociais federados e descentralizados ou protocolos de rede, um "espaço de nomes" refere-se a um domínio ou reino sob o qual os identificadores de usuário ou outros recursos são únicos. É uma forma de distinguir recursos ou identidades de um domínio/servidor de outro, garantindo que não haja conflitos ou ambiguidades ao integrar ou comunicar-se através de vários domínios.

Identidade e espaços de nomes associados em protocolos sociais descentralizados variam desde pares de chaves simples (Nostr, Scuttlebutt) até URIs apontados para URLs HTTPS que hospedam perfis (ActivityPub) até modelos mais complexos que usam primitivas onchain como NFTs (e mais recentemente extensões ERC-6551 como Lens v2).

Farcaster é um ótimo exemplo dessas técnicas. Uma conta Farcaster representa uma entidade distinta na rede. Cada conta tem um identificador numérico exclusivo chamado Farcaster ID ("fid"). As identidades são emitidas e gerenciadas onchain usando um contrato Ethereum chamado IdRegistry. Os usuários fazem uma transação para o IdRegistry para obter um novo fid. O endereço que possui o fid é o endereço de custódia do usuário. O IdRegistry garante que fids podem ser transferidos entre endereços e que não há dois endereços têm o mesmo fid. O Farcaster também estende esse namespace para oferecer suporte a nomes de ENS emitidos onchain ou offchain. Uma prova assinada deve ser enviada à rede para reivindicar um nome de usuário.

ActivityPub, por outro lado, identifica cada usuário por um URI único, normalmente uma URL HTTPS. Este URI aponta para o perfil do usuário e serve como seu identificador global na Fediverse. Para tornar esses URIs mais amigáveis para o usuário, muitas plataformas ActivityPub usam um sistema chamado Webfinger. O Webfinger permite que os usuários tenham uma identidade como '@'username@domain.com’.

Lens e CyberConnect gerenciam perfis de usuário como NFTs. No caso do Lens, um endereço de usuário detém um ProfileNFT, e é possível que um único endereço detenha vários ProfileNFTs. Cada Profile NFT encapsula toda a história de atividades de um usuário, incluindo postagens, espelhos, comentários e outros tipos de conteúdo que eles criaram. Além disso, os Profile NFTs possuem um FollowModule, que é essencialmente um conjunto de regras que governa como diferentes contas podem obter Follow NFTs. Esses Follow NFTs servem para documentar as conexões entre contas e o perfil principal diretamente on-chain. Existem também handles que podem existir e ser cunhados separadamente dos perfis, e podem ser vinculados e desvinculados de um perfil para outro. Os handles existem em seus próprios namespaces (por exemplo, lens/@alice).

Dados

Os dados são, sem dúvida, o recurso mais importante das redes descentralizadas, uma vez que a sua criação e padronização é o que permite o funcionamento desses sistemas. A técnica mais comum para gerenciar dados aqui é o uso de formatos padronizados como JSON e objetos de relacionamento comuns (por exemplo, curtidas, seguidores). Os objetos de dados principais geralmente incluem:

Atuadores e Objetos: Definido “atores” (por exemplo, usuários ou grupos) e “objetos” (por exemplo, postagens ou mensagens).

Publicações: Posts ou comentários são encapsulados como “Publicações”, frequentemente vinculados a conteúdo externo por meio de URLs.

Conteúdo em Logs Somente de Adição: Logs onde cada entrada, seja um post ou atualização, é um item de conteúdo discreto, adicionado e armazenado sequencialmente.

Vamos mergulhar em alguns exemplos de como isso funciona usando protocolos específicos.

O ActivityPub utiliza o formato de dados ActivityStreams 2.0, uma estrutura baseada em JSON, para representar várias interações sociais, como postagens ou curtidas. O protocolo diferencia entre dois componentes principais: Cliente para Servidor (C2S) e Servidor para Servidor (S2S). O C2S permite que os usuários, por meio de aplicativos clientes, interajam com seus respectivos servidores. Em contraste, o S2S facilita a comunicação entre servidores, permitindo a natureza federada robusta do protocolo.

Dentro do ActivityPub, as entidades são categorizadas como "atores" (geralmente contas de usuários ou grupos) e "objetos" (conteúdo ou ações como posts ou curtidas). Quando um ator realiza uma ação em um objeto, ele cria uma "atividade" como "Criar", "Seguir" ou "Curtir".

Grafos sociais da Web3 incorporam muitas das ideias centrais do ActivityPub, mas as aplicam onchain. O Protocolo Lens, por exemplo, introduz as “Publicações”, que encapsulam uma variedade de conteúdos gerados pelo usuário, como posts, espelhos, comentários e outras formas de mídia. Cada Publicação está associada a um ContentURI, direcionando para o conteúdo específico armazenado em um protocolo descentralizado como IPFS ou Arweave, ou alternativamente, em um serviço de armazenamento centralizado como AWS S3. Essa configuração garante que o perfil do usuário e todas as publicações associadas sejam armazenadas com segurança em sua carteira pessoal, afastando-se da dependência de bancos de dados centralizados.

Além disso, o Web3 permite uma abordagem mais direta para monetizar o conteúdo do usuário e a influência em comparação com o framework Web2. Os usuários podem cobrar pela cunhagem de NFTs de seguidores, ou podem integrar Módulos de Coleta com suas Publicações. Esta última opção permite que eles recebam uma taxa pela cunhagem de NFTs vinculados ao ContentURI de sua publicação. Além desses recursos, o Protocolo Lens oferece uma API GraphQL, servindo para mascarar os componentes blockchain das interfaces front-end e, consequentemente, oferecer uma experiência mais amigável do que as tentativas anteriores de redes sociais descentralizadas.

Em última análise, muitos dos protocolos de redes sociais descentralizados criam estruturas de dados somente apêndice que são autenticadas por chaves de usuário. Por exemplo, no CyberConnect, cada parte dos dados centrados no usuário é representada como um fluxo de dados em que as atualizações são permitidas apenas pelo proprietário dos dados. Cada atualização aos dados é anexada ao fluxo de dados na forma de um log de confirmação somente acréscimo e a estrutura de dados resultante se torna uma estrutura de dados vinculada a hash chamada de DAG Merkle. Os tipos de dados incluem conteúdo, coletas, comentários e assinaturas.

Scuttlebutt também usa um log somente de acréscimo. Cada usuário tem seu próprio log onde cada nova mensagem ou ação é anexada ao final após ser assinada pela identidade do usuário (ou seja, o par de chaves Ed25519 associado). Ele também suporta o compartilhamento de dados binários, conhecidos como "blobs". Podem ser imagens, vídeos ou qualquer outro conteúdo binário. Os blobs são armazenados separadamente dos logs somente acréscimo, mas as referências (hashes) a esses blobs podem ser incluídas nos logs.

Para Farcaster, as mensagens são atualizações públicas, como fazer uma postagem, seguir alguém ou adicionar uma foto de perfil, e essas mensagens são codificadas como um protobuf e devem ser hashadas e assinadas pelo signatário da conta. Os usuários podem publicar mensagens nos Hubs, desde que tenham armazenamento suficiente. Os Hubs verificam a validade dos signatários de cada mensagem antes de aceitá-los.

Armazenamento

As primeiras abordagens de armazenamento de dados para protocolos descentralizados eram em grande parte offchain, embora lembrassem o consenso onchain. O Scuttlebutt, por exemplo, usa uma rede de fofocas ponto a ponto, colocando o ônus do armazenamento no dispositivo local do usuário. Essa abordagem garante a soberania dos dados, pois os usuários têm controle total sobre suas próprias informações. No entanto, isso também significa que a disponibilidade de dados depende do dispositivo do usuário estar online ou de outros pares na rede terem uma cópia dos dados. Com o tempo, para gerenciar o espaço de armazenamento, alguns clientes do Scuttlebutt talvez precisem implementar estratégias de coleta de lixo para remover dados antigos ou menos relevantes.

Uma alternativa a esta abordagem peer-to-peer vem na forma de servidores armazenando dados, embora com redundância em comparação com plataformas de mídia tradicionais. Matrix, como exemplo, tem múltiplos homeservers armazenando cópias do histórico de salas e sincronizando entre si. Quando um usuário envia uma mensagem (ou qualquer evento) em uma sala, seu homeserver transmite esse evento para outros homeservers participantes, que então armazenam e encaminham o evento para seus clientes conectados. Da mesma forma, o ActivityPub tem cada instância (ou servidor) na rede armazenando seus dados, normalmente em um banco de dados. A escolha do banco de dados (relacional, NoSQL, etc.) depende da implementação específica do software ActivityPub. Por exemplo, o Mastodon, uma plataforma popular do ActivityPub, usa um banco de dados PostgreSQL.

Protocolos como Cyberconnect, Farcaster e Lens adotaram blockchains para armazenamento. O uso de armazenamento on-chain garante que os dados sejam imutáveis e verificáveis, proporcionando uma base robusta para aplicativos descentralizados que utilizam mecanismos de consenso subjacentes para sincronizar o estado. No entanto, essa abordagem pode levar a desafios de escalabilidade, pois cada dado precisa ser armazenado na cadeia, potencialmente resultando em altas taxas de transação e tempos de recuperação mais lentos.

Isso levou muitos protocolos sociais web3 a experimentar abordagens híbridas que usam armazenamento onchain para ações menos frequentes (por exemplo, perfis, assinaturas) e armazenamento offchain para eventos de alta frequência (por exemplo, curtidas, repostagens, comentários) ou carregamento em lote de dados onchain em intervalos frequentes com armazenamento offchain usado como solução provisória.

CyberConnect, para lidar eficientemente com as atualizações frequentes entre conexões de usuários, emprega uma lista encadeada de hash em um armazenamento de dados descentralizado. Ao iniciar uma conexão, um 'log de operações' é criado. Mudanças de estado subsequentes, como alternar entre seguir e deixar de seguir, são adicionadas como novos nós a este log. Enquanto essas atualizações são inicialmente armazenadas em um servidor central, elas são periodicamente carregadas em lote para plataformas de armazenamento descentralizadas como Arweave ou IPFS. Para uma rápida recuperação de dados, os nós no log de operações são armazenados de forma centralizada. No entanto, os usuários podem verificar independentemente a integridade dos dados navegando por esta lista encadeada de hash. Mesmo com a dependência de um servidor central para algumas consultas de dados, o sistema do CyberConnect é projetado para ser suficientemente descentralizado, oferecendo ao mesmo tempo alto desempenho.

Farcaster usa um approach híbrido semelhante: contratos onchain são usados para ações infrequentes onde a consistência e descentralização são importantes. Contas, nomes de usuário, armazenamento e chaves são gerenciados usando uma série de contratos Ethereum. Sistemas offchain são utilizados para ações frequentes onde o desempenho é crítico. Mensagens criadas por contas de usuários são armazenadas e propagadas na rede peer-to-peer dos hubs do Farcaster.

Discussão

Os protocolos sociais descentralizados estão prontos para revolucionar a experiência do usuário em interações digitais. A adoção acelerada de pares de chaves públicas-privadas, impulsionada tanto pela tração web3 quanto como uma medida proativa contra conteúdo gerado por AI, facilitará uma compreensão mais ampla e familiaridade com as primitivas de identidade nesse contexto, e a moderação contínua e a captura de dados nas empresas de mídia social da web2 empurrarão mais usuários a buscar em outros lugares. Esperamos uma curva de adoção acelerada para esses protocolos.

Para fomentar a evolução de novas aplicações, há uma necessidade premente de desenvolvedores de protocolos e contribuidores de código aberto se aventurarem além dos tipos de dados básicos e objetos de relacionamento atualmente empregados na camada de infraestrutura. Embora os primitivos existentes encapsulem adequadamente as funcionalidades das mídias sociais convencionais da web2, há um potencial imenso para expansão e inovação. A maioria dos protocolos discutidos aqui suportam inerentemente a extensibilidade dentro de seus sistemas, proporcionando uma base sólida para desenvolvimentos futuros e contribuições de código aberto.

No entanto, é crucial destacar a importância da interoperabilidade. Embora os desenvolvedores de frontend sejam capazes de aumentar a funcionalidade de forma independente, fazê-lo pode prejudicar os benefícios coletivos do sistema se as melhorias não forem interoperáveis com outras aplicações construídas sobre o mesmo protocolo subjacente. Garantir a compatibilidade e integração perfeita entre várias aplicações é vital para o sucesso e adoção a longo prazo de protocolos sociais descentralizados.

No campo do armazenamento de dados, o consenso emergente dentro dos protocolos sociais da web3 tende para uma abordagem híbrida. Dado o alto volume de conteúdo social e engajamento, é pragmático alocar ativos de alto valor, como identidade e conteúdo primário, para primitivas on-chain, enquanto se relega conteúdo de menor risco, como curtidas e reações, para soluções off-chain. Esta abordagem equilibrada não só preserva a integridade e segurança de dados cruciais, mas também fornece uma experiência do usuário reminiscente das plataformas tradicionais de mídia social.

Isenção de responsabilidade:

  1. Este artigo é reimpresso de [espelho]. Todos os direitos autorais pertencem ao autor original [1kx]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipe e eles vão lidar com isso prontamente.
  2. Responsabilidade de Isenção: As visões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Uma Análise Comparativa de Protocolos Sociais Descentralizados

Avançado1/7/2024, 12:40:33 PM
Este artigo apresenta protocolos sociais descentralizados, comparando plataformas tradicionais de conteúdo social com projetos emergentes da Web3 em aspectos como identidade, compartilhamento de dados, armazenamento e modelos de negócios.

A emergência de plataformas de mídia social controladas por corporações, impulsionadas por motivos comerciais, erodiu significativamente a esperança inicial de uma cultura participativa online. As tecnologias de informação em rede deveriam democratizar fundamentalmente a produção cultural, mas hoje em dia, essas plataformas limitam e moldam a participação online principalmente para fins lucrativos - um 'like' não é uma expressão de gratidão por um conteúdo, mas sim uma ferramenta de monetização que impulsiona algoritmos motivados comercialmente.

Plataformas de mídia social alternativas construídas em protocolos descentralizados e federados oferecem um retorno à concepção original da socialidade online. Os dados são controlados pelo usuário e são propagados em bancos de dados descentralizados, os frontends são impulsionados pela comunidade, a moderação é uma expressão das preferências da comunidade, os algoritmos são escolhidos pelo usuário e um ethos de código aberto impulsiona a inovação.

História das redes sociais descentralizadas e alternativas

Antes da web se tornar um centro de comércio, entretenimento e interações sociais, ela era principalmente uma ferramenta acadêmica e militar. Tim Berners-Lee tinha uma visão igualitária quando formulou os primeiros protocolos da web - o design inicial da internet era ser uma rede descentralizada, onde as informações poderiam fluir livremente entre os nós sem nenhum ponto único de controle ou falha.

No entanto, à medida que a web crescia em importância comercial, plataformas centralizadas, como mecanismos de busca e gigantes das redes sociais, surgiram como players dominantes. Embora essas entidades tenham fornecido um valor significativo, elas se desviaram do ethos descentralizado original, resultando em nosso ambiente web2 atual.

A principal inovação na linha do tempo das redes sociais alternativas foi a chegada do conceito de protocolos federados. Uma rede federada refere-se a um sistema em que múltiplos servidores independentes ou "nós" cooperam para formar uma única rede social, ao contrário das plataformas centralizadas onde uma única organização controla todos os servidores.

Em um sistema federado, cada servidor executa software compatível que segue protocolos compartilhados, permitindo que eles se comuniquem entre si. Um usuário registrado em um servidor pode seguir, interagir e compartilhar conteúdo com usuários de outros servidores de forma transparente, como se estivessem na mesma plataforma. Exemplos desses protocolos incluem ActivityPub e OStatus, que alimentam plataformas federadas como Mastodon e PeerTube.

Em uma configuração federada, os usuários podem escolher em qual servidor confiam, potencialmente migrando para diferentes ou configurando o seu próprio, dando-lhes mais autonomia. O termo 'Fediverse' - um portmanteau de 'federação' e 'universo' - é usado para descrever tal sistema. O Fediverse começou com plataformas como GNU social e seus antecessores (StatusNet e Laconica), mas o verdadeiro ponto de virada foi o desenvolvimento e a ampla adoção do protocolo ActivityPub, que foi publicado como um padrão recomendado pelo World Wide Web Consortium (W3C) em 2018.

Dentro do web3, as redes sociais federadas são o estado padrão de sistemas descentralizados uma vez que os dados são transferidos para a cadeia. As blockchains atuam como um servidor de backend sem opiniões para o conteúdo armazenado, com frontends indexando esse conteúdo e servindo diretamente aos usuários. A identidade é gerenciada por pares de chaves pública-privada que já gerenciam as carteiras dos usuários, permitindo que eles autentiquem facilmente qualquer dado ou conteúdo que gerarem. Além disso, o uso de primitivas onchain como NFTs pode agrupar conteúdo armazenado nos metadados e atuar como um nome de domínio ou identificador descentralizado (DID).

Similar ao funcionamento do ActivityPub, os protocolos da web3 buscam inicializar grafos sociais por meio de relacionamentos autenticados entre os nós de usuário. Como qualquer frontend pode indexar e servir esse conteúdo, há uma hipercompetição na camada frontend resultando em um cenário próspero de recursos. Além disso, porque os dados estão na cadeia, os usuários podem eleger os algoritmos que se sentem confortáveis em usar, e podem ser incentivados a usar determinados deles, recapturando o valor de seus dados. Isso é combinado com meios mais diretos de monetizar seu conteúdo, tornando uma experiência geral melhor para os criadores que foram em grande parte deixados de fora da monetização, embora seu conteúdo seja o que impulsiona a demanda por essas plataformas.

Comparação de Protocolo

Para apreciar verdadeiramente as inovações dentro dos protocolos de mídia social descentralizados, é necessário entender as nuances técnicas que os possibilitam. Notavelmente, não estamos incluindo todos os protocolos sociais aqui, mas optamos por alguns dos mais prevalentes:

Identidade / Espaços de Nomes

No contexto de grafos sociais federados e descentralizados ou protocolos de rede, um "espaço de nomes" refere-se a um domínio ou reino sob o qual os identificadores de usuário ou outros recursos são únicos. É uma forma de distinguir recursos ou identidades de um domínio/servidor de outro, garantindo que não haja conflitos ou ambiguidades ao integrar ou comunicar-se através de vários domínios.

Identidade e espaços de nomes associados em protocolos sociais descentralizados variam desde pares de chaves simples (Nostr, Scuttlebutt) até URIs apontados para URLs HTTPS que hospedam perfis (ActivityPub) até modelos mais complexos que usam primitivas onchain como NFTs (e mais recentemente extensões ERC-6551 como Lens v2).

Farcaster é um ótimo exemplo dessas técnicas. Uma conta Farcaster representa uma entidade distinta na rede. Cada conta tem um identificador numérico exclusivo chamado Farcaster ID ("fid"). As identidades são emitidas e gerenciadas onchain usando um contrato Ethereum chamado IdRegistry. Os usuários fazem uma transação para o IdRegistry para obter um novo fid. O endereço que possui o fid é o endereço de custódia do usuário. O IdRegistry garante que fids podem ser transferidos entre endereços e que não há dois endereços têm o mesmo fid. O Farcaster também estende esse namespace para oferecer suporte a nomes de ENS emitidos onchain ou offchain. Uma prova assinada deve ser enviada à rede para reivindicar um nome de usuário.

ActivityPub, por outro lado, identifica cada usuário por um URI único, normalmente uma URL HTTPS. Este URI aponta para o perfil do usuário e serve como seu identificador global na Fediverse. Para tornar esses URIs mais amigáveis para o usuário, muitas plataformas ActivityPub usam um sistema chamado Webfinger. O Webfinger permite que os usuários tenham uma identidade como '@'username@domain.com’.

Lens e CyberConnect gerenciam perfis de usuário como NFTs. No caso do Lens, um endereço de usuário detém um ProfileNFT, e é possível que um único endereço detenha vários ProfileNFTs. Cada Profile NFT encapsula toda a história de atividades de um usuário, incluindo postagens, espelhos, comentários e outros tipos de conteúdo que eles criaram. Além disso, os Profile NFTs possuem um FollowModule, que é essencialmente um conjunto de regras que governa como diferentes contas podem obter Follow NFTs. Esses Follow NFTs servem para documentar as conexões entre contas e o perfil principal diretamente on-chain. Existem também handles que podem existir e ser cunhados separadamente dos perfis, e podem ser vinculados e desvinculados de um perfil para outro. Os handles existem em seus próprios namespaces (por exemplo, lens/@alice).

Dados

Os dados são, sem dúvida, o recurso mais importante das redes descentralizadas, uma vez que a sua criação e padronização é o que permite o funcionamento desses sistemas. A técnica mais comum para gerenciar dados aqui é o uso de formatos padronizados como JSON e objetos de relacionamento comuns (por exemplo, curtidas, seguidores). Os objetos de dados principais geralmente incluem:

Atuadores e Objetos: Definido “atores” (por exemplo, usuários ou grupos) e “objetos” (por exemplo, postagens ou mensagens).

Publicações: Posts ou comentários são encapsulados como “Publicações”, frequentemente vinculados a conteúdo externo por meio de URLs.

Conteúdo em Logs Somente de Adição: Logs onde cada entrada, seja um post ou atualização, é um item de conteúdo discreto, adicionado e armazenado sequencialmente.

Vamos mergulhar em alguns exemplos de como isso funciona usando protocolos específicos.

O ActivityPub utiliza o formato de dados ActivityStreams 2.0, uma estrutura baseada em JSON, para representar várias interações sociais, como postagens ou curtidas. O protocolo diferencia entre dois componentes principais: Cliente para Servidor (C2S) e Servidor para Servidor (S2S). O C2S permite que os usuários, por meio de aplicativos clientes, interajam com seus respectivos servidores. Em contraste, o S2S facilita a comunicação entre servidores, permitindo a natureza federada robusta do protocolo.

Dentro do ActivityPub, as entidades são categorizadas como "atores" (geralmente contas de usuários ou grupos) e "objetos" (conteúdo ou ações como posts ou curtidas). Quando um ator realiza uma ação em um objeto, ele cria uma "atividade" como "Criar", "Seguir" ou "Curtir".

Grafos sociais da Web3 incorporam muitas das ideias centrais do ActivityPub, mas as aplicam onchain. O Protocolo Lens, por exemplo, introduz as “Publicações”, que encapsulam uma variedade de conteúdos gerados pelo usuário, como posts, espelhos, comentários e outras formas de mídia. Cada Publicação está associada a um ContentURI, direcionando para o conteúdo específico armazenado em um protocolo descentralizado como IPFS ou Arweave, ou alternativamente, em um serviço de armazenamento centralizado como AWS S3. Essa configuração garante que o perfil do usuário e todas as publicações associadas sejam armazenadas com segurança em sua carteira pessoal, afastando-se da dependência de bancos de dados centralizados.

Além disso, o Web3 permite uma abordagem mais direta para monetizar o conteúdo do usuário e a influência em comparação com o framework Web2. Os usuários podem cobrar pela cunhagem de NFTs de seguidores, ou podem integrar Módulos de Coleta com suas Publicações. Esta última opção permite que eles recebam uma taxa pela cunhagem de NFTs vinculados ao ContentURI de sua publicação. Além desses recursos, o Protocolo Lens oferece uma API GraphQL, servindo para mascarar os componentes blockchain das interfaces front-end e, consequentemente, oferecer uma experiência mais amigável do que as tentativas anteriores de redes sociais descentralizadas.

Em última análise, muitos dos protocolos de redes sociais descentralizados criam estruturas de dados somente apêndice que são autenticadas por chaves de usuário. Por exemplo, no CyberConnect, cada parte dos dados centrados no usuário é representada como um fluxo de dados em que as atualizações são permitidas apenas pelo proprietário dos dados. Cada atualização aos dados é anexada ao fluxo de dados na forma de um log de confirmação somente acréscimo e a estrutura de dados resultante se torna uma estrutura de dados vinculada a hash chamada de DAG Merkle. Os tipos de dados incluem conteúdo, coletas, comentários e assinaturas.

Scuttlebutt também usa um log somente de acréscimo. Cada usuário tem seu próprio log onde cada nova mensagem ou ação é anexada ao final após ser assinada pela identidade do usuário (ou seja, o par de chaves Ed25519 associado). Ele também suporta o compartilhamento de dados binários, conhecidos como "blobs". Podem ser imagens, vídeos ou qualquer outro conteúdo binário. Os blobs são armazenados separadamente dos logs somente acréscimo, mas as referências (hashes) a esses blobs podem ser incluídas nos logs.

Para Farcaster, as mensagens são atualizações públicas, como fazer uma postagem, seguir alguém ou adicionar uma foto de perfil, e essas mensagens são codificadas como um protobuf e devem ser hashadas e assinadas pelo signatário da conta. Os usuários podem publicar mensagens nos Hubs, desde que tenham armazenamento suficiente. Os Hubs verificam a validade dos signatários de cada mensagem antes de aceitá-los.

Armazenamento

As primeiras abordagens de armazenamento de dados para protocolos descentralizados eram em grande parte offchain, embora lembrassem o consenso onchain. O Scuttlebutt, por exemplo, usa uma rede de fofocas ponto a ponto, colocando o ônus do armazenamento no dispositivo local do usuário. Essa abordagem garante a soberania dos dados, pois os usuários têm controle total sobre suas próprias informações. No entanto, isso também significa que a disponibilidade de dados depende do dispositivo do usuário estar online ou de outros pares na rede terem uma cópia dos dados. Com o tempo, para gerenciar o espaço de armazenamento, alguns clientes do Scuttlebutt talvez precisem implementar estratégias de coleta de lixo para remover dados antigos ou menos relevantes.

Uma alternativa a esta abordagem peer-to-peer vem na forma de servidores armazenando dados, embora com redundância em comparação com plataformas de mídia tradicionais. Matrix, como exemplo, tem múltiplos homeservers armazenando cópias do histórico de salas e sincronizando entre si. Quando um usuário envia uma mensagem (ou qualquer evento) em uma sala, seu homeserver transmite esse evento para outros homeservers participantes, que então armazenam e encaminham o evento para seus clientes conectados. Da mesma forma, o ActivityPub tem cada instância (ou servidor) na rede armazenando seus dados, normalmente em um banco de dados. A escolha do banco de dados (relacional, NoSQL, etc.) depende da implementação específica do software ActivityPub. Por exemplo, o Mastodon, uma plataforma popular do ActivityPub, usa um banco de dados PostgreSQL.

Protocolos como Cyberconnect, Farcaster e Lens adotaram blockchains para armazenamento. O uso de armazenamento on-chain garante que os dados sejam imutáveis e verificáveis, proporcionando uma base robusta para aplicativos descentralizados que utilizam mecanismos de consenso subjacentes para sincronizar o estado. No entanto, essa abordagem pode levar a desafios de escalabilidade, pois cada dado precisa ser armazenado na cadeia, potencialmente resultando em altas taxas de transação e tempos de recuperação mais lentos.

Isso levou muitos protocolos sociais web3 a experimentar abordagens híbridas que usam armazenamento onchain para ações menos frequentes (por exemplo, perfis, assinaturas) e armazenamento offchain para eventos de alta frequência (por exemplo, curtidas, repostagens, comentários) ou carregamento em lote de dados onchain em intervalos frequentes com armazenamento offchain usado como solução provisória.

CyberConnect, para lidar eficientemente com as atualizações frequentes entre conexões de usuários, emprega uma lista encadeada de hash em um armazenamento de dados descentralizado. Ao iniciar uma conexão, um 'log de operações' é criado. Mudanças de estado subsequentes, como alternar entre seguir e deixar de seguir, são adicionadas como novos nós a este log. Enquanto essas atualizações são inicialmente armazenadas em um servidor central, elas são periodicamente carregadas em lote para plataformas de armazenamento descentralizadas como Arweave ou IPFS. Para uma rápida recuperação de dados, os nós no log de operações são armazenados de forma centralizada. No entanto, os usuários podem verificar independentemente a integridade dos dados navegando por esta lista encadeada de hash. Mesmo com a dependência de um servidor central para algumas consultas de dados, o sistema do CyberConnect é projetado para ser suficientemente descentralizado, oferecendo ao mesmo tempo alto desempenho.

Farcaster usa um approach híbrido semelhante: contratos onchain são usados para ações infrequentes onde a consistência e descentralização são importantes. Contas, nomes de usuário, armazenamento e chaves são gerenciados usando uma série de contratos Ethereum. Sistemas offchain são utilizados para ações frequentes onde o desempenho é crítico. Mensagens criadas por contas de usuários são armazenadas e propagadas na rede peer-to-peer dos hubs do Farcaster.

Discussão

Os protocolos sociais descentralizados estão prontos para revolucionar a experiência do usuário em interações digitais. A adoção acelerada de pares de chaves públicas-privadas, impulsionada tanto pela tração web3 quanto como uma medida proativa contra conteúdo gerado por AI, facilitará uma compreensão mais ampla e familiaridade com as primitivas de identidade nesse contexto, e a moderação contínua e a captura de dados nas empresas de mídia social da web2 empurrarão mais usuários a buscar em outros lugares. Esperamos uma curva de adoção acelerada para esses protocolos.

Para fomentar a evolução de novas aplicações, há uma necessidade premente de desenvolvedores de protocolos e contribuidores de código aberto se aventurarem além dos tipos de dados básicos e objetos de relacionamento atualmente empregados na camada de infraestrutura. Embora os primitivos existentes encapsulem adequadamente as funcionalidades das mídias sociais convencionais da web2, há um potencial imenso para expansão e inovação. A maioria dos protocolos discutidos aqui suportam inerentemente a extensibilidade dentro de seus sistemas, proporcionando uma base sólida para desenvolvimentos futuros e contribuições de código aberto.

No entanto, é crucial destacar a importância da interoperabilidade. Embora os desenvolvedores de frontend sejam capazes de aumentar a funcionalidade de forma independente, fazê-lo pode prejudicar os benefícios coletivos do sistema se as melhorias não forem interoperáveis com outras aplicações construídas sobre o mesmo protocolo subjacente. Garantir a compatibilidade e integração perfeita entre várias aplicações é vital para o sucesso e adoção a longo prazo de protocolos sociais descentralizados.

No campo do armazenamento de dados, o consenso emergente dentro dos protocolos sociais da web3 tende para uma abordagem híbrida. Dado o alto volume de conteúdo social e engajamento, é pragmático alocar ativos de alto valor, como identidade e conteúdo primário, para primitivas on-chain, enquanto se relega conteúdo de menor risco, como curtidas e reações, para soluções off-chain. Esta abordagem equilibrada não só preserva a integridade e segurança de dados cruciais, mas também fornece uma experiência do usuário reminiscente das plataformas tradicionais de mídia social.

Isenção de responsabilidade:

  1. Este artigo é reimpresso de [espelho]. Todos os direitos autorais pertencem ao autor original [1kx]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipe e eles vão lidar com isso prontamente.
  2. Responsabilidade de Isenção: As visões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!