paint-brush
Polymarket explicado: cómo los mercados de predicción de blockchain están dando forma al futuro de la previsiónpor@hacker7603244
Nueva Historia

Polymarket explicado: cómo los mercados de predicción de blockchain están dando forma al futuro de la previsión

por Pavel Naydanov15m2024/11/08
Read on Terminal Reader

Demasiado Largo; Para Leer

Descubra cómo Polymarket está transformando los mercados de predicción mediante blockchain, ofreciendo una nueva forma de pronosticar eventos con mayor precisión y transparencia.
featured image - Polymarket explicado: cómo los mercados de predicción de blockchain están dando forma al futuro de la previsión
Pavel Naydanov HackerNoon profile picture
0-item

Polymarket es uno de los mercados de predicción más grandes y populares de la cadena de bloques. Permite a los usuarios apostar sobre los resultados de diversos eventos: deportes, política, cultura, etc.


Los activos de los usuarios se almacenan en billeteras sin custodia. Esto significa que el protocolo no almacena las claves privadas de los usuarios y no puede acceder a sus activos.

Monederos proxy

Cuando un usuario utiliza Polymarket por primera vez, debe crear una billetera interna. Tiene dos opciones:

  • Utilice su EOA (cuenta de propiedad externa) existente. Se admiten Metamask, Coinbase y WalletConnect.
  • Utilice una dirección de correo electrónico a través de una tecnología llamada Enlace mágico Ingresa tu email y recibirás un link especial para acceder al servicio.


La billetera se crea a través de una fábrica de contratos inteligentes especializada y funciona como una multifirma 1/1, lo que significa que está completamente controlada por el usuario.


El uso de billeteras internas permite a Polymarket brindar una mejor experiencia de usuario, como permitir múltiples transacciones a la vez.

Mercado de predicciones

Un mercado de predicción comienza con un pronóstico. Un pronóstico es la base sobre la que se construyen los escenarios de los usuarios. En el contexto de los mercados de predicción, esta afirmación se denomina condición . Puede ser una pregunta, una afirmación, una descripción de un resultado esperado, un acontecimiento, una predicción, etc. Podemos considerarla como cualquier forma de afirmación que afirme la veracidad futura.


Ejemplos de predicciones:

  1. En septiembre se producirá un terremoto de magnitud 7,0.
  2. ¿Se lanzará GPT-5 en 2024?
  3. El bebé de Bieber: ¿niño o niña?
  4. ¿La película más taquillera del 2024?
  5. ¿Alcanzará Ethereum los 10.000 dólares en 2024?


Cada predicción tiene una fecha límite para su verificación: si la predicción se cumplió o no. Un oráculo especial en Polymarket se encarga de determinar el resultado de cada predicción.


¿Cuál es el papel del oráculo? Polymarket está construido con tecnología blockchain y se utiliza un oráculo para transmitir datos a la red. El oráculo está diseñado para que sus resultados sean confiables para cualquier predicción.


A menudo, una predicción tiene múltiples resultados posibles. El oráculo determinará el resultado de la predicción entre estos resultados.


Ejemplo de predicciones con resultados:

¿Se lanzará GPT-5 en 2024?

  • No

¿La película más taquillera del 2024?

  • De adentro hacia afuera 2
  • Otro
  • Deadpool 3
  • Joker 2
  • Mi villano favorito 4
  • Duna: Parte 2
  • Furiosa: Una saga de Mad Max


Un mercado de predicción típico se puede describir utilizando la siguiente estructura:



En la primera etapa, se crea un mercado y se agrega una nueva predicción (condición) con un período de vida determinado. Durante este tiempo, los usuarios pueden elegir el resultado que creen que es más probable. En la etapa final, el oráculo determina qué grupo de usuarios estaba en lo cierto y cuál no.


Los usuarios que hayan elegido el resultado correcto recibirán una recompensa . Esta recompensa se forma a partir de las contribuciones de todos los participantes. Cada usuario, al votar por un resultado en particular, aporta una cierta cantidad del activo utilizado en el mercado de predicciones. En consecuencia, los usuarios que se equivocaron en su elección no recibirán nada.


