Análisis de blockchain, o ¿por qué se rompió el mezclador?

Basado en mi informe en la Conferencia de Transformación Digital en Moscú el 16 de abril de 2018


Me pregunto cómo funciona la cadena de bloques. No solo qué algoritmos, criptografía, plataformas y criptomonedas hay. Para mí, blockchain no es solo tecnología, sino también un nuevo tipo de vida, un nuevo universo. Si tiene dudas, mire este recuento de venta de tokens de Aragón:



Todas estas direcciones, contratos inteligentes, tokens interactúan constantemente entre sí, y detrás de ellos están las acciones de personas, organizaciones y robots. Sin esta interacción, blockchain y las criptomonedas no tendrían significado ni valor.


¿Cómo funcionan las empresas en blockchain, qué hacen las personas y los robots allí? Estas preguntas me hicieron estudiar blockchain.


Problema y soluciones


La red blockchain, y estamos hablando específicamente de redes públicas de blockchain, de hecho, está completamente abierta. Puede leer absolutamente cualquier información sobre bloques, direcciones y transacciones. Para los programadores, hay API para esto (por ejemplo, Web3 [1]), y para simples mortales: investigadores de blockchain, por ejemplo Etherscan [2]. Además, cualquier nodo de blockchain completo descarga todos los bloques desde el principio de los tiempos con información completa dentro de un disco local, ya que esto es necesario para verificar la exactitud de las transacciones, y Dios no lo quiera, la minería. Es decir, cualquier nodo blockchain es su copia completa, e incluso con interfaces de acceso y documentación detallada.


Parece que hay de todo para el análisis, pero ahí estaba. Blockchain vs. Recuerde lo que significa esta palabra blockchain en ruso: una cadena de bloques. Los bloques almacenan registros de transacciones y metainformación para garantizar la integridad y la conectividad. Para encontrar algo en la cadena de bloques, debe conocer el número de bloque o el hash de la transacción, o en el peor de los casos, una dirección. No hay índices distintos de los enumerados en el nodo.


Etherscan también es un poco mejor. Muestra lo mismo que está disponible a través de la API, solo en forma de páginas web. Y también, para encontrar algo, debe saber de antemano la dirección, el hash de la transacción o el número de bloque. Verá la cadena de bloques a través de una ventana estrecha limitada a estas entidades. Así es como se estudia el universo con un microscopio; las herramientas existentes son completamente inadecuadas para analizar "en grande".


Para filosofar, incluso dibujé un diagrama donde la esencia del problema es visible:



Con las criptomonedas, cada vez es menos claro; por sus análisis, se utilizan métodos y herramientas de intercambio de divisas conocidos desde hace mucho tiempo. Puede obtener información confiable y objetiva sobre todos los parámetros de la criptomoneda en muchos sitios en Internet.


Esto no se puede decir sobre blockchain. Información en el plan principal o puramente técnico para aquellos que entienden (como "Etherscan"), o ficción sobre proyectos ICO [3], DAO [4], que tiene un sesgo subjetivo explícito y no se verifica por métodos matemáticos.


El blockchain es opaco en general, aunque toda la información está ampliamente disponible, ¡así que trabajaremos en ello!


Hardware de análisis de blockchain


Primero entenderemos el alcance del problema. Hay muchas redes blockchain, y también muchas plataformas diferentes en las que están construidas. Tienes que comenzar en alguna parte y elegí la red de la Fundación Ethereum por varias razones:


  1. Muchos participantes
  2. La capitalización de todas las monedas de la red, incluidos los tokens, es posiblemente la más grande de todas
  3. Contratos inteligentes [5] y DAO [4], ampliando el posible análisis y haciéndolo mucho más significativo y útil

Incluso al elegir una red, obtenemos una gran cantidad de datos (a partir del 15 de junio de 2018):


Número de transferencias de criptomonedas, total267 millones
Transferencias de criptomonedas por día, en promedio750 mil
Numero de direcciones validas44 millones
Número de contratos inteligentes6,8 millones
Número de tokens emitidos48 mil
Llamadas de contrato inteligentes por día, promedio690 mil
Cantidad aproximada de datos comprimidos para un nodo completo117 GBytes

Inicialmente, había un deseo de que el análisis fuera lo más cercano posible al estado real de la red, es decir, en tiempo real. Esto tiene dos aspectos técnicos:


  1. La información de blockchain debe ingresar a la base de datos lo más rápido posible, tan pronto como se cree un nuevo bloque. Queremos ver información actual, no un archivo;
  2. Queremos recibir informes rápidamente, en un segundo o más rápido, para no perder interés en hacer muchas preguntas.

