Skip to content
  • Home
  • Videos
  • Blog
  • Bounty
  • Wiki
Kusama
Polkadot Hub
  • Home
  • Videos
  • Blog
  • Bounty
  • Wiki
Kusama
Polkadot Hub

General

  • Comenzar
  • Preguntas frecuentes (FAQs)
  • Programa de los Mil Validadores
  • Cómo Hacer Tu Propia Investigación (DYOR)
  • Cómo Protegerte de las Estafas
  • Uso de la aplicación Polkadot Ledger
  • Añadir cuentas a un dominio ENS
  • Glosario
  • Colaboradores
  • Contribuir
  • Comunidad
  • Páginas de Investigación
  • Programa de Embajadores de Polkadot
  • Grants de la Web3 Foundation
  • Redenominación de DOT
  • Claims de Polkadot

Construir

  • Guías para Builders
  • Guía de inicio para builders
  • Desarrollo de Parachain
  • Almacenamiento descentralizado
  • Smart Contracts
  • Oráculos
  • Análisis de Datos
  • Wallets
  • Substrate Connect
  • Registro SS58
  • Abrir canales HRMP
  • Guía de Integración de Polkadot
  • Información sobre el Protocolo Polkadot
  • Activos en Polkadot
  • Gestión de Nodos
  • Interacción con el Nodo
  • Construcción y Firma de Transacciones
  • Indice de Herramientas
  • Polkadot Stack Open Source (Código Abierto)
  • Hackathones

Aprender

  • Fases de Lanzamiento de Polkadot
  • Arquitectura
  • Cuentas de Polkadot
  • Generación de cuentas
  • Copia de Seguridad y Restauración de Cuentas
  • PolkadotJS
  • Activos
  • NFT
  • DOT
  • Seguridad de la Red
  • Consenso Polkadot
  • Nominador
  • Validador
  • Collator
  • Gobernanza
  • Identidad
  • Transferencias de Saldo
  • Tarifas de Transacción
  • Host de Polkadot (PH)
  • Tesoro
  • Uso de W3F Registrar
  • Actualizaciones del Runtime
  • Parachains
  • Parachains de Bien Común
  • Subastas de Ranuras de Parachains
  • Crowdloans de Parachains
  • Teletransporte de KSM entre Kusama y Statemine
  • Parathreads
  • Puentes
  • Staking
  • Cuentas Proxy
  • Disponibilidad y Validez
  • Aleatoriedad
  • Formato de Mensajes de Consenso Cruzado (XCM)
  • SPREE
  • WebAssembly (Wasm)
  • Método Phragmén Secuencial
  • Simples Pagos
  • Explicación de la Criptografía
  • Claves de Polkadot
  • Preguntas y Respuestas del Staking
  • Comparación entre Polkadot y Kusama
  • Otras comparaciones
  • Polkadot y Ethereum 2.0
  • Polkadot y Cosmos
  • Polkadot y Avalanche
  • Fases de Lanzamiento de Polkadot
  • Tutoriales en video (en inglés)

Mantener

  • Encargados de la Red
  • Parámetros de Polkadot
  • Endpoints de Nodo
  • Configurar un nodo completo
  • Networks
  • WebSocket Seguro
  • Errores y cómo resolverlos
  • Hazte Nominador en Polkadot
  • Cómo dejar de Validar
  • Ejecutar un Validador (Polkadot)

Kusama

  • Documento inicial
View Categories
  • Home
  • Docs
  • Aprender
  • Aleatoriedad

Aleatoriedad

La aleatoriedad en las blockchains de Proof of Stake (prueba de participación) es importante para una distribución justa e impredecible de las responsabilidades del validador. Las computadoras son malas para los números aleatorios porque son dispositivos deterministas (la misma entrada siempre produce la misma salida). Lo que la gente suele llamar números aleatorios en una computadora (como en una aplicación de juegos), son pseudo-aleatorios – es decir, dependen de una seed (semilla) suficientemente aleatoria proporcionada por el usuario u otro tipo de oráculo, como una estación meteorológica para el ruido atmosférico, su ritmo cardíaco, o incluso lámparas de lava, a partir de la cual puede generar una serie de números aparentemente aleatorios. Pero dada la misma semilla, siempre se generará la misma secuencia.

Sin embargo, estas entradas variarán en función del tiempo y el espacio, y sería imposible obtener el mismo resultado en todos los nodos de una determinada blockchain en todo el mundo. Si los nodos obtienen entradas diferentes para construir bloques, se producen bifurcaciones. La entropía del mundo real no es adecuada para utilizarla como semilla para la aleatoriedad de la blockchain.