Esto podría llevarnos a concluir que un mercado de predicciones es esencialmente una apuesta. Sí y no. La idea clave detrás de los mercados de predicciones es defendida por Vitalik en su blog Considera que estos servicios pueden servir como fuentes neutrales para pronosticar o analizar la probabilidad de que ocurran diversos eventos. Con base en estos datos, se pueden tomar decisiones gerenciales informadas.

¿Qué tan precisas son las predicciones?

En general, la idea de que los mercados de predicción pueden ser bastante precisos está respaldada por la Hipótesis del mercado eficiente Según esta hipótesis, el precio de cualquier activo corresponde directamente a su valor real porque toda la información disponible ya está incluida en el precio.


Un ejemplo sencillo:

Supongamos que los inversores conocen el valor de mercado de una materia prima. Seguirán comprándola mientras sea rentable. Gradualmente, la demanda aumentará y, con ella, el precio de la materia prima, hasta que su precio alcance un nivel en el que comprarla ya no sea rentable.


Las investigaciones han demostrado que los mercados de predicción son, en promedio, significativamente más precisos que las encuestas sociales y las opiniones de los expertos. La precisión de dichos mercados ha sido estudiada por numerosos Investigadores en diversos campos, incluidas las pruebas de teorías y datos de laboratorio, la atención médica y la toma de decisiones gerenciales.


Los participantes en los mercados de predicción analizan una amplia gama de información: noticias, deportes, innovaciones, incidentes, tendencias de desarrollo, cuestiones medioambientales, política y mucho más. Su incentivo económico garantiza que su influencia en el precio del mercado (o probabilidad) se ajustará con tal precisión que refleje la veracidad de la predicción.


Por lo tanto, los mercados de predicción se consideran una de las mejores fuentes de probabilidad de eventos en tiempo real. Polymarket es uno de esos servicios que ha estado atrayendo cada vez más atención últimamente.

Polymarket. ¿Cómo funciona? Una explicación sencilla

Para entender cómo funciona el servicio, abramos un evento aleatorio en Polimercado y recorrer su interfaz.



En la captura de pantalla, se resalta el título del evento "¿Bitcoin superará los $60 000 el 30 de agosto?" , junto con los posibles resultados. En nuestro caso, solo hay dos resultados: "Sí" y "No" . Sin embargo, es importante recordar que puede haber más de dos resultados. Veamos la captura de pantalla a continuación para comprender la interfaz con más detalle.



Los resultados múltiples se muestran directamente debajo del título del evento. El panel derecho muestra el resultado más popular, el elegido actualmente por la mayoría de los usuarios. Esto permite un acceso rápido a esta opción de resultado.


¿Qué significa el botón Comprar?



En el fondo, cada resultado está representado por un token de participación especial basado en el estándar ERC-1155. El botón Comprar se utiliza para comprar tokens para el resultado seleccionado. A cambio, el usuario paga el activo base: USDC.


El proceso de compra puede considerarse como una forma de votación. Los usuarios "votan" por uno de los resultados respaldando su elección con activos reales, lo que garantiza la responsabilidad en la toma de decisiones. Un proceso de venta correspondiente permite a los usuarios revertir su posición.


Cada voto representa la postura del usuario sobre un evento específico. Se pueden utilizar varios términos para describir el proceso de compra: "voto", "apuesta", "posición" o "encuesta", "compra". Los usuarios pueden elegir el término con el que se sientan más cómodos, pero todos ellos indican la opinión del usuario sobre el evento.


¿Cómo entender el precio de los resultados?



Un precio de 98,8 centavos para el resultado "Sí" indica una probabilidad del 98% de que se produzca el evento "¿Bitcoin por encima de los 55.000 dólares el 13 de septiembre?" . En consecuencia, un precio de 2,3 centavos indica una probabilidad del 2% de que Bitcoin esté por debajo de los 55.000 dólares.


En esencia, el precio refleja la probabilidad de que ocurra ese resultado. Cuanto más alto sea el precio, mayor será la probabilidad percibida de que ocurra el evento, según los usuarios. Si un usuario cree que Bitcoin tiene buenas posibilidades de superar los $55,000, puede comprar tokens "Yes" a 98.8 centavos cada uno.


