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 empresas, impulsionadas por motivos comerciais, erodiu significativamente a esperança inicial de uma cultura participativa online. As tecnologias de informação em rede devem 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 orientados pelo lucro.

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 front-ends 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 de a web se tornar um centro de comércio, entretenimento e interações sociais, era principalmente uma ferramenta académica e militar. Tim Berners-Lee tinha uma visão igualitária quando formulou os primeiros protocolos web - o design inicial da internet era ser uma rede descentralizada, onde a informação poderia fluir livremente entre nós sem nenhum ponto único de controlo ou falha.

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

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 onde 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.

Num sistema federado, cada servidor executa software compatível que segue protocolos partilhados, permitindo-lhes comunicar entre si. Um utilizador registado num servidor pode seguir, interagir e partilhar conteúdo com utilizadores de outros servidores de forma transparente, como se estivessem na mesma plataforma. Exemplos destes protocolos incluem ActivityPub e OStatus, que alimentam plataformas federadas como o Mastodon e o PeerTube.

Num cenário federado, os utilizadores podem escolher em qual servidor confiam, potencialmente migrando para diferentes servidores 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 predecessores (StatusNet e Laconica), mas o verdadeiro ponto de viragem foi o desenvolvimento e a adoção generalizada 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 não opinativo para o conteúdo armazenado, com frontends indexando esse conteúdo e servindo-o diretamente aos usuários. A identidade é gerida por pares de chaves públicas-privadas que já gerenciam as carteiras dos usuários, permitindo-lhes autenticar facilmente quaisquer dados ou conteúdos que gerem. 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 web3 procuram iniciar grafos sociais através de relações autenticadas entre nós de utilizadores. Uma vez que qualquer frontend pode indexar e servir este conteúdo, existe uma competição intensa na camada de frontend, resultando numa paisagem florescente de funcionalidades. Além disso, como os dados estão na cadeia, os utilizadores podem eleger os algoritmos que se sintam confortáveis em utilizar e podem ser incentivados a usar determinados, recapturando o valor dos seus dados. Isto é combinado com meios mais diretos de rentabilizar o seu conteúdo, proporcionando uma experiência global melhor para os criadores que foram largamente excluídos da rentabilização, apesar de ser o seu conteúdo que impulsiona a procura por estas plataformas.

Comparação de Protocolos

Para apreciar verdadeiramente as inovações dentro dos protocolos de redes sociais descentralizadas, é necessário compreender as nuances técnicas que as 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 maneira 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 em vários domínios.

A identidade e os namespaces associados em protocolos sociais descentralizados vão desde pares de chaves simples (Nostr, Scuttlebutt) até URIs apontados para HTTPs, URLs que hospedam perfis (ActivityPub) até modelos mais complexos, que usam primitivos onchain, como NFTs (e, mais recentemente, extensões ERC-6551, por exemplo, Lens v2).

Farcaster é um ótimo exemplo destas técnicas. Uma conta Farcaster representa uma entidade distinta na rede. Cada conta tem um identificador numérico único chamado Farcaster ID ("fid"). Identidades são emitidas e geridas onchain usando um contrato Ethereum chamado IdRegistry. Os utilizadores 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 utilizador. O IdRegistry garante que fids possam ser transferidos entre endereços e que nenhum dois endereços tenha o mesmo fid. Farcaster também estende este namespace para suportar nomes ENS que são emitidos onchain ou offchain. Uma prova assinada deve ser submetida à rede para reivindicar um nome de utilizador.

Por outro lado, o ActivityPub identifica cada utilizador através de um URI único, normalmente um URL HTTPS. Este URI aponta para o perfil do utilizador e serve como identificador global no Fediverso. Para tornar estes URIs mais amigáveis para o utilizador, muitas plataformas ActivityPub utilizam um sistema chamado Webfinger. O Webfinger permite aos utilizadores ter uma identidade como ‘@username@domain.com’.

