NUEVO: Helius adquiere Light Protocol
qué son las billeteras inteligentes de Solana
Blog/Desarrollo

¿Qué son las billeteras inteligentes de Solana? Guía comparativa y de implementación

Crecimiento en CrossmintDwight Torculas en XDwight Torculas en LinkedIn
8 min de lectura

Las billeteras inteligentes integradas (también conocidas como billeteras con abstracción de cuentas) ya están disponibles para los desarrolladores en Solana. Esto permite que las aplicaciones ofrezcan a los usuarios una incorporación y una experiencia más sencillas.

Al mismo tiempo, los desarrolladores obtienen mayor flexibilidad, seguridad y cumplimiento normativo. En última instancia, esto permite crear experiencias onchain más seguras y fáciles de usar. 

A diferencia de las cuentas no ejecutables (cuentas de datos) y las billeteras integradas tradicionales, las billeteras inteligentes son programables. Esto habilita toda una nueva generación de funciones: patrocinio de gas, varios firmantes por billetera, límites de gasto y más.

En este artículo, conocerás las diferencias clave entre las billeteras inteligentes integradas en Solana y otras soluciones de billeteras.

También entenderás cómo funcionan las billeteras inteligentes en Solana y cómo implementarlas en tu aplicación.

¿Qué es una billetera inteligente?

Las billeteras inteligentes son cuentas de programa ejecutables que contienen código ejecutable. A diferencia de las billeteras tradicionales, que son simples pares de claves controlados por una sola clave privada, las billeteras inteligentes en Solana se implementan como programas con lógica y funciones especiales.  

¿Cuáles son las ventajas de las billeteras inteligentes?

Las billeteras inteligentes eliminan la necesidad de usar frases semilla y el riesgo de perderlas. En su lugar, permiten que los usuarios designen uno o más «firmantes» o claves para controlar la billetera.

Esta flexibilidad permite usar opciones de administración de claves más sencillas, como datos biométricos (por ejemplo, Face ID, Touch ID o claves de acceso), además de esquemas de seguridad avanzados (por ejemplo, multifirma) o controles empresariales (por ejemplo, una clave de administrador del lado del servidor).

Las billeteras inteligentes permiten hacer transacciones sin comisiones. Los desarrolladores pueden patrocinar las comisiones con SOL u otros tokens SPL, como USDC, y ocultar fácilmente esa complejidad al usuario final. Así ofrecen una experiencia más familiar, similar a web2.  

Esto significa que puedes crear aplicaciones sin solicitudes de aprobación de transacciones, sin frases semilla ni claves privadas que puedan perderse y con seguridad programable aplicada mediante programas (contratos inteligentes).

Billeteras inteligentes integradas frente a billeteras integradas y cuentas no ejecutables

Billeteras inteligentes integradasBilleteras integradasNo ejecutables
ImplementaciónContrato inteligente con lógica personalizadaCuenta que no es un contrato inteligente e integrada en la aplicaciónAplicación independiente o extensión del navegador
Control de la cuentaFlexible: los usuarios pueden designar uno o varios firmantes (desde EOA como Phantom hasta claves de acceso y billeteras con inicio de sesión social), con reglas programáticas opcionalesPar de claves protegido mediante inicio de sesión social (normalmente en un TEE o clúster MPC)Control directo mediante un par de claves propiedad del usuario
Modelo de custodiaFlexible. Pueden configurarse con autocustodia del usuario, custodia del desarrollador o incluso un modelo híbrido con ambas modalidadesPor lo general, sin custodia, aunque algunos métodos de recuperación pueden convertirlas en billeteras con custodiaAutocustodia del usuario final
Administración de clavesVarios métodos de autorización (MPC, recuperación social, etc.)Normalmente administradas por la aplicaciónFrase semilla o clave privada administrada por el usuario
Autorización de transaccionesLógica de verificación personalizada (multifirma, bloqueos temporales, límites)La aplicación firma con la clave privada integradaEl usuario aprueba explícitamente cada transacción
Pago de comisionesAdmite abstracción y patrocinio de comisiones, lo que permite pagar con otros tokens SPL, como USDC o USDTEl usuario paga todas las comisiones de transacción. Requiere una rampa de entrada en cada aplicaciónEl usuario paga todas las comisiones de transacción
Modelo de seguridadSeguridad aplicada mediante código de contrato inteligente de código abierto, con restricciones programables opcionalesLa seguridad depende del código cerrado del proveedor de la billetera integradaLa seguridad depende de código cerrado del lado del cliente
Opciones de recuperaciónRecuperación programable (social, claves de guardianes)Métodos de recuperación proporcionados por la aplicaciónSolo recuperación mediante frase semilla
Controles de gastoLímites de gasto programables y flujos de aprobaciónAlgunas billeteras integradas admiten políticas de transacciones del lado del servidor (precaución: una implementación incorrecta puede crear una arquitectura con custodia)Ninguno
Consideraciones regulatoriasFlexible: la custodia puede programarse y permite adaptar las billeteras a cambios regulatoriosConsulta al proveedor específico de la billeteraMenor escrutinio: controlada por el usuario
Funciones empresarialesControl de acceso basado en roles y flujos de aprobaciónAlgunas billeteras integradas tienen controles limitados del lado del servidorNinguna
Dependencia del proveedorBaja. Las billeteras inteligentes se basan en programas de código abierto. Es posible migrar usuarios de un proveedor de infraestructura sin cambiar sus direcciones.Alta. La única forma de abandonar las billeteras integradas es que cada usuario recupere su clave privada, lo cual puede ser inseguro y exigir pasos manualesBaja. Depende del usuario

