Saltar al contenido principal

Cuentas inteligentes SLH-DSA

Las cuentas inteligentes de Pali admiten validadores modulares. El validador poscuántico usa firmas locales SLH-DSA-SHA2-128s administradas por Pali. En las APIs el identificador del autenticador es slh-dsa.

Nota alfa

Las cuentas inteligentes de Pali y SLH-DSA son infraestructura temprana. Usa redes de prueba compatibles o cuentas con saldos pequeños, conserva una ruta de recuperación o validador alternativo y no diseñes UX de dapp basada en tiempos fijos de configuración o firma.

Solicitud de dapp​

Solicita una cuenta inteligente con wallet_prepareSmartAccount:

const smartAccount = await window.ethereum.request({
method: 'wallet_prepareSmartAccount',
params: [
{
label: 'Cuenta poscuántica de prueba',
authenticator: { id: 'slh-dsa' },
},
],
});

No incluyas keyId, pkSeed, pkRoot ni material de clave SLH-DSA. Pali genera y administra el firmante local. Las claves SLH-DSA suministradas por una dapp se rechazan para evitar crear cuentas que Pali no pueda firmar.

Flujo de firma​

Pali firma el hash de acción de la cuenta inteligente con el firmante SLH-DSA local. Antes de firmar comprueba que la cuenta objetivo sea la correcta, que los metadatos estén hidratados, que el validador activo sea slh-dsa, que la clave pública coincida con el estado local y que la sesión pueda descifrar el estado local.

Si algo falla, Pali no firma y pide regenerar el estado local o usar otro método de aprobación.

Límites y gas​

  • capacidad absoluta por clave: 2^24;
  • límite de firma normal: 2^24 - 1,000;
  • firmas reservadas para rotación: 1,000;
  • longitud de firma: 3,856 bytes;
  • preVerificationGas SLH-DSA: 130,000;
  • verificationGasLimit SLH-DSA: 700,000 como límite conservador.

Cuando signatureCount >= signatureLimit, Pali deja de firmar operaciones normales con esa clave y solo permite el presupuesto reservado para ejecuciones explícitas de rotateValidator. Las dapps no deben asumir tiempos fijos de firma.

Referencias​