Cómo CTV puede ayudar a escalar Bitcoin.

By: subirimagenes

OP_CHECKTEMPLATEVERIFY ha vuelto a ser un punto focal en la conversación sobre mejoras para escalar Bitcoin. Esta vez, hay muchas más propuestas de diseños alternativos para convenios, y diseños concretos que utilizan CTV como soluciones de escalado (Árboles de tiempo de espera y Ark). La conversación tiene una mayor profundidad de conceptos a tener en cuenta, tanto en términos de alternativas que podrían ser adoptadas como de propuestas concretas que CTV podría permitir.

"CTV en conversación escalabilidad"

Una narrativa que circula desde el campamento de las personas en contra de CTV es que «CTV no escala Bitcoin». Interpretémoslo de manera caritativa para que signifique que CTV en sí mismo no escala Bitcoin, sino que las cosas que se pueden construir con él sí lo hacen. Bueno, entonces ese no es un argumento coherente. Segregated Witness no escaló Bitcoin. CHECKLOCKTIMEVERIFY y CHECKSEQUENCEVERIFY no escalan Bitcoin. Pero la Red Lightning, que habilitó esas tres propuestas, sí escala Bitcoin. Agregan una gran cantidad de sobrecarga para que el rendimiento transaccional crezca más allá de las limitaciones de la propia cadena de bloques.

"CTV no escala Bitcoin" - "CTV no aumenta Bitcoin"

El rayo literalmente no podría existir sin esas primitivas de capa base. El problema con el rayo es que solo escala la cantidad de transacciones que pueden ser procesadas. No ayuda de ninguna manera a mejorar la escalabilidad de la propiedad sobre UTXOs, ni aumenta la cantidad de usuarios que pueden controlar uno. Actualmente, el rayo no es capaz de hacer eso con su diseño actual y el conjunto actual de primitivas de consenso disponibles en el script de Bitcoin.

CTV puede cambiar eso.

UTXOs y UTXOs Virtuales

Parte del problema de la limitación de Lightning en cuanto a la escalabilidad de la propiedad de Bitcoin es que, para abrir un canal o controlar un UTXO, en realidad tienes que realizar una transacción en la capa base. Después de eso, Lightning puede facilitar un gran número de transacciones fuera de la cadena, pero el usuario aún debe realizar transacciones en la cadena para unirse a Lightning. Esto aumenta enormemente el número de transacciones que Bitcoin puede procesar, pero no hace nada para aumentar el número de personas que pueden poseer bitcoin.

Este es otro gran problema que CTV puede ayudar a resolver. Burak acuñó el término «virtual UTXO» para su propuesta de Ark, pero creo que esta terminología es un término general perfecto útil más allá del contexto de Ark. Un virtual UTXO es uno comprometido a ser creado en el futuro, a través de mecanismos como una transacción pre-firmada, pero que aún no ha sido creado en la cadena. Bitcoin no tiene espacio en bloque para que todos puedan crear un solo UTXO a la escala de la población mundial, pero definitivamente hay potencial para que las personas tengan su propio UTXO virtual independiente si el proceso de compromiso con ellos puede hacerse escalable.

"Problema resuelto con CTV"

La escalabilidad de la creación de compromisos a vUTXOs es el problema. En este momento no hay forma de crearlos excepto a través del uso de transacciones prefirmadas, lo que introduce un cuello de botella que debe ser abordado. El número de vUTXOs a los que cualquier UTXO real puede comprometerse está limitado por el tamaño del conjunto de multisig que firma estas transacciones. Para crear vUTXOs de forma confiable, el propietario de cada vUTXO debe ser parte de la clave multisig que firma las transacciones que se comprometen a crearlos, de lo contrario no tienen garantía de que se generarán transacciones conflictivas que anulen su capacidad de reclamar su vUTXO si es necesario. El problema de coordinar la firma de esto entre cada miembro del conjunto introduce consideraciones prácticas que en última instancia limitarán severamente el tamaño al que cualquier grupo de vUTXOs puede crecer. La única otra alternativa es que alguna parte o partes de confianza firmen las transacciones comprometiéndose a los vUTXOs de todos, y simplemente confiar en que no robarán esos fondos a los propietarios legítimos.