Lens e CyberConnect em vez disso gerem perfis de utilizadores como NFTs. No caso de Lens, um endereço de utilizador detém um ProfileNFT, sendo possível que um único endereço detenha vários ProfileNFTs. Cada Profile NFT encapsula toda a história da atividade de um utilizador, incluindo publicações, espelhos, comentários e outros tipos de conteúdo que tenham criado. Adicionalmente, os Profile NFTs têm um FollowModule, que é essencialmente um conjunto de regras que regem como diferentes contas podem obter Follow NFTs. Estes Follow NFTs servem para documentar as conexões entre contas e o perfil principal diretamente na cadeia de blocos. Existem também identificadores que podem existir e ser criados separadamente dos perfis, podendo ser ligados e desligados de um perfil para outro. Os identificadores existem nos seus próprios espaços de nomes (por exemplo, lens/@alice).

Dados

Os dados são, sem dúvida, a característica mais importante das redes descentralizadas, uma vez que a sua criação e padronização são o que permite esses sistemas. A técnica mais comum para gerir dados aqui é a utilização de formatos padronizados como JSON e objetos de relação comuns (por exemplo, gostos, seguidores). Os objetos de dados principais normalmente incluem:

Atores e Objetos: Definidos "atores" (por exemplo, utilizadores ou grupos) e "objetos" (por exemplo, publicações ou mensagens).

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

Conteúdo em Registos Apenas Acrescentar: Registos onde cada entrada, seja um post ou uma 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 publicações ou curtidas. O protocolo diferencia entre dois componentes principais: Cliente para Servidor (C2S) e Servidor para Servidor (S2S). O C2S permite que os utilizadores, através de aplicações de cliente, interajam com os seus servidores respetivos. 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" (frequentemente contas de usuário ou grupos) e "objetos" (conteúdo ou ações como publicações ou curtidas). Quando um ator executa uma ação em um objeto, cria uma "atividade" como "Criar", "Seguir" ou "Curtir".

Os gráficos sociais da Web3 incorporam muitas das ideias principais do ActivityPub, mas aplicam-nas on-chain. O Protocolo Lens, por exemplo, introduz as "Publicações", que encapsulam uma variedade de conteúdo gerado pelo utilizador, como publicações, espelhos, comentários e outras formas de media. Cada Publicação está associada a um ContentURI, direcionando para o conteúdo específico armazenado num protocolo descentralizado como IPFS ou Arweave, ou, alternativamente, num serviço de armazenamento centralizado como o AWS S3. Esta configuração garante que o perfil de um utilizador e todas as publicações associadas sejam armazenadas com segurança na sua carteira pessoal, afastando-se da dependência de bases de dados centralizadas.

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 quadro Web2. Os usuários podem cobrar pela cunhagem de NFTs de Seguir, ou podem integrar Módulos de Coleção com suas Publicações. Esta última opção permite-lhes receber uma taxa pela cunhagem de NFTs ligados ao ContentURI da sua publicação. Além destes recursos, o Protocolo Lens oferece uma API GraphQL, servindo para mascarar os componentes da blockchain das interfaces frontend e, consequentemente, proporcionar uma experiência mais amigável do que as tentativas anteriores de redes sociais descentralizadas.

No final, muitos dos protocolos de redes sociais descentralizadas criam estruturas de dados apenas para adicionar, que são autenticadas por chaves de usuários. Por exemplo, no CyberConnect, cada pedaço de dados centrados no usuário é representado como um fluxo de dados onde as atualizações só são permitidas pelo proprietário dos dados. Cada atualização dos dados é adicionada ao fluxo de dados na forma de um log de confirmação apenas para adicionar e a estrutura de dados resultante torna-se uma estrutura de dados ligados a hash chamada DAG de Merkle. Os tipos de dados incluem conteúdo, coleções, comentários e inscrições.

Scuttlebutt também usa um registro apenas de anexação. Cada usuário tem seu próprio registro 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). Também suporta o compartilhamento de dados binários, denominados “blobs”. Estes podem ser imagens, vídeos ou qualquer outro conteúdo binário. Os blobs são armazenados separadamente dos registros apenas de anexação, mas referências (hashes) a esses blobs podem ser incluídas nos registros.

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

Armazenamento

As abordagens iniciais para armazenamento de dados para protocolos descentralizados eram em grande parte offchain, embora reminiscentes do consenso onchain. O Scuttlebutt, por exemplo, utiliza uma rede de fofocas peer-to-peer, colocando a responsabilidade de armazenamento no dispositivo local do usuário. Esta abordagem garante a soberania dos dados, uma vez que os usuários têm controle total sobre as suas próprias informações. No entanto, isso também significa que a disponibilidade dos 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 podem precisar implementar estratégias de coleta de lixo para podar dados antigos ou menos relevantes.