Si el usuario está en lo cierto y el Bitcoin supera efectivamente los 55.000 dólares, cada token "Sí" adquirido valdrá 1 dólar. Por lo tanto, el usuario obtendrá una ganancia de 1,2 céntimos por token. Al mismo tiempo, cualquier usuario que posea tokens "No" perderá su inversión, ya que esos tokens perderán su valor.


Vale la pena señalar que no es necesario que un usuario mantenga su posición hasta el final; puede vender sus acciones en cualquier momento al precio de mercado actual.

Desglose técnico

Ahora analizaremos en profundidad todos los aspectos técnicos del protocolo. ¡Abróchense los cinturones! 🤓

Tokenización de resultados

Hemos establecido que todos los resultados de eventos en Polymarket están tokenizados. Recapitulemos lo que ya sabemos:

  • Estos tokens pueden llamarse tokens de acciones .
  • Los tokens de acciones se compran con un activo base, por lo que están totalmente garantizados.
  • Los tokens de acciones se pueden vender nuevamente por el activo base


Ahora, algo de información nueva. Los tokens de acciones implementan ERC-1155 según el Marco de tokens condicionales de Gnosis (CTF) , que ha demostrado su eficacia y ha sido probado mediante varios protocolos.


CTF puede admitir hasta 256 resultados por evento.


Cada predicción se identifica en CTF. Para ello, se le asigna un conditionalId . El conditionalId es único debido al hash de tres parámetros:

  • oráculo . La dirección del oráculo que determinará el resultado del evento. Esto garantiza que solo el oráculo especificado pueda confirmar la predicción.
  • questionId . El identificador de predicción, establecido por el creador de la predicción. Puede ser un contador simple donde cada nueva predicción se incrementa en uno, o un esquema más complejo que utiliza hash de texto y otros datos.
  • outcomeSlotCount . El número de resultados posibles para la predicción.


El siguiente diagrama proporciona una representación visual de cómo funciona el CTF (Conditional Token Framework).



El usuario proporciona un activo base al realizar una apuesta y recibe un token de participación , que se denomina token condicional dentro de CTF. Una vez que el oráculo establece la predicción, el usuario puede reclamar su recompensa de CTF en función del resultado de la predicción.


Cuando un usuario recibe un token condicional , se considera que ha tomado una posición específica. En CTF, las posiciones representan un conjunto de posibles combinaciones de resultados para cada predicción. CTF genera estas posiciones para cada predicción y cada posición corresponde a una de las posibles combinaciones de resultados que un usuario puede elegir.


Por ejemplo:

¿La película más taquillera del 2024?

  • De adentro hacia afuera 2
  • Otro
  • Deadpool 3
  • Joker 2
  • Mi villano favorito 4
  • Duna: Parte 2
  • Furiosa: Una saga de Mad Max

Un usuario podría votar que “Inside Out 2” será la película más taquillera, y que “Dune: Parte 2” definitivamente no será la película más taquillera en 2024. Esta combinación de predicciones se consideraría su posición.


CTF ofrece dos mecanismos interesantes para trabajar con posiciones: división y fusión . El mecanismo de división permite dividir una sola posición en varios resultados separados, mientras que la fusión combina diferentes resultados en una sola posición. Estos mecanismos brindan a los usuarios flexibilidad para administrar sus posiciones.


En mi opinión, CTF proporciona a Polymarket cuatro ventajas importantes:

  • El token de compartir se utiliza para confirmar el voto de un usuario para un resultado de predicción específico.
  • Implementa un sistema flexible para combinar los votos de un usuario en varias posiciones.
  • La responsabilidad del cálculo del resultado se delega a CTF, según la señal del oráculo.
  • Calcula las recompensas según la cantidad de tokens compartidos para los resultados ganadores.


Es especialmente importante destacar que CTF permite la organización de eventos relacionados, en los que se pueden combinar las posiciones de los usuarios. Sin embargo, no he encontrado ejemplos de este tipo en Polymarket.


Me gustó mucho el concepto de CTF, aunque me resulta bastante complejo de entender por completo. Puedes aprender más sobre él en el documentación oficial .

Pedidos

Ahora, pasemos a uno de los aspectos más misteriosos de Polymarket: los pedidos.



