Skip to main content

Firma Digital | Bitcoin Glossary | Mapping Bitcoin

Firma Digital

Criptografía

Prueba criptográfica generada con clave privada que autoriza transacciones Bitcoin. Permite verificar la autenticidad sin revelar la clave del firmante.

Descripción General

Las firmas digitales son el mecanismo fundamental mediante el cual los propietarios de Bitcoin prueban que tienen derecho a gastar sus fondos. Cuando un usuario crea una transacción, firma cada entrada con la clave privada correspondiente a la dirección que tiene los fondos. Los nodos y mineros verifican estas firmas antes de aceptar la transacción, asegurando que solo el propietario legítimo pueda mover sus bitcoin.

Cómo Funciona

El proceso de firma y verificación sigue un patrón general:

FIRMA (por el remitente):
┌─────────────────────┐
│  Datos de Transacción│
│  (entradas, salidas) │
└────────┬────────────┘
         │
         ▼
┌─────────────────────┐     ┌─────────────┐
│   Función Hash      │ ◄───│ Clave Privada│
└────────┬────────────┘     └─────────────┘
         │
         ▼
┌─────────────────────┐
│  Firma Digital      │
│  (valores r, s)     │
└─────────────────────┘

VERIFICACIÓN (por cada nodo):
┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│   Firma      │  │ Clave Pública│  │ Datos de Tx  │
└──────┬───────┘  └──────┬───────┘  └──────┬───────┘
       │                 │                 │
       └────────┬────────┘─────────────────┘
                ▼
         ┌──────────────┐
         │  Válido: ✓/✗ │
         └──────────────┘

Tipos de Firma en Bitcoin

ECDSA (Algoritmo de Firma Digital de Curva Elíptica): El esquema de firma original utilizado en Bitcoin desde su lanzamiento. Las firmas ECDSA usan la curva secp256k1 y producen firmas de aproximadamente 70-72 bytes. Todos los tipos de transacciones anteriores a Taproot usan ECDSA.

Firmas Schnorr: Introducidas con la actualización Taproot en noviembre de 2021, las firmas Schnorr ofrecen varias ventajas: son matemáticamente más simples, demostrablemente seguras bajo suposiciones estándar, admiten agregación nativa de claves y firmas, y siempre tienen exactamente 64 bytes. Las firmas Schnorr se utilizan en salidas Pay-to-Taproot (P2TR).

Banderas Sighash

Al firmar una transacción, el firmante puede elegir qué partes de los datos de transacción cubre la firma usando banderas sighash:

  • SIGHASH_ALL (predeterminado): Firma todas las entradas y salidas
  • SIGHASH_NONE: Firma todas las entradas pero ninguna salida
  • SIGHASH_SINGLE: Firma todas las entradas y solo la salida en el mismo índice
  • SIGHASH_ANYONECANPAY: Se puede combinar con las anteriores; firma solo una entrada

Conceptos Erróneos Comunes

  • Las firmas digitales no cifran nada. Proporcionan autenticación e integridad, pero no confidencialidad.
  • La clave privada nunca se transmite ni se incorpora a la transacción. Solo se incluyen la firma y la clave pública.
  • Cada firma es única para los datos de transacción específicos que se firman, por lo que una firma no puede reutilizarse para una transacción diferente.