Próximo artigoOpenRank: potencializando aplicativos com feeds de gráficos contextuais e personalizados

Autor: Andrew Hong

Compilado por: Ladyfinger, BlockBeats

 

Nota do editor:

Neste artigo, o autor se aprofunda no algoritmo Eigentrust do OpenRank, uma nova tecnologia atualmente usada por Metamask Snaps, Degen Tips e Supercast. O OpenRank, como camada de computação, pode executar vários algoritmos de gráfico de reputação. O primeiro introduzido é o algoritmo autoconfiança. Os autores compartilham por que você precisa de gráficos criados pela comunidade, os principais conceitos do algoritmo, como ele funciona e como criar seus próprios gráficos. Além disso, o autor visualiza as próximas tarefas do Bytexexplorers e incentiva os leitores a se inscreverem para obter as atualizações mais recentes.

A maioria das interfaces de criptomoeda atuais consistem em tabelas de classificação simples com as principais moedas classificadas por volume de negociação, liquidez, cunhagem, pontos, votos, etc. Se quisermos ter uma experiência de criptomoeda de nível consumidor que possa superar os gigantes da Web2 de hoje, precisamos de mais do que tabelas de classificação em nossos aplicativos.

OpenRank é um dos pilares que nos ajuda a conseguir isso e já é usado por Metamask Snaps, Degen Tips e Supercast. OpenRank é uma camada computacional que pode executar vários algoritmos de gráfico de reputação, o primeiro dos quais é o algoritmo autoconfiança.

Neste artigo, apresentarei o algoritmo de autoconfiança do OpenRank e discutirei o seguinte:

A importância dos diagramas de construção de comunidade e por que você precisa deles

Conceitos-chave do algoritmo e como ele funciona

Como criar seu próprio gráfico, consulte um gráfico que fiz em um notebook Python

Vamos começar!

Por que construir um gráfico de recomendação com a comunidade em vez de confiar apenas na sua própria equipe de aprendizado de máquina?

Ao construir algoritmos e fluxos de recomendação em criptomoedas, você enfrentará rapidamente alguns problemas de dados:

· As transações contêm muitos níveis de operações

· As relações entre endereços podem tornar-se infinitamente complexas através de múltiplas transações

· O próprio endereço contém identidades parciais, cada uma das quais é relevante em diferentes contextos

Todos os três itens acima estão evoluindo a uma taxa exponencial. Vamos chamar esses elementos crescentes de “contexto”.

Sua pequena equipe de ML não consegue acompanhar o fluxo interminável de ideias

Você também não quer que suas equipes de back-end ou de engenharia de dados lidem com esses problemas, afinal elas têm um produto para construir. Os dias em que os aplicativos tinham usuários e estruturas de dados de usuários acabaram, você não tem mais apenas um simples link, ID de usuário, curtir/responder/compartilhar e ID de postagem, mas pode ter resgates, divisões, drops, swaps, staking, delegação, votação, cunhagem e muito mais. Quase todos os dias surgem novas “operações”, bem como novas cadeias, novos tipos de carteiras, novos tipos de identidades e assim por diante.

Acredito que durante o próximo ano, a indústria de criptomoedas desenvolverá uma comunidade de ciência de dados gráficos baseada no protocolo e produtos OpenRank

Faço parte da comunidade de bruxos de Dune há muitos anos e vi o quão poderosa a comunidade pode ser além das capacidades de uma equipe pequena. Também vi quase todas as pequenas equipes de criptografia passarem de “Sim, podemos fazer isso de forma independente com um nó e um banco de dados RDS” para “Precisamos aproveitar ferramentas de dados criadas pela comunidade, como The Graph e Dune”. Para mim, criar uma combinação de consultas e gráficos ajustados para um tipo específico de fluxo de recomendação e comunidade é um problema semelhante. Precisamos começar a coletar e testar gráficos que possam fornecer fluxo de recomendação em todos os aplicativos, desde clientes Farcaster até exploradores de bloco.

O conceito de fluxo de recomendação é mimético e será eliminado. Os usuários se tornam curadores de conteúdo

