Compañía Cloudflare servizo , para garantir o funcionamento do cal se formou un consorcio de varias organizacións interesadas en proporcionar números aleatorios de alta calidade. A diferenza dos sistemas centralizados existentes, League of Entropy non depende dunha única fonte e utiliza a entropía para xerar unha secuencia aleatoria, de varios xeradores non relacionados controlados por diferentes participantes do proxecto. Debido á natureza distribuída do proxecto, comprometer ou manipular unha ou dúas das fontes non levará a comprometer o número aleatorio final.
Hai que ter en conta que os números aleatorios xerados clasifícanse como secuencias dispoñibles publicamente que non se poden utilizar para xerar claves de cifrado e en áreas onde o número aleatorio debe manterse en segredo. O servizo ten como obxectivo proporcionar números aleatorios que non se poden predicir de antemán, pero unha vez xerados, estes números están dispoñibles públicamente, incluso para comprobar a validez dos valores aleatorios pasados.
Os números aleatorios públicos xéranse cada 60 segundos. Cada número está asociado ao seu propio número de secuencia (redondo), polo que en calquera momento e desde calquera servidor participante pode obter o valor unha vez xerado. Estes números aleatorios pódense usar en sistemas distribuídos, criptomoedas e cadeas de bloques, nos que diferentes nodos deben ter acceso a un único xerador de números aleatorios (por exemplo, cando se xeran probas do traballo realizado), así como cando se realizan varias loterías e para xerar aleatorios. mostras no proceso de fiscalización das eleccións de paso.
Para traballar co servizo e para implantar os seus propios nodos ferramentas , escrito en Go e lanzado baixo a licenza MIT. Drand execútase en forma de proceso en segundo plano que se comunica con xeradores externos que participan na rede distribuída e xera colectivamente un valor aleatorio resumido. O valor resumo xérase mediante os métodos и . A xeración dun valor aleatorio resumo pódese realizar no sistema do usuario sen a implicación de agregadores centralizados.
Drand tamén se pode usar para entregar aos clientes números aleatorios privados xerados localmente. Para transmitir un número aleatorio utilízase o esquema de cifrado ECIES, dentro do cal o cliente xera unha clave privada e pública. A chave pública transfírese ao servidor desde Drand. O número aleatorio cífrase mediante a clave pública indicada e só o pode ver o cliente que posúe a clave privada. Para acceder aos servidores, pode usar a utilidade "drand" (por exemplo, "drand get public group.toml", onde group.toml é unha lista de nodos para sondear) ou a API web (por exemplo, pode usar " curl https://drand.cloudflare.com /api/public" ou accede desde JavaScript mediante a biblioteca ). Os metadatos da solicitude envíanse en formato TOML e a resposta devólvese en JSON.
Actualmente, cinco empresas e organizacións uníronse á iniciativa da Liga da Entropía e están proporcionando acceso aos seus xeradores de entropía. Os participantes incluídos no proxecto atópanse en diferentes países e empregan diferentes métodos para obter entropía:
- nubes, , valores aleatorios baseado en fluxos de fluído imprevisibles , as imaxes das cales se proporcionan como entropía de entrada para CSPRNG (Cryptographically Secure PseudoRandom Number Generator);
- EPFL (Ecole Polytechnique Federale de Lausanne), URand,
utilízase un xerador local estándar /dev/urandom, que utiliza a entrada do teclado, o movemento do rato, os fluxos de tráfico, etc. como fontes de entropía. - Universidade de Chile, , utilízase unha rede de sensores sísmicos como fonte de entropía, así como datos de emisións de radio, actividade de Twitter, cambios na cadea de bloques Ethereum e un xerador de RNG de hardware caseiro;
- Kudelski Security, ChaChaRand, ofrece un CRNG (Xerador de números aleatorios criptográficos) baseado no cifrado ChaCha20;
- Protocol Labs, InterplanetaryRand, extráense datos aleatorios de trampas de ruído e combínanse con Linux PRNG e o xerador de números pseudoaleatorios integrado da CPU.
Actualmente, os participantes independentes lanzaron 8 puntos de acceso público á API, a través dos cales podes coñecer tanto o número aleatorio de resumo actual (por exemplo, "curl https://drand.cloudflare.com/api/public") como determinar o valor nun determinado momento do pasado ("curl https://drand.cloudflare.com/api/public?round=1234"):
- https://drand.cloudflare.com:443
- https://random.uchile.cl:8080
- https://drand.cothority.net:7003
- https://drand.kudelskisecurity.com:443
- https://drand.lbarman.ch:443
- https://drand.nikkolasg.xyz:8888
- https://drand.protocol.ai:8080
- https://drand.zerobyte.io:8888
Fonte: opennet.ru