Uma alternativa a esta abordagem peer-to-peer surge na forma de servidores que armazenam dados, embora com redundância em comparação com plataformas de mídia tradicionais. A Matrix, como exemplo, tem vários homeservers que armazenam cópias dos históricos das salas e sincronizam entre si. Quando um utilizador envia uma mensagem (ou qualquer evento) numa sala, o seu homeserver difunde esse evento para outros homeservers participantes, que depois armazenam e reenviam o evento para os seus clientes conectados. Da mesma forma, o ActivityPub faz com que cada instância (ou servidor) na rede armazene os seus dados, tipicamente numa base de dados. A escolha da base de dados (relacional, NoSQL, etc.) depende da implementação específica do software ActivityPub. Por exemplo, o Mastodon, uma plataforma popular do ActivityPub, utiliza uma base 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 aplicações descentralizadas usando mecanismos de consenso subjacentes para sincronização de estado. No entanto, essa abordagem pode levar a desafios de escalabilidade, uma vez que cada parte dos dados precisa ser armazenada on-chain, potencialmente resultando em altas taxas de transação e tempos de recuperação mais lentos.

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

O CyberConnect, a fim de lidar eficientemente com as atualizações frequentes entre as conexões do usuário, emprega uma lista vinculada a hash em um armazenamento de dados descentralizado. Ao iniciar uma conexão, um 'log de operação' é criado. As alterações de estado subsequentes, como alternar entre seguir e deixar de seguir, são adicionadas como novos nós a este log. Embora essas atualizações sejam inicialmente armazenadas em um servidor central, elas são periodicamente carregadas em lote para plataformas de armazenamento descentralizadas, como Arweave ou IPFS. Para 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 por essa lista vinculada a hash. Mesmo com a dependência de um servidor central para algumas consultas de dados, o sistema da CyberConnect foi projetado para ser suficientemente descentralizado, oferecendo também alto desempenho.

Farcaster também usa uma abordagem híbrida: contratos onchain são usados para ações pouco frequentes onde a consistência e a descentralização são importantes. Contas, nomes de usuário, armazenamento e chaves são gerenciados usando uma série de contratos Ethereum. Os sistemas offchain são usados para ações frequentes onde o desempenho é crítico. As mensagens criadas por contas de usuário são armazenadas e propagadas na rede ponto a ponto dos hubs 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úblico-privado, impulsionada tanto pela tração web3 quanto como uma medida proativa contra conteúdo gerado por IA, facilitará uma compreensão mais ampla e familiaridade com primitivos de identidade neste contexto, e a moderação contínua e a captura de dados nas empresas de mídia social web2 pressionarão abertamente mais usuários a procurar em outro lugar. Esperamos uma curva de adoção acelerada para esses protocolos.

Para fomentar a evolução de novas aplicações, há uma necessidade premente de os desenvolvedores de protocolos e contribuidores de código aberto irem além dos tipos de dados básicos e objetos de relacionamento atualmente utilizados na camada de infraestrutura. Embora os primitivos existentes encapsulem adequadamente as funcionalidades das redes sociais web2 convencionais, existe 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 futuros desenvolvimentos e contribuições de código aberto.

No entanto, é crucial sublinhar 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 dos protocolos sociais descentralizados.

No reino do armazenamento de dados, o consenso emergente dentro dos protocolos sociais web3 tende para uma abordagem híbrida. Dado o elevado volume de conteúdo e interação social, é pragmático alocar ativos de alto valor, como identidade e conteúdo primário, para primitivas on-chain, enquanto relega conteúdo de menor risco, como gostos 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 oferece uma experiência do utilizador que lembra as plataformas tradicionais de redes sociais.

