Cloudflare-selskapet tjeneste , for which a consortium of several organizations has been formed, interested in providing quality random numbers. Unlike existing centralized systems, League of Entropy does not rely on a single source and uses entropy to generate a random sequence, from several unconnected generators, controlled by different project participants. Due to the distributed nature of the project, compromising or tampering with one or two of the sources will not lead to the compromise of the final random number.
It should be noted that the generated random numbers fall into the category of publicly available sequences, which cannot be used for generating encryption keys and in areas where a random number must be kept secret. The service aims to provide random numbers that cannot be predicted in advance, but once generated, these numbers become publicly available, including for verifying the authenticity of past random values.
Public random numbers are generated every 60 seconds. Each number is linked to its sequence number (round), from which at any time and from any participating server, one can obtain a previously generated value. Such random numbers can be used in distributed systems, cryptocurrencies, and blockchains, where different nodes need access to a single random number generator (for example, when forming proof of work), as well as in various lotteries and for forming random samples during election audits.
To work with the service and to deploy one's own nodes verktøy , written in Go and supplied under the MIT license. Drand runs as a background process that connects to external generators participating in the distributed network and collectively forms a consolidated random value. The consolidated value is generated using methods of og . The generation of a consolidated random value can be performed on the user's system without involving centralized aggregators.
Drand kan også brukes til å levere lokalt genererte private tilfeldige tall til kunder. For å overføre et tilfeldig tall brukes ECI-sykkelsystem, hvor kunden genererer en privat og offentlig nøkkel. Den offentlige nøkkelen sendes til serveren med Drand. Det tilfeldige tallet blir kryptert med denne offentlige nøkkelen og kan kun sees av kunden som har den private nøkkelen. Det er mulig å bruke verktøyet "drand" for å kontakte serverne (for eksempel "drand get public group.toml", der group.toml er listen over noder for forespørsel) eller Web API (du kan for eksempel bruke "curl https://drand.cloudflare.com/api/public" eller kontakte det fra JavaScript ved hjelp av biblioteket ). Spørsmålsmetadata sendes i TOML-format, og svaret gis i JSON.
I dag har fem selskaper og organisasjoner blitt med i League of Entropy-initiativet, som har gitt tilgang til sine entropigeneratorer. Deltakerne i prosjektet befinner seg i forskjellige land og bruker forskjellige metoder for å skaffe entropi:
- Cloudflare, , tilfeldige verdier basert på uforutsigbare væskestrømmer i , bildene av hvilke brukes som inngangs- eller entropi for CSPRNG (Cryptographically Secure PseudoRandom Number Generator);
- EPFL (École polytechnique fédérale de Lausanne), URand,
bruken av den lokale generatoren /dev/urandom, som bruker tastaturinngang, musebevegelse, trafikkstrømmer osv. som kilder til entropi. - Chilenske universitetet, , hvor nettverket av seismiske sensorer brukes som kilde til entropi, samt data fra radiofrekvenser, aktivitet på Twitter, endringer i blockchain Ethereum og en hjemmelaget maskinvare-RNG-generatorsystem;
- Kudelski Security, ChaChaRand, tilbyr CRNG (Cryptographic Random Number Generator) basert på bruk av ChaCha20-kryptering;
- Protocol Labs, InterplanetaryRand, tilfeldige data trekkes fra støyfanger og kombineres med Linux PRNG og innebygd CPU-generert pseudotilfeldige tall.
I dag har uavhengige deltakere lansert 8 offentlige API-endepunkter hvor man kan få tilgang til både det nåværende samlede tilfeldige tallet (for eksempel "curl https://drand.cloudflare.com/api/public") og bestemme verdien på et bestemt tidspunkt i fortiden ("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
Kilde: opennet.ru
