Fystack Cosigner

El cosigner es un participante MPC que ejecutas en tu propia infraestructura. Guarda un fragmento de cada clave de billetera y participa en el keygen y la firma junto con los nodos de MPCium de Fystack. Antes de cada firma, consulta a tu servidor de aprobación.

Por qué ejecutar un cosigner

  • Custodia compartida: Fystack no puede alcanzar un quórum de firma sin tu fragmento.
  • Tu política, aplicada localmente: tu servidor de callback ve los bytes exactos que se van a firmar y puede rechazar cualquier cosa.
  • Sin puertos de entrada: el cosigner se conecta hacia Fystack mediante gRPC con TLS.
  • Releases firmados: cada imagen y binario está firmado con Sigstore. cosigner-cli verifica y fija el digest antes de ejecutarlo.
  • Aislamiento en enclave (próximamente): soporte para AWS Nitro Enclave para que los administradores del host no puedan leer los fragmentos de clave.

Descripción general

El cosigner en tu infraestructura se conecta hacia el Fystack Gateway, solicita aprobación a tu callback y desenvuelve su clave de almacenamiento con AWS KMS
Click to open the full-size diagram
  • Tu lado: el contenedor del cosigner, tu callback de aprobación y una fuente para la clave de almacenamiento (contraseña o AWS KMS).
  • Lado de Fystack: Apex (emparejamiento, solicitudes), Gateway (conexiones de cosigners), Orchestrator (sesiones) y los nodos de MPCium.

Los mensajes MPC se cifran de extremo a extremo entre los participantes. El Gateway y el Orchestrator los retransmiten, pero no pueden leerlos.

Operaciones

Operación Rol del cosigner
Keygen Genera su fragmento de las claves ECDSA (secp256k1) y EdDSA (Ed25519). Nadie tiene nunca la clave completa.
Sign Verifica la solicitud, consulta a tu callback y luego participa en la firma de umbral.
Reshare Rota los fragmentos hacia un nuevo comité. La clave pública y las direcciones no cambian.
Export Escribe archivos .mshare cifrados para la recuperación sin conexión.

Modos de despliegue

Modo Se ejecuta en Quién puede leer los fragmentos de clave
Regular Linux + Docker, gestionado por cosigner-cli Cualquiera con acceso root o a Docker en el host
Nitro Enclave (próximamente) AWS EC2 con Nitro Enclaves Solo el enclave atestado

Documentación

Arquitectura

Componentes, canales y ciclo de vida de las sesiones.

Read more

Ciclo de vida de las claves y firma

Keygen, firma y resharing, paso a paso.

Read more

Callback de aprobación

Aprueba o rechaza cada operación desde tu propio servidor.

Read more

Instalación

Instala, empareja e inicia un cosigner.

Read more

Operaciones

Referencia de la CLI, backups, actualizaciones y monitoreo.

Read more

Recuperación de claves

Reconstruye las claves de las billeteras sin conexión a partir de fragmentos exportados.

Read more

Despliegue en Nitro Enclave

Próximamente: ejecuta el cosigner en un AWS Nitro Enclave.

Read more

Modelo de seguridad

Límites de confianza, cifrado y verificación.

Read more