-
BitVM sería capaz de ejecutar contratos inteligentes, redes alternativas y otros programas.
-
El protocolo no requiere modificaciones del código base de Bitcoin y emularía la VM de Ethereum.
«Cualquier función computable se puede verificar en Bitcoin», indica el documento técnico o white paper de BitVM, un protocolo capaz de ejecutar contratos inteligentes complejos en Bitcoin. Este desarrollo, divulgado hoy, tiene el potencial de emular las funciones de la máquina virtual de Ethereum, con lo cual se abre la posibilidad de que su tecnología deje de ser percibida como la red para contratos inteligentes por excelencia.
De acuerdo con su documento técnico, BitVM es un «paradigma informático» que propone un mecanismo para ejecutar un sistema computacional de Turing completo, que sustente contratos inteligentes complejos vinculados a Bitcoin. Una máquina de Turing universal (máquina virtual o VM por sus siglas en inglés) es un sistema que puede simular otro modelo de computadora, con lo cual tiene el potencial de ejecutar cualquier programa de computadora compatible.
El diseño de esta máquina virtual permite teóricamente ejecutar redes como Lightning o rollups como los de Ethereum con pocos recursos computacionales para los nodos de Bitcoin. Además, no requiere cambios en las reglas de consenso de la red de Bitcoin, debido a que todos los cálculos de esos programas se realizarían fuera de la cadena principal. «En lugar de ejecutar cálculos en Bitcoin simplemente se verifican», indica el documento firmado por Robin Linus, el principal desarrollador del proyecto ZeroSync.
BitVM, una máquina virtual para Bitcoin
Esta versión del protocolo BitVM funciona como un sistema bipartito, de manera similar a los optimistics rollups de Etehreum. «Un demostrador afirma que una función determinada evalúa algunas entradas particulares para una salida específica. Si esa afirmación es falsa, entonces el verificador puede realizar una prueba de fraude sucinta y castigar al demostrador», se indica. Por lo tanto, es necesario que tanto el demostrador como el verificador estén de acuerdo para ejecutar los programas (cadenas laterales, mercados de predicción, códigos novedosos).
El documento señala que esta configuración de demostrador y verificador es, en principio, una limitación. Adam Back, CEO de Blockstrem, comparó este modelo de «juego de dos parte» con otro propuesto en 2016 por el desarrollador de Greg Maxwell para pagos con prueba de conocimiento cero. Se añade que otra limitación consiste en la posibilidad de que estas partes tengan que usar grandes recursos para hacer cálculos y comunicarse.
Funciones de BitVM
La arquitectura del protocolo BitVM se basa en pruebas de fraude y un protocolo de desafío-respuesta, al igual que Optimistic y MATT (Merkelize All The Things), que utiliza una estructura de datos de árbol para que los nodos o las computadoras verifiquen la integridad de la información. En este caso, se usan grandes árboles de datos vinculados a transacciones Taproot, bloqueo de hash y bloqueo de tiempo, elementos básicos de Bitcoin.
La simplicidad del sistema es adecuada para hacer cálculos universales, pero probablemente no es adecuada para aplicaciones prácticas o muy específicas, señala el documento.
BitVM está constituido por tres pasos básicos: una puerta lógica NAND con script o secuencia de comando de Bitcoin, compromisos de bits y el árbol Taproot.
El protocolo es simple: en primer lugar, el probador y el verificador compilan el programa en un enorme circuito binario. El probador se compromete con ese circuito en una dirección Taproot que tiene un script de hoja para cada puerta lógica del circuito. Además, prefirman una secuencia de transacciones, lo que permite un juego de desafío-respuesta entre el probador y el verificador. Ahora han intercambiado todos los datos requeridos, para que puedan realizar sus depósitos en cadena en la dirección Taproot resultante.
Documento técnico de BitVM
Los pasos descritos permiten activar el contrato y a partir de allí se puede «comenzar a intercambiar datos fuera de la cadena para desencadenar cambios de estado en el circuito. Si el probador hace algún reclamo incorrecto, el verificador puede tomar su depósito. Esto garantiza que los atacantes siempre perderán sus depósitos», se especifica.
La implementación de un compromiso de puerta NAND es sencilla. Contiene dos compromisos de bits que representan las dos entradas y un tercer bit que representa la salida. El script calcula el valor NAND de las dos entradas para garantizar que coincida con el bit de salida confirmado.
Documento técnico de BitVM
Observaciones de desarrolladores de Bitcoin
El desarrollador principal de RGB, un protocolo se permite crear contratos inteligentes y emitir tokens en Bitcoin y Lightning, señalo que, pese a la simplicidad del sistema, «los programas del mundo real, incluidos elementos como zk-STARKS, requieren multiplicación y división de módulo, algo ausente en el script de Bitcoin». Señaló que para una implementación práctica no encajaría, ni siquiera con un número enorme de puertas NAND, por las restricciones del propio protocolo de Bitcoin. Considera que tomará años para que se implemente y al menos una bifurcación suave.
Olaoluwa Osuntokun, CTO de Lightning Labs, hizo una observación similar: «la sobrecarga es bastante significativa» si se estima una sola salida sha2 de 32 bytes para cada puerta NAND, porque se requerirían miles de millones de puertas, que se traducirá en decenas de gigabytes. Cuestionó que no se utilizaran técnicas criptográficas de computación de múltiples partes (SoA MPC) existentes.
Robin Linus respondió que para aplicaciones del mundo real no usaría un solo script NAND por cada hoja del árbol de datos, pero que cada script podría representar hasta 4MB del circuito. «Además, no es necesario expresar todo en NAND. Puede utilizar códigos de operación de alto nivel como OP_ADD para reducir el tamaño del circuito».
Osuntokun coincidió con que una aritmética simple eliminaría la sobrecarga, pero que le preocupaban más los problemas relacionados con la latencia y el ancho de banda requerido.
Esta no es la única propuesta para escalar Bitcoin con contratos inteligentes. Recientemente, los desarrolladores de RGB lanzaron la primera versión estable del protocolo, como reportó CriptoNoticias. Otras herramientas, como las pruebas de conocimiento cero en Bitcoin, también se encuentran en desarrollo.