Casos de uso habituales de las billeteras inteligentes

Las billeteras inteligentes de Solana son útiles cuando necesitas arquitecturas de custodia flexibles, como las siguientes:

  • Billeteras de tesorería empresarial administradas por varios empleados
  • Billeteras de agentes de IA para casos de uso de finanzas agénticas, donde el propietario del agente necesita una clave y el propio agente necesita otra
  • Neobancos y aplicaciones financieras donde el usuario mantiene la autocustodia, pero permite que el banco retire fondos (por ejemplo, para pagos recurrentes)

Una característica clave de los firmantes delegados es que su alcance puede limitarse para restringir sus permisos sobre la billetera, por ejemplo, mediante límites de gasto o restricciones por clase de activo.

¿Cómo funcionan específicamente las billeteras inteligentes en Solana?

Las billeteras inteligentes en Solana funcionan mediante una combinación de programas onchain e infraestructura offchain, con algunas características exclusivas de Solana:

Arquitectura basada en programas

A diferencia de las cuentas no ejecutables (cuentas de datos), las billeteras inteligentes de Solana (o cuentas de programa ejecutables) suelen implementarse como programas onchain que controlan una o más cuentas (PDA).

Autorización de transacciones

En lugar de una sola clave privada, las billeteras inteligentes usan lógica de autenticación personalizada:

  • Pueden exigir varios firmantes (funcionalidad multifirma)
  • Pueden admitir distintos métodos de autenticación (claves, datos biométricos, redes sociales)
  • Pueden aplicar de forma programática bloqueos temporales y límites de gasto

Delegación de cuentas

Los usuarios pueden delegar permisos específicos a distintas direcciones, lo que permite un control más granular sobre las acciones que puede realizar cada clave o dispositivo.

Compatibilidad con transacciones versionadas

Las billeteras inteligentes usan el formato estándar de transacciones versionadas de Solana.

¿Qué es la abstracción de cuentas?

La abstracción de cuentas (AA) permite que los desarrolladores creen cuentas de contratos inteligentes personalizables que superan las limitaciones de las cuentas no ejecutables vinculadas a un único par de claves. Esto permite crear experiencias de usuario más flexibles.

AA admite lógica de validación personalizada. Esto permite que las cuentas implementen funciones de seguridad, como recuperación social, requisitos de multifirma o límites de gasto, sin depender de las reglas predeterminadas de la blockchain. 

El objetivo principal de AA es hacer que la tecnología blockchain sea invisible para los usuarios. Elimina barreras técnicas, como las comisiones de transacción y las frases semilla, sin renunciar a las ventajas de la autocustodia.

¿Cómo funcionan las transacciones sin comisiones en Solana?

La principal ventaja de las billeteras inteligentes para las transacciones sin comisiones es que la abstracción se realiza en la cuenta, en lugar de requerir implementaciones específicas para cada dApp. Esto crea una experiencia más fluida en la que los usuarios quizá ni siquiera sepan que existen comisiones de transacción.

Esto permite que los desarrolladores implementen lo siguiente:

Abstracción de comisiones incorporada

Las billeteras inteligentes pueden incorporar el patrocinio de comisiones directamente en su arquitectura. El propio contrato de la billetera puede definir reglas sobre quién paga las comisiones y en qué circunstancias.

Moneda flexible para las comisiones

Si no quieres patrocinar las comisiones de transacción de un usuario, este puede pagarlas con SOL o tokens como USDC o USDT.

Mecanismos de aprobación

Las billeteras inteligentes pueden implementar lógica de verificación personalizada para determinar cuándo se permiten transacciones patrocinadas, por ejemplo, mediante límites de frecuencia o restricciones para aplicaciones específicas.