Aviso legal:

  1. Este artigo é reproduzido a partir de [espelho]. Todos os direitos autorais pertencem ao autor original [1kx]. Se houver objeções a este reenvio, entre em contato com o Gate Learnequipa, e eles vão lidar com isso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer 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, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

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 empresas, impulsionadas por motivos comerciais, erodiu significativamente a esperança inicial de uma cultura participativa online. As tecnologias de informação em rede devem 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 orientados pelo lucro.

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 front-ends 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 de a web se tornar um centro de comércio, entretenimento e interações sociais, era principalmente uma ferramenta académica e militar. Tim Berners-Lee tinha uma visão igualitária quando formulou os primeiros protocolos web - o design inicial da internet era ser uma rede descentralizada, onde a informação poderia fluir livremente entre nós sem nenhum ponto único de controlo ou falha.

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

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 onde 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.

Num sistema federado, cada servidor executa software compatível que segue protocolos partilhados, permitindo-lhes comunicar entre si. Um utilizador registado num servidor pode seguir, interagir e partilhar conteúdo com utilizadores de outros servidores de forma transparente, como se estivessem na mesma plataforma. Exemplos destes protocolos incluem ActivityPub e OStatus, que alimentam plataformas federadas como o Mastodon e o PeerTube.

Num cenário federado, os utilizadores podem escolher em qual servidor confiam, potencialmente migrando para diferentes servidores 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 predecessores (StatusNet e Laconica), mas o verdadeiro ponto de viragem foi o desenvolvimento e a adoção generalizada 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 não opinativo para o conteúdo armazenado, com frontends indexando esse conteúdo e servindo-o diretamente aos usuários. A identidade é gerida por pares de chaves públicas-privadas que já gerenciam as carteiras dos usuários, permitindo-lhes autenticar facilmente quaisquer dados ou conteúdos que gerem. 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 web3 procuram iniciar grafos sociais através de relações autenticadas entre nós de utilizadores. Uma vez que qualquer frontend pode indexar e servir este conteúdo, existe uma competição intensa na camada de frontend, resultando numa paisagem florescente de funcionalidades. Além disso, como os dados estão na cadeia, os utilizadores podem eleger os algoritmos que se sintam confortáveis em utilizar e podem ser incentivados a usar determinados, recapturando o valor dos seus dados. Isto é combinado com meios mais diretos de rentabilizar o seu conteúdo, proporcionando uma experiência global melhor para os criadores que foram largamente excluídos da rentabilização, apesar de ser o seu conteúdo que impulsiona a procura por estas plataformas.

Comparação de Protocolos

Para apreciar verdadeiramente as inovações dentro dos protocolos de redes sociais descentralizadas, é necessário compreender as nuances técnicas que as 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 maneira 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 em vários domínios.

A identidade e os namespaces associados em protocolos sociais descentralizados vão desde pares de chaves simples (Nostr, Scuttlebutt) até URIs apontados para HTTPs, URLs que hospedam perfis (ActivityPub) até modelos mais complexos, que usam primitivos onchain, como NFTs (e, mais recentemente, extensões ERC-6551, por exemplo, Lens v2).

Farcaster é um ótimo exemplo destas técnicas. Uma conta Farcaster representa uma entidade distinta na rede. Cada conta tem um identificador numérico único chamado Farcaster ID ("fid"). Identidades são emitidas e geridas onchain usando um contrato Ethereum chamado IdRegistry. Os utilizadores 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 utilizador. O IdRegistry garante que fids possam ser transferidos entre endereços e que nenhum dois endereços tenha o mesmo fid. Farcaster também estende este namespace para suportar nomes ENS que são emitidos onchain ou offchain. Uma prova assinada deve ser submetida à rede para reivindicar um nome de utilizador.

Por outro lado, o ActivityPub identifica cada utilizador através de um URI único, normalmente um URL HTTPS. Este URI aponta para o perfil do utilizador e serve como identificador global no Fediverso. Para tornar estes URIs mais amigáveis para o utilizador, muitas plataformas ActivityPub utilizam um sistema chamado Webfinger. O Webfinger permite aos utilizadores ter uma identidade como ‘@username@domain.com’.

