Firma Cloudflare servis , za čije je funkcioniranje formiran konzorcij nekoliko organizacija zainteresiranih za pružanje kvalitetnih slučajnih brojeva. Za razliku od postojećih centraliziranih sustava, Liga Entropije se ne oslanja na jedan izvor i koristi entropiju za generiranje slučajne sekvence, od nekoliko međusobno nepovezanih generatora, kojima upravljaju različiti sudionici projekta. Zbog distribuirane prirode projekta, kompromitiranje ili falsificiranje jednog ili dva izvora neće kompromitirati konačni slučajni broj.
Važno je napomenuti da se generirani slučajni brojevi svrstavaju u kategoriju javno dostupnih sekvenci, koje se ne mogu koristiti za generiranje kriptografskih ključeva i u područjima gdje slučajni broj treba ostati tajan. Usluga je usmjerena na pružanje slučajnih brojeva koji se ne mogu unaprijed predvidjeti, ali nakon generiranja postaju javno dostupni, uključujući za provjeru valjanosti prethodnih slučajnih vrijednosti.
Javni slučajni brojevi generiraju se svake 60 sekundi. Svaki broj povezan je sa svojim brojem sekvence (round), preko kojeg se u bilo kojem trenutku i sa bilo kojeg servera sudionika može dobiti ranije generirana vrijednost. Takvi slučajni brojevi mogu se koristiti u distribuiranim sustavima, kriptovalutama i blokčejnima, gdje različiti čvorovi moraju imati pristup jednom generatoru slučajnih brojeva (na primjer, prilikom formiranja dokaza o radu), kao i pri vođenju raznih lutrija i za formiranje slučajnih uzoraka u procesu nadzora izbora.
Za rad s uslugom i za implementaciju vlastitih čvorova alat , napisan na jeziku Go i isporučen pod MIT licencom. Drand djeluje kao pozadinski proces koji se povezuje s vanjskim generatorima koji sudjeluju u distribuiranoj mreži i kolektivno formira sažeto slučajno vrijednost. Sažeto vrijednost generira se upotrebom metoda in . Generiranje sažetog slučajnog vrijednosti može se izvesti na korisničkom sustavu bez uključivanja centraliziranih aggregatora.
Drand se lahko uporablja tudi za dostavo lokalno generiranih zasebnih naključnih števil strankam. Za prenos naključnega številke se uporablja šifrirni sistem ECIES, v okviru katerega stranka generira zasebni in javni ključ. Javni ključ se prenese na strežnik Drand. Naključno številko se šifrira z uporabo tega javnega ključa in jo lahko vidi samo stranka, ki ima zasebni ključ. Za dostop do strežnikov se lahko uporablja orodje 'drand' (na primer, 'drand get public group.toml', kjer group.toml vsebuje seznam vozlišč za anketiranje) ali spletno API (na primer, lahko uporabite 'curl https://drand.cloudflare.com/api/public' ali se obrnete iz JavaScript s pomočjo knjižnice ). Metadata zahteve se pošljejo v formatu TOML, odgovor pa je zagotovljen v JSON.
Trenutno se pobudi League of Entropy pridružilo pet podjetij in organizacij, ki so omogočila dostop do svojih generatorjev entropije. Udeleženci projekta so v različnih državah in uporabljajo različne metode pridobivanja entropije:
- Cloudflare, , naključne vrednosti na podlagi nepredvidljivih tokov tekočin v , katerih slike se uporabljajo kot vhodna entropija za CSPRNG (Kryptografsko varni psevdonaključni generator števil);
- EPFL (Zvezna politehniška šola v Lozani), URand,
uporablja lokalni generator /dev/urandom, ki uporablja kot vire entropije vhod s tipkovnice, gibanje miške, tok promet in podobno. - Čilska univerza, , kot vir entropije uporablja omrežje seizmičnih senzorjev ter podatke iz radijskega etra, aktivnosti na Twitterju, sprememb v blockchainu Ethereum in domače strojne generatore RNG;
- Kudelski Security, ChaChaRand, nudi CRNG (Kryptografski naključni generator števil), ki temelji na uporabi šifre ChaCha20;
- Protocol Labs, InterplanetaryRand, naključni podatki se pridobivajo iz uloviteljev šuma in kombinirajo z Linux PRNG ter vgrajenim v CPU generatorjem psevdonaključnih števil.
Trenutno so neodvisni udeleženci zagnali 8 javnih dostopnih točk API, preko katerih je mogoče dobiti tako trenutno skupno naključno številko (na primer, 'curl https://drand.cloudflare.com/api/public'), kot tudi določiti vrednost iz preteklosti ('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
Izvor: opennet.ru
