Actualización Bitcoin Taproot

Todos los bitcoins están esencialmente «bloqueados» en scripts: un par de líneas de código incrustadas en una transacción incluida en la cadena de bloques, que definen cómo se pueden gastar las monedas en la siguiente transacción. Las condiciones de gasto generalmente implican proporcionar una firma para demostrar la propiedad de las monedas. Pero otras condiciones bien conocidas incluyen, por ejemplo, bloqueos de tiempo (las monedas solo se pueden gastar después de una fecha o altura de bloque específica) o multisig (las monedas solo se pueden gastar si una cierta cantidad de claves privadas de un conjunto de claves privadas proporcionan firmas).

Se pueden combinar y combinar diferentes condiciones para crear tipos complejos de contratos inteligentes. Un ejemplo de un contrato de este tipo podría ser que las monedas se pueden gastar si tanto Alice como Bob firman, o si Alice firma sola después de una semana, o si Bob solo firma mientras también proporciona un número secreto. Cualquiera de estas tres condiciones que se cumpla primero, es cómo se gastan las monedas.

Desde 2012, los guiones (las condiciones) a menudo no son visibles públicamente al principio; solo el nuevo propietario de las monedas sabe cómo se pueden gastar. Esto se hace con un truco llamado P2SH (pagar por hash del script), donde inicialmente solo se incluye un hash del script en la cadena de bloques. Este número aparentemente aleatorio contiene las monedas. Cuando el propietario gasta las monedas, revela todo el guion, así como la «solución» del guion al mismo tiempo. Cualquiera puede utilizar el hash inicial para comprobar que el script proporcionado era realmente el script original que bloquea las monedas y puede concluir inmediatamente que se cumplieron los requisitos del script.

Aún así, cuando se gastan las monedas, actualmente es necesario revelar todas las posibles condiciones que podrían haberse cumplido, incluidas las condiciones que no se cumplieron. Esto tiene dos desventajas principales. Uno, tiene muchos datos, especialmente si hay muchas condiciones. Y dos, es malo para la privacidad. Todos aprenden todas las diferentes formas en que se podrían haber gastado los fondos, lo que puede, por ejemplo, revelar qué tipo de billetera se usó y quizás incluso más.

MAST (Merkelized Abstract Syntax Tree) es una solución propuesta que utiliza árboles de Merkle (una estructura de datos compacta de décadas de antigüedad inventada por el criptógrafo Ralph Merkle) para solucionar estos dos inconvenientes. En resumen, todas las diferentes condiciones en las que se pueden gastar los fondos se codifican individualmente (en lugar de combinarlas en un solo hash) y se incluyen en un árbol Merkle, que finalmente produce un solo hash: la raíz Merkle. Esta raíz de Merkle “bloquea” las monedas.

El beneficio único es que si se revela alguno de los datos en el árbol de Merkle, la raíz de Merkle y algunos datos adicionales (denominados ruta de Merkle) se pueden usar para verificar que esos datos específicos se incluyeron en el árbol de Merkle. El resto del árbol Merkle permanece codificado y oculto.

Sin embargo, con Schnorr, Taproot puede hacerlo aún mejor: una transacción puede ocultar que existió una estructura MAST.

Taproot se basa en una conclusión interesante: no importa cuán compleja sea, casi cualquier construcción MAST podría (o debería) incluir una condición que permita a todos los participantes ponerse de acuerdo sobre el resultado y simplemente firmar juntos una transacción de liquidación. En el ejemplo anterior, si Bob sabe que Alice puede, por sí misma, reclamar todos los fondos la próxima semana, también podría cooperar con ella ahora para firmar juntos. (En muchas configuraciones típicas de contratos inteligentes, incluso sería penalizado si no lo hace. La complejidad realmente solo sirve para mantener a todos honestos).

Taproot se parece a MAST y siempre incluye una condición en la que todos los participantes pueden cooperar para gastar los fondos: el «cierre cooperativo».

El cierre cooperativo utilizaría el truco del umbral de Schnorr para que parezca una transacción normal, de una persona a otra. Por lo tanto, las claves públicas de todos los participantes se suman, lo que da como resultado la «clave pública de umbral». En correspondencia con esta clave pública de umbral, la combinación de las firmas de todos los participantes, su «firma de umbral», les permite gastar los fondos.

Disclaimer: Los blogs emitidos en esta plataforma no pretenden dar consejos de inversión. Si se desean tomar de esa manera, queda bajo la total responsabilidad del lector.