Billeteras Inteligentes
Las billeteras inteligentes en Stellar son una parte creciente del ecosistema Stellar. Se está realizando mucho desarrollo, y esta documentación crecerá y avanzará a medida que colaboremos en una solución auditada de billetera inteligente. Mientras tanto, a continuación encontrarás una base conceptual, así como algunos ejemplos y herramientas para que comiences.
Resumen
Veamos las diversas piezas que juegan un papel en las billeteras inteligentes de Stellar.
Billeteras inteligentes
En resumen, una billetera inteligente es un contrato inteligente que puede actuar como una cuenta en la red. Una billetera inteligente puede mantener valor e interactuar con otros contratos inteligentes.
Son billeteras digitales que aprovechan la composibilidad de contratos inteligentes para ofrecer funcionalidad y seguridad mejoradas en la gestión de activos digitales. A diferencia de las billeteras tradicionales, las billeteras inteligentes integran características como soporte multi-firma, firmantes de políticas, transacciones programables y una mejor experiencia de usuario.
Las billeteras inteligentes permiten a los usuarios interactuar sin problemas con ecosistemas blockchain, proporcionando una interfaz fácil de usar para enviar, recibir y almacenar activos digitales. Pueden incorporar firmantes de muchos tipos. Entre los más emocionantes están los firmantes passkey, que implementan los estándares WebAuthn para garantizar una autenticación segura y sin contraseña, reduciendo los riesgos asociados con las frases seed y claves privadas tradicionales.
Al usar contratos inteligentes, las billeteras inteligentes pueden automatizar transacciones e implementar protocolos avanzados de seguridad. Por ejemplo: transferencias con bloqueo temporal, límites de gasto y detección de fraudes. Estas características hacen que las billeteras inteligentes sean una opción ideal para los usuarios que buscan una solución segura, conveniente y versátil para gestionar sus activos digitales en el paisaje en evolución de la tecnología blockchain.
WebAuthn
WebAuthn (autenticación web) es un estándar web para la autenticación segura y sin contraseña. Utiliza criptografía de clave pública para eliminar la dependencia de secretos compartidos en el mundo web2. En el contexto de una blockchain, usar un firmante WebAuthn mejora la seguridad y la usabilidad para las dapps.
WebAuthn proporciona autenticación descentralizada (sin que ninguna autoridad central gestione contraseñas), mayor seguridad (las claves secretas permanecen en el dispositivo del usuario), mejor experiencia de usuario (los usuarios no tienen que preocuparse por almacenar o recordar sus claves secretas), e interoperabilidad ampliada (WebAuthn ya es admitido por los principales navegadores y plataformas).
Secp256r1
El esquema de firma secp256r1 es una curva elíptica que se utiliza a menudo con el algoritmo de firma digital de curva elíptica (ECDSA), que es un esquema de firma de clave pública ampliamente utilizado.
Secp256r1 es un algoritmo común de firma usado en WebAuthn, que es el estándar detrás de las passkeys disponibles en navegadores, ordenadores y teléfonos. Habilitar la verificación secp256r1 on-chain permite a los desarrolladores diseñar contratos que incorporen passkeys para firmar transacciones de smart contracts y acceder a cuentas en lugar de usar frases Seed o claves de firma.
El lanzamiento del Protocolo 21 permitió el soporte nativo de la verificación secp256r1 en smart contracts de Stellar en Mainnet como se detalla en CAP-0051. Esta integración significa que secp256r1 está desarrollada directamente en el protocolo y las aplicaciones pueden firmar transacciones y enviarlas a la red utilizando secp256r1 sin depender de un tercero.
Claves de acceso
Las claves de acceso son una implementación del estándar WebAuthn. La capacidad de usar passkeys para firmar transacciones y acceder a cuentas elimina la necesidad de que los usuarios almacenen o recuerden sus claves secretas y/o frases Seed de 12 a 24 palabras, algo que ha sido una gran barrera de entrada para los usuarios finales al ingresar al espacio blockchain. Las claves secretas y las frases semilla pueden ser abrumadoras, difíciles de recordar, ingresadas incorrectamente y propensas a brechas de seguridad.
Las claves de acceso ofrecen un método más rápido y seguro de autenticación de identidad utilizando datos encriptados almacenados en un dispositivo y realizando la verificación del usuario con tokens de hardware (como YubiKeys), datos biométricos (como huellas digitales o reconocimiento facial), u otros métodos criptográficos.
Lee más sobre claves de acceso en este introducción a las claves de acceso blog.
Cómo funcionan juntas
Eso es un montón de términos técnicos. En resumen:
- Secp256r1 proporciona la base criptográfica para la generación de claves y firmas digitales,
- WebAuthn ofrece un marco estandarizado para la autenticación sin contraseña utilizando criptografía de clave pública, y
- Las passkeys implementan estas tecnologías para brindar una experiencia de usuario fluida y segura.
Combina todo eso en un smart contract de Stellar, ¡y tienes la base para la mejor implementación de smart wallet del planeta!
Desarrollar con smart wallets
Si estás desarrollando o experimentando con smart wallets en Stellar, algunos recursos esenciales son:
Passkey Kit
El Passkey Kit es un SDK de TypeScript para crear y gestionar smart wallets de Stellar, principalmente (aunque no exclusivamente) con firmantes passkey. Está pensado para usarse junto con Launchtube para enviar transacciones firmadas on-chain, aunque esto no es un requisito. Es una biblioteca tanto para cliente como para servidor. PasskeyKit
en el cliente y PasskeyServer
en el servidor.
El código fuente también incluye la implementación de un smart contract basado en una propuesta de interfaz estandarizada para smart wallets.
Envío de transacción Launchtube
Este es un servicio API donde los desarrolladores pueden enviar sus transacciones de smart contract para que sean financiadas y enviadas a la red Stellar sin tener que preocuparse por tarifas, números de secuencia, direcciones clásicas G ni otras complejidades.
Launchtube es un servicio prototipo. Aunque SDF mantiene una implementación en Mainnet, no podemos ofrecer garantías ni acuerdos de nivel de servicio para ella. El servicio Launchtube en Mainnet de SDF puede no ser adecuado para servicios productores críticos.
- Ver el código
- Obtén un token de acceso solicitándolo en el canal
#launchtube
en Discord. O genera tu propio token de testnet. - Cultiva y utiliza el activo KALE para adquirir tokens de Launchtube aquí
Smart wallet backend de SDP
El equipo de Stellar Disbursement Platform también está experimentando con implementaciones de smart wallet. En una rama de características, han implementado un contrato de smart wallet que también puede ser usado.
- Ver el código
Proyectos de ejemplo
¡Explora algunos de los trabajos actuales que se están realizando con billeteras inteligentes, claves de acceso, firmantes de políticas y más en Stellar! Juega con los varios ejemplos enlazados a continuación, construye tus propios proyectos impulsados por claves de acceso y comparte tus hallazgos en el canal #passkeys
en Discord.
Estos ejemplos no son creados o mantenidos oficialmente por la SDF, sino por miembros dedicados de la comunidad, tanto internos como externos a la SDF.
Zafegard
Una billetera inteligente que demuestra el uso de firmantes de políticas con estado.
- Ver el código
- Ver el video de demostración
Do Math
Una billetera inteligente que demuestra el uso de firma múltiple y firmantes de políticas para, sorprendentemente, hacer matemáticas sin necesidad de introducir una clave de acceso para cada interacción.
- Ver el código
- Ver el video de demostración
Soroban por ejemplo
Una aplicación que usa claves de acceso para firmar transacciones de contratos inteligentes de Stellar.
- Ver la demostración
- Mira el código
- Ver el video de demostración
- Mira la discusión
- Lee el blog
Super Peach
Un ejemplo de contrato de cuenta abstracto de múltiples firmantes impulsado por claves de acceso.
- Ver la demostración
- Mira el código
- Ver el video de demostración
Ye Olde Guestbook
Un libro de visitas de internet impulsado por claves de acceso de antaño construido con contratos inteligentes y código frontend.
- Ver la demostración
- Mira el código
- Lee el tutorial
Involúcrate
Discord de desarrolladores
Únete a la discusión, haz preguntas y comparte tu propio trabajo con las billeteras inteligentes en el Discord de Desarrolladores de Stellar en el canal #passkeys
.
Discusión SEP
Únete a la discusión SEP sobre la interfaz del contrato smart wallet WebAuthn en GitHub.