-
Esta actualización facilitaría las pruebas de conocimiento cero y contratos inteligentes en BTC.
-
La implementación de OP_CAT está sujeta a debate entre desarrolladores y usuarios de Bitcoin.
Eli Ben Sasson, director ejecutivo de StarkWare, empresa detrás de StarkNet, una red de segunda capa (L2) de Ethereum, expresó que una importante actualización en la red Bitcoin (BTC) podría implementarse dentro del próximo año. Se trata de la instrucción llamada OP_CAT (código de operación de concatenación).
El directivo explicó ayer 14 de noviembre de 2024, en declaraciones con un medio, que la activación de OP_CAT abriría la puerta a nuevas capacidades en Bitcoin, como covenants, ZK-rollups y soluciones de capa 2.
OP_CAT se utiliza para concatenar dos elementos en la pila de datos del script. En otras palabras, toma dos elementos y los une en uno solo. Esta operación puede ser útil para crear scripts más complejos y flexibles.
No se trata de la primera vez que Ben Sasson opina sobre esta actualización, ya que en junio de 2024 había manifestado su apoyo a la propuesta de actualización de Bitcoin.
Los desarrolladores que impulsan a OP_CAT y presentaron una propuesta de mejora de Bitcoin (BIP) para una nueva versión del código son Ethan Heilman y Armin Sabouri mediante una bifurcación suave (soft fork). OP_CAT ya tiene su BIP asignado, BIP-0347. Una bifurcación suave es una actualización del protocolo que no invalida el código antiguo. La mejor forma de entenderlo es como una actualización del protocolo que introduce elementos nuevos sobre su núcleo de programación.
Tabla de contenidos
- Desarrolladores debaten sobre OP_CAT
- ¿Qué es OP_CAT?
- Implicaciones técnicas de OP_CAT en Bitcoin
- ¿Qué son los covenants y qué mejora traerían en Bitcoin?
- Los contratos inteligentes en Bitcoin podría ampliar la utilidad de la red
- OP_CAT y las pruebas de Conocimiento Cero en Bitcoin
Desarrolladores debaten sobre OP_CAT
Mientras tanto, OP_CAT se encuentra en un punto sujeto a discusión por parte de la comunidad y otros desarrolladores.
Algunos desarrolladores han sumado su apoyo esta actualización. Tal es el caso de Tadge Dryja, uno de los autores del documento técnico de Lightning Network; de Olaoluwa Osuntokun, cofundador de Lightning Labs, y de Andrew Poelstra, Director de Investigación de Blockstream y desarrollador de scripts criptográficos de Bitcoin
En contrapartida, otros desarrolladores han dejado ver una postura más distante respecto a OP_CAT.
Por ejemplo, Luke Dashjr, quien afirmó no conocer lo suficiente como para opinar, pero sí aludió a OP_CAT comparándola con su discrepancia con la imposición de Ordinals: “construir sobre Bitcoin está bien. Atacar Bitcoin (por los Ordinals) no lo está”.
Además, Dashjr expresó en febrero de 2024 que “dudo que OP_CAT sea implementado pronto”.
Otros desarrolladores argumentan que la inclusión de OP_CAT podría complicar la gestión del código y aumentar el riesgo en la seguridad de la red. Esta preocupación es un aspecto importante del debate en torno a esta actualización de Bitcoin.
Por su parte, algunos usuarios de la comunidad de Bitcoin respondieron en publicaciones ligadas OP_CAT con un mayor escepticismo. Entre esos comentarios se pueden recabar algunos como “mantén tus shitcoins fuera de mi blockchain”.
¿Qué es OP_CAT?
En el contexto de Bitcoin, el opcode (código de operación) OP_CAT es una instrucción en la programación de Bitcoin que permite la realización de una operación específica, en este caso, unir dos elementos de la pila (stacks) de bitcoin en uno solo, lo que da flexibilidad a la creación de los scripts.
Originalmente, OP_CAT estaba incluido en el conjunto de instrucciones de Bitcoin, pero fue deshabilitado por Satoshi Nakamoto en 2010 debido a preocupaciones de seguridad por riesgos de ataques de denegación de servicio (DoS).
Un ataque de denegación de servicio generalmente busca interrumpir el funcionamiento normal de la red o de nodos específicos para ralentizarla y aumentar las tarifas de transacción debido a la congestión.
La razón por la que se dice que OP_CAT es un opcode es porque forma parte del conjunto de instrucciones que el lenguaje de scripting de Bitcoin (Bitcoin Script) puede ejecutar. Cada opcode tiene una función específica y OP_CAT es simplemente uno de estos códigos de operación que, si se reintroduce, ampliaría las capacidades del scripting en y los posibles usos de la red Bitcoin.
Entre otros opcodes en Bitcoin se encuentran OP_DUP, OP_CHECKSIG y OP_EQUALVERIFY. Sus funciones se basan en duplicar el elemento superior de la pila en verificar una firma criptográfica y en corroborar que los dos elementos superiores de la pila sean iguales y luego los elimina, respectivamente.
Implicaciones técnicas de OP_CAT en Bitcoin
La reactivación del opcode OP_CAT podría marcar un punto de inflexión en la funcionalidad técnica de Bitcoin.
OP_CAT permite la concatenación de elementos en la pila de datos. La pila de datos (también llamados bitcoin stacks) es una estructura donde los elementos se apilan uno sobre otro y se pueden agregar o quitar.
Es decir que esta concatenación abriría la posibilidad de implementar estructuras y aplicaciones más complejas dentro del protocolo.
Entre las potenciales implicancias técnicas se encuentran las mencionadas por Ben Sasson, como los convenants y la introducción de ZK-rollups, entre otros.
¿Qué son los covenants y qué mejora traerían en Bitcoin?
Los covenants (en castellano convenios o pactos) en Bitcoin son una propuesta para introducir restricciones adicionales sobre cómo y dónde se pueden gastar las monedas de bitcoin en su red.
Un covenant permite que un script de Bitcoin imponga condiciones sobre las transacciones futuras de una moneda específica (de manera similar a lo que ocurre con los contratos inteligentes en Ethereum, que activan operaciones si se cumplen ciertas condiciones, aunque estos últimos son más complejos).
Por ejemplo, los covenants pueden limitar las direcciones a las que se pueden enviar las monedas.
En la práctica esto se traduciría en que una moneda podría estar restringida para ser enviada sólo a una lista de direcciones predefinidas (o whitelist). Esto es una forma útil de restringir los destinatarios de criptomonedas desde una cuenta, lo que evita pérdidas de fondos en casos de hackeos.
Los contratos inteligentes en Bitcoin podría ampliar la utilidad de la red
Por otro lado, OP_CAT habilitaría la creación de contratos inteligentes más complejos, lo que extendería el alcance de aplicaciones posibles en la red de Bitcoin. Esto incluiría contratos de estado, funcionalidades de pagos avanzadas y el uso de oráculos.
Incluir contratos de estado en Bitcoin mediante OP_CAT significa habilitar una funcionalidad avanzada que permitiría que los contratos inteligentes mantengan y actualicen un estado persistente entre múltiples transacciones.
Esto representa una extensión significativa del modelo de scripting actual de Bitcoin, que está diseñado para ser más estático y basado en condiciones fijas para gastar fondos.
La posibilidad de desarrollar contratos inteligentes avanzados y soluciones más eficientes podría atraer a empresas y desarrolladores al ecosistema de Bitcoin, fomentando su adopción en el ámbito empresarial.
En pocas palabras, Bitcoin se parecería más a pasarelas y sistemas de pago más «modernos» caracterizados por la eficiencia y la rapidez, aunque no necesariamente por su descentralización ni ausencia de confianza.
También se podría diversificar el rango de aplicaciones posibles, ampliando los casos de uso de Bitcoin más allá de ser una red de pagos, una reserva de valor o una unidad de intercambio, permitiendo el desarrollo de aplicaciones con otras utilidades.
OP_CAT y las pruebas de Conocimiento Cero en Bitcoin
En adición, el opcode OP_CAT podría implementar pruebas ZK (Conocimiento Cero o Zero Knowledge) en Bitcoin.
Las pruebas ZK son una tecnología criptográfica que permite a una parte demostrar a otra que una declaración es verdadera sin revelar ninguna información adicional. Este mecanismo mejoraría la privacidad de los usuarios al ocultar detalles específicos de cada transacción en los datos agrupados.
Recientemente CriptoNoticias notificó que en la Ciudad Autónoma de Buenos Aires, capital federal de Argentina, se implementó un proyecto busca que los ciudadanos tengan la propiedad directa de su información personal mediante pruebas de conocimiento cero.
Por su parte, en Bitcoin, esta tecnología permitiría además agregar un gran volumen de transacciones en una sola prueba criptográfica verificable, escalando la capacidad de la red a miles de transacciones por segundo al reducir la información que necesita ser registrada directamente en la red principal.
En otras palabras, la implementación de pruebas ZK apuntaría a disminuir la congestión de la red y reducir las tarifas de transacción.
Así, la implementación de ZK-Rollups podría consolidar a Bitcoin como un competidor frente a otras redes con mayor capacidad de transacciones, como Solana (SOL) o Ethereum, por ejemplo.
En la actualidad la red Bitcoin procesa un promedio de 6 o 7 transacciones por segundo (TPS), según datos de BitInfoCharts.
En resumen, la implementación de OP_CAT en Bitcoin representaría una oportunidad para llevar la red a un nuevo nivel de funcionalidad y escalabilidad. No obstante, vale recordar que Satoshi Nakamoto, el mejor conocedor del protocolo de Bitcoin, quitó esta integración OP_CAT por posibles riesgos.
De modo tal, su activación requiere un enfoque cuidadoso para mitigar riesgos y garantizar que los beneficios superen los costos. Esta propuesta, aunque técnicamente prometedora y parece más cerca que nunca para 2025, dependerá del consenso de la comunidad y de una implementación gradual que priorice la seguridad y la descentralización.