Reenviar el título original:另一个角度看「AI+Blockchain」:AI 如何革新以太坊?
Durante el año pasado, a medida que la IA generativa destrozó repetidamente las expectativas del público, la ola de la revolución de la productividad de la IA se extendió por la comunidad de criptomonedas. Hemos visto muchos proyectos con temática de IA en el mercado secundario crear leyendas de riqueza y, cada vez más, los desarrolladores han comenzado a desarrollar sus propios proyectos de "IA + Crypto". Sin embargo, si se examina más de cerca, es evidente que estos proyectos están altamente homogeneizados y la mayoría solo tienen como objetivo mejorar las "relaciones de producción", como la organización de la potencia informática a través de redes descentralizadas o la creación de "caras de abrazo descentralizadas". Pocos proyectos intentan integrarse e innovar realmente en el núcleo técnico. Creemos que esto se debe a un "sesgo de dominio" entre los campos de la IA y la cadena de bloques. A pesar de su amplia intersección, pocos tienen un conocimiento profundo de ambas áreas. Por ejemplo, a los desarrolladores de IA les puede resultar difícil comprender las implementaciones técnicas y la infraestructura histórica de Ethereum, lo que dificulta la propuesta de soluciones de optimización en profundidad.
Tomando como ejemplo el aprendizaje automático (ML), la rama más básica de la IA, es una tecnología que permite a las máquinas tomar decisiones a través de datos sin instrucciones de programación explícitas. El aprendizaje automático ha demostrado un enorme potencial en el análisis de datos y el reconocimiento de patrones, y se ha convertido en algo habitual en la web2. Sin embargo, debido a las limitaciones de la era en sus inicios, incluso a la vanguardia de la innovación de la tecnología blockchain como Ethereum, su arquitectura, red y mecanismos de gobernanza aún no han aprovechado el aprendizaje automático como una herramienta eficaz para resolver problemas complejos.
"Las grandes innovaciones a menudo surgen en la intersección de campos". Nuestra intención principal al escribir este artículo es ayudar a los desarrolladores de IA a comprender mejor el mundo de la cadena de bloques y, al mismo tiempo, proporcionar nuevas ideas para los desarrolladores de la comunidad Ethereum. En el artículo, primero presentamos la implementación técnica de Ethereum y luego proponemos aplicar el aprendizaje automático, un algoritmo de IA fundamental, a la red Ethereum para mejorar su seguridad, eficiencia y escalabilidad. Esperamos que este caso sirva como punto de partida para ofrecer perspectivas únicas y estimular más combinaciones innovadoras de "IA+Blockchain" dentro del ecosistema de desarrolladores.
En esencia, la cadena de bloques es una cadena que une bloques entre sí, y la distinción entre cadenas se encuentra principalmente en la configuración de la cadena. Esta configuración es una parte esencial de la génesis de una cadena de bloques, la fase inicial de cualquier cadena de bloques. En el caso de Ethereum, la configuración de la cadena diferencia entre varias cadenas de Ethereum e identifica protocolos de actualización importantes y eventos históricos. Por ejemplo, DAOForkBlock marca la altura de la bifurcación dura después del ataque DAO, mientras que ConstantinopleBlock indica la altura del bloque en la que se produjo la actualización de Constantinopla. Para actualizaciones más grandes que abarcan numerosas propuestas de mejora, se establecen campos especiales para denotar las alturas de bloque correspondientes. Además, Ethereum abarca una variedad de redes de prueba y la red principal, cada una identificada de forma única por un ChainID, que delinea su ecosistema de red.
El bloque génesis, al ser el primer bloque de toda la cadena de bloques, es referenciado directa o indirectamente por otros bloques. Por lo tanto, es crucial que los nodos carguen la información correcta del bloque génesis al inicio sin ninguna alteración. Esta configuración de bloque génesis incluye la configuración de cadena mencionada anteriormente, junto con información adicional como recompensas mineras, marcas de tiempo, dificultad y límites de gas. En particular, Ethereum ha pasado de ser un mecanismo de consenso de minería proof-of-work a proof-of-stake.
Las cuentas de Ethereum se clasifican en cuentas externas y cuentas de contrato. Las cuentas externas se controlan únicamente mediante una clave privada, mientras que las cuentas de contrato, que carecen de claves privadas, solo se pueden operar mediante la ejecución del código de contrato por parte de cuentas externas. Ambos tipos de cuenta poseen una dirección única. El "estado mundial" de Ethereum es un árbol de cuentas, en el que cada cuenta corresponde a un nodo hoja que almacena el estado de la cuenta, incluida diversa información de cuenta y código.
Ethereum, como plataforma descentralizada, facilita fundamentalmente las transacciones y los contratos. Ethereum bloquea las transacciones de paquetes junto con información adicional. Específicamente, un bloque se divide en un encabezado de bloque y un cuerpo de bloque. El encabezado del bloque contiene evidencia que vincula todos los bloques en una cadena, entendida como el hash del bloque anterior, junto con la raíz del estado, la raíz de la transacción, la raíz del recibo y otros datos como la dificultad y el nonce, que significan el estado de todo el mundo de Ethereum. El cuerpo del bloque alberga una lista de transacciones y una lista de encabezados de bloque tío (aunque, con el cambio de Ethereum a la prueba de participación, las referencias al bloque tío han cesado).
Los recibos de transacción proporcionan los resultados e información adicional posterior a la ejecución de la transacción, ofreciendo información que no se puede obtener directamente de las propias transacciones. Estos detalles incluyen el contenido de consenso, la información de la transacción y la información del bloque, que indica si la transacción se realizó correctamente, junto con los registros de transacciones y el gasto de gas. El análisis de la información en los recibos ayuda a depurar el código del contrato inteligente y a optimizar el uso del gas, sirviendo como confirmación de que la transacción ha sido procesada por la red y permitiendo el examen de los resultados y el impacto de la transacción.
En Ethereum, las tarifas de gas se pueden simplificar como tarifas de transacción requeridas para operaciones como el envío de tokens, la ejecución de contratos, la transferencia de ether u otras actividades en el bloque. Estas operaciones requieren tarifas de gas porque la máquina virtual Ethereum debe calcular y utilizar los recursos de la red para procesar la transacción, lo que requiere el pago de estos servicios computacionales. En última instancia, el costo del combustible, o tarifa de transacción, se paga a los mineros, calculado mediante la fórmula Tarifa = Gas Usado * Precio del gas, donde el precio del gas es establecido por el iniciador de la transacción. La cantidad influye en gran medida en la velocidad de procesamiento de las transacciones en la cadena. Si se establece en un nivel demasiado bajo, es posible que las transacciones no se ejecuten. Además, es crucial establecer un límite de gas para evitar un consumo imprevisto de gas debido a errores en los contratos.
En Ethereum, existe una gran cantidad de transacciones. En comparación con los sistemas centralizados, la tasa de procesamiento de transacciones por segundo de los sistemas descentralizados es significativamente menor. Debido a la afluencia de transacciones en los nodos, los nodos deben mantener un grupo de transacciones para administrar correctamente estas transacciones. La transmisión de transacciones se realiza a través de una red peer-to-peer (P2P), donde un nodo transmite transacciones ejecutables a sus nodos vecinos, que a su vez transmiten la transacción a sus vecinos. A través de este proceso, una transacción puede extenderse por toda la red Ethereum en 6 segundos.
Las transacciones del grupo de transacciones se dividen en transacciones ejecutables y no ejecutables. Las transacciones ejecutables tienen mayor prioridad y se ejecutan e incluyen en bloques, mientras que todas las transacciones recién ingresadas en el grupo no son ejecutables y solo más tarde pueden convertirse en ejecutables. Las transacciones ejecutables y no ejecutables se registran respectivamente en los contenedores "pendiente" y "en cola".
Además, el grupo de transacciones mantiene una lista de transacciones locales, que tienen varias ventajas: tienen una prioridad más alta, no se ven afectadas por los límites de volumen de transacciones y se pueden volver a cargar inmediatamente en el grupo de transacciones al reiniciar el nodo. El almacenamiento de persistencia local de las transacciones locales se logra mediante el uso de un diario (para recargar al reiniciar el nodo), con el objetivo de no perder transacciones locales inacabadas, y se actualiza periódicamente.
Antes de ponerse en cola, las transacciones se someten a comprobaciones de legalidad, que incluyen varios tipos de comprobaciones, como la prevención de ataques DOS, las transacciones negativas y las transacciones que superan los límites de gas. La composición básica del grupo de transacciones se puede dividir en: cola + pendiente (que forma todas las transacciones). Después de pasar las comprobaciones de legalidad, se realizan más comprobaciones, incluida la comprobación de si la cola de transacciones ha alcanzado su límite y, a continuación, la determinación de si las transacciones remotas (es decir, las transacciones no locales) son las más bajas del grupo de transacciones para sustituir a la transacción de menor precio. Para reemplazar transacciones ejecutables, de forma predeterminada, solo las transacciones con una tarifa aumentada en un 10% pueden reemplazar las transacciones en espera de ejecutarse y se almacenan como transacciones no ejecutables. Además, durante el mantenimiento del grupo de transacciones, se eliminan las transacciones no válidas y que superan el límite, y se reemplazan las transacciones aptas.
La primera teoría de consenso de Ethereum se basaba en el cálculo del hash del valor de dificultad, lo que significa que el valor hash de un bloque debía calcularse para cumplir con el valor de dificultad objetivo para que el bloque se considerara válido. Dado que el algoritmo de consenso de Ethereum ha pasado de Proof of Work (POW) a Proof of Stake (POS), aquí se omite la discusión sobre las teorías relacionadas con la minería. A continuación, se presenta una breve descripción general del algoritmo POS: Ethereum completó la fusión de Beacon Chain en septiembre de 2022, implementando el algoritmo POS. En concreto, en Ethereum basado en POS, el tiempo de bloque se estabiliza en 12 segundos. Los usuarios apuestan su Ether para obtener el derecho a convertirse en validadores. Un grupo de validadores se selecciona aleatoriamente entre los que participan en el staking. En cada ciclo que consta de 32 ranuras, se selecciona un validador como proponente para cada ranura para crear bloques, mientras que los validadores restantes para esa ranura actúan como un comité para verificar la legalidad del bloque del proponente y emitir juicios sobre la legalidad de los bloques del ciclo anterior. El algoritmo POS estabiliza y aumenta significativamente la velocidad de producción de bloques, al tiempo que reduce en gran medida el desperdicio de recursos computacionales.
Ethereum hereda el estándar de algoritmo de firma de Bitcoin, adoptando también la curva secp256k1. El algoritmo de firma específico que utiliza es ECDSA, lo que significa que el cálculo de la firma se basa en el hash del mensaje original. La composición de toda la firma se puede ver simplemente como R+S+V. Cada cálculo introduce correspondientemente un número aleatorio, donde R+S son las salidas originales de ECDSA. El último campo, V, conocido como campo de recuperación, indica el número de búsquedas necesarias para recuperar correctamente la clave pública del contenido y la firma, ya que puede haber varios puntos de coordenadas en la curva elíptica que cumplan los requisitos basados en el valor R.
Todo el proceso se puede organizar de la siguiente manera: los datos de la transacción y la información relacionada con el firmante se cifran después de la codificación RLP, y la firma final se puede obtener a través de la firma ECDSA con una clave privada, donde la curva utilizada en ECDSA es la curva elíptica secp256k1. Por último, al combinar los datos de la firma con los datos de la transacción, se pueden obtener y difundir los datos de la transacción firmada.
La estructura de datos de Ethereum se basa no solo en la tecnología blockchain tradicional, sino que también introduce el árbol Merkle Patricia, también conocido como Merkle Trie, para almacenar y verificar de manera eficiente grandes cantidades de datos. El MPT combina la función hash criptográfica de un árbol de Merkle con la función de compresión de ruta de claves de un árbol Patricia, lo que proporciona una solución que garantiza la integridad de los datos y admite una búsqueda rápida.
En Ethereum, el MPT se utiliza para almacenar todos los datos de estado y transacción, lo que garantiza que cualquier cambio en los datos se refleje en el hash raíz del árbol. Esto significa que al verificar el hash raíz, se puede demostrar la integridad y precisión de los datos sin inspeccionar toda la base de datos. El MPT consta de cuatro tipos de nodos: nodos hoja, nodos de extensión, nodos de rama y nodos nulos, que juntos forman un árbol capaz de adaptarse a los cambios dinámicos de datos. Con cada actualización de datos, el MPT refleja estos cambios añadiendo, eliminando o modificando nodos y actualizando el hash raíz del árbol. Dado que cada nodo está encriptado a través de una función hash, cualquier cambio menor en los datos dará como resultado un cambio significativo en el hash raíz, lo que garantiza la seguridad y la coherencia de los datos. Además, el diseño del MPT admite la verificación de "cliente ligero", lo que permite a los nodos verificar la existencia o el estado de información específica almacenando solo el hash raíz del árbol y los nodos de ruta necesarios, lo que reduce significativamente los requisitos de almacenamiento y procesamiento de datos.
A través del MPT, Ethereum no solo logra una gestión eficiente y un acceso rápido a los datos, sino que también garantiza la seguridad y descentralización de la red, apoyando la operación y el desarrollo de toda la red Ethereum.
La arquitectura central de Ethereum integra el concepto de una máquina de estado, en la que la máquina virtual de Ethereum (EVM) sirve como entorno de ejecución para ejecutar todo el código de contrato inteligente, y Ethereum en sí puede verse como un sistema de transición de estado compartido globalmente. La ejecución de cada bloque se puede ver como un proceso de transición de estado, pasando de un estado compartido globalmente a otro. Este diseño no solo garantiza la coherencia y la descentralización de la red Ethereum, sino que también hace que los resultados de la ejecución de los contratos inteligentes sean predecibles y a prueba de manipulaciones.
En Ethereum, el estado se refiere a la información actual de todas las cuentas, incluido el saldo de cada cuenta, los datos almacenados y el código del contrato inteligente. Cada vez que se produce una transacción, la EVM calcula y transiciona el estado en función del contenido de la transacción, un proceso registrado de manera eficiente y segura a través del árbol de Merkle Patricia (MPT). Cada transición de estado no solo cambia los datos de la cuenta, sino que también conduce a una actualización del MPT, lo que se refleja en el cambio del valor hash raíz del árbol.
La relación entre la EVM y la MPT es crucial porque la MPT garantiza la integridad de los datos para las transiciones de estado de Ethereum. Cuando la EVM ejecuta transacciones y cambia los estados de la cuenta, los nodos MPT relacionados se actualizan para reflejar estos cambios. Dado que cada nodo del MPT está vinculado por hashes, cualquier modificación del estado provocará un cambio en el hash raíz, que luego se incluye en un nuevo bloque, lo que garantiza la coherencia y la seguridad de todo el estado de Ethereum. A continuación, presentamos la máquina virtual EVM.
La máquina virtual EVM es fundamental para la construcción de Ethereum, ya que permite la ejecución de contratos inteligentes y las transiciones de estado. Gracias a la EVM, Ethereum puede ser realmente imaginado como una computadora mundial. La EVM es Turing completa, lo que significa que los contratos inteligentes en Ethereum pueden realizar cálculos lógicos arbitrariamente complejos, mientras que la introducción del mecanismo de gas evita con éxito bucles infinitos dentro de los contratos, lo que garantiza la estabilidad y seguridad de la red. Desde una perspectiva técnica más profunda, la EVM es una máquina virtual basada en pila que ejecuta contratos inteligentes utilizando código de bytes específico de Ethereum. Los desarrolladores suelen utilizar lenguajes de alto nivel, como Solidity, para escribir contratos inteligentes, que luego se compilan en código de bytes comprensible para la EVM para su ejecución. La EVM es clave para la capacidad de innovación de la cadena de bloques de Ethereum, ya que no solo respalda el funcionamiento de los contratos inteligentes, sino que también proporciona una base sólida para el desarrollo de aplicaciones descentralizadas. A través de EVM, Ethereum está dando forma a un futuro digital descentralizado, seguro y abierto.
Figura 1 Reseña histórica de Ethereum
Los contratos inteligentes son programas informáticos que se ejecutan en la cadena de bloques de Ethereum. Permiten a los desarrolladores crear e implementar diversas aplicaciones, incluidas, entre otras, aplicaciones de préstamos, intercambios descentralizados, seguros, financiación secundaria, redes sociales y NFT. La seguridad de los contratos inteligentes es crucial para estas aplicaciones, ya que manejan y controlan directamente las criptomonedas. Cualquier vulnerabilidad en los contratos inteligentes o ataques maliciosos puede suponer una amenaza directa para la seguridad de los fondos, lo que puede provocar importantes pérdidas financieras. Por ejemplo, el 26 de febrero de 2024, el protocolo de préstamos DeFi Blueberry Protocol fue atacado debido a una falla en la lógica de los contratos inteligentes, lo que resultó en una pérdida de aproximadamente USD 1,400,000.
Las vulnerabilidades de los contratos inteligentes son multifacéticas y abarcan una lógica empresarial irrazonable, un control de acceso inadecuado, una validación de datos inadecuada, ataques de reentrada y ataques de denegación de servicio, entre otros. Estas vulnerabilidades pueden provocar problemas en la ejecución de los contratos, lo que afecta al funcionamiento eficaz de los contratos inteligentes. Por ejemplo, los ataques DOS implican que los atacantes envíen un gran volumen de transacciones para agotar los recursos de la red, lo que impide que las transacciones normales de los usuarios se procesen de manera oportuna. Esta degradación en la experiencia del usuario también puede conducir a un aumento de las tarifas de gas de transacción, ya que los usuarios pueden tener que pagar tarifas más altas para priorizar sus transacciones en una red congestionada.
Además, los usuarios de Ethereum también se enfrentan a riesgos de inversión, ya que la seguridad de los fondos está amenazada. Por ejemplo, las "shitcoins" son criptomonedas que se considera que tienen poco o ningún valor o potencial de crecimiento a largo plazo. Las shitcoins se utilizan a menudo como herramientas para estafas o para esquemas de bombeo y descarga. El riesgo de inversión asociado con las shitcoins es alto, lo que puede conducir a pérdidas financieras significativas. Debido a su bajo precio y capitalización bursátil, son muy susceptibles a la manipulación y la volatilidad. Estas criptomonedas se utilizan comúnmente en esquemas de bombeo y descarga y estafas de honey pot, donde los inversores son atraídos por proyectos falsos y luego les roban sus fondos. Otro riesgo común asociado con las shitcoins es el "rug pull", donde los creadores eliminan repentinamente toda la liquidez de un proyecto, lo que hace que el valor del token se desplome. Estas estafas a menudo se comercializan a través de asociaciones y respaldos falsos, y una vez que aumenta el precio del token, los estafadores venden sus tokens, obtienen ganancias y desaparecen, dejando a los inversores con tokens sin valor. Además, invertir en shitcoins puede desviar la atención y los recursos de las criptomonedas legítimas con aplicaciones reales y potencial de crecimiento.
Además de las shitcoins, las "monedas aéreas" y las "monedas piramidales" también son métodos para obtener ganancias rápidas. Para los usuarios que carecen de conocimientos y experiencia profesionales, distinguirlas de las criptomonedas legítimas es particularmente difícil.
Dos indicadores muy directos para evaluar la eficiencia de Ethereum son la velocidad de transacción y las tarifas de gas. La velocidad de transacción se refiere a la cantidad de transacciones que la red Ethereum puede procesar dentro de una unidad de tiempo. Esta métrica refleja directamente la capacidad de procesamiento de la red Ethereum, donde una velocidad más rápida indica una mayor eficiencia. Cada transacción en Ethereum requiere una cierta cantidad de tarifas de gas, que compensan a los mineros por la verificación de la transacción. Las tarifas de gas más bajas indican una mayor eficiencia en Ethereum.
Una disminución en la velocidad de las transacciones conduce a un aumento en las tarifas de gas. Generalmente, cuando la velocidad de procesamiento de las transacciones disminuye, debido al espacio limitado del bloque, la competencia entre las transacciones para entrar en el siguiente bloque puede aumentar. Para destacar en esta competencia, los traders suelen aumentar las tarifas de gas, ya que los mineros tienden a priorizar las transacciones con tarifas de gas más altas durante la verificación. Por lo tanto, las tarifas de gas más altas pueden degradar la experiencia del usuario.
Las transacciones son solo las actividades básicas en Ethereum. Dentro de este ecosistema, los usuarios también pueden participar en diversas actividades como préstamos, apuestas, inversiones, seguros, etc., todo lo cual se puede hacer a través de DApps específicas. Sin embargo, dada la gran variedad de DApps y la falta de servicios de recomendación personalizados similares a los de las industrias tradicionales, los usuarios pueden encontrar confusos elegir las aplicaciones y productos adecuados para ellos. Esta situación puede conducir a una disminución en la satisfacción del usuario, afectando así la eficiencia general del ecosistema Ethereum.
Tomemos como ejemplo los préstamos. Algunas plataformas de préstamos DeFi utilizan un mecanismo de sobrecolateralización para mantener la seguridad y estabilidad de su plataforma. Esto significa que los prestatarios deben poner más activos como garantía, que no se pueden utilizar para otras actividades durante el período del préstamo. Esto conduce a una disminución en la tasa de utilización del capital de los prestatarios, lo que reduce la liquidez del mercado.
Los modelos de aprendizaje automático, como el modelo RFM, las redes generativas adversarias (GAN), los modelos de árbol de decisión, el algoritmo K-Nearest Neighbors (KNN) y el algoritmo de agrupación DBSCAN, están desempeñando un papel importante en Ethereum. La aplicación de estos modelos de aprendizaje automático dentro de Ethereum puede ayudar a optimizar la eficiencia del procesamiento de transacciones, mejorar la seguridad de los contratos inteligentes, implementar la segmentación de usuarios para brindar servicios más personalizados y contribuir al funcionamiento estable de la red.
Los algoritmos de aprendizaje automático son un conjunto de instrucciones o reglas que se utilizan para analizar datos, aprender patrones dentro de los datos y hacer predicciones o decisiones basadas en estos aprendizajes. Mejoran automáticamente a través del aprendizaje de los datos proporcionados, sin necesidad de programación explícita por parte de los humanos. Los modelos de aprendizaje automático, como el modelo RFM, las redes generativas adversarias (GAN), los modelos de árbol de decisión, el algoritmo K-Nearest Neighbors (KNN) y el algoritmo de agrupación DBSCAN, están desempeñando un papel importante en Ethereum. La aplicación de estos modelos de aprendizaje automático en Ethereum puede ayudar a optimizar la eficiencia del procesamiento de transacciones, mejorar la seguridad de los contratos inteligentes, implementar la segmentación de usuarios para brindar servicios más personalizados y contribuir al funcionamiento estable de la red.
Los clasificadores bayesianos se encuentran entre los diversos métodos de clasificación estadística destinados a minimizar la probabilidad de errores de clasificación o minimizar el riesgo promedio bajo un marco de costos específico. Su filosofía de diseño está profundamente arraigada en el teorema bayesiano, que permite calcular la probabilidad de que un objeto pertenezca a una determinada clase, dadas algunas características conocidas. Al calcular la probabilidad posterior del objeto, se toman decisiones. Específicamente, los clasificadores bayesianos primero consideran la probabilidad previa del objeto y luego aplican la fórmula bayesiana para tener en cuenta los datos observados, actualizando así la creencia sobre la clasificación del objeto. Entre todas las clasificaciones posibles, los clasificadores bayesianos eligen la categoría con mayor probabilidad posterior para el objeto. La principal ventaja de este método radica en su capacidad natural para manejar la incertidumbre y la información incompleta, lo que lo convierte en una herramienta potente y flexible adecuada para una amplia gama de aplicaciones.
Como se ilustra en la Figura 2, en el aprendizaje automático supervisado, las decisiones de clasificación se toman utilizando datos y modelos de probabilidad basados en el teorema bayesiano. Utilizando la probabilidad, las probabilidades previas de categorías y características, los clasificadores bayesianos calculan las probabilidades posteriores de cada categoría para los puntos de datos y asignan los puntos de datos a la categoría con la probabilidad posterior más alta. En el diagrama de dispersión de la derecha, el clasificador intenta encontrar una curva que separe mejor los puntos de diferentes colores, minimizando así los errores de clasificación.
Figura 2 Clasificador bayesiano
Los algoritmos de árbol de decisión se utilizan comúnmente para tareas de clasificación y regresión, adoptando un enfoque jerárquico de toma de decisiones. Generan árboles dividiendo en entidades con alta ganancia de información basada en datos conocidos, entrenando así un árbol de decisión. En esencia, el algoritmo puede aprender por sí mismo una regla de toma de decisiones a partir de los datos para determinar los valores de las variables. Específicamente, simplifica los procesos complejos de toma de decisiones en varias subdecisiones más simples. Cada decisión más simple se deriva de un criterio de decisión principal, formando una estructura similar a un árbol.
Como se muestra en la Figura 3, cada nodo representa una decisión, definiendo un criterio para juzgar un determinado atributo, mientras que las ramas representan los resultados de la decisión. Cada nodo hoja representa el resultado final y la categoría previstos. Desde una perspectiva estructural, el modelo de árbol de decisión es intuitivo, fácil de entender y tiene un fuerte poder explicativo.
image 3 Modelo de árbol de decisión
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) es un algoritmo de clustering espacial basado en la densidad que es particularmente efectivo para conjuntos de datos con ruido y para identificar clústeres de cualquier forma sin la necesidad de especificar el número de clústeres de antemano. Tiene un rendimiento sólido frente a los valores atípicos del conjunto de datos. El algoritmo puede identificar eficazmente los valores atípicos, definidos como puntos en áreas de baja densidad, como se ilustra en la Figura 4.
Figura 4 Identificación de ruido con el algoritmo DBSCAN
El algoritmo K-Nearest Neighbors (KNN) se puede utilizar tanto para tareas de clasificación como de regresión. En la clasificación, la categoría de un artículo a clasificar se determina a través de un mecanismo de votación; En regresión, predice calculando el promedio o promedio ponderado de las k muestras más cercanas.
Como se muestra en la Figura 5, el principio de funcionamiento del algoritmo KNN en la clasificación es encontrar los k vecinos más cercanos de un nuevo punto de datos y predecir la categoría del nuevo punto de datos en función de las categorías de estos vecinos. Si K = 1, el nuevo punto de datos simplemente se asigna a la categoría de su vecino más cercano. Si es K>1, la categoría generalmente se determina por mayoría de votos, lo que significa que el nuevo punto de datos se asigna a la categoría más común entre sus vecinos. Cuando se usa en regresión, el principio sigue siendo el mismo, pero el resultado es el promedio de las salidas de las k muestras más cercanas.
Figura 5 Algoritmo KNN utilizado para la clasificación
La inteligencia artificial generativa (IA) es un tipo de tecnología de IA que puede generar nuevos contenidos (como texto, imágenes, música, etc.) en función de los requisitos de entrada. Su base se encuentra en los avances en el aprendizaje automático y el aprendizaje profundo, particularmente en aplicaciones dentro de los campos del procesamiento del lenguaje natural y el reconocimiento de imágenes. La IA generativa aprende patrones y asociaciones a partir de una gran cantidad de datos y luego genera resultados completamente nuevos basados en esta información aprendida. La clave de la inteligencia artificial generativa radica en el entrenamiento de modelos, que requiere datos de alta calidad para el aprendizaje y el entrenamiento. Durante este proceso, el modelo mejora gradualmente su capacidad para generar contenido nuevo mediante el análisis y la comprensión de la estructura, los patrones y las relaciones dentro del conjunto de datos.
El Transformer, como piedra angular de la inteligencia artificial generativa, ha introducido el mecanismo de atención de una manera innovadora. Esto permite que el procesamiento de la información se centre en los puntos clave y, al mismo tiempo, adopte una visión global, una capacidad única que ha hecho que el Transformer brille en el dominio de la generación de texto. El uso de los últimos modelos de lenguaje natural, como GPT (Generative Pre-trained Transformer), para comprender los requisitos del usuario expresados en lenguaje natural y convertirlos automáticamente en código ejecutable puede reducir la complejidad del desarrollo y mejorar significativamente la eficiencia.
Como se muestra en la Figura 6, la introducción del mecanismo de atención multicabezal y el mecanismo de autoatención, combinados con conexiones residuales y redes neuronales totalmente conectadas, y aprovechando las tecnologías de incrustación de palabras anteriores, ha elevado en gran medida el rendimiento de los modelos generativos relacionados con el procesamiento del lenguaje natural.
Figura 6 Modelo de transformador
El modelo RFM es un modelo de análisis basado en el comportamiento de compra de los clientes, que puede identificar diferentes grupos de clientes de valor mediante el análisis de su comportamiento transaccional. Este modelo puntúa y clasifica a los clientes en función de su tiempo de compra más reciente (Recencia, R), la frecuencia de las compras (Frecuencia, F) y la cantidad gastada (Valor monetario, M).
Como se ilustra en la Figura 7, estos tres indicadores forman el núcleo del modelo RFM. El modelo puntúa a los clientes en estas tres dimensiones y los ordena en función de las puntuaciones para identificar los grupos de clientes más valiosos. Además, este modelo segmenta eficazmente a los clientes en diferentes grupos, facilitando la funcionalidad de la estratificación de clientes.
Figura 7 Modelo de capas RFM
Al aplicar la tecnología de aprendizaje automático para abordar los desafíos de seguridad de Ethereum, realizamos una investigación desde cuatro aspectos principales:
Aplicaciones potenciales
Al abordar los desafíos de seguridad de Ethereum a través de técnicas de aprendizaje automático, hemos realizado investigaciones desde cuatro aspectos principales:
Identificación y filtrado de transacciones maliciosas basadas en clasificador bayesiano**
Al crear un clasificador bayesiano, se pueden identificar y filtrar las posibles transacciones de spam, incluidas, entre otras, las que causan ataques DOS a través de grandes volúmenes de transacciones pequeñas y frecuentes. Este método mantiene eficazmente la salud de la red mediante el análisis de las características de las transacciones, como los precios del gas y la frecuencia de las transacciones, lo que garantiza el funcionamiento estable de la red Ethereum.
Generación de código de contrato inteligente seguro y específico que satisfaga los requisitos**
Las redes generativas adversarias (GAN) y las redes generativas basadas en transformadores se pueden utilizar para generar código de contrato inteligente que cumpla con requisitos específicos y, al mismo tiempo, garantice la seguridad del código tanto como sea posible. Sin embargo, estos dos enfoques difieren en los tipos de datos en los que se basan para el entrenamiento del modelo: el primero depende principalmente de muestras de código no seguras, mientras que el segundo se basa en lo contrario.
Al capacitar a las GAN para que aprendan los patrones de contratos seguros existentes y construyan modelos autoadversarios para generar código potencialmente inseguro, y luego aprendan a identificar estas inseguridades, es posible generar automáticamente código de contrato inteligente más seguro y de alta calidad. Utilizando modelos de redes generativas basados en transformadores, aprendiendo de una amplia gama de ejemplos de contratos seguros, es factible generar códigos de contrato que satisfagan necesidades específicas y optimicen el consumo de gas, mejorando sin duda la eficiencia y la seguridad del desarrollo de contratos inteligentes.
Análisis de Riesgos de Contratos Inteligentes Basado en Árboles de Decisión**
El uso de árboles de decisión para analizar las características de los contratos inteligentes, como la frecuencia de las llamadas a funciones, el valor de las transacciones y la complejidad del código fuente, puede identificar eficazmente los niveles de riesgo potenciales de los contratos. El análisis de los patrones operativos y la estructura del código de los contratos puede predecir posibles vulnerabilidades y puntos de riesgo, proporcionando a los desarrolladores y usuarios una evaluación de seguridad. Se espera que este método mejore significativamente la seguridad de los contratos inteligentes dentro del ecosistema Ethereum, reduciendo así las pérdidas causadas por vulnerabilidades o código malicioso.
Creación de un modelo de evaluación de criptomonedas para reducir los riesgos de inversión**
Al analizar los datos comerciales, la actividad en las redes sociales y el rendimiento del mercado de las criptomonedas a través de algoritmos de aprendizaje automático, es posible construir un modelo de evaluación que pueda predecir la probabilidad de que una criptomoneda sea una "moneda basura". Este modelo puede ofrecer información valiosa a los inversores, ayudándoles a evitar riesgos de inversión y, por lo tanto, promoviendo el desarrollo saludable del mercado de criptomonedas.
Además, la aplicación del aprendizaje automático también tiene el potencial de mejorar aún más la eficiencia de Ethereum. Podemos explorar esto desde las siguientes tres dimensiones clave:
La aplicación de árboles de decisión en la optimización del modelo de cola del grupo de transacciones
El uso de árboles de decisión puede optimizar eficazmente el mecanismo de cola del grupo de transacciones de Ethereum. Al analizar las características de las transacciones, como los precios del gas y el tamaño de las transacciones, los árboles de decisión pueden optimizar la selección y el orden de las transacciones. Este método puede mejorar significativamente la eficiencia del procesamiento de transacciones, reducir efectivamente la congestión de la red y reducir el tiempo de espera de los usuarios para las transacciones.
El modelo RFM (Recency, Frequency, Monetary value), una herramienta ampliamente utilizada en la gestión de las relaciones con los clientes, puede segmentar eficazmente a los usuarios mediante la evaluación de su tiempo de transacción más reciente (Recency), la frecuencia de las transacciones (Frequency) y el importe de las transacciones (Monetary value). La aplicación del modelo RFM en la plataforma Ethereum puede ayudar a identificar grupos de usuarios de alto valor, optimizar la asignación de recursos y proporcionar servicios más personalizados, aumentando así la satisfacción del usuario y la eficiencia general de la plataforma. El modelo RFM (Recency, Frequency, Monetary value), una herramienta ampliamente utilizada en la gestión de las relaciones con los clientes, puede segmentar eficazmente a los usuarios mediante la evaluación de su tiempo de transacción más reciente (Recency), la frecuencia de las transacciones (Frequency) y el importe de las transacciones (Monetary value). La aplicación del modelo RFM en la plataforma Ethereum puede ayudar a identificar grupos de usuarios de alto valor, optimizar la asignación de recursos y proporcionar servicios más personalizados, aumentando así la satisfacción del usuario y la eficiencia general de la plataforma.
El algoritmo DBSCAN también puede analizar el comportamiento de las transacciones de los usuarios, lo que ayuda a identificar diferentes grupos de usuarios en Ethereum y, además, proporcionar servicios financieros más personalizados a diferentes usuarios. Esta estrategia de segmentación de usuarios puede optimizar las estrategias de marketing, mejorar la satisfacción del cliente y la eficiencia del servicio.
El algoritmo K-Nearest Neighbors (KNN) puede calificar el crédito de los usuarios analizando su historial de transacciones y patrones de comportamiento en Ethereum, que juega un papel extremadamente importante en actividades financieras como los préstamos. La calificación crediticia ayuda a las instituciones financieras y a las plataformas de préstamos a evaluar la capacidad de pago y el riesgo crediticio de los prestatarios, tomando decisiones de préstamo más precisas. Esto puede evitar un endeudamiento excesivo y mejorar la liquidez del mercado.
Desde la perspectiva de la asignación de capital macro, Ethereum, como la computadora distribuida más grande del mundo, nunca puede invertirse demasiado en la capa de infraestructura, necesitando atraer a más desarrolladores de diversos orígenes para participar en la construcción conjunta. En este artículo, al analizar la implementación técnica de Ethereum y los problemas a los que se enfrenta, prevemos una serie de aplicaciones intuitivas del aprendizaje automático y esperamos que los desarrolladores de IA de la comunidad conviertan estas visiones en valor real.
A medida que la potencia de cálculo on-chain aumenta gradualmente, podemos prever que se desarrollen modelos más complejos para la gestión de la red, la supervisión de transacciones, la auditoría de seguridad, etc., mejorando la eficiencia y la seguridad de la red Ethereum.
Además, los mecanismos de gobernanza impulsados por IA/agentes también podrían convertirse en una innovación significativa en el ecosistema de Ethereum. Este mecanismo, que aporta procesos de toma de decisiones más eficientes, transparentes y automatizados, podría proporcionar a Ethereum una estructura de gobernanza más flexible y fiable. Estos desarrollos futuros no solo promoverán la innovación en la tecnología Ethereum, sino que también brindarán a los usuarios una experiencia on-chain de mayor calidad.
Пригласить больше голосов
Reenviar el título original:另一个角度看「AI+Blockchain」:AI 如何革新以太坊?
Durante el año pasado, a medida que la IA generativa destrozó repetidamente las expectativas del público, la ola de la revolución de la productividad de la IA se extendió por la comunidad de criptomonedas. Hemos visto muchos proyectos con temática de IA en el mercado secundario crear leyendas de riqueza y, cada vez más, los desarrolladores han comenzado a desarrollar sus propios proyectos de "IA + Crypto". Sin embargo, si se examina más de cerca, es evidente que estos proyectos están altamente homogeneizados y la mayoría solo tienen como objetivo mejorar las "relaciones de producción", como la organización de la potencia informática a través de redes descentralizadas o la creación de "caras de abrazo descentralizadas". Pocos proyectos intentan integrarse e innovar realmente en el núcleo técnico. Creemos que esto se debe a un "sesgo de dominio" entre los campos de la IA y la cadena de bloques. A pesar de su amplia intersección, pocos tienen un conocimiento profundo de ambas áreas. Por ejemplo, a los desarrolladores de IA les puede resultar difícil comprender las implementaciones técnicas y la infraestructura histórica de Ethereum, lo que dificulta la propuesta de soluciones de optimización en profundidad.
Tomando como ejemplo el aprendizaje automático (ML), la rama más básica de la IA, es una tecnología que permite a las máquinas tomar decisiones a través de datos sin instrucciones de programación explícitas. El aprendizaje automático ha demostrado un enorme potencial en el análisis de datos y el reconocimiento de patrones, y se ha convertido en algo habitual en la web2. Sin embargo, debido a las limitaciones de la era en sus inicios, incluso a la vanguardia de la innovación de la tecnología blockchain como Ethereum, su arquitectura, red y mecanismos de gobernanza aún no han aprovechado el aprendizaje automático como una herramienta eficaz para resolver problemas complejos.
"Las grandes innovaciones a menudo surgen en la intersección de campos". Nuestra intención principal al escribir este artículo es ayudar a los desarrolladores de IA a comprender mejor el mundo de la cadena de bloques y, al mismo tiempo, proporcionar nuevas ideas para los desarrolladores de la comunidad Ethereum. En el artículo, primero presentamos la implementación técnica de Ethereum y luego proponemos aplicar el aprendizaje automático, un algoritmo de IA fundamental, a la red Ethereum para mejorar su seguridad, eficiencia y escalabilidad. Esperamos que este caso sirva como punto de partida para ofrecer perspectivas únicas y estimular más combinaciones innovadoras de "IA+Blockchain" dentro del ecosistema de desarrolladores.
En esencia, la cadena de bloques es una cadena que une bloques entre sí, y la distinción entre cadenas se encuentra principalmente en la configuración de la cadena. Esta configuración es una parte esencial de la génesis de una cadena de bloques, la fase inicial de cualquier cadena de bloques. En el caso de Ethereum, la configuración de la cadena diferencia entre varias cadenas de Ethereum e identifica protocolos de actualización importantes y eventos históricos. Por ejemplo, DAOForkBlock marca la altura de la bifurcación dura después del ataque DAO, mientras que ConstantinopleBlock indica la altura del bloque en la que se produjo la actualización de Constantinopla. Para actualizaciones más grandes que abarcan numerosas propuestas de mejora, se establecen campos especiales para denotar las alturas de bloque correspondientes. Además, Ethereum abarca una variedad de redes de prueba y la red principal, cada una identificada de forma única por un ChainID, que delinea su ecosistema de red.
El bloque génesis, al ser el primer bloque de toda la cadena de bloques, es referenciado directa o indirectamente por otros bloques. Por lo tanto, es crucial que los nodos carguen la información correcta del bloque génesis al inicio sin ninguna alteración. Esta configuración de bloque génesis incluye la configuración de cadena mencionada anteriormente, junto con información adicional como recompensas mineras, marcas de tiempo, dificultad y límites de gas. En particular, Ethereum ha pasado de ser un mecanismo de consenso de minería proof-of-work a proof-of-stake.
Las cuentas de Ethereum se clasifican en cuentas externas y cuentas de contrato. Las cuentas externas se controlan únicamente mediante una clave privada, mientras que las cuentas de contrato, que carecen de claves privadas, solo se pueden operar mediante la ejecución del código de contrato por parte de cuentas externas. Ambos tipos de cuenta poseen una dirección única. El "estado mundial" de Ethereum es un árbol de cuentas, en el que cada cuenta corresponde a un nodo hoja que almacena el estado de la cuenta, incluida diversa información de cuenta y código.
Ethereum, como plataforma descentralizada, facilita fundamentalmente las transacciones y los contratos. Ethereum bloquea las transacciones de paquetes junto con información adicional. Específicamente, un bloque se divide en un encabezado de bloque y un cuerpo de bloque. El encabezado del bloque contiene evidencia que vincula todos los bloques en una cadena, entendida como el hash del bloque anterior, junto con la raíz del estado, la raíz de la transacción, la raíz del recibo y otros datos como la dificultad y el nonce, que significan el estado de todo el mundo de Ethereum. El cuerpo del bloque alberga una lista de transacciones y una lista de encabezados de bloque tío (aunque, con el cambio de Ethereum a la prueba de participación, las referencias al bloque tío han cesado).
Los recibos de transacción proporcionan los resultados e información adicional posterior a la ejecución de la transacción, ofreciendo información que no se puede obtener directamente de las propias transacciones. Estos detalles incluyen el contenido de consenso, la información de la transacción y la información del bloque, que indica si la transacción se realizó correctamente, junto con los registros de transacciones y el gasto de gas. El análisis de la información en los recibos ayuda a depurar el código del contrato inteligente y a optimizar el uso del gas, sirviendo como confirmación de que la transacción ha sido procesada por la red y permitiendo el examen de los resultados y el impacto de la transacción.
En Ethereum, las tarifas de gas se pueden simplificar como tarifas de transacción requeridas para operaciones como el envío de tokens, la ejecución de contratos, la transferencia de ether u otras actividades en el bloque. Estas operaciones requieren tarifas de gas porque la máquina virtual Ethereum debe calcular y utilizar los recursos de la red para procesar la transacción, lo que requiere el pago de estos servicios computacionales. En última instancia, el costo del combustible, o tarifa de transacción, se paga a los mineros, calculado mediante la fórmula Tarifa = Gas Usado * Precio del gas, donde el precio del gas es establecido por el iniciador de la transacción. La cantidad influye en gran medida en la velocidad de procesamiento de las transacciones en la cadena. Si se establece en un nivel demasiado bajo, es posible que las transacciones no se ejecuten. Además, es crucial establecer un límite de gas para evitar un consumo imprevisto de gas debido a errores en los contratos.
En Ethereum, existe una gran cantidad de transacciones. En comparación con los sistemas centralizados, la tasa de procesamiento de transacciones por segundo de los sistemas descentralizados es significativamente menor. Debido a la afluencia de transacciones en los nodos, los nodos deben mantener un grupo de transacciones para administrar correctamente estas transacciones. La transmisión de transacciones se realiza a través de una red peer-to-peer (P2P), donde un nodo transmite transacciones ejecutables a sus nodos vecinos, que a su vez transmiten la transacción a sus vecinos. A través de este proceso, una transacción puede extenderse por toda la red Ethereum en 6 segundos.
Las transacciones del grupo de transacciones se dividen en transacciones ejecutables y no ejecutables. Las transacciones ejecutables tienen mayor prioridad y se ejecutan e incluyen en bloques, mientras que todas las transacciones recién ingresadas en el grupo no son ejecutables y solo más tarde pueden convertirse en ejecutables. Las transacciones ejecutables y no ejecutables se registran respectivamente en los contenedores "pendiente" y "en cola".
Además, el grupo de transacciones mantiene una lista de transacciones locales, que tienen varias ventajas: tienen una prioridad más alta, no se ven afectadas por los límites de volumen de transacciones y se pueden volver a cargar inmediatamente en el grupo de transacciones al reiniciar el nodo. El almacenamiento de persistencia local de las transacciones locales se logra mediante el uso de un diario (para recargar al reiniciar el nodo), con el objetivo de no perder transacciones locales inacabadas, y se actualiza periódicamente.
Antes de ponerse en cola, las transacciones se someten a comprobaciones de legalidad, que incluyen varios tipos de comprobaciones, como la prevención de ataques DOS, las transacciones negativas y las transacciones que superan los límites de gas. La composición básica del grupo de transacciones se puede dividir en: cola + pendiente (que forma todas las transacciones). Después de pasar las comprobaciones de legalidad, se realizan más comprobaciones, incluida la comprobación de si la cola de transacciones ha alcanzado su límite y, a continuación, la determinación de si las transacciones remotas (es decir, las transacciones no locales) son las más bajas del grupo de transacciones para sustituir a la transacción de menor precio. Para reemplazar transacciones ejecutables, de forma predeterminada, solo las transacciones con una tarifa aumentada en un 10% pueden reemplazar las transacciones en espera de ejecutarse y se almacenan como transacciones no ejecutables. Además, durante el mantenimiento del grupo de transacciones, se eliminan las transacciones no válidas y que superan el límite, y se reemplazan las transacciones aptas.
La primera teoría de consenso de Ethereum se basaba en el cálculo del hash del valor de dificultad, lo que significa que el valor hash de un bloque debía calcularse para cumplir con el valor de dificultad objetivo para que el bloque se considerara válido. Dado que el algoritmo de consenso de Ethereum ha pasado de Proof of Work (POW) a Proof of Stake (POS), aquí se omite la discusión sobre las teorías relacionadas con la minería. A continuación, se presenta una breve descripción general del algoritmo POS: Ethereum completó la fusión de Beacon Chain en septiembre de 2022, implementando el algoritmo POS. En concreto, en Ethereum basado en POS, el tiempo de bloque se estabiliza en 12 segundos. Los usuarios apuestan su Ether para obtener el derecho a convertirse en validadores. Un grupo de validadores se selecciona aleatoriamente entre los que participan en el staking. En cada ciclo que consta de 32 ranuras, se selecciona un validador como proponente para cada ranura para crear bloques, mientras que los validadores restantes para esa ranura actúan como un comité para verificar la legalidad del bloque del proponente y emitir juicios sobre la legalidad de los bloques del ciclo anterior. El algoritmo POS estabiliza y aumenta significativamente la velocidad de producción de bloques, al tiempo que reduce en gran medida el desperdicio de recursos computacionales.
Ethereum hereda el estándar de algoritmo de firma de Bitcoin, adoptando también la curva secp256k1. El algoritmo de firma específico que utiliza es ECDSA, lo que significa que el cálculo de la firma se basa en el hash del mensaje original. La composición de toda la firma se puede ver simplemente como R+S+V. Cada cálculo introduce correspondientemente un número aleatorio, donde R+S son las salidas originales de ECDSA. El último campo, V, conocido como campo de recuperación, indica el número de búsquedas necesarias para recuperar correctamente la clave pública del contenido y la firma, ya que puede haber varios puntos de coordenadas en la curva elíptica que cumplan los requisitos basados en el valor R.
Todo el proceso se puede organizar de la siguiente manera: los datos de la transacción y la información relacionada con el firmante se cifran después de la codificación RLP, y la firma final se puede obtener a través de la firma ECDSA con una clave privada, donde la curva utilizada en ECDSA es la curva elíptica secp256k1. Por último, al combinar los datos de la firma con los datos de la transacción, se pueden obtener y difundir los datos de la transacción firmada.
La estructura de datos de Ethereum se basa no solo en la tecnología blockchain tradicional, sino que también introduce el árbol Merkle Patricia, también conocido como Merkle Trie, para almacenar y verificar de manera eficiente grandes cantidades de datos. El MPT combina la función hash criptográfica de un árbol de Merkle con la función de compresión de ruta de claves de un árbol Patricia, lo que proporciona una solución que garantiza la integridad de los datos y admite una búsqueda rápida.
En Ethereum, el MPT se utiliza para almacenar todos los datos de estado y transacción, lo que garantiza que cualquier cambio en los datos se refleje en el hash raíz del árbol. Esto significa que al verificar el hash raíz, se puede demostrar la integridad y precisión de los datos sin inspeccionar toda la base de datos. El MPT consta de cuatro tipos de nodos: nodos hoja, nodos de extensión, nodos de rama y nodos nulos, que juntos forman un árbol capaz de adaptarse a los cambios dinámicos de datos. Con cada actualización de datos, el MPT refleja estos cambios añadiendo, eliminando o modificando nodos y actualizando el hash raíz del árbol. Dado que cada nodo está encriptado a través de una función hash, cualquier cambio menor en los datos dará como resultado un cambio significativo en el hash raíz, lo que garantiza la seguridad y la coherencia de los datos. Además, el diseño del MPT admite la verificación de "cliente ligero", lo que permite a los nodos verificar la existencia o el estado de información específica almacenando solo el hash raíz del árbol y los nodos de ruta necesarios, lo que reduce significativamente los requisitos de almacenamiento y procesamiento de datos.
A través del MPT, Ethereum no solo logra una gestión eficiente y un acceso rápido a los datos, sino que también garantiza la seguridad y descentralización de la red, apoyando la operación y el desarrollo de toda la red Ethereum.
La arquitectura central de Ethereum integra el concepto de una máquina de estado, en la que la máquina virtual de Ethereum (EVM) sirve como entorno de ejecución para ejecutar todo el código de contrato inteligente, y Ethereum en sí puede verse como un sistema de transición de estado compartido globalmente. La ejecución de cada bloque se puede ver como un proceso de transición de estado, pasando de un estado compartido globalmente a otro. Este diseño no solo garantiza la coherencia y la descentralización de la red Ethereum, sino que también hace que los resultados de la ejecución de los contratos inteligentes sean predecibles y a prueba de manipulaciones.
En Ethereum, el estado se refiere a la información actual de todas las cuentas, incluido el saldo de cada cuenta, los datos almacenados y el código del contrato inteligente. Cada vez que se produce una transacción, la EVM calcula y transiciona el estado en función del contenido de la transacción, un proceso registrado de manera eficiente y segura a través del árbol de Merkle Patricia (MPT). Cada transición de estado no solo cambia los datos de la cuenta, sino que también conduce a una actualización del MPT, lo que se refleja en el cambio del valor hash raíz del árbol.
La relación entre la EVM y la MPT es crucial porque la MPT garantiza la integridad de los datos para las transiciones de estado de Ethereum. Cuando la EVM ejecuta transacciones y cambia los estados de la cuenta, los nodos MPT relacionados se actualizan para reflejar estos cambios. Dado que cada nodo del MPT está vinculado por hashes, cualquier modificación del estado provocará un cambio en el hash raíz, que luego se incluye en un nuevo bloque, lo que garantiza la coherencia y la seguridad de todo el estado de Ethereum. A continuación, presentamos la máquina virtual EVM.
La máquina virtual EVM es fundamental para la construcción de Ethereum, ya que permite la ejecución de contratos inteligentes y las transiciones de estado. Gracias a la EVM, Ethereum puede ser realmente imaginado como una computadora mundial. La EVM es Turing completa, lo que significa que los contratos inteligentes en Ethereum pueden realizar cálculos lógicos arbitrariamente complejos, mientras que la introducción del mecanismo de gas evita con éxito bucles infinitos dentro de los contratos, lo que garantiza la estabilidad y seguridad de la red. Desde una perspectiva técnica más profunda, la EVM es una máquina virtual basada en pila que ejecuta contratos inteligentes utilizando código de bytes específico de Ethereum. Los desarrolladores suelen utilizar lenguajes de alto nivel, como Solidity, para escribir contratos inteligentes, que luego se compilan en código de bytes comprensible para la EVM para su ejecución. La EVM es clave para la capacidad de innovación de la cadena de bloques de Ethereum, ya que no solo respalda el funcionamiento de los contratos inteligentes, sino que también proporciona una base sólida para el desarrollo de aplicaciones descentralizadas. A través de EVM, Ethereum está dando forma a un futuro digital descentralizado, seguro y abierto.
Figura 1 Reseña histórica de Ethereum
Los contratos inteligentes son programas informáticos que se ejecutan en la cadena de bloques de Ethereum. Permiten a los desarrolladores crear e implementar diversas aplicaciones, incluidas, entre otras, aplicaciones de préstamos, intercambios descentralizados, seguros, financiación secundaria, redes sociales y NFT. La seguridad de los contratos inteligentes es crucial para estas aplicaciones, ya que manejan y controlan directamente las criptomonedas. Cualquier vulnerabilidad en los contratos inteligentes o ataques maliciosos puede suponer una amenaza directa para la seguridad de los fondos, lo que puede provocar importantes pérdidas financieras. Por ejemplo, el 26 de febrero de 2024, el protocolo de préstamos DeFi Blueberry Protocol fue atacado debido a una falla en la lógica de los contratos inteligentes, lo que resultó en una pérdida de aproximadamente USD 1,400,000.
Las vulnerabilidades de los contratos inteligentes son multifacéticas y abarcan una lógica empresarial irrazonable, un control de acceso inadecuado, una validación de datos inadecuada, ataques de reentrada y ataques de denegación de servicio, entre otros. Estas vulnerabilidades pueden provocar problemas en la ejecución de los contratos, lo que afecta al funcionamiento eficaz de los contratos inteligentes. Por ejemplo, los ataques DOS implican que los atacantes envíen un gran volumen de transacciones para agotar los recursos de la red, lo que impide que las transacciones normales de los usuarios se procesen de manera oportuna. Esta degradación en la experiencia del usuario también puede conducir a un aumento de las tarifas de gas de transacción, ya que los usuarios pueden tener que pagar tarifas más altas para priorizar sus transacciones en una red congestionada.
Además, los usuarios de Ethereum también se enfrentan a riesgos de inversión, ya que la seguridad de los fondos está amenazada. Por ejemplo, las "shitcoins" son criptomonedas que se considera que tienen poco o ningún valor o potencial de crecimiento a largo plazo. Las shitcoins se utilizan a menudo como herramientas para estafas o para esquemas de bombeo y descarga. El riesgo de inversión asociado con las shitcoins es alto, lo que puede conducir a pérdidas financieras significativas. Debido a su bajo precio y capitalización bursátil, son muy susceptibles a la manipulación y la volatilidad. Estas criptomonedas se utilizan comúnmente en esquemas de bombeo y descarga y estafas de honey pot, donde los inversores son atraídos por proyectos falsos y luego les roban sus fondos. Otro riesgo común asociado con las shitcoins es el "rug pull", donde los creadores eliminan repentinamente toda la liquidez de un proyecto, lo que hace que el valor del token se desplome. Estas estafas a menudo se comercializan a través de asociaciones y respaldos falsos, y una vez que aumenta el precio del token, los estafadores venden sus tokens, obtienen ganancias y desaparecen, dejando a los inversores con tokens sin valor. Además, invertir en shitcoins puede desviar la atención y los recursos de las criptomonedas legítimas con aplicaciones reales y potencial de crecimiento.
Además de las shitcoins, las "monedas aéreas" y las "monedas piramidales" también son métodos para obtener ganancias rápidas. Para los usuarios que carecen de conocimientos y experiencia profesionales, distinguirlas de las criptomonedas legítimas es particularmente difícil.
Dos indicadores muy directos para evaluar la eficiencia de Ethereum son la velocidad de transacción y las tarifas de gas. La velocidad de transacción se refiere a la cantidad de transacciones que la red Ethereum puede procesar dentro de una unidad de tiempo. Esta métrica refleja directamente la capacidad de procesamiento de la red Ethereum, donde una velocidad más rápida indica una mayor eficiencia. Cada transacción en Ethereum requiere una cierta cantidad de tarifas de gas, que compensan a los mineros por la verificación de la transacción. Las tarifas de gas más bajas indican una mayor eficiencia en Ethereum.
Una disminución en la velocidad de las transacciones conduce a un aumento en las tarifas de gas. Generalmente, cuando la velocidad de procesamiento de las transacciones disminuye, debido al espacio limitado del bloque, la competencia entre las transacciones para entrar en el siguiente bloque puede aumentar. Para destacar en esta competencia, los traders suelen aumentar las tarifas de gas, ya que los mineros tienden a priorizar las transacciones con tarifas de gas más altas durante la verificación. Por lo tanto, las tarifas de gas más altas pueden degradar la experiencia del usuario.
Las transacciones son solo las actividades básicas en Ethereum. Dentro de este ecosistema, los usuarios también pueden participar en diversas actividades como préstamos, apuestas, inversiones, seguros, etc., todo lo cual se puede hacer a través de DApps específicas. Sin embargo, dada la gran variedad de DApps y la falta de servicios de recomendación personalizados similares a los de las industrias tradicionales, los usuarios pueden encontrar confusos elegir las aplicaciones y productos adecuados para ellos. Esta situación puede conducir a una disminución en la satisfacción del usuario, afectando así la eficiencia general del ecosistema Ethereum.
Tomemos como ejemplo los préstamos. Algunas plataformas de préstamos DeFi utilizan un mecanismo de sobrecolateralización para mantener la seguridad y estabilidad de su plataforma. Esto significa que los prestatarios deben poner más activos como garantía, que no se pueden utilizar para otras actividades durante el período del préstamo. Esto conduce a una disminución en la tasa de utilización del capital de los prestatarios, lo que reduce la liquidez del mercado.
Los modelos de aprendizaje automático, como el modelo RFM, las redes generativas adversarias (GAN), los modelos de árbol de decisión, el algoritmo K-Nearest Neighbors (KNN) y el algoritmo de agrupación DBSCAN, están desempeñando un papel importante en Ethereum. La aplicación de estos modelos de aprendizaje automático dentro de Ethereum puede ayudar a optimizar la eficiencia del procesamiento de transacciones, mejorar la seguridad de los contratos inteligentes, implementar la segmentación de usuarios para brindar servicios más personalizados y contribuir al funcionamiento estable de la red.
Los algoritmos de aprendizaje automático son un conjunto de instrucciones o reglas que se utilizan para analizar datos, aprender patrones dentro de los datos y hacer predicciones o decisiones basadas en estos aprendizajes. Mejoran automáticamente a través del aprendizaje de los datos proporcionados, sin necesidad de programación explícita por parte de los humanos. Los modelos de aprendizaje automático, como el modelo RFM, las redes generativas adversarias (GAN), los modelos de árbol de decisión, el algoritmo K-Nearest Neighbors (KNN) y el algoritmo de agrupación DBSCAN, están desempeñando un papel importante en Ethereum. La aplicación de estos modelos de aprendizaje automático en Ethereum puede ayudar a optimizar la eficiencia del procesamiento de transacciones, mejorar la seguridad de los contratos inteligentes, implementar la segmentación de usuarios para brindar servicios más personalizados y contribuir al funcionamiento estable de la red.
Los clasificadores bayesianos se encuentran entre los diversos métodos de clasificación estadística destinados a minimizar la probabilidad de errores de clasificación o minimizar el riesgo promedio bajo un marco de costos específico. Su filosofía de diseño está profundamente arraigada en el teorema bayesiano, que permite calcular la probabilidad de que un objeto pertenezca a una determinada clase, dadas algunas características conocidas. Al calcular la probabilidad posterior del objeto, se toman decisiones. Específicamente, los clasificadores bayesianos primero consideran la probabilidad previa del objeto y luego aplican la fórmula bayesiana para tener en cuenta los datos observados, actualizando así la creencia sobre la clasificación del objeto. Entre todas las clasificaciones posibles, los clasificadores bayesianos eligen la categoría con mayor probabilidad posterior para el objeto. La principal ventaja de este método radica en su capacidad natural para manejar la incertidumbre y la información incompleta, lo que lo convierte en una herramienta potente y flexible adecuada para una amplia gama de aplicaciones.
Como se ilustra en la Figura 2, en el aprendizaje automático supervisado, las decisiones de clasificación se toman utilizando datos y modelos de probabilidad basados en el teorema bayesiano. Utilizando la probabilidad, las probabilidades previas de categorías y características, los clasificadores bayesianos calculan las probabilidades posteriores de cada categoría para los puntos de datos y asignan los puntos de datos a la categoría con la probabilidad posterior más alta. En el diagrama de dispersión de la derecha, el clasificador intenta encontrar una curva que separe mejor los puntos de diferentes colores, minimizando así los errores de clasificación.
Figura 2 Clasificador bayesiano
Los algoritmos de árbol de decisión se utilizan comúnmente para tareas de clasificación y regresión, adoptando un enfoque jerárquico de toma de decisiones. Generan árboles dividiendo en entidades con alta ganancia de información basada en datos conocidos, entrenando así un árbol de decisión. En esencia, el algoritmo puede aprender por sí mismo una regla de toma de decisiones a partir de los datos para determinar los valores de las variables. Específicamente, simplifica los procesos complejos de toma de decisiones en varias subdecisiones más simples. Cada decisión más simple se deriva de un criterio de decisión principal, formando una estructura similar a un árbol.
Como se muestra en la Figura 3, cada nodo representa una decisión, definiendo un criterio para juzgar un determinado atributo, mientras que las ramas representan los resultados de la decisión. Cada nodo hoja representa el resultado final y la categoría previstos. Desde una perspectiva estructural, el modelo de árbol de decisión es intuitivo, fácil de entender y tiene un fuerte poder explicativo.
image 3 Modelo de árbol de decisión
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) es un algoritmo de clustering espacial basado en la densidad que es particularmente efectivo para conjuntos de datos con ruido y para identificar clústeres de cualquier forma sin la necesidad de especificar el número de clústeres de antemano. Tiene un rendimiento sólido frente a los valores atípicos del conjunto de datos. El algoritmo puede identificar eficazmente los valores atípicos, definidos como puntos en áreas de baja densidad, como se ilustra en la Figura 4.
Figura 4 Identificación de ruido con el algoritmo DBSCAN
El algoritmo K-Nearest Neighbors (KNN) se puede utilizar tanto para tareas de clasificación como de regresión. En la clasificación, la categoría de un artículo a clasificar se determina a través de un mecanismo de votación; En regresión, predice calculando el promedio o promedio ponderado de las k muestras más cercanas.
Como se muestra en la Figura 5, el principio de funcionamiento del algoritmo KNN en la clasificación es encontrar los k vecinos más cercanos de un nuevo punto de datos y predecir la categoría del nuevo punto de datos en función de las categorías de estos vecinos. Si K = 1, el nuevo punto de datos simplemente se asigna a la categoría de su vecino más cercano. Si es K>1, la categoría generalmente se determina por mayoría de votos, lo que significa que el nuevo punto de datos se asigna a la categoría más común entre sus vecinos. Cuando se usa en regresión, el principio sigue siendo el mismo, pero el resultado es el promedio de las salidas de las k muestras más cercanas.
Figura 5 Algoritmo KNN utilizado para la clasificación
La inteligencia artificial generativa (IA) es un tipo de tecnología de IA que puede generar nuevos contenidos (como texto, imágenes, música, etc.) en función de los requisitos de entrada. Su base se encuentra en los avances en el aprendizaje automático y el aprendizaje profundo, particularmente en aplicaciones dentro de los campos del procesamiento del lenguaje natural y el reconocimiento de imágenes. La IA generativa aprende patrones y asociaciones a partir de una gran cantidad de datos y luego genera resultados completamente nuevos basados en esta información aprendida. La clave de la inteligencia artificial generativa radica en el entrenamiento de modelos, que requiere datos de alta calidad para el aprendizaje y el entrenamiento. Durante este proceso, el modelo mejora gradualmente su capacidad para generar contenido nuevo mediante el análisis y la comprensión de la estructura, los patrones y las relaciones dentro del conjunto de datos.
El Transformer, como piedra angular de la inteligencia artificial generativa, ha introducido el mecanismo de atención de una manera innovadora. Esto permite que el procesamiento de la información se centre en los puntos clave y, al mismo tiempo, adopte una visión global, una capacidad única que ha hecho que el Transformer brille en el dominio de la generación de texto. El uso de los últimos modelos de lenguaje natural, como GPT (Generative Pre-trained Transformer), para comprender los requisitos del usuario expresados en lenguaje natural y convertirlos automáticamente en código ejecutable puede reducir la complejidad del desarrollo y mejorar significativamente la eficiencia.
Como se muestra en la Figura 6, la introducción del mecanismo de atención multicabezal y el mecanismo de autoatención, combinados con conexiones residuales y redes neuronales totalmente conectadas, y aprovechando las tecnologías de incrustación de palabras anteriores, ha elevado en gran medida el rendimiento de los modelos generativos relacionados con el procesamiento del lenguaje natural.
Figura 6 Modelo de transformador
El modelo RFM es un modelo de análisis basado en el comportamiento de compra de los clientes, que puede identificar diferentes grupos de clientes de valor mediante el análisis de su comportamiento transaccional. Este modelo puntúa y clasifica a los clientes en función de su tiempo de compra más reciente (Recencia, R), la frecuencia de las compras (Frecuencia, F) y la cantidad gastada (Valor monetario, M).
Como se ilustra en la Figura 7, estos tres indicadores forman el núcleo del modelo RFM. El modelo puntúa a los clientes en estas tres dimensiones y los ordena en función de las puntuaciones para identificar los grupos de clientes más valiosos. Además, este modelo segmenta eficazmente a los clientes en diferentes grupos, facilitando la funcionalidad de la estratificación de clientes.
Figura 7 Modelo de capas RFM
Al aplicar la tecnología de aprendizaje automático para abordar los desafíos de seguridad de Ethereum, realizamos una investigación desde cuatro aspectos principales:
Aplicaciones potenciales
Al abordar los desafíos de seguridad de Ethereum a través de técnicas de aprendizaje automático, hemos realizado investigaciones desde cuatro aspectos principales:
Identificación y filtrado de transacciones maliciosas basadas en clasificador bayesiano**
Al crear un clasificador bayesiano, se pueden identificar y filtrar las posibles transacciones de spam, incluidas, entre otras, las que causan ataques DOS a través de grandes volúmenes de transacciones pequeñas y frecuentes. Este método mantiene eficazmente la salud de la red mediante el análisis de las características de las transacciones, como los precios del gas y la frecuencia de las transacciones, lo que garantiza el funcionamiento estable de la red Ethereum.
Generación de código de contrato inteligente seguro y específico que satisfaga los requisitos**
Las redes generativas adversarias (GAN) y las redes generativas basadas en transformadores se pueden utilizar para generar código de contrato inteligente que cumpla con requisitos específicos y, al mismo tiempo, garantice la seguridad del código tanto como sea posible. Sin embargo, estos dos enfoques difieren en los tipos de datos en los que se basan para el entrenamiento del modelo: el primero depende principalmente de muestras de código no seguras, mientras que el segundo se basa en lo contrario.
Al capacitar a las GAN para que aprendan los patrones de contratos seguros existentes y construyan modelos autoadversarios para generar código potencialmente inseguro, y luego aprendan a identificar estas inseguridades, es posible generar automáticamente código de contrato inteligente más seguro y de alta calidad. Utilizando modelos de redes generativas basados en transformadores, aprendiendo de una amplia gama de ejemplos de contratos seguros, es factible generar códigos de contrato que satisfagan necesidades específicas y optimicen el consumo de gas, mejorando sin duda la eficiencia y la seguridad del desarrollo de contratos inteligentes.
Análisis de Riesgos de Contratos Inteligentes Basado en Árboles de Decisión**
El uso de árboles de decisión para analizar las características de los contratos inteligentes, como la frecuencia de las llamadas a funciones, el valor de las transacciones y la complejidad del código fuente, puede identificar eficazmente los niveles de riesgo potenciales de los contratos. El análisis de los patrones operativos y la estructura del código de los contratos puede predecir posibles vulnerabilidades y puntos de riesgo, proporcionando a los desarrolladores y usuarios una evaluación de seguridad. Se espera que este método mejore significativamente la seguridad de los contratos inteligentes dentro del ecosistema Ethereum, reduciendo así las pérdidas causadas por vulnerabilidades o código malicioso.
Creación de un modelo de evaluación de criptomonedas para reducir los riesgos de inversión**
Al analizar los datos comerciales, la actividad en las redes sociales y el rendimiento del mercado de las criptomonedas a través de algoritmos de aprendizaje automático, es posible construir un modelo de evaluación que pueda predecir la probabilidad de que una criptomoneda sea una "moneda basura". Este modelo puede ofrecer información valiosa a los inversores, ayudándoles a evitar riesgos de inversión y, por lo tanto, promoviendo el desarrollo saludable del mercado de criptomonedas.
Además, la aplicación del aprendizaje automático también tiene el potencial de mejorar aún más la eficiencia de Ethereum. Podemos explorar esto desde las siguientes tres dimensiones clave:
La aplicación de árboles de decisión en la optimización del modelo de cola del grupo de transacciones
El uso de árboles de decisión puede optimizar eficazmente el mecanismo de cola del grupo de transacciones de Ethereum. Al analizar las características de las transacciones, como los precios del gas y el tamaño de las transacciones, los árboles de decisión pueden optimizar la selección y el orden de las transacciones. Este método puede mejorar significativamente la eficiencia del procesamiento de transacciones, reducir efectivamente la congestión de la red y reducir el tiempo de espera de los usuarios para las transacciones.
El modelo RFM (Recency, Frequency, Monetary value), una herramienta ampliamente utilizada en la gestión de las relaciones con los clientes, puede segmentar eficazmente a los usuarios mediante la evaluación de su tiempo de transacción más reciente (Recency), la frecuencia de las transacciones (Frequency) y el importe de las transacciones (Monetary value). La aplicación del modelo RFM en la plataforma Ethereum puede ayudar a identificar grupos de usuarios de alto valor, optimizar la asignación de recursos y proporcionar servicios más personalizados, aumentando así la satisfacción del usuario y la eficiencia general de la plataforma. El modelo RFM (Recency, Frequency, Monetary value), una herramienta ampliamente utilizada en la gestión de las relaciones con los clientes, puede segmentar eficazmente a los usuarios mediante la evaluación de su tiempo de transacción más reciente (Recency), la frecuencia de las transacciones (Frequency) y el importe de las transacciones (Monetary value). La aplicación del modelo RFM en la plataforma Ethereum puede ayudar a identificar grupos de usuarios de alto valor, optimizar la asignación de recursos y proporcionar servicios más personalizados, aumentando así la satisfacción del usuario y la eficiencia general de la plataforma.
El algoritmo DBSCAN también puede analizar el comportamiento de las transacciones de los usuarios, lo que ayuda a identificar diferentes grupos de usuarios en Ethereum y, además, proporcionar servicios financieros más personalizados a diferentes usuarios. Esta estrategia de segmentación de usuarios puede optimizar las estrategias de marketing, mejorar la satisfacción del cliente y la eficiencia del servicio.
El algoritmo K-Nearest Neighbors (KNN) puede calificar el crédito de los usuarios analizando su historial de transacciones y patrones de comportamiento en Ethereum, que juega un papel extremadamente importante en actividades financieras como los préstamos. La calificación crediticia ayuda a las instituciones financieras y a las plataformas de préstamos a evaluar la capacidad de pago y el riesgo crediticio de los prestatarios, tomando decisiones de préstamo más precisas. Esto puede evitar un endeudamiento excesivo y mejorar la liquidez del mercado.
Desde la perspectiva de la asignación de capital macro, Ethereum, como la computadora distribuida más grande del mundo, nunca puede invertirse demasiado en la capa de infraestructura, necesitando atraer a más desarrolladores de diversos orígenes para participar en la construcción conjunta. En este artículo, al analizar la implementación técnica de Ethereum y los problemas a los que se enfrenta, prevemos una serie de aplicaciones intuitivas del aprendizaje automático y esperamos que los desarrolladores de IA de la comunidad conviertan estas visiones en valor real.
A medida que la potencia de cálculo on-chain aumenta gradualmente, podemos prever que se desarrollen modelos más complejos para la gestión de la red, la supervisión de transacciones, la auditoría de seguridad, etc., mejorando la eficiencia y la seguridad de la red Ethereum.
Además, los mecanismos de gobernanza impulsados por IA/agentes también podrían convertirse en una innovación significativa en el ecosistema de Ethereum. Este mecanismo, que aporta procesos de toma de decisiones más eficientes, transparentes y automatizados, podría proporcionar a Ethereum una estructura de gobernanza más flexible y fiable. Estos desarrollos futuros no solo promoverán la innovación en la tecnología Ethereum, sino que también brindarán a los usuarios una experiencia on-chain de mayor calidad.