Bitcoin cambia muy despacio, y a propósito: cualquier error en las reglas pondría en riesgo cientos de miles de millones. Aun así, ha tenido dos grandes mejoras activadas como cambios compatibles (soft forks): SegWit en 2017 y Taproot en 2021. Entenderlas explica por qué tus comisiones son más bajas, por qué existe Lightning y hacia dónde va el protocolo.
El problema que resolvió SegWit
Antes de 2017, la firma de cada entrada formaba parte de los datos con los que se calcula el identificador de la transacción. Eso tenía un efecto secundario incómodo, la maleabilidad: un tercero podía alterar ligeramente la firma, sin invalidarla, y cambiar así el identificador de la transacción antes de que se confirmara. Para pagos sencillos era una molestia; para construir protocolos que encadenan transacciones aún no confirmadas, como los canales de pago, era un obstáculo insalvable.
SegWit (Segregated Witness, testigo segregado) movió las firmas a una estructura aparte, el testigo, que no cuenta para el identificador. Se activó el 24 de agosto de 2017 en el bloque 481.824, tras años de debate en lo que se llamó la guerra de los bloques.
Peso y bytes virtuales
SegWit también cambió cómo se mide el tamaño de los bloques. En lugar de un límite de 1 MB, el bloque tiene un límite de 4 millones de unidades de peso: los datos normales pesan 4 unidades por byte y los del testigo, solo 1. De ahí sale el byte virtual, que es el peso dividido entre cuatro. Las firmas, que son la parte más voluminosa, cuentan una cuarta parte, y por eso gastar desde una dirección SegWit cuesta menos de la mitad que desde una antigua. Compruébalo en la calculadora de comisiones.
Como bonus, al corregir la maleabilidad SegWit hizo posible Lightning.
Taproot: tres mejoras en una
Taproot se activó el 14 de noviembre de 2021 en el bloque 709.632. Reúne tres propuestas (BIP-340, 341 y 342):
- Firmas Schnorr. Sustituyen a las firmas ECDSA en las nuevas salidas. Son más simples, se pueden verificar en lote y, sobre todo, se pueden agregar: varias claves pueden producir una única firma conjunta que parece la de una sola persona.
- Árboles de scripts (MAST). Una salida puede tener varias condiciones de gasto alternativas, organizadas en un árbol. Al gastarla solo se revela la condición que se usa; el resto queda oculto.
- Gasto por la clave. Si todas las partes están de acuerdo, la salida se gasta con una simple firma, sin revelar que existían otras condiciones.
El resultado: una multifirma, un canal de Lightning o un contrato con plazos pueden ser indistinguibles de un pago normal cuando todo va bien. Más privacidad y menos espacio en los bloques.
Direcciones bc1p y bech32m
Las salidas Taproot son SegWit versión 1 y usan direcciones que empiezan por bc1p. Se codifican en bech32m, una variante de bech32 que corrige un pequeño fallo de detección de errores del formato original. Todos los monederos modernos pueden enviar a ellas, aunque no todos pueden aún generarlas.
Cómo se activa un cambio compatible
Un soft fork restringe las reglas: lo que antes era válido puede dejar de serlo, pero los nodos antiguos siguen aceptando los bloques nuevos. Por eso la red no se parte si una parte de los usuarios no actualiza. Taproot se activó con un mecanismo en el que los mineros señalaban su apoyo en los bloques; cuando el 90 % lo hizo en un periodo de dificultad, la activación quedó fijada para una altura concreta. Es un proceso lento y deliberado, que es precisamente lo que se busca.
Qué tipo de dirección usar hoy
- bc1q (SegWit nativo): la opción más compatible y barata para la mayoría de usos.
- bc1p (Taproot): igual de barata o más para firmas simples, más privada en configuraciones complejas. Cada vez más monederos la usan por defecto.
- 1… y 3…: solo si un servicio antiguo no admite otra cosa.
En resumen
SegWit separó las firmas para corregir la maleabilidad y abaratar las transacciones mediante el peso y los bytes virtuales, lo que hizo posible Lightning. Taproot trajo las firmas Schnorr y los árboles de scripts: contratos complejos que, cuando todo va bien, parecen pagos normales. Ambos se activaron como cambios compatibles, sin partir la red.