Internet

¿Qué es una lotería descentralizada y cómo funciona sin intermediarios?

Cómo funciona el blockchain: principales características
Lotería en la blockchain. Pixabay
Compartir

Una lotería descentralizada traslada todo el sorteo, empezando por la venta de “boletos”, la custodia del bote, o la selección del ganador y su pago, a un contrato inteligente en una blockchain. En Ethereum, un contrato inteligente es “simplemente un programa que se ejecuta en la blockchain”, con su código y estado en una dirección pública, lo que permite auditarlo en tiempo real. 

El atractivo es doble. Por un lado la transparencia, ya que todas las reglas quedan en código público, y por el otro la custodia automática, dado que el bote no lo guarda una empresa, sino el propio contrato. Pero para que la promesa sea real, el sorteo necesita azar verificable. La propia documentación de Solidity advierte: no uses block.timestamp o blockhash como fuente de aleatoriedad, porque son manipulables o previsibles en ciertos contextos. 

PUEDE INTERESARTE

La solución de referencia es introducir un oráculo de aleatoriedad con prueba criptográfica. Ahí entra Chainlink VRF, “un generador de números aleatorios (RNG) verificable y con garantías de equidad, que para cada solicitud produce uno o varios valores aleatorios junto a una prueba criptográfica de cómo fueron determinados; la prueba se publica y verifica on-chain antes de que la use el contrato consumidor”. En otras palabras: el propio sorteo valida la prueba en la cadena antes de aceptar el número. 

El ciclo típico de un sorteo “sin intermediarios”

  1. Emisión y bote: Los usuarios envían fondos al contrato; el código define el precio del boleto, las fechas de cierre y las reglas del premio.
  2. Pedir azar verificable: Al cerrar la participación, el contrato solicita aleatoriedad al oráculo (p. ej., VRF) y espera la respuesta con la prueba. La guía oficial de VRF describe este patrón “request & receive” para que el contrato consuma números aleatorios de forma segura. 
  3. Verificación y ganador: El contrato verifica on-chain la prueba de VRF y, solo si es válida, selecciona al ganador y distribuye automáticamente el bote según las reglas fijadas. (VRF: “cada resultado se verifica on-chain con pruebas criptográficas”.) 
  4. Automatización del evento: Algunos sistemas delegan en redes de oráculos la tarea de disparar funciones del contrato en momentos o condiciones predefinidas (p. ej., ejecutar el sorteo cada N bloques), un servicio de automatización documentado por Ethereum.org. 
PUEDE INTERESARTE

¿Existen ejemplos reales?

Sí. PoolTogether no es una lotería clásica sino un “ahorro con premios”: los depósitos generan rendimiento y ese rendimiento se reparte en sorteos diarios, mientras los participantes pueden retirar su depósito en cualquier momento. Su documentación lo describe como “un protocolo de ahorro con premios” con “participación en sorteos diarios”. Es un caso útil para entender cómo un contrato puede gestionar el bote y elegir ganadores con aleatoriedad verificable, manteniendo todo auditado. 

La historia reciente ha mostrado que los sorteos que se basan en variables de bloque o fórmulas predecibles pueden ser explotados: el propio manual de Solidity lo desaconseja expresamente, por la previsibilidad o el grado de control que puede tener un minero/validador sobre marcas de tiempo o hashes. De ahí que los proyectos serios hayan estandarizado VRF u otros esquemas con pruebas públicas de aleatoriedad.