Cómo agregar billeteras inteligentes de Solana a tu aplicación con Crossmint

Hay muchas formas de integrar billeteras inteligentes en tu aplicación: del lado del cliente, del lado del servidor o mediante arquitecturas de doble clave para agentes de IA.

En el siguiente tutorial, aprenderás a implementar tu primera billetera inteligente del lado del servidor.

Requisitos previos

Primero, crea una cuenta de desarrollador en la consola de staging de Crossmint. 

Luego, ve a Configuración del proyecto > General y cambia el tipo de billetera a «Smart Wallets».

Para obtener una clave de API, ve a Integrar > Claves de API y selecciona «Crear nueva clave» en la sección «Claves del lado del servidor».

En la categoría Wallets API, selecciona los siguientes alcances:

  • wallets.create
  • wallets.read
  • wallets:signatures.create
  • wallets:transactions.create
  • wallets:transactions.read
  • wallets:transactions.sign

Haz clic en «Crear clave de servidor» para guardar la clave que usarás en el siguiente paso.

Crea tu primera billetera inteligente

Crea un archivo (por ejemplo, createWallet.ts) e introduce este código:

Código
const apiKey = "YOUR_API_KEY";
const walletType = "solana-smart-wallet";
const adminSigner = {
    // In production, you may want to use an MPC solution, like
    // crossmint-managed MPC keys
    type: "solana-keypair",
};

async function createWallet() {
    const response = await fetch("https://staging.crossmint.com/api/2022-06-09/wallets", {
        method: "POST",
        headers: {
            "X-API-KEY": apiKey,
            "Content-Type": "application/json",
        },
        body: JSON.stringify({
            type: walletType,
            config: {
                adminSigner,
            },
        }),
    });

    return await response.json();
}

createWallet()
    .then((json) => console.log(json))
    .catch((err) => console.error(`error: ${err}`));

Antes de ejecutarlo, completa YOUR_API_KEY con la clave obtenida en el paso anterior.

Ahora, ejecuta el script:

Código
npx tsx createWallet.ts

La API devolverá una respuesta con los detalles de tu nueva billetera.

Guarda la dirección de la billetera, ya que la usarás en el siguiente paso.

Interactúa con tu billetera

Ahora que configuramos las billeteras en tu servidor, interactuemos con ellas.

Primero, visita el faucet de USDXM de Crossmint Testnet y pega la dirección de la billetera del paso anterior para recibir USDXM de prueba en Solana.

Ahora que tienes algunos tokens, revisemos el saldo de la billetera (checkBalance.ts):

Código
const apiKey = "YOUR_API_KEY";
const walletAddress = "YOUR_WALLET_ADDRESS"; // From previous step
const tokens = ["sol", "usdc", "usdxm"]; // Tokens to fetch balances for
const chains = ["solana"]; // Chains to query balances from

async function getWalletBalance() {
    const url = new URL(`https://staging.crossmint.com/api/v1-alpha2/wallets/${walletAddress}/balances`);
    url.search = new URLSearchParams({
        tokens: tokens.join(','),
        chains: chains.join(',')
    }).toString();

    const response = await fetch(url, {
        method: "GET",
        headers: {
            "X-API-KEY": apiKey,
            "Content-Type": "application/json",
        },
    });

    return await response.json();
}

getWalletBalance()
    .then((json) => console.log(json))
    .catch((err) => console.error(`error: ${err}`));

¡Felicitaciones! Ya tienes billeteras inteligentes implementadas en tu servidor.

Desde aquí, puedes consultar la documentación para aprender a realizar tu primera transacción, agregar firmantes delegados y mucho más.

Conclusión

Las billeteras inteligentes darán paso a una nueva generación de aplicaciones creadas en Solana que mejorarán la incorporación, la experiencia del usuario, la seguridad y el cumplimiento normativo.

En Crossmint, nos entusiasma impulsar una amplia variedad de casos de uso, desde PI y programas de fidelización hasta agentes de IA, con nuestra sencilla API y nuestras herramientas sin código para billeteras, pagos y tokenización. Estas soluciones pueden escalar de forma confiable a millones de usuarios. Ahora, con el lanzamiento de las billeteras inteligentes integradas de Solana, también impulsamos fintechs y aplicaciones de agentes de IA.

Si quieres obtener más información sobre cómo implementar las billeteras inteligentes de Solana en tu proyecto, contáctanos y con gusto te ayudaremos.

Recursos adicionales

Suscríbete a Helius

Mantente al día con las novedades del desarrollo en Solana y recibe actualizaciones cuando publiquemos

Imagen ampliada