Los contratos inteligentes de Bitcoin son una bestia difícil de domar, pero un nuevo lenguaje los está haciendo más fáciles de escribir, democratizándolos en cierto sentido.
Los contratos inteligentes pueden (entre otras cosas) permitir a los usuarios establecer reglas adicionales en su bitcoin, requiriendo que estas reglas se cumplan antes de que los fondos puedan ser desbloqueados. Minsc, creado por el desarrollador de Bitcoin Nadav Ivgi, es un nuevo lenguaje de programación que facilita a los desarrolladores la creación de este tipo de contratos para que puedan incorporarlos en las carteras de Bitcoin Up y otras aplicaciones de forma más fluida.
Uno de los objetivos de Minsc es hacer que los contratos inteligentes „sean más accesibles para más gente“, dijo Ivgi a CoinDesk. Eso significa que tanto los desarrolladores como los usuarios pueden aprovechar las herramientas construidas por los desarrolladores.
Nivel uno: Contratos inteligentes de ‚Script‘.
Los contratos inteligentes fueron descritos por primera vez por Nick Szabo en los años 90. Él teorizó una forma de automatizar los contratos legalmente vinculantes hechos entre personas.
Los ejemplos típicos de contratos inteligentes en Bitcoin incluyen no permitir que se gaste 0,1 BTC hasta el 2021, o requerir que más de una persona firme una transacción antes de que el dinero pueda moverse realmente. Los contratos inteligentes también alimentan las segundas capas del protocolo de Bitcoin, como la Red de rayos, que podría ayudar a Bitcoin a expandirse para llegar a más usuarios.
Hasta ahora, el Script de Bitcoin es el lenguaje que hace posible estos contratos.
El problema es que es difícil trabajar con Bitcoin Script. No es como otros lenguajes de programación más populares a los que están acostumbrados los desarrolladores, lo que hace más difícil que se den cuenta y compongan. Esta falta de comprensión también hace que sea más fácil cometer un error, poniendo potencialmente en riesgo a Bitcoin.
La falta de manejo de Bitcoin Script fue uno de los factores que llevó a Vitalik Buterin a diseñar la plataforma Ethereum en primer lugar. Solidez, el primer lenguaje de contratos inteligentes de Ethereum, fue diseñado para ser mucho más fácil de leer y por tanto de usar para los desarrolladores. Y ha dado sus frutos: Ethereum ha crecido hasta convertirse en la plataforma de acceso para los desarrolladores de contratos inteligentes.
Nivel dos: Miniscript
Miniscript, publicado en 2019 por Pieter Wuille, Andrew Poelstra y Sanket Kanjalkar en Blockstream Research, se desguaza en este número para bitcoin.
Más información: Pieter Wuille desvela el ‚Miniscript‘, un nuevo lenguaje de contratos inteligentes para Bitcoin
„Una de las razones por las que no estamos ni cerca de usar todo el potencial de Script es que construir scripts para tareas no triviales es engorroso. Es difícil verificar su corrección y seguridad, y aún más difícil encontrar la forma más económica de escribir las cosas“, escribieron Wuille y Poelstra en una entrada de blog presentando Miniscript en septiembre del año pasado.
Miniscript ofrece un lenguaje que es más fácil de entender que Script, con garantías de seguridad incorporadas.
Además, si hay dos formas diferentes de escribir el mismo contrato en Script, Miniscript es capaz de evaluar cuál es „más económica“.
La computadora eventualmente compila (o convierte) el Miniscript a Bitcoin Script, que es en lo que el código finalmente necesita ser escrito para bloquear exitosamente el bitcoin real con estas restricciones adicionales.
Nivel tres: Minsc
Minsc es el tercer nivel del pastel. Se construye encima de Miniscript, aprovechando sus propiedades de seguridad pero creando un lenguaje que es aún más fácil de leer y pensar para los desarrolladores que Miniscript.
„Minsc“ se centra en la usabilidad y en facilitar la expresión, comprensión y razonamiento de los guiones, usando una sintaxis simple y familiar. Añade características adicionales de conveniencia y ‚azúcar sintáctico'“, dijo Ivgi a CoinDesk.
„Azúcar sintáctico“ es un término de programación para añadir a un lenguaje otra forma más fácil y rápida de ejecutar una tarea que normalmente es más difícil de escribir.
Así que Minsc no añade nada nuevo a Script, sólo lo hace más fácil de usar.
„No te permite hacer nada que no haga ya Miniscript, de forma similar a Miniscript en relación con Bitcoin Script“, dijo Ivgi.
Los contratos inteligentes de Bitcoin y Minsc: ¿A dónde irán después?
Minsc podría facilitar a los desarrolladores el añadir soporte para varios contratos inteligentes. „El principal público objetivo son los desarrolladores que buscan construir aplicaciones que utilicen Bitcoin Script de forma interesante y avanzada“, añadió Ivgi.
Si más desarrolladores pueden eventualmente agregar soporte para estos contratos inteligentes, más usuarios podrán (tal vez incluso sin saberlo) utilizar estos contratos más complejos también.
„Inicialmente, sin embargo, anticipo que el uso será principalmente experimental y educativo. Minsc puede ser una gran herramienta para las personas que buscan obtener una mejor comprensión de Bitcoin Script, así como para los educadores que enseñan los aspectos técnicos de Bitcoin“, dijo Ivgi.
Ivgi está todavía en el proceso de añadir otras características al lenguaje. Es probable que las capacidades de contratación inteligente de Bitcoin se amplíen aún más, como con Taproot,