Limitaciones de vUTXOs.

CTV ofrece una solución a ambos problemas. Al poder comprometerse de manera no interactiva a un conjunto de transacciones futuras de la misma manera que lo hacen las transacciones prefirmadas, pero sin requerir que cada propietario de los vUTXOs creados por esas transacciones coordine la firma, se resuelve el problema de coordinación. Al mismo tiempo, como nadie necesita interactuar, una sola persona podría asumir el papel de financiar la salida de CTV que se compromete a desplegar los vUTXOs de todos en la cadena, y no se requiere confianza en esa persona después de que la transacción de financiación se confirme. Una vez que el verdadero UTXO se confirma en un bloque, la persona que lo financió no tiene la capacidad de deshacer o gastar doblemente las transacciones futuras a las que se ha comprometido.

Ten en cuenta que un vUTXO puede ser lo que quieras que sea. Puede ser un canal Lightning, un script multisig para almacenamiento en frío, etc. CTV hace lo que la forma actual de Lightning no hace, escala la propiedad real de Bitcoin, no solo el número de transacciones que puede procesar.

Cortar a través del atajo

Una de las otras críticas de CTV como «no escalando Bitcoin» es que al comprometerse con transacciones futuras, no se escapa de la necesidad de ponerlas en la cadena eventualmente, por lo que CTV no ayuda realmente a mejorar la escalabilidad. Me gusta llamar a esto «la falacia de OP_IF». Es decir, una vez que la gente comienza a hablar sobre CTV, olvidan que OP_IF existe y que los scripts pueden tener múltiples condiciones de gasto para elegir.

Las cosas más poderosas de Taproot son la capacidad de construir multisigs simplemente agregando dos claves públicas y firmarlas con una sola firma agregada, y revelar selectivamente solo una rama «SI» de un script que tiene múltiples formas de ser gastado. Combinado con CTV, esto ofrece una forma muy poderosa de utilizar los compromisos de vUTXO. En lugar de hacer una cadena de transacciones usando solo CTV, pueden ser construidas con la ruta de gasto de CTV enterrada dentro de un árbol de taproot. El final de la cadena de transacciones son todos los vUTXOs individuales que cada participante posee, bloqueados solo a la clave pública de ese usuario. A medida que retrocedemos hacia la raíz del árbol, cada conjunto de claves que se encuentran debajo de cualquier nodo en el árbol pueden simplemente ser agregadas y utilizadas como la clave Schnorr multisig bajo la cual se encuentra enterrada la ruta de gasto de CTV.

Esto significa que en cualquier punto de la cadena de transacciones que se despliegan en la cadena para convertir realmente los vUTXOs en UTXOs reales, donde cada participante en un UTXO intermedio pueda coordinarse con los demás, todos pueden simplemente firmar cooperativamente una transacción que mueva sus monedas hacia donde deseen de una manera más eficiente que simplemente dejar que el flujo de transacciones predefinido se despliegue completamente para transformar sus vUTXOs en reales. Esto permite que pequeños subgrupos eviten la necesidad de desplegar todo el conjunto de transacciones precomprometidas en la cadena, sin introducir partes de confianza en las que confiar o debilitar la seguridad de la reclamación de cada usuario sobre sus propios vUTXOs.

"Coordinación eficiente de transacciones"

Estas dos realidades simples ofrecen una gran ganancia en escalabilidad para Bitcoin sin comprometer la soberanía individual o la seguridad al hacerlo, y todo lo que necesitamos para realizarlas es CTV.


Agradecimientos: Me gustaría agradecer a todos los que participan en Chicago Bitdevs por ayudarme a formular estas observaciones de manera concisa a través de la discusión.

Deja un comentario