-
Una persona creó una transacción en Bitcoin que requería casi 1.000 firmas para ejecutarse.
-
La transacción en cuestión fue el detonante de un error de programación en un software de Lightning.
Una transacción multifirma de Bitcoin probó los límites del desarrollo de esta tecnología. El hecho es que una persona creó una transacción que requería 998 firmas (de 999 posibles) para validar su ejecución. Esta operación, más bien experimental, no hubiese sido posible hasta la llegada de mejoras como Taproot. La transacción tuvo otras consecuencias para operadores de Lightning.
A través de una publicación difundida el domingo 9 de septiembre, un usuario de Twitter, identificado como Burak, expuso el hecho. «Sí, requería 998 de 999 firmas».
La transacción se elaboró utilizando un mecanismo que simplifica el registro de los datos en el historial de transacciones de Bitcoin. En otras palabras, «la transacción original de depósito lucía como cualquier otra transacción, pero para gastar es donde aparecía lo interesante», según el bitcoiner argentino Nicolás Bourbon.
Baruk explicó la operación en otros términos: «Sí, la UTXO era indistinguible antes del canje. La transacción de gasto reveló todos los detalles, incluido el umbral [la proporción de firmas necesarias]. Muchas otras condiciones de gasto podrían haberse satisfecho con diferentes TapLeafs, pero este fue un simple ejemplo de una sola leaf [una condición]».
Bourbon considera que, si 999 personas se hubiesen puesto de acuerdo, hubiesen podido hacer un gasto de manera colaborativa. Esa transacción sería indistinguible de cualquier otra. Sin embargo, como para este ejemplo se estableció una condición de gasto (en donde faltaba una firma), es posible identificar que la transacción es multifirma.
¿Cómo es posible hacer una transacción en Bitcoin con condiciones específicas?
Taproot permite hacer operaciones complejas, que pueden programarse de manera simple y cuyo registro en el historial de transacciones de Bitcoin se hace de manera más eficiente. Taproot se activó el 14 de noviembre de 2021 y es la actualización más relevante de Bitcoin después de que se implementara SegWit en 2017.
El conjunto de mejoras que componen Taproot permite a cualquier persona establecer condiciones de gasto específicas, a través de comandos, instrucciones o scripts (de ahí, el término Tapscript para designar este método). Estos scripts son en sí mismos más eficientes que los otros tipos de comandos utilizados en Bitcoin.
Una de las propiedades de este conjunto de mejoras consiste en minimizar la información que se revela en la cadena sobre esas condiciones de gastos de una transacción saliente (output), al momento de crear o hacer un gasto.
Demasiado grande para LND de Lightning
Inmediatamente luego de que se agregó esta transacción al historial de Bitcoin, se creó un efecto dominó que afectó un cliente (software) de la red Lightning.
Debido al gran tamaño que ocupaban las firmas de la transacción de Baruk, un error de programación en el cliente LND, desarrollado por Lightning Labs, impidió que algunos nodos hicieran una lectura correcta del historial de transacciones de Bitcoin.
En términos generales esto no afectó el funcionamiento de la red Lightning. Sin embargo, varios usuarios de nodos, y otros servicios como wallets, indicaron que tuvieron dificultades para crear nuevos canales y en algunos casos enviar y recibir pagos, como describimos en un artículo de CriptoNoticias.