Logo

Sistemas de Referencia en Cadena para Seguimiento de Atribuciones Web3

December 4, 2023
On-chain referral tracking

Seguimiento de referencias en cadena

En el cambiante panorama digital, las empresas y los desarrolladores buscan constantemente las herramientas más efectivas para rastrear y analizar datos. En Origin, hemos estado utilizando Google Analytics como solución de referencia para monitorear las interacciones basadas en la web, pero la tecnología blockchain presenta una alternativa convincente: el seguimiento de las transacciones en cadena. Este enfoque ofrece beneficios únicos, particularmente en cuanto a precisión y transparencia.

La premisa básica detrás del seguimiento de referencias en cadena es agregar algunos bytes adicionales a los datos de llamada de cualquier transacción que se origine en una aplicación descentralizada (dapp) que usted controle. Los bytes adicionales normalmente no interfieren con la llamada del contrato (aunque hay excepciones), pero aumentan el costo del gas de la transacción en una cantidad minúscula.

Estos bytes adicionales se almacenan en cadena y son visibles en Etherscan o en cualquier otro indexador. En el caso de Origin, usamos Subsquid para etiquetar transacciones que tienen datos de llamada que terminan con una matriz de bytes conocida, de modo que sepamos qué transacciones se originaron en nuestra dapp.

Esta técnica ha sido utilizada por los mercados NFT durante algún tiempo y es la forma en que se puede atribuir el volumen de transacciones a agregadores como Blur o Gem. Los proyectos de infraestructura NFT como Reservoir han integrado la funcionalidad directamente en su SDK, aunque la técnica aún no es común en DeFi.

Implementar un sistema de referencia en cadena es un proceso relativamente simple, pero existen algunas consideraciones clave. Deberá decidir qué tipo de atribución usar (primer toque versus último toque) y cómo almacenará los datos. Así es como configuro un sistema de referencia en cadena para Origin Protocol.

Así es como funciona de principio a fin:

  • Cree un código de 4 bytes aplicando hash a una cadena, por ejemplo, bytes4(keccak256("oeth.com")).
  • Guarde el hash en algún lugar, por ejemplo, en un repositorio de código o en una hoja de cálculo, para poder consultarlo más adelante.
  • Modifique su dapp para aceptar códigos de referencia a través de parámetros de URL, por ejemplo mydapp.com/?code=abc12345, y almacene ese código en localStorage
  • Cuando su dapp envíe una transacción, agregue el código de referencia a los datos de llamada
  • Una vez que se extrae la transacción, verá que el código de referencia se agregó a los datos de la llamada y es visible en Etherscan o mediante la llamada RPC eth_getTransactionByHash.

Ventajas del seguimiento en cadena

  • Registros inmutables: la naturaleza inmutable de la blockchain garantiza que los códigos de referencia se registren indefinidamente y cualquiera pueda acceder a ellos.
  • Verificabilidad independiente. Los terceros pueden verificar de forma independiente la funcionalidad de la función de referencia sin necesidad de acceder a datos restringidos.
  • Exactitud. A diferencia de los métodos de seguimiento tradicionales, este enfoque no se ve afectado por los bloqueadores de anuncios ni las cookies del navegador.
  • Dominio cruzado. El método se puede aplicar en diferentes aplicaciones descentralizadas.
  • Estándar abierto. Los indexadores de terceros pueden atribuir transacciones a agregadores u otros terceros.

Limitaciones potenciales

  • Aumento de los costos del gas. Agregar bytes adicionales aumenta ligeramente los costos de transacción, alrededor de 16 gases por byte, para un total de 64 gases por 4 bytes.
  • Transacciones incompatibles. En algunos casos, los datos de llamadas adicionales pueden provocar un mal funcionamiento de las billeteras de terceros. Por ejemplo, las transacciones comunes, como las aprobaciones de ERC20, pueden hacer que se muestre una UX personalizada en billeteras como MetaMask. Los datos de llamada adicionales pueden causar errores en estos casos, por lo que es importante probar minuciosamente cualquier implementación para garantizar que no surjan este tipo de problemas.

El seguimiento de referencias en cadena ofrece algunas ventajas convincentes sobre los mecanismos de seguimiento tradicionales, como su inmutabilidad, transparencia y resistencia a los problemas comunes de seguimiento web. Si bien conlleva su propio conjunto de desafíos, incluido el aumento de los costos del gas y posibles incompatibilidades, es probable que los beneficios superen estas limitaciones y vale la pena considerar la técnica como una alternativa.

Moises
Moises
Origin
Stay in touch
Be the first to hear about important product updates. Your email will be kept private.
Originally released by Origin Protocol
Privacy policyTerms of service