Saltar al contenido principal

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:

  1. Secp256r1 proporciona la base criptográfica para la generación de claves y firmas digitales,
  2. WebAuthn ofrece un marco estandarizado para la autenticación sin contraseña utilizando criptografía de clave pública, y
  3. 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.

nota

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.

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.

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.

nota

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.

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.

Soroban por ejemplo

Una aplicación que usa claves de acceso para firmar transacciones de contratos inteligentes de Stellar.

Super Peach

Un ejemplo de contrato de cuenta abstracto de múltiples firmantes impulsado por claves de acceso.

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.

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.