La billetera cripto autocustodiada líder y puerta de entrada a Web3, desarrollada por Consensys.
Leer todos los artículosUn Snap del Hackathon ETHBogota

MetaMask Snaps es la hoja de ruta para convertir MetaMask en la wallet más extensible del mundo. Como desarrollador, puedes incorporar tus funciones y APIs a MetaMask de formas completamente nuevas. Los desarrolladores de Web3 son el núcleo de este crecimiento, y esta serie tiene como objetivo destacar los novedosos MetaMask Snaps que se están construyendo hoy en día.
Repositorio del Snap: https://github.com/s-a-malik/blackbelt
¿Por qué lo construyeron?
Queríamos hacer que las interacciones en las blockchains fueran más seguras para los usuarios finales. Especialmente para los usuarios nuevos y sin conocimientos técnicos que temen ser víctimas de estafas y exploits. Por eso, pensamos en una forma de proporcionar evaluaciones de riesgo en tiempo real para las interacciones con contratos inteligentes.
¿Puedes explicarnos la implementación técnica?
La configuración técnica
Blackbelt consta de tres elementos: nuestro servidor, el snap de MetaMask y el front-end de nuestro sitio web. El servidor recupera datos y calcula las puntuaciones de riesgo de los contratos inteligentes. Tanto el snap de MetaMask como nuestro sitio web llaman al servidor y proporcionan la dirección del contrato específico dentro de la solicitud https. La implementación completa de nuestro proyecto se puede encontrar aquí.
El servidor
Nuestro servidor consiste en un back-end de Flask que devuelve puntuaciones de seguridad y metadatos en formato json. Cuando se inicia una solicitud GET a la ruta /security_score, se llama a la función security_score(). Primero, todos los parámetros proporcionados, como la dirección del contrato, la dirección del usuario, el chain id y el origen del llamante, se desempaquetan y luego se analizan parcialmente en la función compute_security_score(contract_address, chain), que recuperará datos on-chain y calculará puntuaciones de seguridad para múltiples variables (por ejemplo, la antigüedad del contrato). Para acelerar la recuperación de datos dentro de MetaMask Snaps, proporcionamos resultados en caché cuando están disponibles al llamar al servidor a través de MetaMask Snaps (véase la variable is_snaps).
La función compute_security_score (en el archivo logic.py) calcula una puntuación de riesgo heurística basada en datos on-chain de las APIs de Coinbase Cloud, las APIs de Etherscan y nuestra propia base de datos de direcciones maliciosas reportadas, curada por la comunidad en el lado del servidor. A continuación se muestra en el fragmento de código algunos ejemplos de los tipos de factores utilizados para calcular la puntuación. Por ejemplo, verificamos si el contrato está declarado como verificado y auditado en Etherscan, y cuál es la antigüedad del contrato.
En el futuro, planeamos integrar más fuentes de información que puedan ayudar a identificar contratos maliciosos (como herramientas de verificación automatizada y bases de datos de listas negras existentes), y también emplear un cálculo más detallado de la puntuación de riesgo, por ejemplo, utilizando métodos de machine learning.
El snap
Para el snap utilizamos la API de transaction insights, que se activa cada vez que se realiza una transacción. El snap consta de cuatro pasos. Primero, se recuperan los detalles clave de la transacción desde la estructura de la transacción. Segundo, los detalles de la transacción se envían a nuestro servidor y recuperamos la puntuación de seguridad junto con los metadatos. Tercero, verificamos el estado de la solicitud y gestionamos cualquier error. Cuarto, devolvemos la puntuación de seguridad y los metadatos como objeto json dentro de MetaMask Snaps.
El sitio web
El sitio web está desarrollado en React y se utiliza para probar rápidamente nuestra función antes de añadirla a MetaMask. Los usuarios pueden probar nuestra función proporcionando una dirección de contrato y presionando "Calificar ahora". Si les gusta nuestra aplicación, pueden añadirla a su MetaMask haciendo clic en "Añadir MetaMask Snap" en la esquina superior derecha.
¿Cuáles serían los próximos pasos si implementaran esto?
Los próximos pasos serían mejorar nuestro backend y nuestras capacidades analíticas para detectar contratos de riesgo de forma más fiable. Actualmente, nuestra evaluación se basa en heurísticas, como el número de DAU o transacciones (cuanto mayor sea, mejor), pero nos gustaría incluir técnicas más avanzadas, como el machine learning, para calcular la puntuación de riesgo con mayor precisión. Tras mejorar el análisis, nos centraríamos en acelerar todo el proceso de evaluación de riesgos para que la experiencia del usuario sea lo más fluida posible; esto podría lograrse mediante el almacenamiento en caché o procedimientos más rápidos de recuperación de datos.
¿Puedes contarnos un poco sobre ti y tu equipo?
Somos un equipo formado por tres estudiantes de doctorado de Oxford y un graduado de Oxford. Estamos afiliados a la Oxford Blockchain Society y nos conocimos durante el hackathon ETHBogota, donde formamos nuestro equipo.
Lucas Schneider: Lucas es candidato a DPhil en Ciencias de la Computación en la Universidad de Oxford, con enfoque en modelos computacionales y de machine learning para predecir resultados de edición genética en sistemas CRISPR. Antes de comenzar su DPhil, Lucas trabajó como analista en Barclays Investment Bank en Londres, en el Securitised Products Structuring Group, donde participó en múltiples transacciones de crédito estructurado y financiaciones de préstamos morosos y carteras de bienes raíces comerciales. Tiene un MSc en Finanzas de la London School of Economics and Political Science y un BA en Economía con enfoque en métodos cuantitativos de la Universidad Friedrich-Alexander de Erlangen-Nuremberg.
Shreshth Malik: Shreshth es candidato a DPhil en Machine Learning en la Universidad de Oxford, con enfoque en hacer que los métodos de deep learning sean más robustos y fiables para permitir aplicaciones del mundo real más confiables. También ha trabajado en varias startups de IA y en un fondo de capital de riesgo en etapa semilla con sede en Londres. Tiene másteres en Machine Learning (UCL) y en Ciencias Naturales Físicas (Universidad de Cambridge).
Paweł Narkiewicz: Paweł es un emprendedor en serie, científico y apasionado de la tecnología. A los 18 años publicó su primer artículo de investigación en teoría de números junto con destacados matemáticos de Stanford y Harvard. Un año después, fundó una exitosa startup de edtech para acelerar el desarrollo de habilidades tecnológicas en Polonia. El negocio se autofinanció en tan solo 3 meses. Al mismo tiempo, Paweł se incorporó a una startup de medtech como accionista operativo e ingeniero de ML para liderar el desarrollo de una de las funciones principales de la tecnología de la startup. Colaboró directamente con los mejores investigadores de Oxford, Stanford y Harvard. La startup recibió una financiación de 770 000 $ en ronda pre-seed y 3,2 M£ en ronda seed. Tiene una licenciatura en Matemáticas e Informática de Oxford.
Jessica Pointing: Jessica está cursando su doctorado en Física en la Universidad de Oxford, especializándose en computación cuántica, y anteriormente fue estudiante de doctorado en Ciencias de la Computación en la Universidad de Stanford como Knight-Hennessy Scholar. Obtuvo su licenciatura en Física e Informática en la Universidad de Harvard con altas distinciones como John Harvard Scholar, tras haber sido estudiante de licenciatura en el MIT. Jessica fue seleccionada para el Forbes 30 Under 30 en Ciencia y fue elegida como council fellow del Consejo Global del Futuro del Foro Económico Mundial sobre Aplicaciones Cuánticas. Fue seleccionada como ponente de TEDx y ha dado conferencias magistrales en conferencias tecnológicas a nivel internacional, incluyendo la conferencia Think de IBM y Oracle Code One. Ha realizado prácticas como investigadora cuántica en KBR en el NASA Ames Research Center, ingeniera de software en Google, consultora de gestión en McKinsey and Company, banquera de inversión en Goldman Sachs y estratega en Morgan Stanley. Jessica fundó la Stanford Quantum Computing Association y la Harvard College Quantum Computing Association. Ganó el IBM Q Quantum Computing Award por ganar, junto a un equipo, el primer hackathon de computación cuántica de IBM. También fue ganadora de premios en el hackathon de computación cuántica de Creative Destruction Lab. Jessica participó en ETHAmsterdam, un hackathon de Ethereum, y su equipo ganó el premio de gran finalista, así como premios de patrocinadores. Ha recibido el McKinsey Women's Impact Award y ha sido nombrada Google Anita Borg Scholar. También ha obtenido becas de Microsoft, Palantir, Adobe Research, Morgan Stanley, Goldman Sachs, Neo, Society of Women Engineers Scholar y Society of Geophysicists.
¿Cuándo conocieron MetaMask Snaps por primera vez y cómo fue esa experiencia?
Conocimos MetaMask Snaps por primera vez en ETHBogota. Era la función perfecta para dar vida a Blackbelt de la manera más amigable para el usuario. En general, la experiencia con MetaMask Snaps fue agradable, ya que son bastante fáciles de usar. Dada la novedad de MetaMask Snaps, aún hay algunos pequeños inconvenientes que ocasionalmente nos causaron algún dolor de cabeza durante el hackathon, pero nada realmente grave.
¿Qué diferencia a MetaMask Snaps de otras wallets?
MetaMask Snaps es una excelente manera de abrir el desarrollo de extensiones de wallet al código abierto y de habilitar soluciones diversas e individuales para usuarios finales con diferentes necesidades. Hasta donde sabemos, MetaMask es el único proveedor de wallets que hasta ahora admite plugins personalizados.
¿Cómo es para ti y tu equipo construir Snaps con MetaMask?
Construir con MetaMask Snaps fue bastante sencillo. Comenzamos con uno de los proyectos de ejemplo que nos ayudó a comprender mejor la mecánica de MetaMask Snaps y luego construimos sobre el código de ejemplo. Desarrollar en MetaMask Snaps fue divertido, aunque ocasionalmente algunos bugs nos pusieron a prueba, especialmente dado el ajustado plazo durante el hackathon.
¿Qué significa MetaMask Snaps para ti?
MetaMask Snaps es la función que siempre quisimos tener en nuestras wallets. Para un desarrollador, desbloquea una amplia variedad de oportunidades para la innovación.
¿Qué oportunidades ves con MetaMask Snaps y las posibilidades que abre para el espacio Web3?
MetaMask Snaps permitirá una mayor personalización en todo el ecosistema Web3 y, por lo tanto, también mejorará la experiencia general del usuario, ya que los usuarios pueden decidir qué funciones desean.
¿Algún consejo que quieras compartir con los desarrolladores interesados en probar MetaMask Snaps?
Simplemente experimenta con MetaMask Snaps. Lo más fácil es comenzar con uno de los proyectos de ejemplo para entender cómo funciona MetaMask Snaps y luego construir sobre él. Si surgen problemas desconocidos, siempre puedes publicar el problema en el git de MetaMask Snaps para obtener ayuda de los desarrolladores de MetaMask Snaps.
Para comenzar con MetaMask Snaps:
Consulta la documentación para desarrolladores
Instala MetaMask Flask
Revisa una guía de MetaMask Snaps
Mantente conectado con nosotros en Twitter, GitHub discussions y Discord
¡Estén atentos a nuestro equipo en el próximo hackathon cerca de ti! ¡Feliz BUIDLing! ⚒️
Aviso legal: Los MetaMask Snaps son desarrollados en general por terceros distintos a Consensys Software. El uso de MetaMask Snaps desarrollados por terceros se realiza a tu propia discreción y riesgo, y con el acuerdo de que serás el único responsable de cualquier pérdida o daño que resulte de dichas actividades. Consensys no ofrece ninguna garantía expresa o implícita, ya sea oral o escrita, con respecto a los MetaMask Snaps desarrollados por terceros, y declina toda responsabilidad por los MetaMask Snaps desarrollados por terceros. El uso de software relacionado con blockchain conlleva riesgos, y los asumes en su totalidad al utilizar MetaMask Snaps.
Traducido por IA. Puede contener errores. Por favor, verifique siempre la información.