Cómo CTV puede ayudar a escalar Bitcoin.

OP_CHECKTEMPLATEVERIFY ha vuelto a convertirse en un punto focal en la conversación sobre mejoras para escalar Bitcoin. En esta ocasión, hay muchos más diseños alternativos para convenios que están siendo propuestos, y diseños concretos que hacen uso de CTV como soluciones de escalado (Timeout Trees 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 escalado"

Una narrativa que circula desde el campo de las personas en contra de CTV es que «CTV no escala Bitcoin». Interpretémoslo de manera caritativa como 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 Lightning Network, que habilitaron esas tres propuestas, sí escala Bitcoin. Agregan una gran cantidad de sobrecarga para que la capacidad transaccional crezca más allá de las limitaciones de la propia cadena de bloques.

"CTV no escala Bitcoin"

El relámpago literalmente no podría existir sin esas primitivas de capa base. El problema con el relámpago, sin embargo, es que solo escala el número de transacciones que pueden ser procesadas. No ayuda de ninguna manera a mejorar la escalabilidad de la propiedad sobre UTXOs, ni aumenta el número de usuarios que pueden controlar uno. Actualmente, el relámpago no es capaz de hacerlo 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 el espacio en bloque para que todos creen 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 ser escalable.

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 puede crecer cualquier grupo de vUTXOs. La única otra alternativa es que alguna parte de confianza o partes firmen las transacciones que se comprometen a los vUTXOs de todos, y simplemente confiar en que no robarán esos fondos a los propietarios legítimos.

CTV ofrece una solución a ambos problemas. Al poder comprometerse no interactivamente 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 confiar en esa persona después de que la transacción de financiamiento se confirme. Una vez que el UTXO real 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 de 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.

"vUTXO versátil y escalable"

Cortar a través del atajo.

Una de las otras críticas de CTV como «no escalable para Bitcoin» es que al comprometerse con transacciones futuras, no se escapa de la necesidad de ponerlas en la cadena eventualmente, por lo tanto, 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 sobre Taproot son la capacidad de construir multisig simplemente agregando dos claves públicas y firmarlas con una sola firma agregada, y revelar selectivamente solo una rama «IF» 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 utilizando 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 a la clave pública de ese usuario solamente. A medida que retrocede hacia la raíz del árbol, cada conjunto de claves que están por debajo de cualquier nodo en el árbol simplemente pueden ser agregadas y utilizadas como la clave Schnorr multisig en la que 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 a donde quieran ir de manera más eficiente que simplemente dejar que el flujo de transacciones predefinido se despliegue hasta convertir 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.

Estas dos simples realidades ofrecen una gran ventaja 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