Para realizar una compra, la interfaz de Polymarket ofrece tres tipos de pedidos:

  • Mercado — compra inmediata al precio actual del mercado.
  • Límite : órdenes retrasadas que le permiten especificar un precio al que se realizará la compra una vez alcanzado.
  • AMM : compra a un precio que se determina automáticamente, similar a los intercambios descentralizados, en función de los montos de reserva en el fondo.


Actualmente, parece que la función de pedidos de AMM no está funcionando. No pude encontrar un evento que permitiera realizar una compra a través de AMM. Después de buscar en el Discord del protocolo, encontré un comentario relativamente reciente de uno de los usuarios, que arroja algo de luz sobre esta situación. Vea la captura de pantalla a continuación.



Según el protocolo documentación AMM utilizó contratos inteligentes desarrollados como parte de la Marco de tokens condicionales Por lo tanto, se utilizó AMM para determinar el precio de compra de tokens de acciones .


Este mecanismo básico requería liquidez para garantizar la estabilidad de los precios y reducir la volatilidad. Los proveedores de liquidez necesitan un incentivo económico, recibir una recompensa por cada compra realizada, para mantener el sistema en funcionamiento.


Lamentablemente, soy nuevo en Polymarket, pero supongo que, inicialmente, el protocolo se basaba completamente en CTF y se utilizaba AMM para determinar el precio. Con el tiempo, el protocolo desarrolló una solución híbrida con un libro de órdenes y otros dos tipos de órdenes (límite y mercado) comenzaron a funcionar en una solución personalizada. Esta solución se llama CLOB (Libro de órdenes límite central) o BLOB (Libro de órdenes límite binario).

CLOB y BLOB

CLOB (Central Limit Order Book) o BLOB (Binary Limit Order Book) es un sistema que representa un libro de órdenes híbrido y descentralizado. En este sistema, un operador especializado gestiona la correspondencia de órdenes e inicia la ejecución de contratos inteligentes.


Sin entrar en demasiados detalles, el sistema se puede describir de la siguiente manera:



Los usuarios crean órdenes para su ejecución, que pueden ser órdenes limitadas o de mercado. El operador empareja las órdenes de los usuarios e inicia su ejecución en contratos inteligentes. Crear una orden significa crear una estructura de datos firmada con la clave privada del usuario de acuerdo con la EIP-712 Estándar. Dado que la orden se almacena fuera de la cadena hasta su ejecución, esto permite realizar ajustes rápidos y sin costo en los términos de la orden o incluso cancelarla por completo.


Para aquellos que quieran más detalles, todo lo relacionado con el libro de órdenes y la conciliación de órdenes solo se puede acceder a través del API Para mayor comodidad, Polymarket ofrece dos clientes: uno para JavaScript y uno para Pitón .


El Intercambio.sol El contrato inteligente, sin embargo, es público y se encarga de crear posiciones de usuario dentro de CTF. También permite gestionar las posiciones de usuario y transferir activos entre ellas, garantizando la seguridad y la transparencia dentro del protocolo.



El contrato inteligente ha sido sometido a una auditoría. Informe de auditoría se adjunta en el repositorio.

Contrato inteligente

El contrato inteligente Exchange en realidad tiene un nombre más específico, CTFExchange.sol No es muy grande, contiene alrededor de 100 líneas de código, pero tiene un conjunto sustancial de dependencias.



La mayoría de estos son pequeños contratos inteligentes que implementan una funcionalidad limitada:

  • BaseExchange.sol Contrato inteligente abstracto que implementa la capacidad de recibir tokens ERC-1155. También es responsable de la protección contra ataques de reentrada.
  • Aut.sol Administrador de roles. Define funciones de validación y modificadores para configurar roles: administrador y operador para CTFExchange.sol .
  • Activos.sol . Define dos activos: el activo base (garantía) y la dirección CTF.
  • Tarifas.sol . Define la tarifa del protocolo.
  • Pausable.sol . Define la capacidad de pausar el funcionamiento de los contratos inteligentes. Una forma de centralización que el protocolo acepta en caso de circunstancias imprevistas. Disponible solo para el rol de administrador.
  • Operación de activos.sol . Define las operaciones para el activo base y el CTF. Incluye transferencia, división y fusión de posiciones.
  • Firma.sol . Define el código para validar las firmas de usuario utilizadas al trabajar con pedidos.
  • Hashing.sol . Define el hash de los parámetros del pedido, que se utiliza para la verificación de la firma.
  • Registro.sol . Define el proceso de registrar una predicción en el sistema y registrar tokens para la predicción.


