Saltar al contenido principal

Descripción general

Cada billetera de agente en AgentWallex está protegida por Computación Multi-Parte (MPC). La clave privada completa nunca se reconstruye — ni en memoria, ni en disco, ni en ningún lugar. En su lugar, los fragmentos criptográficos de la clave se distribuyen entre tres partes independientes, y cualquiera dos de ellas pueden cooperar para firmar una transacción.

Cómo funciona MPC

Las billeteras tradicionales almacenan una sola clave privada. Si esa clave es robada, todos los fondos se pierden. MPC elimina este punto único de fallo.

Firma de umbral 2-de-3

AgentWallex utiliza el protocolo MPC de umbral 2-de-3 de Paratro. Se generan tres fragmentos de clave, y cualquiera dos son suficientes para producir una firma válida:
FragmentoTitularRol
Fragmento 1Servicio de firma de AgentWallexParticipante activo de firma
Fragmento 2Nodo custodio independienteParticipante activo de firma
Fragmento 3Almacenamiento en fríoRecuperación y recuperación ante desastres
Durante la operación normal, el Fragmento 1 y el Fragmento 2 cooperan para firmar transacciones. El Fragmento 3 permanece fuera de línea y solo se utiliza para escenarios de recuperación.

Propiedades de seguridad

  • Sin punto único de compromiso — Un atacante debe comprometer dos sistemas independientes simultáneamente.
  • Sin reconstrucción de clave — La clave privada completa nunca se ensambla en ningún lugar.
  • Secreto hacia adelante — La rotación regular de fragmentos (compartición proactiva de secretos) invalida los fragmentos antiguos.
  • Misma dirección de billetera — La rotación de fragmentos no cambia la dirección on-chain de la billetera.

Generación de claves

Las claves se generan utilizando Generación de Claves Distribuida (DKG):
1

Generación de fragmentos aleatorios

Cada uno de los 3 nodos MPC genera independientemente un fragmento aleatorio.
2

Derivación de clave pública

Los fragmentos se combinan criptográficamente para producir una clave pública (y la dirección de billetera correspondiente).
3

Distribución de fragmentos

Cada nodo retiene solo su propio fragmento. La clave privada completa nunca existe.
// When you create an agent, DKG happens automatically
const agent = await aw.agents.create({
  name: "my-agent",
  chain: "eip155:8453",
});

// The wallet address is derived from the distributed public key
console.log(agent.wallet.address); // 0x...

Rotación de claves

Los fragmentos de claves se rotan periódicamente utilizando una técnica llamada compartición proactiva de secretos. Este proceso:
  1. Genera nuevos fragmentos que corresponden a la misma clave pública.
  2. Distribuye los nuevos fragmentos a las tres partes.
  3. Destruye los fragmentos antiguos.
Después de la rotación, incluso si un atacante hubiera robado previamente un fragmento, este se vuelve criptográficamente inútil.
La rotación de claves es automática y no requiere ninguna acción por parte del desarrollador. La dirección de la billetera permanece igual.

Congelamiento de emergencia

Cualquier parte autorizada puede congelar instantáneamente la billetera de un agente, impidiendo todas las transacciones:
// Freeze — immediate, no transactions can be signed
await aw.agents.freeze("agent_abc123");

// Unfreeze — subject to mandatory cool-down period
await aw.agents.unfreeze("agent_abc123");
Después de congelar una billetera, hay un período obligatorio de enfriamiento de 10 minutos antes de que pueda ser descongelada. Esto evita que un atacante reactive inmediatamente una billetera que ha congelado y descongelado.

Red de seguridad de infraestructura

Más allá de las políticas configuradas por el desarrollador, Paratro aplica límites estrictos a nivel de firma MPC que no pueden ser anulados por llamadas a la API:
ControlValor predeterminado
Límite diario absoluto$50,000
Detección de anomalíasBasada en ML, siempre habilitada
Congelamiento de emergenciaSiempre disponible
Período de enfriamiento10 minutos después del congelamiento
Estos límites actúan como última línea de defensa, incluso si su clave API se ve comprometida o sus políticas de capa de negocio están mal configuradas.