Latch Web3: Un pestillo de seguridad para SmartContracts (Parte 6)
En la última entrada de este artículo terminamos viendo cómo quedaba el pareado y generación de un Latch Web3 haciendo el proceso desde el Backend de la DApp utilizando la función pair del SDK de Latch con los parámetros de una Latch Web3 Application, y haciendo el uso de la Latch App móvil para generar el Token de Pareado y la Latch Web3 Wallet del usuario para firmar la transacción. Ahora vamos a ver el proceso completo funcionando en un par de vídeos, que seguro que será más sencillo.
Figura 42: Latch Web3: Un pestillo de seguridad para SmartContracts (Parte 6)
Como habíamos explicado en la parte anterior, en el Backend de la DApp, que en nuestro ejemplo es el Market de NFTs de Telefónica que utiliza un SmartContract en Polygon para realizar la transacción de los NFTs, hemos habilitado una zona de configuración de Latch Web3, y como podéis ver en este vídeo, el proceso es tan sencillo como hacer estos pasos:
1.- El usuario se loga en el Backend de la Dapp con su Web3 Wallet.2.- Ir a la zona de Vincular Latch en el Backend de la DApp.3.- Solicitar el Token de Pareado en la Latch App móvil.4.- Introducir el Token de Pareado en el Backend de la DApp5.- Vincular6.- Firmar la transacción con la Latch User Web3 Wallet.
Figura 43: Proceso de Pareado y generación de Latch Web3 completo
Y listo. Cada usuario deberá realizar lo mismo para configurar su Latch Web3 y proteger las acciones de su Wallet en ese SmartContract de esa DApp con un Latch. Ahora veremos cómo lo hace.
Paso 4: Abrir y Cerrar el Latch Web3
Una vez que ya está creado el Latch Web3 para el SmartContract de la Dapp – en este caso del Market de NFTs de Telefónica -, el usuario ya podrá cambiar el estado de ese Latch Web3 en todo momento desde su aplicación móvil de Latch. Para ello solo necesitará abrir o cerrar el “pestillo” de Latch.
Cuanto esto se realiza en la app móvil de Latch, esta se conecta al Backend de Latch para cambiar el valor del AccountID (estado del Latch), pero como es una Latch Application Web3, entonces el Backend de Latch generar una llamada al SmartContract de Latch con la función setStatus(), donde le da el nuevo valor del Latch, así como la Public Address de la Wallet del usuario que ha hecho este cambio.
Con estos valores, el SmartContract de Latch generar una nueva entrada en la Blockchain (en este caso de Polygon), con el hash de ese Latch y su valor, lo que le permite al SmartContract de Latch consultar su estado en cualquier momento.
Supongamos ahora que el usuario cierra el Latch Web3 desde su App móvil, y alguien intenta comprar en el Market de NFTs de Telefónica con su cuenta, lo que sucederá es que el SmartContract de la DApp hará una llamada al SmartContract de Latch para conocer el valor del Latch Web3 de esa Public Address Wallet del usuario -.
Como en este caso concreto estará cerrado, dará un error y no permitirá que se realice la transacción de compra/venta del NFT, tal y como se puede ver en la imagen anterior, donde el error lo vemos en la User Wallet Web3.
Si por el contrario, el Latch Web3 de ese usuario se encontrará abierto, el proceso sería totalmente normal y transparente, pero por detrás se ha comprobado este Second Factor Authoritation (2FA) para ver si era posible realizar la transacción o no, aún teniendo control de la Wallet Web3 del usuario.
Figura 49: Funcionamiento de Latch Web3 para proteger transacciones
En el vídeo podéis ver el proceso completo con las dos posibilidades, es decir, Latch Web3 cerrado, y Latch Web3 abierto, para entender el sencillo funcionamiento de este proceso una vez configurado todo correctamente.
Y aún hay más….
Puede parecer que hemos terminado, pero aún queda más que hablar de esta tecnología, porque por supuesto hay otra opción de configurar Latches en SmartContracts, que es mediante el uso de Oraculos. Esta implementación aún no la hemos hecho pública, pero en la siguiente parte os dejaré la información de cómo hemos solicitado la patente e implementado Latch basada en Oraculos Web3. Pero será en otra entrada.
Figura 50: Libro dedicado a “Bitcoin: La tecnología Blockchain y su investigación” de Yaiza Rubio y Félix Brezo |
El mundo Web3 tiene conceptos nuevos, pero al mismo tiempo es apasionante por las arquitecturas que se pueden construir, así que te animo a que innoves en él. Y recuerda que si quieres aprender de estas tecnologías, tienes Bit2Me Academy, que es una plataforma online para aprender de Web3, BitCoin, Tokenomics o Ethereum con cursos gratuitos además del libro dedicado a “Bitcoin: La tecnología Blockchain y su investigación” de Yaiza Rubio y Félix Brezo que seguro que te ayudan a ponerte las pilas.
Más artículos de Web3, Blockchain & SmartContracts
- Blockchain & SmartContracts: Una serie para aprender
- BlockChain & SmartContrats: Primer SmartContract con Solidity
- Blockchain & SmartContracts: Cómo probar y desplegar un SmartContract en Ethereum
- WWW, Web 1.0, Web 2.0, Web 3.0, Web3 y ¿Web 4.0?
- Metaverso, multiverso y las tierras digitales en que vivimos en forma de avatar
- Los Fan Tokens vs. las Criptomonedas y los NFTs: Level 101
- Tokenomics: Las criptomonedas y las “Proof-of-work”: Level 101
- Los NFTs y el registro mundial de los dueños de activos digitales en el Metaverso
- BitCoin: Blockchain y su investigación
- BlockChain & SmartContrats: El Internet descentralizado y el almacenamiento off-chain en IPFS
- Reentrancy Attack: Cómo te roban criptomonedas por un bug en tu SmartContract
- BlockChain & SmartContract: Bugs que pueden dejar tu SmartContrat “fuera de juego”
- Blockchain & SmartContracts: Patrones y buenas prácticas de seguridad
- Blockchain & SmartContracts: Herramientas de Auditoría de Seguridad de SmartContracts
- BlockChain & SmartContracts: Ataque de phishing a tx.origin y robo de criptomonedas
- BlockChain & SmartContracts: Ataques de Ice Phishing
- Blockchain & SmartContracts: Herramientas de análisis dinámico
- ZIION: Una distribución Linux para auditar SmartContracts (& BlockChain)
- Dominios Web3 en Etherenum Name Service y la trazabilizad de las transacciones Blockchain
- BlockChain & SmartContracts: Actualizar SmartContracts como los grandes protocolos
- Jumping level up (from) web2 (to) web3: Vulnerabilities & SCAMs – SmartContracts
- 20 millones (Euros) en Tokens de Optimism perdidos por no saber cómo funcionan los Wallets Multifirma
- BlockChain & SmartContracts: Cómo crear una DApp de la Web3 con Python (y Flask)
- Pentesting SmartContracts: From Web2.0 to Web3
- Tokenomics 101: Una explicación con gráficos
- Read-Only Reentrancy Attack: $220k robados y otros +$100M en riesgo
- Como utilizar ChatGPT para encontrar bugs en SmartContracts
- BlockChain & SmartContracts: Nuevas áreas profesionales relacionadas con la Web3
- Las voces de Satoshi: Un canal para estar al día en Web3, Blockchain, Criptos & IA
- BlockChain & SmartContracts: Nuevas áreas profesionales relacionadas con la Web3
- Bit2Me Academy: Una plataforma online para aprender de Web3, BitCoin, Tokenomics o Ethereum con cursos gratuitos
- Level_Up!: Una plataforma para aprender a hacer pentesting en Web3 (SmartContracts & BlockChain ) a través de retos hacking
- Level_Up!: Web3 Security WarGames para los amantes del Challenge Based Learning
- Level_up!: WriteUp del Reto Questions para comenzar el pentesting en la Web3
- Level_Up! Deny_to_me Challenge activado en la plataforma Level_up! de retos hacking Web3
- Level_Up!: WriteUp del Ownership Challenge para hacer pentesting en Web3
- Nuevo reto Hacking Web3 de Level_UP! -> Forensic Ouch!
- Level_Up!: WriteUp del reto “Safeguarding” para hacer pentesting en Web3
- Reto Web3 en Level_Up! “Replay_me”: La importancia de una correcta validación de firmas
- Latch Web3: Un pestillo de seguridad para SmartContracts
¡Saludos Malignos!
*******************************************************************************************
*******************************************************************************************
Autor: Chema Alonso (Contactar con Chema Alonso)
Powered by WPeMatico