Los juegos siguen siendo citados como uno de los principales casos de uso potencial para las Pruebas de Conocimiento Cero (ZKP), y el SDK de O(1). Labs es una base sólida para construir y ejecutar elementos ZK dentro de los juegos. Sin embargo, un debate centrado en las ZKP y los juegos puede resultar complicado. El espacio lo es:
- Difusa: existen categorías de juegos muy diferentes.
- Ruidoso: hay una resaca de la publicidad inicial no satisfecha en torno a los juegos de Web3 y muchos jugadores de Web2 se han opuesto abiertamente a los NFT.
- Incipiente: aún es muy pronto. Los motores principales de muchos juegos requieren una tecnología que está a la vanguardia del rendimiento para la tecnología de consumo en términos de velocidad y capacidad, mientras que toda la tecnología blockchain hoy en día está a leguas de distancia de eso.
Existen, por supuesto, algunas capacidades de Web3 no relacionadas con ZK que ya se están utilizando en los juegos, como la emisión e interacción de NFT, los monederos, el comercio y los tokens de recompensa, pero el propósito de este artículo es centrarse en los casos de uso relacionados con ZK. Hay dos grandes categorías de casos de uso de ZK en el ámbito de los juegos:
Verdaderas dApps de juegos ZK:
- El juego se basa en un planteamiento de “información incompleta” (por ejemplo, un juego de cartas en el que cada jugador conoce su propia mano, pero no las de los demás, ni la composición de la baraja no repartida). Esto se consigue haciendo que los elementos privados del juego se ejecuten fuera de la cadena, dentro del entorno local de cada participante pertinente, y que las pruebas se transmitan entre los participantes.
- El juego es “demostrablemente justo”. Esto se consigue haciendo que cada elemento privado del juego se ejecute dentro de un contrato inteligente ZK, y se demuestre que ha funcionado de acuerdo con las reglas.
- El juego puede jugarse con múltiples turnos, o incluso múltiples partidas, llevadas a cabo libres de costes de transacción en la cadena (pasando ZKPs entre los participantes fuera de la cadena y luego asentándose en la cadena con una única prueba final).
ZK Capacidades aumentativas para juegos (Web2 o Web3):
- Medidas anti-bot / anti-spam, para aumentar el disfrute de un juego limitándolo a los humanos, o para reducir la reclamación de beneficios, como regalos, por parte de los bots. Esto puede lograrse utilizando ZKP, exigiendo a un participante que demuestre la actividad que ha llevado a cabo en su entorno privado y local, que es muy poco probable que haya sido realizada por un bot, pero sin exponer esa actividad externamente.
- Credenciales no ocultas, para permitir una relación más personalizada entre el juego y el jugador, sin exponer indebidamente la información del jugador. Por ejemplo, un jugador nuevo podría ser acelerado a un nivel superior dentro de un juego multinivel, o podría enfrentarse a jugadores con experiencia similar, si pudiera demostrar que tiene experiencia en otros juegos. También podría usarse para emparejar a los jugadores de un juego en función de una serie de factores externos, como tener miles de seguidores en Twitter. Las ZKP podrían permitir que esto ocurriera sin que el jugador revelara las direcciones exactas y los detalles de las carteras y cuentas que había utilizado en otras plataformas.
- Actividad orientada al cumplimiento no sujeta a dóxxing, para reducir el riesgo de que un proveedor de juegos participe en una actividad con un usuario que podría interpretarse en algunas jurisdicciones como sujeta a regulación. Por ejemplo, facilitar el comercio de NFT en el juego, o gestionar pagos por compras y ventas en el juego, al tiempo que se permite al usuario conservar cierta privacidad. Como primer paso, la prueba podría ser simplemente que el usuario no tiene residencia ni ciudadanía estadounidense.
- Votación privada, para permitir a los usuarios votar como parte del juego, o para la gobernanza del proyecto / DAO que publica y mantiene un juego.
Algunas de estas capacidades aumentativas, sobre todo las relacionadas con la identidad, pueden convertirse en éxitos iniciales al aplicarse a los juegos. Sin embargo, es bastante probable que surjan como utilidades independientes que sirvan para múltiples casos de uso, lúdicos y no lúdicos (aunque puedan tener giros específicos de los juegos). En ese sentido, ya hemos hablado de algunas de ellas en otros posts, por lo que no seguiremos discutiéndolas aquí.
El potencial de uso de la “verdadera” tecnología de conocimiento-cero (ZK) en los juegos de aplicaciones descentralizadas (dApp) varía. Algunos tipos de juegos, como el póquer con un número limitado de jugadores, ya pueden ser bien servidos por la tecnología ZK. Sin embargo, los juegos más avanzados que tienen reglas más complejas y requieren gráficos de alto rendimiento, como los eSports, sólo pueden utilizar la tecnología ZK de forma limitada. La comunidad de 0xPARC ha avanzado en este campo con sus trabajos sobre Mundos Autónomos, en los que se utiliza información parcial para ocultar la ubicación de los jugadores o el entorno del juego en determinados escenarios, y para la generación procedural de mundos.
Además, la utilidad de las ZKP en los juegos varía enormemente. La utilidad de la privacidad y la equidad demostrable en el póquer es alta. La imparcialidad demostrable en, por ejemplo, un equivalente descentralizado de Mario Kart como el que se utiliza actualmente es más discutible, frente a la entrega de la privacidad necesaria para el juego a través de un servidor centralizado, pero ha habido casos en los que los jugadores han alegado injusticia en los juegos centralizados, por ejemplo, alegando que los empleados de la empresa tenían acceso injusto a objetos de alto valor en el juego. De hecho, muchos juegos que están experimentando con el uso de NFT en el juego cuentan con acuerdos Web2 para comprar o ganar los activos, lo que significa que no carecen de confianza. Además, algunos sectores de la industria predicen que los eSports y otros juegos con muchos gráficos podrían convertirse en el futuro en escenarios de actividades con grandes apuestas que incluyan activos digitales, para apuestas, recompensas valiosas o reputación autónoma, lo que aumentará la utilidad de la ausencia total de confianza.
¿Es la imparcialidad demostrable sin confianza en el póquer, por ejemplo, lo suficientemente importante como para justificar una zkApp, y existe un modelo operativo autosostenible viable en torno a ella? El póquer en línea ya está disponible y se juega ampliamente utilizando aplicaciones Web2 centralizadas. Algunas aplicaciones Web3 han incorporado cierto grado de descentralización en sus activos. Sin embargo, todas ellas dependen en gran medida de un funcionamiento centralizado y, por tanto, de la confianza en el operador para garantizar la equidad y la disponibilidad. Con un contrato inteligente fuera de la cadena basado en ZKP, dos o más jugadores podrían descargar código y jugar a un juego de igual a igual con el mismo grado de confianza, sin ninguna interacción con una entidad central más que para acceder al código para la descarga inicial. Esto aportaría eficiencia operativa y un tratamiento normativo potencialmente diferente (como en el caso del P2P defi). También podría hacer el juego más accesible que un juego centralizado. Por último, podría permitir la composibilidad dada la estandarización que impone Web3.
Hay varias formas de crear un modelo operativo autosuficiente para un juego. Una opción es diseñar y gestionar el juego como un bien público, con o sin ficha propia. Otra posibilidad es tomar un pequeño porcentaje de las apuestas de cada partida para financiar el desarrollo continuado del juego. Además, se podría implantar un sistema de gobernanza, utilizando tokens de votación, para gestionar los fondos. Estos tokens podrían distribuirse al azar, en función del uso del juego, o mediante una combinación de ambos métodos para determinar cómo deben utilizarse los fondos.
¿Por qué el SDK SnarkyJS de O(1) Labs es una buena base para crear un juego ZK como Poker?
- Un beneficio primordial es la recursividad de la sucesión de pruebas generadas en un juego. SnarkyJS fue el primer SDK de ZKP en permitir la recursividad ilimitada utilizando su código Pickles. O(1) Labs ha publicado varios tutoriales que ilustran cómo podría utilizarse la recursividad, por ejemplo, en Poker y en Mastermind.
- La capacidad de crear un juego sin requerir una ceremonia de configuración de confianza, que es una sobrecarga importante en muchos sistemas de pruebas. El sistema Kimchi basado en plonk de SnarkyJS puede desplegar un nuevo circuito ZK inmediatamente.
- La capacidad de ejecutar un contrato inteligente ZK y crear pruebas rápidamente en un navegador, gracias al uso de WASM por parte de SnarkyJS.
- La capacidad de los desarrolladores no criptógrafos de crear juegos basados en ZKP utilizando SnarkyJS gracias a que está escrito con bibliotecas Typescript, lo que no sólo les proporciona una experiencia de desarrollo familiar al escribir contratos inteligentes ZK, sino que también les permite utilizar de forma nativa algunas herramientas Typescript importantes, como la totalidad del ecosistema JavaScript y NodeJS.
- El hecho de que las pruebas de los contratos inteligentes SnarkyJS puedan verificarse en la cadena de bloques Mina. SnarkyJS y la cadena de bloques Mina se crearon para optimizar el coste y el rendimiento de los contratos inteligentes ZK. Esto es clave dado el estado relativamente incipiente de la tecnología (hemos oído hablar de pruebas construidas utilizando otra tecnología que tardan horas en generarse y miles de dólares por prueba en gas y tasas de transacción para ser verificadas).
Nuestra tecnología y nuestro pensamiento pueden aportar valor a los juegos de varias maneras, no sólo mediante el uso de elementos ZK. Por ejemplo, nuestro equipo de criptografía ha desarrollado un nuevo enfoque de la aleatoriedad, utilizando un mecanismo de barajado basado en polinomios, para barajar cartas de forma probadamente aleatoria y otras rutinas de configuración, y estamos disponibles para hablar de ello con proyectos interesados en el desarrollo de juegos.
Fuente: Medium
Libre Traducción: :LBC