No espaço das criptomoedas, os usuários desejam trazer não apenas seus gráficos sociais para diferentes aplicações, mas também o contexto oculto nesses gráficos. Se estou seguindo ativamente a comunidade /degen no Farcaster, gostaria de ser recomendado no Zora, Roam.xyz ou OnceUpon para as atividades dessa comunidade e gostaria de poder mudar essa recomendação para o contexto de outra comunidade da qual sou membro, por exemplo, colecionador de artblocks. O futuro será aquele em que os usuários descobrirão e escolherão seus próprios feeds, em vez de ficarem limitados a um determinado grupo ou recurso de canal em uma única plataforma.

Como funciona o algoritmo Eigentrust do OpenRank?

O algoritmo Eigentrust é semelhante ao PageRank porque classifica os nós em uma rede gráfica. A diferença é que ele se concentra em capturar relacionamentos ponto a ponto complexos como uma distribuição de confiança. Ele foi originalmente desenvolvido para atribuir pontuações de confiança em redes de compartilhamento de arquivos. No mundo das criptomoedas, você poderia imaginar usá-las para representar princípios de governança de alta qualidade ou identificar contratos inteligentes confiáveis.

Aqui está a fórmula da Eigentrust:

Existem duas entradas principais acima: nós pré-confiáveis ​​e o gráfico de confiança local. “P” é a sua pré-confiança e “S” é a sua confiança local.

· Localtrust: Esta é a sua medida da interação entre dois nós, quando o nó "i" passa algum valor para o nó "j". Podem ser transferências de tokens, atestados, respostas/curtidas de votos, etc.

· Pré-confiança: Esta é a sua escolha de “semente” para os nós da rede que deveriam ser mais confiáveis.

· "c": Esta constante (entre 0 e 1) é o peso do valor de confiança entre o gráfico de confiança local geral e a semente pré-confiança. Os gráficos de interação normalmente têm uma distribuição de lei de potência, portanto, pesos de pré-confiança mais altos ajudam a normalizar a distribuição dos valores de classificação final.

Se a matemática não for fácil de entender, pense nela como uma analogia a um gráfico social como o Twitter, onde influências como seguidores, curtidas, respostas, etc. dinâmico. Ao estabelecer um conjunto de indivíduos influentes e escolher um valor constante de “c” de 0,5 ou superior, na verdade, as pessoas com quem esses indivíduos de confiança interagem herdarão metade do valor dessa influência. É assim que você equilibra e distribui as pontuações de confiança de maneira mais uniforme pela rede.

Como isso se relaciona com a seleção de qualquer contexto e a criação de qualquer fluxo de recomendação?

Digamos que você queira classificar 10.000 propostas de subsídios em um fluxo de referência. Você pode classificar todos os eleitores e proponentes com base em um conjunto de interações de votação (confiança local) e um conjunto de eleitores confiáveis ​​de sua escolha (pré-confiança). Você pode selecionar seus eleitores de pré-confiança selecionando os 10 principais eleitores aos quais delegou votos em vários DAOs. O Eigentrust será executado com base nessas duas entradas e fornecerá uma lista maior de eleitores, classificados no gráfico com base na confiança herdada dos nós pré-confiáveis.

Dessa forma, agora você pode usar esta lista de valores classificados para avaliar propostas de governança em tempo real para um fluxo de recomendação mais personalizado!

Isso ainda pode ser muito abstrato, então explicarei com exemplos de código concretos na próxima seção. Lembre-se de que o OpenRank lida com o cálculo e o armazenamento desses gráficos Eigentrust e recomenda que você use o fluxo de recomendação de saída. Tudo o que você precisa fazer é decidir sobre as entradas de pré-confiança e de confiança local.

Como construir um gráfico Eigentrust usando OpenRank?

objetivo final

Neste exemplo, quero fornecer um fluxo de assinatura de contratos recomendados com base na carteira do usuário Farcaster/base (Farcaster é um aplicativo semelhante ao Twitter). A saída é apenas uma lista de ids e valores. No meu diagrama, cada id está associado a um ID de usuário Farcaster (fid).

