Estimada Nación HackerNoon,
El mes pasado escribí sobre complementos ChatGPT con temas criptográficos.
Desde entonces, los creadores de la IA han lanzado otro recurso poderoso, Code Interpreter, que es realmente impresionante.
En realidad, puede hacer mucho más que simplemente analizar el código.
Sin embargo, como creativo en criptografía, siempre quise tener una comprensión más profunda de los contratos inteligentes, entonces, ¿cómo sería una revisión básica del código de un proyecto NFT con un intérprete de código?
Compartiré un enfoque general del proceso a continuación, ¡y veremos cómo va!
-WMP
Code Interpreter en sí mismo es un complemento interno desarrollado por el equipo de OpenAI. Puede usar el lenguaje de programación Python para realizar todo tipo de tareas diferentes, desde extraer la paleta de colores de una imagen cargada hasta analizar fragmentos de código proporcionados.
Aquí, tenga en cuenta que Code Interpreter actualmente solo está disponible para los usuarios de ChatGPT Plus, una suscripción mensual que cuesta ~ $ 20 actualmente, y debe registrarse a través de la sección "Características beta" del menú "Configuración" de ChatGPT.
El complemento Code Interpreter, que aún se encuentra en un estado experimental, permanece en un "entorno de ejecución de espacio aislado" y, por lo tanto, no tiene capacidades de navegación por Internet por ahora.
Dicho esto, si desea que Code Interpreter examine el código, deberá copiar y pegar fragmentos en ChatGPT según sea necesario en este momento. En este caso, tengo la
Sustantivos DAO, como muestra su repositorio, se compone de una gama de contratos inteligentes entrelazados. Para que esta información sea digerible para Code Interpreter, copié el código de estos contratos inteligentes individuales uno por uno:
Solo el contrato inteligente "Arte" tenía 450 líneas de código, por lo que es interesante ver que el complemento maneja grandes cantidades de información en un momento como ese. Después de que Code Interpreter tenga todos los detalles relevantes del contrato inteligente a su disposición, puede comenzar a guiarlo para profundizar más.
Con Code Interpreter controlando el código base de un proyecto, puede usar el complemento como algo similar a un asistente de investigación para comprender el código.
Por ejemplo, le pedí a Code Interpreter que proporcionara un análisis de alto nivel del diseño técnico de Nouns DAO después de proporcionarle los siete contratos inteligentes antes mencionados. A esto, el complemento trajo varios puntos buenos como:
El diseño modular : “ El proyecto está estructurado de forma modular, con cada contrato responsable de una parte específica del sistema. Esto ayuda a mantener el código y permite flexibilidad para actualizar partes del sistema de forma independiente ”.
Generación de arte en cadena : “A diferencia de muchos proyectos NFT que almacenan metadatos y arte fuera de la cadena (generalmente en IPFS o similar), Nouns DAO parece tener la capacidad de generar arte en cadena utilizando NounsArt.sol, NounsDescriptor.sol y SVGRenderer .sol contratos. Este enfoque es menos común y proporciona un mecanismo único para crear activos digitales distintos y verificables completamente dentro de la cadena de bloques de Ethereum ".
Uso de OpenZeppelin : “ El proyecto hace uso de las bibliotecas de OpenZeppelin, que son implementaciones seguras, bien probadas y estándar de la industria de interfaces y utilidades de contratos comunes. Esto demuestra un enfoque en la seguridad y la confiabilidad ”.
Si iba de 0 a 100 en la investigación de un proyecto de NFT con el que no estaba familiarizado, ¿encontraría este tipo de información útil como punto de partida en el aspecto técnico de las cosas? ¡Absolutamente! También estás prácticamente limitado por tu imaginación aquí. Le pregunté a Code Interpreter cómo se vería una versión simplificada de la arquitectura de Nouns, y así sucesivamente. Si se le ocurre, el complemento puede intentar responderla.
Sin embargo, también debe tener mucho cuidado porque no todas las respuestas que recibe de Code Interpreter serán correctas...
En realidad, el contrato inteligente Inflator.sol utilizado por Nouns DAO está destinado a "descomprimir datos comprimidos utilizando el algoritmo Deflate". ¡El código te lo dice en un lenguaje sencillo!
Sin embargo, en una pasada, cuando le pedí a Code Interpreter que analizara esta parte de la estructura técnica de Nouns, el complemento indicó incorrectamente que este elemento era interesante como un "mecanismo de tasa de inflación" centrado en las finanzas que se puede ver en algunos protocolos DeFi pero no es común. visto en proyectos NFT.”
El punto aquí, entonces, es que Code Interpreter todavía es experimental y está lejos de ser infalible. No trate sus respuestas como completamente correctas porque a menudo, en varios lugares, no lo serán. A veces, reformular su aviso de ciertas maneras puede solucionar estos contratiempos, pero si usa Code Interpreter en un futuro cercano, ¡asegúrese de practicar la verificación doble de sus resultados como lo hice con su análisis del contrato Inflator.sol!
En general, Code Interpreter es una nueva herramienta realmente convincente que tanto las personas técnicas como las no técnicas pueden usar para, entre otras cosas, analizar las NFT más profundamente. El análisis de código solía ser solo el terreno de los expertos, pero este complemento es un gran paso para hacerlo más accesible y comprensible para todos.
También es bastante temprano en este campo, por lo que sospecho que el rendimiento de Code Interpreter y los complementos como este solo mejorarán con el tiempo. Sin embargo, si no es programador como yo, es especialmente importante recordar usar esta herramienta como un elemento más de su investigación y como una fuente que debe verificarse como cualquier otra cosa, en lugar de como una especie de de máquina de análisis perfecta, ¡que no lo es!
También publicado aquí .