La elección recayó en la base de datos Clickhouse [6], un proyecto de código abierto de Yandex. Antes de eso, no había usado este sistema, y ​​los chicos de Altinity [7] me ayudaron a entender, por lo que les agradezco por separado.


La estructura general del sistema es la siguiente:



El proceso ETL (Extraer - Transformar - Cargar) lee los datos de origen de todo el nodo de la red Ethereum, que analiza los datos dentro del bloque y los escribe en varias tablas en la base de datos de Clickhouse. El proceso comienza tan pronto como llega un nuevo bloque al nodo de red y se ejecuta continuamente.


En el lado derecho del gráfico, los usuarios de datos, actualmente:


  1. Herramienta de análisis SuperSet [8]. Con él, puede hacer gráficos geniales y combinar rápidamente consultas para obtener respuestas a preguntas de análisis;
  2. Python Jupiter [9] para un análisis más completo de las herramientas de aprendizaje automático y la aplicación de algoritmos estadísticos;
  3. Sitio web de Bloxy y API [10] para uso público de la información.

La indexación de la base de datos de Ethereum tomó algún tiempo, después de todo, ya hay casi 6 millones de bloques, y cada uno de ellos debe leerse desde el nodo y procesarse, pero este trabajo está detrás de nosotros, y finalmente podemos disfrutar de todo el poder de la base de datos analítica, especialmente porque los datos son solo m um, que delicioso!


Fichas


Comencemos con los tokens, ya que esta es la aplicación más popular de contratos inteligentes en la red Ethereum, podemos decir el propósito y el significado de su creación. Los tokens son criptomonedas que cualquiera puede emitir utilizando un cierto tipo de contrato inteligente. El estándar principal del token es ERC20 [11], pero como veremos ahora, no todo se limita a él.


Ahora, teniendo una base para análisis y SuperSet, podemos ver qué tokens se emiten, cómo se usan y lo que ahora es popular:



Los datos son para toda la vida de Ethereum. El gráfico circular muestra que los tokens ERC20 son abrumadores en comparación con otros tipos. El gráfico del número de tokens utilizados activamente en las transferencias ha estado creciendo de manera constante hasta el momento, y esto significa que el entusiasmo de la ICO no disminuye, sino incluso viceversa. De hecho, a veces se crean varios cientos de tokens nuevos en el día, leen criptomonedas, pero no todos caen en este gráfico, sino solo aquellos que se usan activamente.


El siguiente cuadro muestra un crecimiento no tan rápido con el tiempo, este es el número de transacciones de transferencia de tokens por día. En algún momento de la primavera de 2018, se detuvo aproximadamente al nivel de 400 mil transacciones por día y no crece. En esencia, esto significa que los nuevos tokens representan significativamente menos transferencias que antes.


Hay dos anomalías en este gráfico: el pico de las transferencias de tokens ERC20 en noviembre de 2017 y la "joroba" menos pronunciada del crecimiento de las transferencias de tokens ERC721 en diciembre.


El pico de noviembre está asociado con el token InsPromo, que fue dispersado por casi un millón de direcciones "así", fue un tipo de promoción de lanzamiento aéreo [12]. Este método de atraer clientes de ICO se ha utilizado antes y después de muchas veces, ¡pero la escala de propagación en 1 día de “monedas” gratis es récord!


El interés de diciembre en el token ERC721 está completamente relacionado con el juego CryptoKitties, la gente está muy entusiasmada con la compra y el crecimiento de gatos digitales. El gráfico muestra un rápido aumento en la rotación de Crypto Kitties y una disminución en las transacciones de otros tokens, aparentemente las personas olvidaron que hay otros tokens.


Crypto Beasts y más


Los tokens ERC721 [14] aparecieron, de hecho, por la aparición de cripto gatos [13], aunque su uso potencial es mucho más amplio. Si el estándar ERC20 hizo posible emitir criptomonedas medidas en cierta cantidad para todos, entonces ERC721 les dio a todos la oportunidad de indicar los derechos de propiedad de cualquier objeto, mundo virtual, real o incluso intelectual.


Técnicamente, cada token ERC721 almacena un identificador único dentro de un contrato inteligente. Este identificador puede significar un gato crito, una espada dorada, un pedazo de tierra o una patente para una invención. La propiedad del identificador se fija en la cadena de bloques. Dado que existe un estándar para el intercambio de tokens ERC721, se pueden ver en la billetera, comerciar en el intercambio y realizar otras operaciones generales.



El gráfico superior muestra el número de transacciones de todos los tokens ERC721. En diciembre de 2017, hubo un gran aumento, 100% del juego Crypto Kitties. El interés en el juego duró todo diciembre y luego se durmió gradualmente.