Lens e CyberConnect em vez disso gerem perfis de utilizadores como NFTs. No caso de Lens, um endereço de utilizador detém um ProfileNFT, sendo possível que um único endereço detenha vários ProfileNFTs. Cada Profile NFT encapsula toda a história da atividade de um utilizador, incluindo publicações, espelhos, comentários e outros tipos de conteúdo que tenham criado. Adicionalmente, os Profile NFTs têm um FollowModule, que é essencialmente um conjunto de regras que regem como diferentes contas podem obter Follow NFTs. Estes Follow NFTs servem para documentar as conexões entre contas e o perfil principal diretamente na cadeia de blocos. Existem também identificadores que podem existir e ser criados separadamente dos perfis, podendo ser ligados e desligados de um perfil para outro. Os identificadores existem nos seus próprios espaços de nomes (por exemplo, lens/@alice).

Dados

Os dados são, sem dúvida, a característica mais importante das redes descentralizadas, uma vez que a sua criação e padronização são o que permite esses sistemas. A técnica mais comum para gerir dados aqui é a utilização de formatos padronizados como JSON e objetos de relação comuns (por exemplo, gostos, seguidores). Os objetos de dados principais normalmente incluem:

Atores e Objetos: Definidos "atores" (por exemplo, utilizadores ou grupos) e "objetos" (por exemplo, publicações ou mensagens).

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

Conteúdo em Registos Apenas Acrescentar: Registos onde cada entrada, seja um post ou uma 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 publicações ou curtidas. O protocolo diferencia entre dois componentes principais: Cliente para Servidor (C2S) e Servidor para Servidor (S2S). O C2S permite que os utilizadores, através de aplicações de cliente, interajam com os seus servidores respetivos. 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" (frequentemente contas de usuário ou grupos) e "objetos" (conteúdo ou ações como publicações ou curtidas). Quando um ator executa uma ação em um objeto, cria uma "atividade" como "Criar", "Seguir" ou "Curtir".

Os gráficos sociais da Web3 incorporam muitas das ideias principais do ActivityPub, mas aplicam-nas on-chain. O Protocolo Lens, por exemplo, introduz as "Publicações", que encapsulam uma variedade de conteúdo gerado pelo utilizador, como publicações, espelhos, comentários e outras formas de media. Cada Publicação está associada a um ContentURI, direcionando para o conteúdo específico armazenado num protocolo descentralizado como IPFS ou Arweave, ou, alternativamente, num serviço de armazenamento centralizado como o AWS S3. Esta configuração garante que o perfil de um utilizador e todas as publicações associadas sejam armazenadas com segurança na sua carteira pessoal, afastando-se da dependência de bases de dados centralizadas.

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 quadro Web2. Os usuários podem cobrar pela cunhagem de NFTs de Seguir, ou podem integrar Módulos de Coleção com suas Publicações. Esta última opção permite-lhes receber uma taxa pela cunhagem de NFTs ligados ao ContentURI da sua publicação. Além destes recursos, o Protocolo Lens oferece uma API GraphQL, servindo para mascarar os componentes da blockchain das interfaces frontend e, consequentemente, proporcionar uma experiência mais amigável do que as tentativas anteriores de redes sociais descentralizadas.

No final, muitos dos protocolos de redes sociais descentralizadas criam estruturas de dados apenas para adicionar, que são autenticadas por chaves de usuários. Por exemplo, no CyberConnect, cada pedaço de dados centrados no usuário é representado como um fluxo de dados onde as atualizações só são permitidas pelo proprietário dos dados. Cada atualização dos dados é adicionada ao fluxo de dados na forma de um log de confirmação apenas para adicionar e a estrutura de dados resultante torna-se uma estrutura de dados ligados a hash chamada DAG de Merkle. Os tipos de dados incluem conteúdo, coleções, comentários e inscrições.

Scuttlebutt também usa um registro apenas de anexação. Cada usuário tem seu próprio registro 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). Também suporta o compartilhamento de dados binários, denominados “blobs”. Estes podem ser imagens, vídeos ou qualquer outro conteúdo binário. Os blobs são armazenados separadamente dos registros apenas de anexação, mas referências (hashes) a esses blobs podem ser incluídas nos registros.

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

Armazenamento

As abordagens iniciais para armazenamento de dados para protocolos descentralizados eram em grande parte offchain, embora reminiscentes do consenso onchain. O Scuttlebutt, por exemplo, utiliza uma rede de fofocas peer-to-peer, colocando a responsabilidade de armazenamento no dispositivo local do usuário. Esta abordagem garante a soberania dos dados, uma vez que os usuários têm controle total sobre as suas próprias informações. No entanto, isso também significa que a disponibilidade dos 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 podem precisar implementar estratégias de coleta de lixo para podar dados antigos ou menos relevantes.

