En este artículo, el autor profundiza en el algoritmo Eigentrust de OpenRank, que es una nueva tecnología actualmente utilizada por Metamask Snaps, Degen tips y Supercast. OpenRank, como una capa de cálculo, puede ejecutar varios algoritmos de gráficos de reputación, el primero de los cuales se presenta es el algoritmo eigentrust. El autor comparte por qué se necesita construir un gráfico comunitario, conceptos clave del algoritmo, cómo funciona y cómo crear su propio gráfico. Además, el autor adelanta la próxima tarea de Bytexplorers, animando a los lectores a suscribirse para obtener las últimas actualizaciones.
La mayoría de las criptomonedas de vanguardia en la actualidad incluyen simples clasificaciones de tokens principales según volumen de transacciones, liquidez, acuñación, puntos y votos. Si queremos ofrecer una experiencia de criptomoneda de consumo que supere a los gigantes de la Web2 actual, necesitamos más que simples clasificaciones en nuestra aplicación.
OpenRank es una de las piedras angulares que nos ayuda a lograr este objetivo, ya ha sido utilizado por Metamask Snaps, Degen Tips y Supercast. OpenRank es una capa de cálculo que puede ejecutar varios algoritmos de gráficos de reputación, siendo el primero el algoritmo eigentrust.
En este artículo, te presentaré el algoritmo eigentrust de OpenRank y discutiré los siguientes puntos:
La importancia de construir mapas comunitarios y por qué los necesitas
Los conceptos clave y el funcionamiento de este algoritmo
Cómo crear tu propio gráfico, consulta el gráfico que creé en mi cuaderno de Python
¡Comencemos!
¿Por qué construir un gráfico de recomendación junto con la comunidad en lugar de depender únicamente de su propio equipo de aprendizaje automático?
Al construir algoritmos y flujos de recomendación en Cripto, pronto te enfrentarás a algunos problemas de datos:
· La operación comercial involucra muchas capas de operaciones
· La relación entre las direcciones puede volverse infinitamente compleja a través de transacciones múltiples.
· La dirección en sí misma contiene parte de la identidad, cada identidad es relevante en diferentes contextos
Los tres puntos anteriores están en constante desarrollo a una velocidad exponencial, lo que llamamos los elementos en constante aumento como "contexto".
Tu equipo pequeño de ML no puede seguir el ritmo de estas ideas interminables
Tampoco querrás que tu equipo de backend o ingeniería de datos se encargue de estos problemas, después de todo, tienen un producto que construir. La era en la que la aplicación solo tenía la estructura de usuarios y datos de usuario ha terminado. Ya no solo tienes un simple enlace, ID de usuario, me gusta/responder/compartir e ID de publicación, sino que puedes tener intercambios, divisiones, caídas, intercambios, stake, delegaciones, votaciones, acuñando, etc. Casi todos los días surgen nuevas "operaciones", así como nuevas cadenas, nuevos tipos de billeteras, nuevos tipos de identidades, etc.
Creo que en el próximo año, la industria de criptomonedas desarrollará una comunidad de ciencia de datos de gráficos basada en el protocolo y productos de OpenRank.
He estado en la comunidad wizard de Dune durante muchos años, presenciando el poder de la comunidad, que supera la capacidad de los equipos pequeños. También he visto cómo casi todos los pequeños equipos de cifrado pasan de 'sí, podemos hacerlo con un nodo y una base de datos RDS' a 'necesitamos utilizar herramientas de datos construidas por la comunidad como The Graph y Dune'. Para mí, crear consultas y combinaciones de gráficos específicamente para flujos de recomendación y ajustes comunitarios es un problema similar. Necesitamos empezar a recopilar y probar gráficos que puedan proporcionar flujos de recomendación en cada aplicación, desde el cliente Farcaster hasta el explorador de bloques.
El concepto de un flujo de recomendaciones es análogo y será eliminado. Los usuarios se convierten en curadores de contenido.
En el campo de las criptomonedas, los usuarios no solo desean llevar sus redes sociales a diferentes aplicaciones, sino también llevar consigo el contexto oculto en estas redes. Si estoy siguiendo activamente la comunidad de /degen en Farcaster, espero que se me recomienden actividades de esta comunidad en Zora, Roam.xyz o OnceUpon, y espero poder cambiar esta recomendación al contexto de otra comunidad a la que pertenezco, como los coleccionistas de artblocks. El futuro será una época en la que los usuarios descubran y elijan su propia alimentación, en lugar de estar limitados a las funciones de un solo grupo o canal en una sola plataforma.
¿Cómo funciona el algoritmo Eigentrust de OpenRank?
El algoritmo Eigentrust es similar a PageRank, clasifica los nodos en una red gráfica. La diferencia es que se enfoca en capturar relaciones complejas de punto a punto como una distribución de confianza. Originalmente fue diseñado para asignar puntuaciones de confianza en redes de intercambio de archivos. En el campo de las criptomonedas, se puede utilizar para representar a delegados de gobernanza de alta calidad o identificar contratos inteligentes confiables.
A continuación se presentan las fórmulas de Eigentrust:
Arriba hay dos entradas clave: nodo de confianza previa y gráfico de confianza local. 'P' es tu confianza previa, 'S' es tu confianza local.
· Confianza local (localtrust): Esta es una medida de la interacción entre dos nodos cuando el nodo 'i' transfiere algún tipo de valor al nodo 'j'. Esto puede ser transferencia de tokens, pruebas, respuestas de votación/likes, etc.
· Pretrust (pretrust): esta es la selección de "semillas" de nodos en la red que deberían ser más confiables según tu elección.
· 'c': Esta constante (entre 0 y 1) es el peso de la confianza entre el grafo global de confianza y las semillas de confianza previas. Los gráficos interactivos suelen tener una distribución de ley de potencias, por lo que un mayor peso de confianza previa ayuda a regular la distribución de los valores de clasificación final.
Si estas fórmulas matemáticas son difíciles de entender, se pueden comparar con un gráfico social como Twitter, donde la influencia, como seguidores, me gusta, respuestas, tiende a concentrarse en unas pocas personas, lo que resulta en una dinámica de ley de potencias. Al establecer un grupo de individuos influyentes y seleccionar un valor constante 'c' de 0.5 o más, en realidad, las personas que interactúan con estos individuos de confianza heredarán la mitad del valor de esa influencia. Esta es una forma de equilibrar y distribuir de manera más uniforme los puntajes de confianza en la red.
¿Qué tiene que ver esto con elegir cualquier contexto y crear cualquier flujo de recomendación?
Supongamos que quieres ordenar 10000 propuestas de financiamiento en un flujo de recomendaciones. Basado en un conjunto de interacciones de votación (confianza local) y un conjunto de votantes confiables seleccionados por ti (confianza previa), puedes clasificar a todos los votantes y proponentes en términos de valor. Puedes seleccionar a tus 10 votantes confiables al delegar tu voto en múltiples DAO. Eigentrust se ejecutará en base a estas dos entradas y te proporcionará una lista más amplia de votantes, clasificados en el gráfico según la confianza heredada de los nodos de confianza previa.
Ahora puedes utilizar esta lista de valores de clasificación para evaluar propuestas de gobierno en tiempo real y obtener recomendaciones más personalizadas para el flujo de trabajo.
Esto puede ser demasiado abstracto, así que en la siguiente sección explicaré mediante ejemplos de código concretos. Recuerda que OpenRank maneja el cálculo y almacenamiento de estos gráficos Eigentrust, y te recomienda que uses el flujo de recomendación de salida. Todo lo que necesitas hacer es decidir la entrada de confianza previa y local.
¿Cómo construir un gráfico Eigentrust utilizando OpenRank?
Objetivo final
En este ejemplo, quiero proporcionar un flujo de suscripción para contratos recomendados basados en la billetera de usuario de Farcaster/base (Farcaster es una aplicación similar a Twitter). La salida es simplemente una lista que contiene id y valores, en mi gráfico, cada id está asociado con un id de usuario de Farcaster (fid).
Fuente de datos
Después de crear el gráfico de clasificación, generamos este flujo recomendado en función de sus principales contratos de la semana pasada:
Fuente de datos
Puede ver el panel para ver otros flujos recomendados creados a partir de este gráfico, como la acuñación de NFT, el comercio de tokens DEX y las actividades del canal Farcaster.
Implementación del código
Ahora que has visto el objetivo, hablemos de cómo creé este gráfico de clasificación.
Todo el código de este ejemplo se puede encontrar en el cuaderno de hex.tech, si prefieres ejecutarlo localmente, también puedes usar jupyter notebook.
En primer lugar, he creado dos consultas separadas para nuestra confianza previa y confianza local:
La primera consulta es nuestro 'nodo de confianza anticipada'. Esta consulta arroja los usuarios principales en el canal/base de salida según las interacciones recibidas (me gusta, compartidos, respuestas). Mi fórmula es (me gusta + 3 compartidos + 10 respuestas). Tomaremos los primeros 100 ID de esta consulta como nuestros nodos de confianza.
Fuente de datos
La segunda consulta es para rastrear la interacción en la cadena entre los nodos utilizando las direcciones de enlace de los usuarios en el canal /base. Dado que el flujo de suscripción recomendará operaciones en la cadena, quiero asegurarme de seleccionar un gráfico de interacción basado en el volumen de interacción en la cadena. El valor en dólares transferido entre los nodos es un buen indicador general: rastreo las transferencias de stablecoins y ETH en Optimism, Base y la red principal de Ethereum.
Fuente de datos
Analizar el gráfico de entrada y probar la salida del gráfico Eigentrust
Ahora que tenemos nodos de confianza previa y un gráfico de confianza local, echemos un vistazo a algunos datos estadísticos resumidos. En el canal /base, 65,755 usuarios han transferido tokens a otros en el canal, lo que representa el 19% del gráfico que se puede recorrer desde nuestro nodo de confianza previa (es decir, los nodos conectados). Este porcentaje puede variar según el grado de Sybil en los datos de confianza local del gráfico. Las transferencias de tokens pueden ser señales fuertes, pero también pueden ser swiping malicioso, por lo que no es sorprendente que la mayoría del gráfico no esté conectada.
Después de confirmar que el tamaño de los datos de entrada y la conexión son razonables, podemos ejecutar y guardar nuestro gráfico Eigentrust. Guardé mi gráfico como id 'base_transfer_50' - como se puede ver a continuación, solo se necesitan 10 líneas de código para entrenar el gráfico. El SDK de OpenRank se puede considerar como scikit-learn para modelos de gráficos encriptados.
¿Todavía recuerdas la constante "c" en la fórmula anterior? Realicemos una búsqueda en cuadrícula para diferentes valores de c (a los que llamo alfa) y diferentes tamaños de semilla de confianza, para ver cuál nos puede dar la puntuación de confianza logarítmica más alta y la mayor cobertura:
Hay muchas compensaciones aquí, no hay un valor óptimo para elegir. Si desea recomendar con una gran diversidad, la alta regularización y la cobertura son una buena opción, pero para votaciones de gobernanza de alto riesgo, es posible que realmente desee un mayor grado de confianza. Aquí es donde puedes usar tu intuición.
Desde aquí, podemos insertar valores en la consulta de suscripción vinculada al panel de control de Dune al inicio para obtener un flujo de interacción de contrato de usuario confiable en el canal /base. Esta salida subjetiva recomendada nos ayuda a vincular mejor los indicadores generales anteriores con nuestras expectativas intuitivas sobre la calidad de la salida recomendada.
¡Listo! Puedes usar esta API de Dune de inmediato para impulsar cualquier aplicación.
Aprende a construir tu propio gráfico OpenRank Eigentrust
¿Estás listo para hacerlo tú mismo? Puedes hacer un fork de mi cuaderno y probarlo por ti mismo, todos los enlaces necesarios están a continuación:
·OpenRank Docs
repositorio de Python SDK
·Cuaderno de Python
Tablero de alimentación de Dune
Realizaré una tarea de Bytexplorers en el próximo mes, donde competiremos para crear el mejor gráfico de suscripción para aplicaciones de encriptación de primer nivel.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Profundizando en el algoritmo Eigentrust de OpenRank: ¿Cómo construir una capa de cálculo social?
Autor: Andrew Hong
Compilado por: Ladyfinger, BlockBeats
Editor's note:
En este artículo, el autor profundiza en el algoritmo Eigentrust de OpenRank, que es una nueva tecnología actualmente utilizada por Metamask Snaps, Degen tips y Supercast. OpenRank, como una capa de cálculo, puede ejecutar varios algoritmos de gráficos de reputación, el primero de los cuales se presenta es el algoritmo eigentrust. El autor comparte por qué se necesita construir un gráfico comunitario, conceptos clave del algoritmo, cómo funciona y cómo crear su propio gráfico. Además, el autor adelanta la próxima tarea de Bytexplorers, animando a los lectores a suscribirse para obtener las últimas actualizaciones.
La mayoría de las criptomonedas de vanguardia en la actualidad incluyen simples clasificaciones de tokens principales según volumen de transacciones, liquidez, acuñación, puntos y votos. Si queremos ofrecer una experiencia de criptomoneda de consumo que supere a los gigantes de la Web2 actual, necesitamos más que simples clasificaciones en nuestra aplicación.
OpenRank es una de las piedras angulares que nos ayuda a lograr este objetivo, ya ha sido utilizado por Metamask Snaps, Degen Tips y Supercast. OpenRank es una capa de cálculo que puede ejecutar varios algoritmos de gráficos de reputación, siendo el primero el algoritmo eigentrust.
En este artículo, te presentaré el algoritmo eigentrust de OpenRank y discutiré los siguientes puntos:
La importancia de construir mapas comunitarios y por qué los necesitas
Los conceptos clave y el funcionamiento de este algoritmo
Cómo crear tu propio gráfico, consulta el gráfico que creé en mi cuaderno de Python
¡Comencemos!
¿Por qué construir un gráfico de recomendación junto con la comunidad en lugar de depender únicamente de su propio equipo de aprendizaje automático?
Al construir algoritmos y flujos de recomendación en Cripto, pronto te enfrentarás a algunos problemas de datos:
· La operación comercial involucra muchas capas de operaciones
· La relación entre las direcciones puede volverse infinitamente compleja a través de transacciones múltiples.
· La dirección en sí misma contiene parte de la identidad, cada identidad es relevante en diferentes contextos
Los tres puntos anteriores están en constante desarrollo a una velocidad exponencial, lo que llamamos los elementos en constante aumento como "contexto".
Tu equipo pequeño de ML no puede seguir el ritmo de estas ideas interminables
Tampoco querrás que tu equipo de backend o ingeniería de datos se encargue de estos problemas, después de todo, tienen un producto que construir. La era en la que la aplicación solo tenía la estructura de usuarios y datos de usuario ha terminado. Ya no solo tienes un simple enlace, ID de usuario, me gusta/responder/compartir e ID de publicación, sino que puedes tener intercambios, divisiones, caídas, intercambios, stake, delegaciones, votaciones, acuñando, etc. Casi todos los días surgen nuevas "operaciones", así como nuevas cadenas, nuevos tipos de billeteras, nuevos tipos de identidades, etc.
Creo que en el próximo año, la industria de criptomonedas desarrollará una comunidad de ciencia de datos de gráficos basada en el protocolo y productos de OpenRank.
He estado en la comunidad wizard de Dune durante muchos años, presenciando el poder de la comunidad, que supera la capacidad de los equipos pequeños. También he visto cómo casi todos los pequeños equipos de cifrado pasan de 'sí, podemos hacerlo con un nodo y una base de datos RDS' a 'necesitamos utilizar herramientas de datos construidas por la comunidad como The Graph y Dune'. Para mí, crear consultas y combinaciones de gráficos específicamente para flujos de recomendación y ajustes comunitarios es un problema similar. Necesitamos empezar a recopilar y probar gráficos que puedan proporcionar flujos de recomendación en cada aplicación, desde el cliente Farcaster hasta el explorador de bloques.
El concepto de un flujo de recomendaciones es análogo y será eliminado. Los usuarios se convierten en curadores de contenido.
En el campo de las criptomonedas, los usuarios no solo desean llevar sus redes sociales a diferentes aplicaciones, sino también llevar consigo el contexto oculto en estas redes. Si estoy siguiendo activamente la comunidad de /degen en Farcaster, espero que se me recomienden actividades de esta comunidad en Zora, Roam.xyz o OnceUpon, y espero poder cambiar esta recomendación al contexto de otra comunidad a la que pertenezco, como los coleccionistas de artblocks. El futuro será una época en la que los usuarios descubran y elijan su propia alimentación, en lugar de estar limitados a las funciones de un solo grupo o canal en una sola plataforma.
¿Cómo funciona el algoritmo Eigentrust de OpenRank?
El algoritmo Eigentrust es similar a PageRank, clasifica los nodos en una red gráfica. La diferencia es que se enfoca en capturar relaciones complejas de punto a punto como una distribución de confianza. Originalmente fue diseñado para asignar puntuaciones de confianza en redes de intercambio de archivos. En el campo de las criptomonedas, se puede utilizar para representar a delegados de gobernanza de alta calidad o identificar contratos inteligentes confiables.
A continuación se presentan las fórmulas de Eigentrust:
Arriba hay dos entradas clave: nodo de confianza previa y gráfico de confianza local. 'P' es tu confianza previa, 'S' es tu confianza local.
· Confianza local (localtrust): Esta es una medida de la interacción entre dos nodos cuando el nodo 'i' transfiere algún tipo de valor al nodo 'j'. Esto puede ser transferencia de tokens, pruebas, respuestas de votación/likes, etc.
· Pretrust (pretrust): esta es la selección de "semillas" de nodos en la red que deberían ser más confiables según tu elección.
· 'c': Esta constante (entre 0 y 1) es el peso de la confianza entre el grafo global de confianza y las semillas de confianza previas. Los gráficos interactivos suelen tener una distribución de ley de potencias, por lo que un mayor peso de confianza previa ayuda a regular la distribución de los valores de clasificación final.
Si estas fórmulas matemáticas son difíciles de entender, se pueden comparar con un gráfico social como Twitter, donde la influencia, como seguidores, me gusta, respuestas, tiende a concentrarse en unas pocas personas, lo que resulta en una dinámica de ley de potencias. Al establecer un grupo de individuos influyentes y seleccionar un valor constante 'c' de 0.5 o más, en realidad, las personas que interactúan con estos individuos de confianza heredarán la mitad del valor de esa influencia. Esta es una forma de equilibrar y distribuir de manera más uniforme los puntajes de confianza en la red.
¿Qué tiene que ver esto con elegir cualquier contexto y crear cualquier flujo de recomendación?
Supongamos que quieres ordenar 10000 propuestas de financiamiento en un flujo de recomendaciones. Basado en un conjunto de interacciones de votación (confianza local) y un conjunto de votantes confiables seleccionados por ti (confianza previa), puedes clasificar a todos los votantes y proponentes en términos de valor. Puedes seleccionar a tus 10 votantes confiables al delegar tu voto en múltiples DAO. Eigentrust se ejecutará en base a estas dos entradas y te proporcionará una lista más amplia de votantes, clasificados en el gráfico según la confianza heredada de los nodos de confianza previa.
Ahora puedes utilizar esta lista de valores de clasificación para evaluar propuestas de gobierno en tiempo real y obtener recomendaciones más personalizadas para el flujo de trabajo.
Esto puede ser demasiado abstracto, así que en la siguiente sección explicaré mediante ejemplos de código concretos. Recuerda que OpenRank maneja el cálculo y almacenamiento de estos gráficos Eigentrust, y te recomienda que uses el flujo de recomendación de salida. Todo lo que necesitas hacer es decidir la entrada de confianza previa y local.
¿Cómo construir un gráfico Eigentrust utilizando OpenRank?
Objetivo final
En este ejemplo, quiero proporcionar un flujo de suscripción para contratos recomendados basados en la billetera de usuario de Farcaster/base (Farcaster es una aplicación similar a Twitter). La salida es simplemente una lista que contiene id y valores, en mi gráfico, cada id está asociado con un id de usuario de Farcaster (fid).
Fuente de datos
Después de crear el gráfico de clasificación, generamos este flujo recomendado en función de sus principales contratos de la semana pasada:
Fuente de datos
Puede ver el panel para ver otros flujos recomendados creados a partir de este gráfico, como la acuñación de NFT, el comercio de tokens DEX y las actividades del canal Farcaster.
Implementación del código
Ahora que has visto el objetivo, hablemos de cómo creé este gráfico de clasificación.
Todo el código de este ejemplo se puede encontrar en el cuaderno de hex.tech, si prefieres ejecutarlo localmente, también puedes usar jupyter notebook.
En primer lugar, he creado dos consultas separadas para nuestra confianza previa y confianza local:
La primera consulta es nuestro 'nodo de confianza anticipada'. Esta consulta arroja los usuarios principales en el canal/base de salida según las interacciones recibidas (me gusta, compartidos, respuestas). Mi fórmula es (me gusta + 3 compartidos + 10 respuestas). Tomaremos los primeros 100 ID de esta consulta como nuestros nodos de confianza.
Fuente de datos
La segunda consulta es para rastrear la interacción en la cadena entre los nodos utilizando las direcciones de enlace de los usuarios en el canal /base. Dado que el flujo de suscripción recomendará operaciones en la cadena, quiero asegurarme de seleccionar un gráfico de interacción basado en el volumen de interacción en la cadena. El valor en dólares transferido entre los nodos es un buen indicador general: rastreo las transferencias de stablecoins y ETH en Optimism, Base y la red principal de Ethereum.
Fuente de datos
Analizar el gráfico de entrada y probar la salida del gráfico Eigentrust
Ahora que tenemos nodos de confianza previa y un gráfico de confianza local, echemos un vistazo a algunos datos estadísticos resumidos. En el canal /base, 65,755 usuarios han transferido tokens a otros en el canal, lo que representa el 19% del gráfico que se puede recorrer desde nuestro nodo de confianza previa (es decir, los nodos conectados). Este porcentaje puede variar según el grado de Sybil en los datos de confianza local del gráfico. Las transferencias de tokens pueden ser señales fuertes, pero también pueden ser swiping malicioso, por lo que no es sorprendente que la mayoría del gráfico no esté conectada.
Después de confirmar que el tamaño de los datos de entrada y la conexión son razonables, podemos ejecutar y guardar nuestro gráfico Eigentrust. Guardé mi gráfico como id 'base_transfer_50' - como se puede ver a continuación, solo se necesitan 10 líneas de código para entrenar el gráfico. El SDK de OpenRank se puede considerar como scikit-learn para modelos de gráficos encriptados.
¿Todavía recuerdas la constante "c" en la fórmula anterior? Realicemos una búsqueda en cuadrícula para diferentes valores de c (a los que llamo alfa) y diferentes tamaños de semilla de confianza, para ver cuál nos puede dar la puntuación de confianza logarítmica más alta y la mayor cobertura:
Hay muchas compensaciones aquí, no hay un valor óptimo para elegir. Si desea recomendar con una gran diversidad, la alta regularización y la cobertura son una buena opción, pero para votaciones de gobernanza de alto riesgo, es posible que realmente desee un mayor grado de confianza. Aquí es donde puedes usar tu intuición.
Desde aquí, podemos insertar valores en la consulta de suscripción vinculada al panel de control de Dune al inicio para obtener un flujo de interacción de contrato de usuario confiable en el canal /base. Esta salida subjetiva recomendada nos ayuda a vincular mejor los indicadores generales anteriores con nuestras expectativas intuitivas sobre la calidad de la salida recomendada.
¡Listo! Puedes usar esta API de Dune de inmediato para impulsar cualquier aplicación.
Aprende a construir tu propio gráfico OpenRank Eigentrust
¿Estás listo para hacerlo tú mismo? Puedes hacer un fork de mi cuaderno y probarlo por ti mismo, todos los enlaces necesarios están a continuación:
·OpenRank Docs
repositorio de Python SDK
·Cuaderno de Python
Tablero de alimentación de Dune
Realizaré una tarea de Bytexplorers en el próximo mes, donde competiremos para crear el mejor gráfico de suscripción para aplicaciones de encriptación de primer nivel.