El gráfico inferior muestra la cantidad de tokens diferentes del estándar ERC721 en circulación, lea los proyectos que utilizan esta tecnología. En diciembre, solo había Crypto Kitties, y en febrero ya había varias docenas de ellos. Los nombres de los tokens se muestran a la izquierda, cuanto mayor es el número de transacciones, mayor es la fuente, todavía los gatitos con el símbolo CK en primer lugar.


¿Por qué necesitamos un mezclador?


El análisis de blockchain en su conjunto hace posible encontrar patrones y anomalías que no son visibles a nivel micro de transacciones, direcciones y bloques. Uno de los ejemplos más llamativos es el "mezclador" de miles de bots que se ejecutan en la red Ethereum.


Comencemos buscando anomalías en la distribución de direcciones por el número de destinatarios y remitentes de criptomonedas:



En el eje horizontal, el número de direcciones desde las cuales se transfirió dinero a la dirección, verticalmente, el número de direcciones en las que se transfirió dinero desde la dirección. Tamaño del círculo: el número de tales direcciones.


El gráfico de la izquierda se tomó en diciembre de 2016, y el círculo máximo corresponde a las direcciones que tienen un destinatario y un remitente, un poco menos que las direcciones sin destinatarios y también un remitente. Esto es bastante comprensible, la mayoría de las direcciones reciben dinero de una fuente y lo gastan en un lugar o no lo gastan, sino que lo almacenan.


Pero en diciembre de 2017, un círculo con dos remitentes y tres destinatarios aumentó de forma anormal. ¡Y hay varios millones de esas direcciones! Para comprender la situación, seleccione una de estas direcciones del círculo cerrado y cree un gráfico de traducción:



Se puede ver que todas estas direcciones están conectadas a un mezclador gigante que envía dinero dentro de sí mismo. Dado que, en promedio, cada dirección tiene más destinatarios que remitentes, en pocos pasos se obtiene una gran cantidad de destinatarios del remitente original. Por supuesto, esto no lo hacen las personas, sino los robots, ya que hay más de 4 millones de direcciones de este tipo y funcionan sin problemas y muy rápidamente, enviando dinero en cuestión de minutos.


Estimamos el volumen de trabajo de este enorme robot separando las transacciones de estas direcciones de otras transacciones en la red:



En términos del volumen de transferencias, el mezclador (columnas naranjas) en varios meses supera varias veces todas las demás transferencias en la red (columnas verdes). Por supuesto, uno debe tener en cuenta que está transfiriendo la moneda dentro de sí mismo y que su volumen de negocios externo no es tan significativo, no más de 17 millones de éter (hoy $ 10 mil millones).


Las transacciones de mezcla han ocupado una parte significativa del ancho de banda de la red Etehereum durante muchos meses. El máximo de su actividad se produjo a principios de 2018, cuando este robot inició cada cuarta transacción de transferencia de Ethereum, como se puede ver en el gráfico azul de la participación total de las transacciones del mezclador:



Pero de repente, a fines de febrero de 2018, dejó de trabajar. Como no conocemos las razones de su uso, solo podemos adivinar las causas de su vida y muerte súbita. ¿O tal vez no murió, sino que cambió el algoritmo y simplemente dejó nuestros radares?


Creo en blockchain


Yo creo en blockchain. Las empresas, las personas y las comunidades se benefician de su uso. Para usarlo, debe comprender cómo funciona como fenómeno. Según las leyes que desarrolla, cuáles son las anomalías internas, tendencias, recesiones y subidas.


Una cadena de bloques más transparente permitirá a las empresas realizar actividades efectivas con los ojos abiertos. Los usuarios comunes entenderán mejor qué están haciendo exactamente, en qué están participando, para estar más seguros y felices.


Después de todo, blockchain no es tanto redes, plataformas, bloques y transacciones como personas y comunidades. El éxito del desarrollo de esta tecnología depende completamente de la percepción pública de la misma, y ​​la transparencia es importante en este proceso.


Literatura


[1] Web 3: una plataforma para aplicaciones descentralizadas


[2] Etherscan


[3] ICO


[4] DAO


[5] Contratos inteligentes de Ethereum


[6] Yandex Clickhouse


[7] Altinidad


[8] SuperSet


[9] Python Jupyter


[10] Bloxy


[11] ERC20


[12] ¿ WTF es un Airdrop? Una guía detallada para la criptomoneda libre


[13] CryptoKitties


[14] ERC721 estándar

Source: https://habr.com/ru/post/es414707/


All Articles