Cloudflare service , for hvis drift der er dannet et konsortium af flere organisationer, der er interesserede i at levere kvalitets tilfældige tal. I modsætning til eksisterende centraliserede systemer baserer League of Entropy sig ikke på en enkelt kilde og bruger entropi til at generere en tilfældig sekvens, fra flere uafhængige generatorer, der kontrolleres af forskellige deltagere i projektet. Takket være projektets distribuerede karakter vil kompromittering eller manipulation af en eller to af kilderne ikke føre til kompromittering af det endelige tilfældige tal.
Det skal bemærkes, at de genererede tilfældige tal tilhører kategorien offentligt tilgængelige sekvenser, der ikke kan bruges til at generere krypteringsnøgler og inden for områder, hvor det tilfældige tal skal holdes hemmeligt. Tjenesten har til formål at levere tilfældige tal, der er umulige at forudsige på forhånd, men efter generering bliver disse tal offentligt tilgængelige, herunder til verifikation af tidligere genererede tilfældige værdier.
Offentlige tilfældige tal genereres hvert 60. sekund. Hvert tal er knyttet til sit sekvensnummer (round), hvormed man når som helst og fra enhver deltager-server kan hente en tidligere genereret værdi. Sådanne tilfældige tal kan anvendes i distribuerede systemer, kryptovalutaer og blokke, hvor forskellige noder skal have adgang til en fælles tilfældig talgenerator (for eksempel ved dannelse af bevis for udført arbejde), samt ved afholdelse af forskellige lotterier og til dannelse af tilfældige prøver i valgverifikationsprocessen.
For at arbejde med tjenesten og i forbindelse med implementeringen af egne noder værktøjer , skrevet i Go-sproget og leveret under MIT-licensen. Drand kører som en baggrundsproces, der forbinder sig med deltagende eksterne generatorer i det distribuerede netværk og kollektivt danner en samlet tilfældig værdi. Den samlede værdi genereres ved hjælp af metoderne og Generering af et samlet tilfældigt værdig kan udføres på brugerens system uden involvering af centraliserede aggregatorer.
Drand kan også anvendes til at levere lokalt genererede private tilfældige tal til kunder. Til overførsel af det tilfældige tal anvendes en krypteringsordning kaldet ECIES, hvor klienten genererer en privat og offentlig nøgle. Den offentlige nøgle sendes til serveren med Drand. Det tilfældige tal krypteres ved hjælp af denne offentlige nøgle og kan kun ses af klienten, der ejer den private nøgle. Der kan anvendes et værktøj kaldet 'drand' til at tilgå serverne (for eksempel 'drand get public group.toml', hvor group.toml er en liste over noder til forespørgsel) eller et Web API (for eksempel kan man bruge 'curl https://drand.cloudflare.com/api/public' eller gøre anmodninger fra JavaScript ved hjælp af biblioteket ). Metadataene for anmodningen sendes i TOML-format, mens svaret returneres i JSON.
I øjeblikket har fem virksomheder og organisationer sluttet sig til initiativet League of Entropy, som har givet adgang til deres entropigeneratorer. De deltagere, der er inkluderet i projektet, befinder sig i forskellige lande og bruger forskellige metoder til at generere entropi:
- Cloudflare, , tilfældige værdier på baggrund af uforudsigelige væskestrømme i , hvis billeder leveres som inputentropi til CSPRNG (Cryptographically Secure PseudoRandom Number Generator);
- EPFL (École Polytechnique Fédérale de Lausanne), URand,
bruger den lokale generator /dev/urandom, som anvender kilder til entropi som tastaturinput, musens bevægelser, trafikstrømme osv. - Chilenske universitet, , anvender et netværk af seismiske sensorer som entropikilde, samt data fra radiofrekvenser, aktivitet på Twitter, ændringer i Ethereum blockchain og et hjemmelavet hardware RNG;
- Kudelski Security, ChaChaRand, tilbyder CRNG (Cryptographic Random Number Generator) baseret på anvendelsen af ChaCha20-krypteringen;
- Protocol Labs, InterplanetaryRand, tilfældige data udvindes fra støjfangers og kombineres med Linux PRNG og den indbyggede pseudorandom talgenerator i CPU'en.
I øjeblikket er der lanceret 8 offentlige API-adgangspunkter af uafhængige deltagere, hvorigennem man kan få både det aktuelle samlede tilfældige tal (f.eks. «curl https://drand.cloudflare.com/api/public») og bestemme værdien 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