Fonte de dados

Depois de criar o gráfico de classificação, geramos este fluxo de recomendação com base nas principais interações contratuais na semana passada:

Fonte de dados

Você pode visualizar o painel para ver outros fluxos de referência criados a partir deste gráfico, como criação de NFT, negociação de token DEX e atividade do canal Farcaster.

Implementação de código

Agora que você viu as metas, vamos falar sobre como criei esse gráfico de classificação.

Todo o código deste exemplo pode ser encontrado no notebook hex.tech, ou você pode usar o notebook jupyter se preferir executá-lo localmente.

Primeiro, criei duas consultas para nossa pré-confiança e confiança local:

A primeira consulta é o nosso “nó pré-confiável”. Esta consulta gera os principais usuários do canal com base nas interações recebidas (curtidas, retuítes, respostas). Minha fórmula é (curtidas + 3 retuítes + 10 respostas). Tomaremos os primeiros 100 ids desta consulta como nossos nós de confiança.

Fonte de dados

A segunda consulta é usada para rastrear interações on-chain entre nós, usando o endereço do link do usuário no canal /base. Como o fluxo de assinatura recomendará ações na cadeia, quero ter certeza de escolher um gráfico de interação com base na quantidade de interações na cadeia. Usar o valor em dólares transferido entre nós é um bom proxy geral - rastreei transferências de stablecoin e ETH no Optimism, Base e na rede principal Ethereum.

Fonte de dados

Analise o gráfico de entrada e teste o gráfico Eigentrust de saída

Agora que temos os nós pré-confiáveis ​​e o gráfico de confiança local, vejamos algumas estatísticas resumidas. 65.755 usuários no canal /base transferiram tokens para outros no canal e 19% do gráfico (ou seja, nós conectados) podem ser percorridos a partir de nossos nós pré-confiáveis. Essa porcentagem pode variar dependendo de quão Sybil são os dados de confiança local do gráfico. As transferências de tokens podem ser sinais altos, mas também podem ser negociações de pincel, por isso não é surpreendente que a maior parte do gráfico não esteja conectada.

Depois de confirmar que o tamanho dos dados de entrada e das conexões são razoáveis, podemos executar e salvar nosso gráfico Eigentrust. Salvei meu gráfico com o id "base_transfer_50" - você pode ver abaixo que são necessárias apenas 10 linhas de código para treinar o gráfico. Pense no OpenRank SDK como o scikit-learn de modelos criptográficos.

Lembra da constante “c” na fórmula anterior? Vamos fazer uma pesquisa em grade para diferentes valores de c (vou chamá-lo de alfa) e diferentes tamanhos de sementes pré-confiáveis ​​para ver qual deles nos dá a pontuação de confiança mais log-normal e a maior cobertura:

Existem muitas compensações aqui e não existe um melhor valor para escolher. A regularização e a cobertura elevadas são uma boa escolha se pretender uma forte diversidade nas recomendações, mas para votações de governação de alto risco poderá realmente querer uma maior concentração de confiança. Use sua intuição aqui.

A partir daqui, podemos inserir valores na consulta de assinatura vinculada no início do painel do Dune para obter um fluxo de interações de contrato para usuários confiáveis ​​no canal /base. Esse resultado subjetivo da recomendação nos ajuda a conectar melhor as métricas comuns anteriores com nossa intuição esperada sobre a qualidade do resultado da recomendação.

acertou em cheio! Você pode usar esta API Dune para potencializar qualquer um dos seus aplicativos imediatamente.

Aprenda a construir seu próprio gráfico OpenRank Eigentrust

Você está pronto para resolver o problema com suas próprias mãos? Você pode fazer um fork do meu notebook e experimentar você mesmo, todos os links necessários estão abaixo:

·Documentos OpenRank

·Repositório Python SDK

·Caderno Python

·Painel de alimentação de dunas

Estarei executando uma missão Bytexexplorers no próximo mês, onde estaremos competindo para criar o melhor gráfico de fluxo de assinatura para os principais aplicativos de criptografia.