{"id":31729,"date":"2019-10-31T21:42:44","date_gmt":"2019-10-31T18:42:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\/"},"modified":"2019-10-31T21:42:44","modified_gmt":"2019-10-31T18:42:44","slug":"sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","title":{"rendered":"N\u00fameros aleatorios y redes descentralizadas: aplicaci\u00f3n pr\u00e1ctica","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h2 id=\"vvedenie\">Introducci\u00f3n<\/h2>\n<p><\/p>\n<p><em>\u00abLa generaci\u00f3n de n\u00fameros aleatorios es demasiado importante para dejarla al azar\u00bb<\/em><br \/>\n<em>Robert Cavyu, 1970<\/em><\/p>\n<p><\/p>\n<p>Este art\u00edculo se centra en la aplicaci\u00f3n pr\u00e1ctica de soluciones que utilizan la generaci\u00f3n colectiva de n\u00fameros aleatorios en un entorno no confiable. En resumen, c\u00f3mo y para qu\u00e9 se utiliza el azar en las blockchains, y un poco sobre c\u00f3mo distinguir entre un \u201cbuen\u201d azar y un \u201cmal\u201d azar. La generaci\u00f3n de un n\u00famero aleatorio verdaderamente es un problema muy complicado incluso en una sola computadora, y ha sido estudiada por cript\u00f3grafos desde hace tiempo. En las redes descentralizadas, la generaci\u00f3n de n\u00fameros aleatorios es a\u00fan m\u00e1s dif\u00edcil y crucial.<\/p>\n<p><\/p>\n<p>Precisamente en redes donde los participantes no conf\u00edan entre s\u00ed, la capacidad de generar un n\u00famero aleatorio indiscutible permite resolver eficazmente m\u00faltiples tareas importantes y mejorar significativamente los esquemas existentes. Cabe se\u00f1alar que los juegos de azar y las loter\u00edas no son en absoluto el objetivo principal, como podr\u00eda parecer inicialmente a un lector no experimentado.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"generaciya-sluchaynyh-chisel\">Generaci\u00f3n de n\u00fameros aleatorios<\/h2>\n<p><\/p>\n<p>Los ordenadores no pueden generar n\u00fameros aleatorios por s\u00ed mismos, necesitan ayuda externa para ello. Un ordenador puede obtener un valor aleatorio utilizando, por ejemplo, el movimiento del rat\u00f3n, la cantidad de memoria utilizada, los ruidos el\u00e9ctricos en los contactos del procesador y muchas otras fuentes, conocidas como fuentes de entrop\u00eda. Estos valores no son del todo aleatorios, ya que est\u00e1n dentro de un rango espec\u00edfico o tienen un patr\u00f3n predecible en su variaci\u00f3n. Para convertir tales n\u00fameros en un n\u00famero verdaderamente aleatorio en un rango determinado, se aplican transformaciones criptogr\u00e1ficas, con el fin de obtener valores pseudoaleatorios uniformemente distribuidos a partir de valores de fuente de entrop\u00eda que no est\u00e1n distribuidos uniformemente. Los valores obtenidos se llaman pseudoaleatorios, ya que no son realmente aleatorios, sino que se producen de manera determinista a partir de la entrop\u00eda. Cualquier buen algoritmo criptogr\u00e1fico, al cifrar datos, produce textos cifrados que estad\u00edsticamente deber\u00edan ser indistinguibles de una secuencia aleatoria, por lo que se puede utilizar una fuente de entrop\u00eda que solo ofrezca una buena irrepetibilidad y aleatoriedad de los valores, incluso dentro de rangos peque\u00f1os; el algoritmo de cifrado se encargar\u00e1 del resto de la dispersi\u00f3n y mezcla de bits en el valor resultante.<\/p>\n<p><\/p>\n<p>Para terminar este breve repaso, a\u00f1adir\u00e9 que la generaci\u00f3n de n\u00fameros aleatorios, incluso en un solo dispositivo, es uno de los pilares para garantizar la seguridad de nuestros datos. Los n\u00fameros pseudoaleatorios generados se utilizan para establecer conexiones seguras en diversas redes, para generar claves criptogr\u00e1ficas, para equilibrar la carga, controlar la integridad y para muchas otras aplicaciones. La seguridad de muchos protocolos depende de la capacidad de generar un 'random' fiable e impredecible desde el exterior, conservarlo y no revelarlo hasta el siguiente paso del protocolo; de lo contrario, la seguridad se ver\u00e1 comprometida. Un ataque al generador de valores pseudoaleatorios es extremadamente peligroso y pone en riesgo todo el software que utiliza la generaci\u00f3n de aleatoriedad. <\/p>\n<p><\/p>\n<p>Todo esto debe saberlo si ha realizado un curso b\u00e1sico de criptograf\u00eda, as\u00ed que continuemos con las redes descentralizadas.<\/p>\n<p><\/p>\n<h2 id=\"random-v-blokcheynah\">Aleatorio en blockchains<\/h2>\n<p><\/p>\n<p>Primero hablar\u00e9 sobre blockchains que soportan contratos inteligentes, ya que son los que pueden aprovechar al m\u00e1ximo las capacidades que ofrece un aleatorio innegable de calidad. A partir de ahora, por brevedad, denominar\u00e9 a esta tecnolog\u00eda \u201c<em>Faros Aleatorios Verificables P\u00fablicamente<\/em>\u201d o PVRB. Dado que las blockchains son redes cuya informaci\u00f3n puede ser verificada por cualquier participante, una parte clave del nombre es \u201cVerificable P\u00fablicamente\u201d, es decir, cualquier persona puede, mediante c\u00e1lculos, obtener pruebas de que el n\u00famero generado, almacenado en la blockchain, tiene las siguientes propiedades:<\/p>\n<p><\/p>\n<ul>\n<li>El resultado debe tener una distribuci\u00f3n demostrablemente uniforme, es decir, estar basado en criptograf\u00eda demostrablemente resistente. <\/li>\n<li>No se puede controlar ninguno de los bits del resultado. Como consecuencia, el resultado no puede ser predicho de antemano.<\/li>\n<li>No se puede sabotear el protocolo de generaci\u00f3n por no participar en el protocolo o mediante la sobrecarga de la red con mensajes agresivos.<\/li>\n<li>Todo lo anterior debe ser resistente a conspiraciones de un n\u00famero aceptable de participantes deshonestos en el protocolo (por ejemplo, 1\/3 de los participantes).<\/li>\n<\/ul>\n<p><\/p>\n<p>Cualquier posibilidad de que un grupo menor coludido realice incluso un sorteo controlado par\/impar es una brecha de seguridad. Cualquier posibilidad de que el grupo detenga la emisi\u00f3n de n\u00fameros aleatorios es una brecha de seguridad. En general, hay muchos problemas, y esta tarea no es f\u00e1cil...<\/p>\n<p><\/p>\n<p>Parece que la aplicaci\u00f3n m\u00e1s importante para PVRB son los diversos juegos, loter\u00edas y en general cualquier tipo de apuestas en la blockchain. De hecho, esta es una direcci\u00f3n importante, pero el aleatorio en blockchains tiene aplicaciones a\u00fan m\u00e1s significativas. Examinemos estas.<\/p>\n<p><\/p>\n<h2 id=\"algoritmy-konsensusa\">Algoritmos de consenso<\/h2>\n<p><\/p>\n<p>El PVRB para la organizaci\u00f3n del consenso en la red juega un papel crucial. Las transacciones en las cadenas de bloques est\u00e1n protegidas por una firma electr\u00f3nica, por lo que un \u201cataque a la transacci\u00f3n\u201d siempre implica incluir\/excluir una transacci\u00f3n en un bloque (o en varios bloques). La principal tarea del algoritmo de consenso es acordar el orden de estas transacciones y el orden de los bloques que las incluyen. Adem\u00e1s, una caracter\u00edstica necesaria para las cadenas de bloques reales es la finalizaci\u00f3n: la capacidad de la red para acordar que la cadena hasta el bloque finalizado es definitiva y nunca ser\u00e1 excluida debido a un nuevo fork. Por lo general, para acordar que un bloque es v\u00e1lido y, lo m\u00e1s importante, final, se requiere recoger firmas de la mayor\u00eda de los productores de bloques (en adelante BP \u2014 block-producers), lo que requiere al menos entregar la cadena de bloques a todos los BP y difundir las firmas entre todos los BP. A medida que crece el n\u00famero de BP, la cantidad de mensajes necesarios en la red crece exponencialmente, por lo que los algoritmos de consenso que requieren finalizaci\u00f3n, como el consenso pBFT de Hyperledger, no funcionan a la velocidad necesaria a partir de unas pocas decenas de BP, exigiendo un n\u00famero enorme de conexiones. <\/p>\n<p><\/p>\n<p>Si en la red hay un PVRB indiscutible y honesto, entonces, incluso en el caso m\u00e1s simple, se puede usar como base para seleccionar a uno de los productores de bloques y designarlo como \u201cl\u00edder\u201d durante una ronda del protocolo. Si tenemos <code>N<\/code> productores de bloques, de los cuales <code>M: M &gt; 1\/2 N<\/code> son honestos, no censuran transacciones y no crean forks de la cadena con el objetivo de llevar a cabo un ataque de \u201cdoble gasto\u201d, entonces el uso de un PVRB indiscutible uniformemente distribuido permitir\u00e1 seleccionar un l\u00edder honesto con una probabilidad de <code>M \/ N (M \/ N &gt; 1\/2)<\/code>. Si se asigna a cada l\u00edder un intervalo de tiempo propio durante el cual puede generar un bloque y validar la cadena, y estos intervalos son iguales en duraci\u00f3n, entonces la cadena de bloques de los BP honestos ser\u00e1 m\u00e1s larga que la cadena formada por los BP maliciosos, y el algoritmo de consenso que se basa en la longitud de la cadena simplemente descartar\u00e1 la \"mala\". Este principio de asignar intervalos de tiempo iguales a cada BP fue utilizado por primera vez en Graphene (el precursor de EOS), y permite que la mayor\u00eda de los bloques se cierren con una sola firma, lo que reduce significativamente la carga en la red y permite que este consenso funcione de manera extremadamente r\u00e1pida y estable. Sin embargo, las redes EOS ahora tienen que utilizar bloques especiales (Last Irreversible Block), que son confirmados por las firmas de 2\/3 de los BP. Estos bloques sirven para asegurar la finalizaci\u00f3n (la imposibilidad de que aparezca un fork en la cadena que comience antes del \u00faltimo Last Irreversible Block).<\/p>\n<p><\/p>\n<p>Adem\u00e1s, en implementaciones reales, el esquema del protocolo es m\u00e1s complejo: las votaciones sobre los bloques propuestos se realizan en varias etapas para mantener el funcionamiento de la red en caso de que se pierdan bloques y surjan problemas en la red, pero incluso teniendo en cuenta esto, los algoritmos de consenso que utilizan PVRB requieren significativamente menos mensajes entre los BP, lo que permite que sean m\u00e1s r\u00e1pidos que el tradicional P\u0412FT, o sus diversas modificaciones.<\/p>\n<p><\/p>\n<p>El representante m\u00e1s notable de tales algoritmos es: <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2016\/889.pdf\">Ouroboros<\/a><\/noindex> del equipo de Cardano, que, seg\u00fan se ha declarado, posee una resistencia matem\u00e1ticamente demostrable ante la colusi\u00f3n entre BP. <\/p>\n<p><\/p>\n<p>En Ouroboros, PVRB se utiliza para determinar el llamado \"BP schedule\" \u2014 calendario en el que se asigna a cada BP su hueco temporal para publicar un bloque. Una gran ventaja del uso de PVRB es la \"igualdad total\" entre los BP (seg\u00fan los tama\u00f1os de sus balances). La honradez de PVRB garantiza que los BP maliciosos no pueden controlar el calendario de los huecos temporales y, por lo tanto, no pueden manipular la cadena, preparando y analizando forks de la cadena de antemano, y para elegir un fork es suficiente basarse simplemente en la longitud de la cadena, sin recurrir a ingeniosas formas de calcular la \"utilidad\" de los BP y el \"peso\" de sus bloques. <\/p>\n<p><\/p>\n<p>En general, en todos los casos en que se necesita seleccionar un participante al azar en una red descentralizada, casi siempre la mejor opci\u00f3n ser\u00e1 PVRB, en lugar de una variante determinista basada, por ejemplo, en el hash de un bloque. Sin PVRB, la posibilidad de influir en la elecci\u00f3n del participante lleva a la aparici\u00f3n de ataques, donde el atacante puede, al elegir entre varias opciones futuras, seleccionar al siguiente participante corrupto o a varios a la vez para asegurar una mayor participaci\u00f3n en la toma de decisiones. El uso de PVRB desacredita este tipo de ataques.<\/p>\n<p><\/p>\n<h2 id=\"masshtabirovanie-i-balansirovka-nagruzki\">Escalabilidad y balanceo de carga<\/h2>\n<p><\/p>\n<p>PVRB tambi\u00e9n puede ser de gran beneficio en tareas para reducir la carga y escalar pagos. Para empezar, tiene sentido familiarizarse con <noindex><a rel=\"nofollow\" href=\"https:\/\/people.csail.mit.edu\/rivest\/pubs\/Riv97b.pdf\">art\u00edculo<\/a><\/noindex> Rivesta \"Boletos Electr\u00f3nicos de Loter\u00eda como Micropagos\". La idea general es que, en lugar de hacer 100 pagos de 1c del pagador al receptor, se puede jugar a una loter\u00eda justa con un premio de 1$ = 100c, donde el pagador, en cada pago de 1c, transfiere al banco uno de sus 100 \"boletos de loter\u00eda\". Uno de estos boletos gana al banco 1$, y precisamente este boleto puede ser registrado en la blockchain por el receptor. Lo m\u00e1s importante es que los otros 99 boletos se transfieren entre el receptor y el pagador sin ning\u00fan tipo de participaci\u00f3n externa, a trav\u00e9s de un canal privado y a cualquier velocidad deseada. Se puede leer una buena descripci\u00f3n del protocolo basado en este esquema en la red Emercoin. <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@emer.tech\/randpay-6a028f16c82a\">aqu\u00ed<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>Este esquema tiene varios problemas, por ejemplo, el receptor puede dejar de atender al pagador inmediatamente despu\u00e9s de recibir el boleto ganador, pero para muchas aplicaciones espec\u00edficas, como la tarificaci\u00f3n por minuto o las suscripciones electr\u00f3nicas a servicios, se pueden desestimar. El principal requisito, por supuesto, es la honestidad de la loter\u00eda que se lleva a cabo, y para su realizaci\u00f3n es absolutamente necesario PVRB.<\/p>\n<p><\/p>\n<p>La selecci\u00f3n aleatoria de un participante es extremadamente importante para los protocolos de sharding, cuyo objetivo es la escalabilidad horizontal de la cadena de bloques, permitiendo que diferentes BP procesen \u00fanicamente su propio \u00e1mbito de transacciones. Esta es una tarea muy compleja, especialmente en cuestiones de seguridad al integrar shards. La selecci\u00f3n justa de un BP aleatorio para designarlo responsable de un shard espec\u00edfico, al igual que en los algoritmos de consenso, es tambi\u00e9n una tarea de PVRB. En los sistemas centralizados, los shards son asignados por un equilibrador, que simplemente calcula un hash de la solicitud y lo env\u00eda al ejecutor correspondiente. En las cadenas de bloques, la capacidad de influir en esta asignaci\u00f3n puede llevar a un ataque al consenso. Por ejemplo, el contenido de las transacciones puede ser controlado por un atacante, quien puede controlar qu\u00e9 transacciones ingresan a su shard controlado y manipular la cadena de bloques dentro de \u00e9l. Se puede leer sobre el problema del uso de n\u00fameros aleatorios para las tareas de sharding en Ethereum. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ethereum\/wiki\/wiki\/Sharding-FAQ#how-is-the-randomness-for-random-sampling-generated\">aqu\u00ed<\/a><\/noindex><br \/>\nEl sharding es una de las tareas m\u00e1s ambiciosas y serias en el \u00e1mbito de la blockchain; su soluci\u00f3n permitir\u00e1 construir redes descentralizadas de rendimiento y volumen fant\u00e1sticos. PVRB es solo uno de los componentes importantes para su soluci\u00f3n.<\/p>\n<p><\/p>\n<h2 id=\"igry-ekonomicheskie-protokoly-arbitrazh\">Juegos, protocolos econ\u00f3micos, arbitraje<\/h2>\n<p><\/p>\n<p>El papel de los n\u00fameros aleatorios en la industria del juego es dif\u00edcil de sobreestimar. Su uso expl\u00edcito en los casinos en l\u00ednea y su uso impl\u00edcito al calcular los efectos de las acciones de un jugador son problemas complejos para las redes descentralizadas, donde no se puede confiar en una fuente central de aleatoriedad. Sin embargo, la selecci\u00f3n aleatoria puede resolver muchos problemas econ\u00f3micos y ayudar a construir protocolos m\u00e1s simples y eficientes. Supongamos que en nuestro protocolo hay disputas sobre el pago de algunos servicios econ\u00f3micos, y estas disputas ocurren con poca frecuencia. En este caso, si hay un PVRB irrefutable, los clientes y los vendedores pueden acordar una resoluci\u00f3n aleatoria de las disputas, pero con una probabilidad establecida. Por ejemplo, con una probabilidad del 60%, gana el cliente, y con una probabilidad del 40%, gana el vendedor. Este enfoque, que puede parecer absurdo al principio, permite resolver autom\u00e1ticamente las disputas con una proporci\u00f3n de ganancias\/p\u00e9rdidas predecible que satisface a ambas partes, sin la necesidad de un tercero y sin perder tiempo. Adem\u00e1s, la relaci\u00f3n de probabilidades puede ser din\u00e1mica y depender de algunas variables globales. Por ejemplo, si la empresa va bien, con un bajo n\u00famero de disputas y alta rentabilidad, puede ajustar autom\u00e1ticamente la probabilidad de resoluci\u00f3n de disputas hacia una mayor orientaci\u00f3n al cliente, por ejemplo, 70\/30 o 80\/20, y viceversa; si las disputas son costosas y fraudulentas o inadecuadas, puede mover la probabilidad en la direcci\u00f3n opuesta.<\/p>\n<p><\/p>\n<p>Una gran cantidad de protocolos descentralizados interesantes, como los registros de tokens curados, los mercados de predicci\u00f3n, las curvas de vinculaci\u00f3n y muchos otros, representan juegos econ\u00f3micos que recompensan el buen comportamiento y castigan el malo. Estos a menudo enfrentan problemas de seguridad, donde las soluciones a menudo son contradictorias. Lo que est\u00e1 protegido contra ataques de \"ballenas\" con miles de millones de tokens (\"gran participaci\u00f3n\") es vulnerable a ataques de miles de cuentas con saldos peque\u00f1os (\"participaci\u00f3n sybil\"), y las medidas adoptadas contra un tipo de ataque, como las comisiones no lineales dise\u00f1adas para hacer que la participaci\u00f3n grande no sea rentable, a menudo son desbordadas por otro ataque. Dado que se trata de un juego econ\u00f3mico, los pesos estad\u00edsticos correspondientes se pueden calcular con antelaci\u00f3n y simplemente sustituir las comisiones por comisiones aleatorias con la distribuci\u00f3n correspondiente. Tales comisiones probabil\u00edsticas se implementan extremadamente simple, si hay una fuente confiable de aleatoriedad en la blockchain y no requieren c\u00e1lculos complejos, complicando la vida tanto a las ballenas como a los sybils.<br \/>\nSin embargo, es importante recordar que controlar un solo bit de esa aleatoriedad permite hacer trampas, reduciendo y aumentando las probabilidades al doble, por lo que un PVRB honesto es una parte esencial de tales protocolos. <\/p>\n<p><\/p>\n<h2 id=\"gde-nayti-pravilnyy-random\">\u00bfD\u00f3nde encontrar la aleatoriedad correcta?<\/h2>\n<p><\/p>\n<p>En teor\u00eda, una selecci\u00f3n aleatoria honesta en redes descentralizadas permite asegurar la seguridad demostrable de casi cualquier protocolo contra conspiraciones. La justificaci\u00f3n es bastante simple: si la red conviene en un bit de 0 o 1, y entre los participantes menos de la mitad son deshonestos, entonces, tras un n\u00famero suficiente de iteraciones, la red llegar\u00e1 a un consenso sobre ese bit con una probabilidad fija. Simplemente porque la aleatoriedad honesta seleccionar\u00e1 a 51 de 100 participantes en el 51% de los casos. Pero eso es en teor\u00eda, ya que en redes reales, para garantizar un nivel de seguridad como se describe en los art\u00edculos, se requiere un gran n\u00famero de mensajes entre hosts, criptograf\u00eda compleja de m\u00faltiples pasos, y cualquier complicaci\u00f3n del protocolo inmediatamente a\u00f1ade nuevos vectores de ataque.<br \/>\nEs por eso que a\u00fan no vemos en las blockchains un PVRB probado y resistente, que haya sido utilizado el tiempo suficiente para superar las pruebas de aplicaciones reales, m\u00faltiples auditor\u00edas, cargas de trabajo y, por supuesto, ataques reales, sin los cuales es dif\u00edcil llamar a un producto verdaderamente seguro.<\/p>\n<p><\/p>\n<p>Sin embargo, hay varios enfoques prometedores, diferenci\u00e1ndose en muchos detalles, y alguno de ellos seguramente resolver\u00e1 el problema. Con los recursos de computaci\u00f3n actuales, la teor\u00eda criptogr\u00e1fica puede transformarse con bastante agilidad en aplicaciones pr\u00e1cticas. M\u00e1s adelante, con gusto hablaremos sobre las implementaciones de PVRB: hay varias en la actualidad, cada una con su propio conjunto de propiedades importantes y caracter\u00edsticas de implementaci\u00f3n, y detr\u00e1s de cada una hay una buena idea. No hay muchos equipos que se dediquen a la aleatoriedad, y la experiencia de cada uno de ellos es extremadamente valiosa para los dem\u00e1s. Esperamos que nuestra informaci\u00f3n permita a otros equipos avanzar m\u00e1s r\u00e1pido, teniendo en cuenta la experiencia de sus predecesores.<\/p>\n<p>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/448330\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u0415\u0441\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e \u2014 \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u043d\u0434\u043e\u043c \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430\u0445, \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e \u0442\u043e, \u043a\u0430\u043a \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u201c\u0445\u043e\u0440\u043e\u0448\u0438\u0439\u201d \u0440\u0430\u043d\u0434\u043e\u043c \u043e\u0442 \u201c\u043f\u043b\u043e\u0445\u043e\u0433\u043e\u201d. \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31729","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:42:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:42:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 N\u00fameros aleatorios y redes descentralizadas: aplicaci\u00f3n pr\u00e1ctica | ProHoster","description":"Introducci\u00f3n \"La generaci\u00f3n de n\u00fameros aleatorios es demasiado importante como para dejarla al azar\" Robert Cavuio, 1970 Este art\u00edculo est\u00e1 dedicado a la aplicaci\u00f3n pr\u00e1ctica.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:42:44+00:00","article:modified_time":"2019-10-31T18:42:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31729","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 07:32:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:04:45","updated":"2026-01-21 07:32:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/31729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=31729"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/31729\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=31729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=31729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=31729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}