¡Importante! Todo lo relacionado con la ejecución real de las órdenes se implementa en el contrato inteligente. Comercio.sol .


Recorrer el código y estudiar el contrato inteligente también es sencillo. La estructura tiene puntos de entrada claramente definidos a través de funciones:

  • rellenarOrden() — Ejecuta una orden entre el usuario que la creó y el creador (otra orden) seleccionado por el usuario.

  • rellenarOrdenes() — Igual que fillOrder() , pero para una lista de pedidos.

  • órdenes de coincidencia() — El operador selecciona dos órdenes diferentes y las ejecuta.


Todas las funciones anteriores sólo pueden ser llamadas por el operador .



No importa cómo ingrese la llamada al contrato inteligente, el resultado siempre será el mismo: dos usuarios intercambiarán tokens según sus órdenes.

Tarifa de protocolo

La tarifa se cobra sobre el activo que es el resultado. En el caso de las predicciones binarias, las tarifas son simétricas, es decir: si un usuario vende tokens a un precio de $0,99, pagará la misma tarifa que el comprador que los compra a un precio de $0,01.


Las fórmulas de cálculo son sencillas y están tomadas de la [documentación].( https://docs.polymarket.com/#fees ).



Programa de Recompensas de Liquidez

El objetivo general de este programa es incentivar la liquidez en el mercado.


Sabemos que para que funcione un mercado basado en un libro de órdenes, alguien tiene que crear órdenes limitadas. Las órdenes limitadas proporcionan la liquidez que permite que las órdenes de mercado se ejecuten inmediatamente. Los usuarios que crean órdenes limitadas se denominan creadores de mercado . Cuanto más "ajustadas" sean las órdenes limitadas al precio de mercado, más rápido y en mayores volúmenes se podrán ejecutar las órdenes de mercado, lo que sin duda es ventajoso para el usuario final. Además, cuanto más liquidez haya, más difícil será manipular el mercado.


Para garantizar suficiente liquidez, Polymarket ha desarrollado un programa de recompensas especial para incentivar a los usuarios a crear órdenes limitadas.


Cuanto más se acerque la orden límite al precio medio del mercado, mayor será la recompensa. Las recompensas se pagan automáticamente todos los días a la medianoche (UTC).


El sistema está modelado según dYdX Se describe el programa dYdX original aquí El programa original de Polymarket está disponible aquí .

Oráculo

El oráculo se utiliza para entregar los resultados de las predicciones, independientemente de si se produjo un evento o no. El oráculo es uno de los componentes más cruciales del protocolo, pero lo implementa un servicio de terceros en lugar del equipo de Polymarket. Este oráculo se llama UMA .


UMA es un oráculo descentralizado que se especializa en registrar cualquier tipo de datos en la cadena de bloques, excepto aquellos que no se pueden verificar. El oráculo se considera optimista porque se supone que los datos son correctos a menos que se cuestionen. UMA tiene su propio sistema de arbitraje para resolver disputas, donde los árbitros son personas reales: participantes en el ecosistema de UMA, específicamente titulares de tokens UMA. Este sistema se llama DVM (Mecanismo de verificación de datos).


El siguiente proceso de varios pasos se utiliza para determinar el resultado de una predicción y registrarlo en la cadena de bloques:



  1. Declaración. La predicción se agrega al oráculo junto con una recompensa. La recompensa puede ser reclamada por cualquier persona que impugne con éxito el resultado de la predicción.

  2. Período de impugnación. Durante este período, cualquier persona puede impugnar el resultado de la predicción. Si no se produce ninguna impugnación y se agota el tiempo, el resultado de la predicción se considera listo para la liquidación final, lo que indica su exactitud.

  3. Disputa. Cualquier participante del protocolo puede disputar el resultado, ya sea para reclamar la recompensa o en aras de la equidad (es broma). En la práctica, esto rara vez sucede, ya que la teoría de juegos sugiere que la mayoría de los participantes se comportan honestamente.

  4. Votación. Si se inicia una disputa, los poseedores de tokens UMA votan para resolverla. UMA es el token del protocolo que se utiliza para votar y los participantes reciben una recompensa por participar en la votación.

  5. Liquidación. La etapa final es el proceso de liquidación, o el registro real de los datos en la cadena de bloques. Después de esto, el resultado de la predicción puede considerarse confiablemente preciso.


Todo el protocolo se basa en una teoría de juegos bien pensada, según la cual es económicamente desventajoso para cualquier participante realizar acciones maliciosas.


Ejemplos:

  1. Un participante que envía un resultado de predicción para su votación proporciona garantías a los contratos inteligentes. Si se cuestiona su resultado, pierde la garantía; de lo contrario, la recupera y recibe una recompensa. Esto crea un fuerte incentivo para enviar solo resultados precisos.
  2. Un participante que cuestiona el resultado de la predicción también ofrece una garantía. Si está en lo cierto, recupera la garantía y gana una recompensa; de lo contrario, la pierde. Esto incentiva a los participantes a cuestionar solo aquellos resultados que están seguros de que son incorrectos.
  3. Participantes que resuelven disputas. Deben apostar tokens UMA y obtendrán recompensas por resolver disputas. Si votan incorrectamente o no votan en absoluto, pierden parte de su saldo apostado; de lo contrario, reciben una recompensa. No hay forma de relajarse.


Es particularmente notable que el proceso de votación en una disputa ocurre en dos etapas utilizando el esquema de confirmación/revelación :

  1. Compromiso. Los participantes votan en secreto enviando el hash de su voto a los contratos inteligentes. Esto significa que nadie puede saber cómo votó un participante con solo mirar el hash.
  2. Revelar. Una vez finalizada la fase de votación, los participantes revelan sus votos. El contrato inteligente verifica si coinciden con los hashes enviados previamente.


Este proceso de votación en dos etapas evita la colusión entre los votantes para desacreditar al oráculo o atacar servicios que dependen de los resultados de las predicciones.


El resultado de una predicción puede ser impugnado varias veces. En tales casos, la UMA permite que el proceso de toma de decisiones se reinicie una vez concluida la disputa anterior.


Así es como se ve el proceso de iniciación de una disputa:


Conclusión

Lo que parece un sistema simple de apuestas y predicciones en realidad consta de tres módulos principales, cada uno desarrollado por diferentes protocolos y equipos:

  • CTF (Conditional Token Framework): gestiona la combinatoria, el posicionamiento y la participación de los usuarios en las predicciones. Muchas gracias a Gnosis por crear un marco tan flexible, perfectamente adecuado para los mercados de predicciones.
  • CLOB (Libro de órdenes límite central): solución interna de Polymarket para implementar el libro de órdenes y las órdenes límite. CLOB permite a los usuarios participar de manera efectiva en el ecosistema y ayuda a agregar liquidez.
  • UMA : un oráculo descentralizado con un sistema de arbitraje único para la resolución de disputas. UMA es realmente el corazón del sistema y transmite los resultados de las predicciones a través de la cadena de bloques.


Este sistema podría considerarse un sistema de apuestas, pero cuando comencé a investigar sobre Polymarket, no esperaba tener que dividir mi estudio en tres protocolos diferentes ni dedicarle tanto tiempo. Técnicamente, este protocolo es impresionante e intrigante, ya que combina con éxito tecnologías de diferentes proyectos, lo que lo hace especialmente atractivo para los desarrolladores.


Mi opinión final : Realmente quiero que este protocolo sea algo útil, como sugiere Vitalik Buterin. Ojalá se convierta en una herramienta de previsión, toma de decisiones y análisis. Sin embargo, a pesar de este potencial, el protocolo todavía se asocia más comúnmente con las elecciones, donde la demanda de predicciones se dispara.

Campo de golf

  1. Bienvenido a Polymarket
  2. Marco de tokens condicionales de Gnosis. Empezando
  3. Mercados de predicciones: relatos de las elecciones
  4. Muy simple sobre Fichas de resultados en el blog de Polymarket.
  5. Una descripción detallada del programa de recompensas de creación de mercado de Polymarket
  6. Protocolo UMA