Cómo CTV puede ayudar a escalar Bitcoin.

esacademic

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 (Timeout Trees y Ark). La conversación tiene una profundidad mucho mayor 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 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 Red Lightning, que esas tres propuestas permitieron, sí escala Bitcoin. Agregan una cantidad masiva de sobrecarga para que el rendimiento transaccional crezca más allá de las limitaciones de la propia cadena de bloques.

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 de primitivas de consenso disponibles en el script de Bitcoin.

"Relámpago limitado a transacciones"

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 hay 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 la cantidad de transacciones que Bitcoin puede procesar, pero no hace nada para aumentar la cantidad 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 comprometerse con ellos puede hacerse 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 o partes de confianza firmen las transacciones comprometiendo los vUTXOs de todos, y simplemente confiar en que no roben esos fondos a los propietarios legítimos.

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 ese UTXO real se confirma en un bloque, la persona que lo financió no tiene la capacidad de deshacer o realizar doble gasto en 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 verdadera propiedad 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 habilidad de construir multisigs 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 vUTXO. En lugar de hacer una cadena de transacciones usando puramente 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 se retrocede hacia la raíz del árbol, cada conjunto de claves que están debajo de cualquier nodo en el árbol simplemente pueden 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 todos los participantes en un UTXO intermedio pueden coordinarse entre sí, todos pueden simplemente firmar cooperativamente una transacción moviendo sus monedas a donde quieran ir de una 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