Por Álvaro Borreguero y Fernando González.

 

¿DeFi? ¿DAOs? ¿En qué consiste eso? ¿Qué papel juegan?Deceye es una plataforma que permite a los usuarios conocer el estado de cada una de las DAOs que actualmente se encuentran catalogadas.

El ecosistema DeFi, Decentralized Finances, en castellano Finanzas Descentralizadas, engloba a todos aquellos servicios financieros que gracias a la tecnología blockchain pueden evitar la intermediación que ofrece un banco tradicional.

Dentro de este ecosistema, y al igual que en las finanzas tradicionales, existen “entidades” que ofrecen diferentes servicios según el propósito individual. Estas organizaciones descentralizadas son conocidas como DAOs, que operan de forma independiente y gracias a los Smart Contracts, lo que les aporta una gran fiabilidad y transparencia. Además, las decisiones dentro de estas entidades se realizan mediante votaciones descentralizadas entre los holders de los tokens de cada DAO.

El propósito de los DAOs.

Como ya hemos mencionado el propósito de cada DAO puede ser diferente y generalmente encontraremos los siguientes tipos:

  • Préstamos: estos protocolos permiten a los usuarios prestar y tomar prestados criptoactivos con la expectativa de un reembolso con intereses.

  • Exchanges: hacen posible el intercambio de criptoactivos entre usuarios sin depender de una autoridad central.

  • Staking: permite a los usuarios participar en la validación de transacciones de los protocolos Proof-of-Stake, lo que genera recompensas económicas.

  • Derivados: Los derivados de DeFi permiten a los usuarios cubrir riesgos y especular sobre los precios de los activos sin depender de intermediarios financieros tradicionales.

Ahora bien, ¿qué es Deceye?

Deceye es una plataforma que permite a los usuarios conocer el estado de cada una de las DAOs  que actualmente se encuentran catalogadas. Ofrece dos grupos principales de métricas.

Métricas de gobernanza: engloba todo el tratamiento de las votaciones dentro de cada DAO, como métricas de participación, volumen de votos, grado de descentralización…etc.

Métricas de tesorería: en este grupo se encuentran las relacionadas con el propio token de la DAO y con su nivel de tesorería repartido en diferentes tokens.

Pocas páginas actualmente se involucran en el proceso de gobernanza de las DAOs, o lo hacen de forma poco generalizada y comparable entre dos o más DAOs, lo que hace que Deceye tenga un valor añadido frente a la competencia. Estas métricas e indicadores, previamente normalizados para los diferentes tipos de DAOs, nos permiten comparar entre ellas y obtener información de gran valor.

Arquitectura

La arquitectura de Deceye está compuesta por varias tecnologías. Python junto con la librería de Web3 nos permite conectarnos a los nodos de Infura para obtener toda la información de la propia blockchain evitando así cualquier tipo de fraude. Esta información es normalizada y almacenada en una base de datos de MongoDB, la cual está expuesta a través de una API Rest con NodeJS. 

Esta API está protegida y gestionada por Kong, el cual permite a nuestra página web obtener toda la información necesaria. Además, permite gestionar accesos por API Keys para conectar nuestra API a otros proyectos. Por último, Kong está monitorizado por  Prometheus y Grafana.

La arquitectura de Deceye

Extracción datos Blockchain

 

En primer lugar, hay que comprender que existen diferentes redes de blockchain donde las DAOs interactúan. Actualmente Deceye extrae información de las redes de Ethereum y Polygon, que son de las más populares en este ecosistema. Para poder interactuar con los Smart Contracts, de donde sacaremos la mayoría de la información, es necesario conectarse a un nodo que se encuentre en dicha red. Cómo mantener un nodo es costoso, actualmente se están utilizando los que proporciona Infura.

Para comunicarnos con los Smart Contracts es necesario conocer cómo se comportan y entender su funcionamiento, por lo que deberemos tener unas nociones sobre Solidity, su lenguaje de programación en la red de Ethereum. Destacar que la red de Polygon es una blockchain de capa 2 sobre la red de Ethereum, por lo que también comprende este lenguaje de programación.

Para una primera aproximación vamos a explicar dos de las interacciones más comunes dentro de la extracción de datos de datos en estas redes, que son la lectura de eventos y la interacción con las funciones de los SmartContrats.

Lectura de Eventos


Los eventos nos permiten seguir el flujo de las acciones de los SmartContracts, a continuación se muestra la función de votación del SmartContract de Lido asociado al proxy 0x2e59A20f205bB85a89C53f1936454680651E618e.

Deceye: función de votación del SmartContract de Lido asociado al proxy

El siguiente código de ejemplo muestra cómo obtener los eventos “CastVote” entre dos bloques específicos. Además mostramos de manera legible el id de la propuesta que se ha votado, quién, qué y con cuánto poder se ha votado. Recordemos que el poder de votación de cada usuario reside generalmente en la cantidad de tokens que tenga  de la DAO.

El siguiente código de ejemplo muestra cómo obtener los eventos “CastVote” entre dos bloques específicosDeceye: El siguiente código de ejemplo muestra cómo obtener los eventos “CastVote” entre dos bloques específicos

NOTA: para obtener la API es necesario registrarse en Infura. En el caso de la ABI accediendo a este enlace podemos encontrar en el apartado Contract > Code > Contract ABI en la parte inferior.

Aunque estemos interactuando con 0x2e59A20f205bB85a89C53f1936454680651E618e es necesario obtener la ABI del contrato 0x72fb5253AD16307B9E773d2A78CaC58E309d5Ba4 ya que el primero actúa como proxy redirigiendo al segundo por razones de seguridad.

Funciones SmartContracts

En este paso vamos a llamar a la función “balancesOfAt” del SmartContract asociado al token LDO con la dirección 0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32. En este caso no se trata de un proxy por lo que la obtención de la ABI será sobre esa misma dirección.

Deceye: función “balancesOfAt” del SmartContract asociado al token LDO

Esta función devuelve la cantidad de token de una address en un bloque específico, no se entrará en detalle en las subfunciones que utiliza ya que deberíamos analizarlo en profundidad para comprender del todo su funcionamiento.

Deceye es una plataforma que permite a los usuarios conocer el estado de cada una de las DAOs  que actualmente se encuentran catalogadas

 

NOTA: La llamada a funciones de lectura en la blockchain es gratuita, en el caso de querer realizar alguna operación de escritura debemos tener en cuenta que será necesario firmar dicha operación, lo que supondrá un gasto de ETH desde la address con la que firmemos la operación. En el caso de Deceye no se utilizan ya que solo monitoreamos la red.

Conclusión

La colaboración entre Kairós DS y Carbono Solutions que ha dado pie a Deceye ha generado un impacto significativo en la generación de oportunidad y la capacitación de nuestros compañeros en los campos de la tecnología blockchain, la ciencia de datos y DeFi. Ambas empresas han trabajado de forma conjunta para generar un entorno estimulante y desafiante para los equipos en prácticas que hemos participado en este proyecto y para el personal más experimentado que ha colaborado en el desarrollo. 

Actualmente, la demanda de talento tecnológico, y en concreto, en el mundo crypto y DeFi ha llevado a la generación de equipos como el de Deceye. En nuestro caso, nos ha dado pie entrar en Kairós DS como desarrolladores de software, analistas de datos, expertos en criptografía, así como contribuir a nuestro crecimiento y la mejora continua de nuestra empresa y de la propia plataforma.

Álvaro Borreguero y Fernando González.