Desde la reciente actualización de Bitcoin Cash (BCH), el protocolo ahora tiene algunas características recientemente añadidas como el opcode OP_Checkdatasig el cual fue habilitado de nuevo. Después de la implementación, algunos desarrolladores han estado experimentando con el opcode y han desarrollado conceptos como “restricciones de gasto”. Además, en otro caso, un programador utilizó recientemente el opcode para crear una partida de ajedrez onchain (en cadena) en la cadena de bloques de BCH.
Limitaciones De Gastos
Durante la última semana, los partidarios de BCH han estado tratando de olvidar lentamente la reciente división de la cadena de bloques y concentrarse en la construcción. Un ejemplo de esto es una reciente prueba de concepto (proof of concept) escrita por un desarrollador de BCH llamado Pein Sama, quien utiliza el opcode OP_Checkdatasig para explorar nuevas capacidades. Sama detalla que antes de la actualización de Bitcoin Cash, el script BCH se limitaba a cómo alguien podía especificar quién podía gastar cierta moneda, pero en ese momento no había forma de añadir restricciones sobre cómo se podía gastar. El desarrollador demuestra entonces cómo es posible ahora crear restricciones de gasto con el nuevo lenguaje de codificación BCH llamado Spedn.
Después de que Sama publicara su idea, la comunidad del CIISB discutió el concepto de restricciones de gastos y otras ideas como los pactos. Algunas personas discutieron específicamente el final de la documentación de Sama, que dice que el concepto podría producir cosas como los tokens basados en OP_Return que son “ejecutables para los mineros”. El programador explicó que se podría argumentar que OP_Group es una forma más limpia de añadir tokens nativos, pero que no tenía una opinión firme al respecto. “Mi artículo sólo explora la nueva tierra”, señaló el desarrollador en el foro de Reddit r/btc.
Una Partida De Ajedrez
Poco después de la publicación sobre las restricciones de gasto con el opcode OP_Checkdatasig, un desarrollador llamado Tobias Ruck se inspiró en la exploración del opcode y diseñó un juego de ajedrez con la nueva característica. Debido a que las reglas de ajedrez son deterministas, pueden usar a un tercero para ayudar a hacer cumplir las reglas del juego y ahí es donde OP_Checkdatasig entra en juego. Utilizando las “ingeniosas restricciones de gasto” publicadas originalmente por Sama, Ruck muestra cómo se puede aplicar el concepto a una partida de ajedrez.
“Lo bueno del ajedrez es que sus reglas son deterministas, así que no hay necesidad de lanzar dados o hacer magia criptográficamente segura con un generador de números pseudo-aleatorios”, explicó Ruck en su reciente entrada en su blog. El desarrollador continuó describiendo los beneficios de usar OP_Checkdatasig como un oráculo de confianza dentro de una partida de ajedrez diciendo:
Si Kasparov desafiara a Anand en una ronda de ajedrez, podrían confiar en que algún tercero (árbitro) o incluso que cada uno de ellos hiciera cumplir/seguir las reglas, pero si son personas anónimas en Internet que juegan por cantidades no insignificantes de dinero, sería bueno que las reglas de los juegos no requirieran un tercero de confianza.
En el artículo en su blog, Ruck profundizó en cómo se puede jugar al ajedrez con el nuevo opcode e implementó el concepto en un entorno Python. Aquí es donde Ruck añade las “partes jugosas” del código, como operaciones como “apply_move”, “white_has_won”, “black_has_won” y “is_stalemate”. Después de jugar un poco más con el programa, Ruck finalmente se encuentra en una situación en la que se produce un punto muerto y el juego termina como un empate. Ruck explica que, si el juego se jugaba por un incentivo de 1.000 satoshi, “ni las blancas ni las negras pueden conseguir ninguno de los 1.000 satoshis, excepto si aceptan un sorteo y dividen el dinero”.
El creador del juego de ajedrez también explica que hay algunos problemas que podrían surgir, como que alguien no haga una jugada y que los 1.000 satoshis queden atrapados en la cadena de bloques para siempre. Pero Ruck dice que se podría añadir un tiempo de bloqueo y el juego terminará después de que haya pasado una cierta cantidad de tiempo. En general, el concepto de ajedrez de Ruck es extremadamente crudo y básico, pero muestra cómo el opcode podría ser aplicado a todo tipo de juegos basados en decisiones. En conclusión, el blog del desarrollador afirma que espera haber sido capaz de transmitir la idea de un juego de ajedrez utilizando el OP_Checkdatasig como árbitro autónomo y de confianza.
Construyendo Una Máquina Turing Sobre El Protocolo Bitcoin
Después de publicar el juego de ajedrez en cadena y mientras se experimentaba con el nuevo opcode, Ruck se dio cuenta de que es posible construir una máquina Turing sobre el protocolo Bitcoin. El investigador publicó un artículo de seguimiento, el cual muestra cómo simuló un antiguo lenguaje de programación utilizando el script BCH.
“Una manera sencilla de mostrar la integridad de Turing es simulando una máquina Turing”, detalla Ruck en su segundo artículo en el blog. “Para ello, elegiremos un derivado de Smallfuck, un lenguaje de programación esotérico, que ha demostrado ser Turing completo – Si podemos simular eso en Bitcoin, sabemos que es Turing completo”, añade el programador.
Después de mostrar cómo se puede hacer usando el nuevo opcode OP_Checkdatasig, Ruck enfatizó que el protocolo de Bitcoin es Turing completo dando a la tecnología una miríada de casos de uso. Ruck añade que si los desarrolladores optimizan el código se podría construir una “máquina virtual (VM) de Bitcoin totalmente operativa”. Ruck también añade que las personas que afirman que las propuestas de Craig Wright “estaban en lo correcto sobre el OP_Checkdatasig al introducir bucles en el script de Bitcoin son simplemente erróneas” y esto, por supuesto, es información “falsa”. “La idea de que se pueda llamar a otra transacción comprobando una firma es simplemente ridícula”, afirma la entrada del blog de Ruck. Para que los bucles sigan girando, Ruck detalla que el programa tiene que ser alimentado con más satoshis por bucle de forma similar al límite de gas de la red Ethereum.
¿Qué opinas acerca del juego de ajedrez que utiliza el opcode OP_Checkdatasig de BCH como árbitro autónomo? Comparte tu opinión sobre este tema en los comentarios en la parte de abajo.
Autor Original: Jamie Redman
Imágenes cortesía de Shutterstock, Honest.cash, Pein Sama, Pixabay, y Tobias Ruck.
Ahora puedes acceder a Satoshi Pulse. Un listado completo y en tiempo real del mercado de criptomonedas. Mira precios, gráficos, volúmenes de transacciones y mucho más para las 500 principales operaciones de criptomonedas en la actualidad.
Noticias.bitcoin.com is author of this content, TheBitcoinNews.com is is not responsible for the content of external sites.
Our Social Networks: Facebook Instagram Pinterest Reddit Telegram Twitter Youtube