Uma alternativa a esta abordagem peer-to-peer surge na forma de servidores que armazenam dados, embora com redundância em comparação com plataformas de mídia tradicionais. A Matrix, como exemplo, tem vários homeservers que armazenam cópias dos históricos das salas e sincronizam entre si. Quando um utilizador envia uma mensagem (ou qualquer evento) numa sala, o seu homeserver difunde esse evento para outros homeservers participantes, que depois armazenam e reenviam o evento para os seus clientes conectados. Da mesma forma, o ActivityPub faz com que cada instância (ou servidor) na rede armazene os seus dados, tipicamente numa base de dados. A escolha da base de dados (relacional, NoSQL, etc.) depende da implementação específica do software ActivityPub. Por exemplo, o Mastodon, uma plataforma popular do ActivityPub, utiliza uma base 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 aplicações descentralizadas usando mecanismos de consenso subjacentes para sincronização de estado. No entanto, essa abordagem pode levar a desafios de escalabilidade, uma vez que cada parte dos dados precisa ser armazenada on-chain, potencialmente resultando em altas taxas de transação e tempos de recuperação mais lentos.

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

O CyberConnect, a fim de lidar eficientemente com as atualizações frequentes entre as conexões do usuário, emprega uma lista vinculada a hash em um armazenamento de dados descentralizado. Ao iniciar uma conexão, um 'log de operação' é criado. As alterações de estado subsequentes, como alternar entre seguir e deixar de seguir, são adicionadas como novos nós a este log. Embora essas atualizações sejam inicialmente armazenadas em um servidor central, elas são periodicamente carregadas em lote para plataformas de armazenamento descentralizadas, como Arweave ou IPFS. Para 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 por essa lista vinculada a hash. Mesmo com a dependência de um servidor central para algumas consultas de dados, o sistema da CyberConnect foi projetado para ser suficientemente descentralizado, oferecendo também alto desempenho.

Farcaster também usa uma abordagem híbrida: contratos onchain são usados para ações pouco frequentes onde a consistência e a descentralização são importantes. Contas, nomes de usuário, armazenamento e chaves são gerenciados usando uma série de contratos Ethereum. Os sistemas offchain são usados para ações frequentes onde o desempenho é crítico. As mensagens criadas por contas de usuário são armazenadas e propagadas na rede ponto a ponto dos hubs 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úblico-privado, impulsionada tanto pela tração web3 quanto como uma medida proativa contra conteúdo gerado por IA, facilitará uma compreensão mais ampla e familiaridade com primitivos de identidade neste contexto, e a moderação contínua e a captura de dados nas empresas de mídia social web2 pressionarão abertamente mais usuários a procurar em outro lugar. Esperamos uma curva de adoção acelerada para esses protocolos.

Para fomentar a evolução de novas aplicações, há uma necessidade premente de os desenvolvedores de protocolos e contribuidores de código aberto irem além dos tipos de dados básicos e objetos de relacionamento atualmente utilizados na camada de infraestrutura. Embora os primitivos existentes encapsulem adequadamente as funcionalidades das redes sociais web2 convencionais, existe 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 futuros desenvolvimentos e contribuições de código aberto.

No entanto, é crucial sublinhar 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 dos protocolos sociais descentralizados.

No reino do armazenamento de dados, o consenso emergente dentro dos protocolos sociais web3 tende para uma abordagem híbrida. Dado o elevado volume de conteúdo e interação social, é pragmático alocar ativos de alto valor, como identidade e conteúdo primário, para primitivas on-chain, enquanto relega conteúdo de menor risco, como gostos 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 oferece uma experiência do utilizador que lembra as plataformas tradicionais de redes sociais.

Aviso legal:

  1. Este artigo é reproduzido a partir de [espelho]. Todos os direitos autorais pertencem ao autor original [1kx]. Se houver objeções a este reenvio, entre em contato com o Gate Learnequipa, e eles vão lidar com isso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer 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, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!