Neste artigo, o autor explora a fundo o algoritmo Eigentrust do OpenRank, que é atualmente uma nova tecnologia utilizada pelo Metamask Snaps, Degen tips e Supercast. OpenRank, como uma camada de cálculo, pode executar vários algoritmos de reputação, sendo o algoritmo eigentrust o primeiro a ser apresentado. O autor partilha por que é necessário construir gráficos comunitários, os conceitos-chave do algoritmo, como funciona e como criar o seu próprio gráfico. Além disso, o autor antecipa a próxima missão dos Bytexplorers, encorajando os leitores a subscreverem para obter as últimas atualizações.
A maioria das criptomoedas de ponta hoje em dia inclui simplesmente uma lista de classificação com base em volume de negociação, liquidez, cunhagem, pontos e votos. Se quisermos ter uma experiência de criptomoeda de consumo que supere os gigantes da Web2 hoje em dia, não precisamos apenas de uma lista de classificação em nosso aplicativo.
OpenRank é um dos pilares que nos ajuda a alcançar esse objetivo e já está sendo usado pelo Metamask Snaps, Degen Tips e Supercast. OpenRank é uma camada de cálculo que executa vários algoritmos de gráfico de reputação, sendo o primeiro deles o algoritmo eigentrust.
Neste artigo, vou apresentar o algoritmo eigentrust do OpenRank e discutir o seguinte:
A importância da construção de gráficos comunitários e por que você precisa deles
Os conceitos-chave e o funcionamento deste Algoritmo
Como criar o seu próprio gráfico, consulte um gráfico que fiz no bloco de notas Python
Vamos começar!
Por que construir um gráfico de recomendação com a comunidade em vez de depender apenas da sua equipe de aprendizado de máquina?
Ao construir algoritmos e fluxos de recomendação em criptomoeda, em breve você enfrentará alguns problemas de dados:
· A negociação envolve várias camadas de operações
· A relação entre endereços pode tornar-se infinitamente complexa através de transações múltiplas.
· O endereço em si contém alguma identidade, e cada identidade é relevante em diferentes contextos.
Todas essas três áreas estão em constante desenvolvimento a uma taxa exponencial, e chamamos esses elementos em constante crescimento de "contexto".
A sua pequena equipa de ML não consegue acompanhar estas ideias intermináveis.
Você também não quer que sua equipe de back-end ou engenharia de dados lide com esses problemas, afinal eles têm produtos para construir. A era em que o aplicativo tinha a estrutura de usuário e dados do usuário acabou, você não tem mais apenas um link simples, ID de usuário, curtidas / respostas / compartilhamentos e ID de postagem, mas pode ter troca, divisão, queda, troca, stake, delegação, votação, cunhar e muito mais.Quase todos os dias há novas 'operações' surgindo, bem como novas cadeias, novos tipos de carteiras, novos tipos de identidade e assim por diante.
Eu acredito que no próximo ano, a indústria de criptomoeda irá desenvolver uma comunidade de ciência de dados de gráficos baseada no protocolo e produtos OpenRank
Já estou na comunidade wizard da Dune há muitos anos e testemunhei o poder da comunidade, que ultrapassa a capacidade de equipes pequenas. Também vejo que quase todas as pequenas equipes criptográficas passam de 'sim, podemos fazer isso com um nó e um banco de dados RDS independente' para 'precisamos usar ferramentas de dados construídas pela comunidade, como The Graph e Dune'. Para mim, criar uma combinação de consultas e gráficos recomendados para fluxos específicos e ajustes da comunidade é um problema semelhante. Precisamos começar a coletar e testar gráficos que possam fornecer fluxos recomendados em cada aplicativo, desde o cliente Farcaster até o explorador de blockchain.
O conceito de um feed de recomendação é imitativo e será eliminado. Os usuários se tornarão curadores de conteúdo.
No campo das criptomoedas, os usuários não apenas desejam levar seus gráficos sociais para diferentes aplicativos, mas também desejam levar consigo o contexto oculto nesses gráficos. Se estou seguindo ativamente a comunidade de degen no Farcaster, eu gostaria de ser recomendado as atividades dessa comunidade no Zora, Roam.xyz ou OnceUpon, e também gostaria de poder alternar essa recomendação para o contexto de outra comunidade em que estou envolvido, como os colecionadores de artblocks. O futuro será a era em que os usuários descobrem e escolhem seu próprio feed, em vez de estarem limitados a uma única funcionalidade de grupo ou canal em uma plataforma.
Como funciona o algoritmo Eigentrust do OpenRank?
O algoritmo Eigentrust é semelhante ao PageRank, classificando nós em uma rede de gráficos. A diferença é que ele se concentra em capturar relações complexas de ponto a ponto como uma distribuição de confiança. Foi originalmente desenvolvido para atribuir pontuações de confiança em redes de compartilhamento de arquivos. No campo das criptomoedas, você pode imaginar usá-lo para representar delegados de governança de alta qualidade ou identificar contratos inteligentes confiáveis.
Aqui está a fórmula Eigentrust:
Em cima, existem dois inputs chave: o nó de pré-confiança e o grafo de confiança local. 'P' é a sua pré-confiança, 'S' é a sua confiança local.
· Confiança local (localtrust): Este é o seu medidor de interação entre dois nós, quando o nó "i" passa algum valor para o nó "j". Isso pode ser a transferência de tokens, provas, respostas de votação/curtidas, etc.
· Pré-confiança (pretrust): esta é a seleção de 'sementes' de nós mais confiáveis na rede que você escolheu.
· 「c」:Este valor constante (entre 0 e 1) é o peso da confiança entre o gráfico de confiança global e as sementes de confiança prévia. Os gráficos interativos geralmente têm uma distribuição de lei de potência, portanto, um peso mais alto de confiança prévia ajuda a normalizar a distribuição dos valores finais de classificação.
Se essas fórmulas matemáticas forem difíceis de entender, elas podem ser comparadas a redes sociais como o Twitter, onde a influência de seguidores, curtidas, respostas e assim por diante geralmente se concentra em poucas pessoas, resultando em uma dinâmica de lei de potência. Ao definir um grupo de pessoas influentes e escolher um valor constante "c" de 0,5 ou mais, na verdade, as pessoas que interagem com essas pessoas confiáveis herdarão metade do valor dessa influência. Essa é a maneira de equilibrar e distribuir uniformemente as pontuações de confiança na rede.
Como é que isto se relaciona com a escolha de qualquer contexto e a criação de qualquer fluxo de recomendação?
Suponha que você queira classificar 10000 propostas de financiamento em um fluxo de recomendação. Com base em um conjunto de interações de votação (confiança local) e um conjunto de votantes confiáveis de sua escolha (pré-confiança), você pode classificar todos os votantes e proponentes por valor. Você pode selecionar seus votantes pré-confiáveis escolhendo os 10 primeiros votantes em quem você delegou votação em vários DAOs. O Eigentrust funcionará com base nessas duas entradas e fornecerá uma lista maior de votantes classificados no gráfico de acordo com a confiança herdada dos nós de pré-confiança.
Dessa forma, agora você pode usar esta lista de valores de classificação para equilibrar propostas de governança em tempo real e obter um fluxo de recomendação mais personalizado!
Isso pode ser ainda muito abstrato, então na próxima seção vou explicar com exemplos de código concretos. Lembre-se, o OpenRank lida com o cálculo e armazenamento desses gráficos Eigentrust e recomenda que você use o fluxo de recomendação de saída. Tudo que você precisa fazer é decidir sobre a entrada de pré-confiança e confiança local.
Como construir um gráfico Eigentrust usando OpenRank?
Objetivo Final
Neste exemplo, gostaria de 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 contendo id e valores, em meu gráfico, cada id está associado a um id de usuário Farcaster (fid).
Fonte de dados
Após a criação do gráfico de classificação, geramos automaticamente este feed de recomendações com base em seus principais contratos da semana passada:
Fonte de dados
Você pode verificar o painel para ver outras correntes recomendadas criadas a partir deste gráfico, como cunhar NFTs, negociação de tokens DEX e atividades do canal Farcaster.
Implementação do Código
Agora que você viu o alvo, vamos falar sobre como eu criei este gráfico de classificação.
Todo o código deste exemplo pode ser encontrado no notebook hex.tech, se preferir, também pode ser executado localmente usando o jupyter notebook.
Primeiro, criei duas consultas separadas para nossa pré-confiança e confiança local:
A primeira consulta é o nosso "nó de confiança pré-estabelecido". Esta consulta baseia-se nas interações recebidas (curtidas, partilhas, respostas) para produzir os principais utilizadores no canal /base, segundo a minha fórmula (curtidas + 3 partilhas + 10 respostas). Vamos selecionar os primeiros 100 IDs desta consulta como os nossos nós de confiança.
Fonte de dados
O segundo pedido destina-se a rastrear as interações na cadeia entre os nós, utilizando os endereços dos utilizadores no canal /base. Como a transmissão subscrita irá recomendar operações na cadeia, quero garantir que escolho um gráfico de interações com base na quantidade de interações na cadeia. O valor em dólares das transferências entre nós é um bom proxy geral - estou a rastrear transferências de stablecoins e ETH na Optimism, Base e na cadeia principal do Ethereum.
Fonte de dados
Analisar o gráfico de entrada e testar o gráfico Eigentrust de saída
Agora que temos nós de confiança pré-estabelecida e um gráfico de confiança local, vamos dar uma olhada em alguns dados estatísticos resumidos. Há 65.755 usuários no canal base que transferiram tokens para outras pessoas no canal. A partir dos nossos nós de confiança pré-estabelecida, podemos percorrer 19% do gráfico (ou seja, nós conectados). Esse percentual pode variar dependendo do nível de Sybil dos dados de confiança local do gráfico. As transferências de tokens podem ser sinais fortes, mas também podem ser golpes maliciosos, por isso não é surpreendente que a maioria do gráfico não esteja conectada.
Depois de confirmar que o tamanho da entrada de dados e a conexão são razoáveis, podemos executar e salvar nosso gráfico Eigentrust. Eu salvei meu gráfico como id“base_transfer_50” - você pode ver abaixo que apenas 10 linhas de código são necessárias para treinar o gráfico. O OpenRank SDK pode ser visto como o scikit-learn de modelos de gráficos encriptados.
Você se lembra da constante 'c' na fórmula anterior? Vamos realizar uma busca em grade com diferentes valores de c (chamados de alfa) e diferentes tamanhos de semente de pré-confiança para ver qual nos dá a pontuação de confiança log-normal mais alta e a cobertura mais alta:
Existem muitos compromissos aqui e não há um valor ideal para escolher. Se você deseja recomendar algo com muita diversidade, uma alta regularização e cobertura são uma boa escolha, mas para votações de governança de alto risco, você pode realmente querer um nível maior de centralização em que confiar. Aqui você pode usar seu próprio instinto.
A partir daqui, podemos inserir valores na consulta de inscrição vinculada ao painel do Dune para receber um fluxo de interações de contrato de usuários confiáveis no canal /base. Essa saída de recomendação subjetiva nos ajuda a melhor relacionar indicadores gerais anteriores com nossa intuição direta sobre a qualidade da saída recomendada.
Feito! Pode começar a usar esta API Dune de imediato para dar energia a qualquer uma das suas aplicações.
Aprenda a construir seu próprio gráfico OpenRank Eigentrust
Estás pronto para começar a fazer as coisas por ti próprio? Podes fazer um fork ao meu caderno e tentar por ti próprio, todos os links necessários estão aqui:
· Documentos OpenRank
·Repositório SDK Python
·Python Notebook
Painel de alimentação do Dune
Vou lançar uma missão Bytexplorers no próximo mês, onde competiremos para criar o melhor gráfico de fluxo de assinatura para aplicativos de criptografia de alto nível.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
Explorando em profundidade o algoritmo Eigentrust do OpenRank: Como construir uma camada de computação social?
Autor: Andrew Hong
Compilação: Ladyfinger, BlockBeats
Editor's note:
Neste artigo, o autor explora a fundo o algoritmo Eigentrust do OpenRank, que é atualmente uma nova tecnologia utilizada pelo Metamask Snaps, Degen tips e Supercast. OpenRank, como uma camada de cálculo, pode executar vários algoritmos de reputação, sendo o algoritmo eigentrust o primeiro a ser apresentado. O autor partilha por que é necessário construir gráficos comunitários, os conceitos-chave do algoritmo, como funciona e como criar o seu próprio gráfico. Além disso, o autor antecipa a próxima missão dos Bytexplorers, encorajando os leitores a subscreverem para obter as últimas atualizações.
A maioria das criptomoedas de ponta hoje em dia inclui simplesmente uma lista de classificação com base em volume de negociação, liquidez, cunhagem, pontos e votos. Se quisermos ter uma experiência de criptomoeda de consumo que supere os gigantes da Web2 hoje em dia, não precisamos apenas de uma lista de classificação em nosso aplicativo.
OpenRank é um dos pilares que nos ajuda a alcançar esse objetivo e já está sendo usado pelo Metamask Snaps, Degen Tips e Supercast. OpenRank é uma camada de cálculo que executa vários algoritmos de gráfico de reputação, sendo o primeiro deles o algoritmo eigentrust.
Neste artigo, vou apresentar o algoritmo eigentrust do OpenRank e discutir o seguinte:
A importância da construção de gráficos comunitários e por que você precisa deles
Os conceitos-chave e o funcionamento deste Algoritmo
Como criar o seu próprio gráfico, consulte um gráfico que fiz no bloco de notas Python
Vamos começar!
Por que construir um gráfico de recomendação com a comunidade em vez de depender apenas da sua equipe de aprendizado de máquina?
Ao construir algoritmos e fluxos de recomendação em criptomoeda, em breve você enfrentará alguns problemas de dados:
· A negociação envolve várias camadas de operações
· A relação entre endereços pode tornar-se infinitamente complexa através de transações múltiplas.
· O endereço em si contém alguma identidade, e cada identidade é relevante em diferentes contextos.
Todas essas três áreas estão em constante desenvolvimento a uma taxa exponencial, e chamamos esses elementos em constante crescimento de "contexto".
A sua pequena equipa de ML não consegue acompanhar estas ideias intermináveis.
Você também não quer que sua equipe de back-end ou engenharia de dados lide com esses problemas, afinal eles têm produtos para construir. A era em que o aplicativo tinha a estrutura de usuário e dados do usuário acabou, você não tem mais apenas um link simples, ID de usuário, curtidas / respostas / compartilhamentos e ID de postagem, mas pode ter troca, divisão, queda, troca, stake, delegação, votação, cunhar e muito mais.Quase todos os dias há novas 'operações' surgindo, bem como novas cadeias, novos tipos de carteiras, novos tipos de identidade e assim por diante.
Eu acredito que no próximo ano, a indústria de criptomoeda irá desenvolver uma comunidade de ciência de dados de gráficos baseada no protocolo e produtos OpenRank
Já estou na comunidade wizard da Dune há muitos anos e testemunhei o poder da comunidade, que ultrapassa a capacidade de equipes pequenas. Também vejo que quase todas as pequenas equipes criptográficas passam de 'sim, podemos fazer isso com um nó e um banco de dados RDS independente' para 'precisamos usar ferramentas de dados construídas pela comunidade, como The Graph e Dune'. Para mim, criar uma combinação de consultas e gráficos recomendados para fluxos específicos e ajustes da comunidade é um problema semelhante. Precisamos começar a coletar e testar gráficos que possam fornecer fluxos recomendados em cada aplicativo, desde o cliente Farcaster até o explorador de blockchain.
O conceito de um feed de recomendação é imitativo e será eliminado. Os usuários se tornarão curadores de conteúdo.
No campo das criptomoedas, os usuários não apenas desejam levar seus gráficos sociais para diferentes aplicativos, mas também desejam levar consigo o contexto oculto nesses gráficos. Se estou seguindo ativamente a comunidade de degen no Farcaster, eu gostaria de ser recomendado as atividades dessa comunidade no Zora, Roam.xyz ou OnceUpon, e também gostaria de poder alternar essa recomendação para o contexto de outra comunidade em que estou envolvido, como os colecionadores de artblocks. O futuro será a era em que os usuários descobrem e escolhem seu próprio feed, em vez de estarem limitados a uma única funcionalidade de grupo ou canal em uma plataforma.
Como funciona o algoritmo Eigentrust do OpenRank?
O algoritmo Eigentrust é semelhante ao PageRank, classificando nós em uma rede de gráficos. A diferença é que ele se concentra em capturar relações complexas de ponto a ponto como uma distribuição de confiança. Foi originalmente desenvolvido para atribuir pontuações de confiança em redes de compartilhamento de arquivos. No campo das criptomoedas, você pode imaginar usá-lo para representar delegados de governança de alta qualidade ou identificar contratos inteligentes confiáveis.
Aqui está a fórmula Eigentrust:
Em cima, existem dois inputs chave: o nó de pré-confiança e o grafo de confiança local. 'P' é a sua pré-confiança, 'S' é a sua confiança local.
· Confiança local (localtrust): Este é o seu medidor de interação entre dois nós, quando o nó "i" passa algum valor para o nó "j". Isso pode ser a transferência de tokens, provas, respostas de votação/curtidas, etc.
· Pré-confiança (pretrust): esta é a seleção de 'sementes' de nós mais confiáveis na rede que você escolheu.
· 「c」:Este valor constante (entre 0 e 1) é o peso da confiança entre o gráfico de confiança global e as sementes de confiança prévia. Os gráficos interativos geralmente têm uma distribuição de lei de potência, portanto, um peso mais alto de confiança prévia ajuda a normalizar a distribuição dos valores finais de classificação.
Se essas fórmulas matemáticas forem difíceis de entender, elas podem ser comparadas a redes sociais como o Twitter, onde a influência de seguidores, curtidas, respostas e assim por diante geralmente se concentra em poucas pessoas, resultando em uma dinâmica de lei de potência. Ao definir um grupo de pessoas influentes e escolher um valor constante "c" de 0,5 ou mais, na verdade, as pessoas que interagem com essas pessoas confiáveis herdarão metade do valor dessa influência. Essa é a maneira de equilibrar e distribuir uniformemente as pontuações de confiança na rede.
Como é que isto se relaciona com a escolha de qualquer contexto e a criação de qualquer fluxo de recomendação?
Suponha que você queira classificar 10000 propostas de financiamento em um fluxo de recomendação. Com base em um conjunto de interações de votação (confiança local) e um conjunto de votantes confiáveis de sua escolha (pré-confiança), você pode classificar todos os votantes e proponentes por valor. Você pode selecionar seus votantes pré-confiáveis escolhendo os 10 primeiros votantes em quem você delegou votação em vários DAOs. O Eigentrust funcionará com base nessas duas entradas e fornecerá uma lista maior de votantes classificados no gráfico de acordo com a confiança herdada dos nós de pré-confiança.
Dessa forma, agora você pode usar esta lista de valores de classificação para equilibrar propostas de governança em tempo real e obter um fluxo de recomendação mais personalizado!
Isso pode ser ainda muito abstrato, então na próxima seção vou explicar com exemplos de código concretos. Lembre-se, o OpenRank lida com o cálculo e armazenamento desses gráficos Eigentrust e recomenda que você use o fluxo de recomendação de saída. Tudo que você precisa fazer é decidir sobre a entrada de pré-confiança e confiança local.
Como construir um gráfico Eigentrust usando OpenRank?
Objetivo Final
Neste exemplo, gostaria de 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 contendo id e valores, em meu gráfico, cada id está associado a um id de usuário Farcaster (fid).
Fonte de dados
Após a criação do gráfico de classificação, geramos automaticamente este feed de recomendações com base em seus principais contratos da semana passada:
Fonte de dados
Você pode verificar o painel para ver outras correntes recomendadas criadas a partir deste gráfico, como cunhar NFTs, negociação de tokens DEX e atividades do canal Farcaster.
Implementação do Código
Agora que você viu o alvo, vamos falar sobre como eu criei este gráfico de classificação.
Todo o código deste exemplo pode ser encontrado no notebook hex.tech, se preferir, também pode ser executado localmente usando o jupyter notebook.
Primeiro, criei duas consultas separadas para nossa pré-confiança e confiança local:
A primeira consulta é o nosso "nó de confiança pré-estabelecido". Esta consulta baseia-se nas interações recebidas (curtidas, partilhas, respostas) para produzir os principais utilizadores no canal /base, segundo a minha fórmula (curtidas + 3 partilhas + 10 respostas). Vamos selecionar os primeiros 100 IDs desta consulta como os nossos nós de confiança.
Fonte de dados
O segundo pedido destina-se a rastrear as interações na cadeia entre os nós, utilizando os endereços dos utilizadores no canal /base. Como a transmissão subscrita irá recomendar operações na cadeia, quero garantir que escolho um gráfico de interações com base na quantidade de interações na cadeia. O valor em dólares das transferências entre nós é um bom proxy geral - estou a rastrear transferências de stablecoins e ETH na Optimism, Base e na cadeia principal do Ethereum.
Fonte de dados
Analisar o gráfico de entrada e testar o gráfico Eigentrust de saída
Agora que temos nós de confiança pré-estabelecida e um gráfico de confiança local, vamos dar uma olhada em alguns dados estatísticos resumidos. Há 65.755 usuários no canal base que transferiram tokens para outras pessoas no canal. A partir dos nossos nós de confiança pré-estabelecida, podemos percorrer 19% do gráfico (ou seja, nós conectados). Esse percentual pode variar dependendo do nível de Sybil dos dados de confiança local do gráfico. As transferências de tokens podem ser sinais fortes, mas também podem ser golpes maliciosos, por isso não é surpreendente que a maioria do gráfico não esteja conectada.
Depois de confirmar que o tamanho da entrada de dados e a conexão são razoáveis, podemos executar e salvar nosso gráfico Eigentrust. Eu salvei meu gráfico como id“base_transfer_50” - você pode ver abaixo que apenas 10 linhas de código são necessárias para treinar o gráfico. O OpenRank SDK pode ser visto como o scikit-learn de modelos de gráficos encriptados.
Você se lembra da constante 'c' na fórmula anterior? Vamos realizar uma busca em grade com diferentes valores de c (chamados de alfa) e diferentes tamanhos de semente de pré-confiança para ver qual nos dá a pontuação de confiança log-normal mais alta e a cobertura mais alta:
Existem muitos compromissos aqui e não há um valor ideal para escolher. Se você deseja recomendar algo com muita diversidade, uma alta regularização e cobertura são uma boa escolha, mas para votações de governança de alto risco, você pode realmente querer um nível maior de centralização em que confiar. Aqui você pode usar seu próprio instinto.
A partir daqui, podemos inserir valores na consulta de inscrição vinculada ao painel do Dune para receber um fluxo de interações de contrato de usuários confiáveis no canal /base. Essa saída de recomendação subjetiva nos ajuda a melhor relacionar indicadores gerais anteriores com nossa intuição direta sobre a qualidade da saída recomendada.
Feito! Pode começar a usar esta API Dune de imediato para dar energia a qualquer uma das suas aplicações.
Aprenda a construir seu próprio gráfico OpenRank Eigentrust
Estás pronto para começar a fazer as coisas por ti próprio? Podes fazer um fork ao meu caderno e tentar por ti próprio, todos os links necessários estão aqui:
· Documentos OpenRank
·Repositório SDK Python
·Python Notebook
Painel de alimentação do Dune
Vou lançar uma missão Bytexplorers no próximo mês, onde competiremos para criar o melhor gráfico de fluxo de assinatura para aplicativos de criptografia de alto nível.