Hay dos enfoques principales para la aleatoriedad de la blockchain en producción hoy en día: RANDAO y VRF.

Polkadot utiliza VRF.

VRF #

Una función aleatoria verificable (VRF) es una operación matemática que toma alguna entrada y produce un número aleatorio junto con una prueba de autenticidad de que este número aleatorio fue generado por el remitente. La prueba puede ser verificada por cualquier aspirante para asegurarse de que la generación del número aleatorio es válida.

El VRF utilizado en Polkadot es aproximadamente el mismo que el utilizado en Ouroboros Praos. La aleatoriedad de Ouroboros es segura para la producción de bloques y funciona bien para BABE. En lo que difieren es en que el VRF de Polkadot no depende de un reloj central (el problema viene a ser -¿el reloj central de quién?), más bien, depende de sus propios resultados pasados para determinar los resultados presentes y futuros, y utiliza los números de los slot como emulador del reloj, estimando el tiempo.

Así es como funciona en detalle: #

Los slots son unidades discretas de tiempo de seis segundos de duración. Cada slot puede contener un bloque, pero puede que no. Los slots forman épocas – en Polkadot, 2400 slots forman una época, lo que hace que las épocas duren cuatro horas.

En cada slot, cada validador “tira un dado”. Ejecutan una función (el VRF) que toma como entrada lo siguiente:

  • La “clave secreta”, una clave hecha específicamente para estas tiradas.
  • Un valor de aleatoriedad de época, que es el hash de los valores del VRF de los bloques de la penúltima época (N-2), por lo que la aleatoriedad pasada afecta a la aleatoriedad pendiente actual (N).
  • El número de slot.

La salida son dos valores: un RESULT (el valor aleatorio) y una PROOF (una prueba de que el valor aleatorio fue generado correctamente).

El RESULT se compara con un umbral definido en la implementación del protocolo (concretamente, en el Polkadot Host). Si el valor es menor que el umbral, entonces el validador que ha sacado este número es un candidato viable a la producción de bloques para ese slot. El validador intenta entonces crear un bloque y lo envía a la red junto con el PROOF y el RESULT obtenidos previamente. En el VRF, cada validador tira un número para sí mismo, lo comprueba con un umbral y produce un bloque si la tirada aleatoria está por debajo de ese umbral.

El lector astuto se dará cuenta de que, debido a la forma en que funciona esto, algunos slots pueden no tener validadores como candidatos a producir un bloque porque todos los candidatos a validador sacaron un número demasiado alto y no alcanzaron el umbral. Aclaramos cómo resolvemos este problema y nos aseguramos de que los tiempos de los bloques de Polkadot se mantengan cerca del tiempo constante en la página wiki sobre el consenso.

RANDAO #

Un método alternativo para obtener aleatoriedad en la cadena es el método RANDAO de Ethereum. RANDAO requiere que cada validador se prepare realizando muchos miles de hash en alguna semilla. A continuación, los validadores publican el hash final durante una ronda y el número aleatorio se deriva de la entrada de cada participante en el juego. Mientras participe un validador honesto, la aleatoriedad se considera segura (no es económicamente viable de atacar).

RANDAO se complementa opcionalmente con VDF.

VDFs #

Las funciones de retardo verificable son cálculos que tardan un tiempo determinado en completarse, incluso en computadoras paralelas. Producen un resultado único que puede ser verificado de forma independiente y eficiente en un entorno público. Al introducir el resultado de RANDAO en una VDF, se introduce un retardo que hace obsoleto cualquier intento de un atacante de influir en la aleatoriedad actual.

Los VDF se implementarán probablemente a través de dispositivos ASIC que deben ejecutarse por separado de los otros tipos de nodos. Aunque uno solo es suficiente para mantener la seguridad del sistema, y serán de código abierto y se distribuirán casi sin costo alguno, ejecutarlos no es barato ni está incentivado, lo que produce una fricción innecesaria para los usuarios de las blockchains que opten por este método.

Recursos #

  • Investigación de Polkadot sobre la aleatoriedad y la clasificación de las blockchains – contiene el razonamiento de las elecciones realizadas junto con las pruebas
  • Discusión sobre la aleatoriedad utilizada en Polkadot – Los investigadores del W3F discuten la aleatoriedad en Polkadot y cuándo es utilizable y bajo qué supuestos.

Powered by BetterDocs

Table of Contents
  • VRF
  • Así es como funciona en detalle:
  • RANDAO
    • VDFs
  • Recursos
Polkadot Hub
  • Home
  • Blog
  • Wiki
Contactar

Copyright © 2025 - Proyecto financiado por el Tesoro de Polkadot