Cloudflare teenus , mille toimimise tagamiseks on loodud mitme organisatsiooni konsortsium, kes on huvitatud kvaliteetsete juhuslike arvude pakkumisest. Erinevalt olemasolevatest tsentraliseeritud süsteemidest toetub League of Entropy mitte ühele allikale, vaid kasutab juhusliku järjestuse genereerimiseks entropiat, mitmest üksteisest sõltumatust generaatorist, mida kontrollivad erinevad projekti osalised. Projektihajutamise looduse tõttu ei too ühe või kahe allika kompromiteerimine või valeandmete esitamine kaasa lõppjuhusliku arvu kompromiteerimist.
Tuleb märkida, et genereeritud juhuslikud numbrid kuuluvad avalike järjestuste kategooriasse, mida ei saa kasutada krüpteerimisvõtmete genereerimiseks ja valdkondades, kus juhuslik number peab olema konfidentsiaalne. Teenus keskendub juhuslike numbrite pakkumisele, mida ei saa eelnevalt ennustada, kuid pärast genereerimist muutuvad need avalikuks, sealhulgas varasemate juhuslike väärtuste tõeväärtuse kontrollimiseks.
Avalikud juhuslikud numbrid genereeritakse iga 60 sekundi tagant. Iga number seostatakse oma järjestuse numbriga (round), mille alusel on igal ajal ja igast osalejast serverist võimalik saada kunagi genereeritud väärtus. Selliseid juhuslikke numbreid saab rakendada hajutatud süsteemides, krüptovaluutades ja plokiahelates, kus erinevad sõlmed peavad juurdepääsu saama ühele ja samale juhuslike numberite generaatorile (näiteks töötõendite koostamisel), samuti erinevate loteriide läbiviimiseks ja juhuslike valimite koostamiseks valimiste auditeerimisel.
Teenuse kasutamiseks ja oma sõlmede juurutamiseks tööriistakomplekt , mis on kirjutatud Go keeles ja antakse välja MIT litsentsi alla. Drand töötab taustprotsessina, mis ühendub osalistega hajutatud võrgus väliste generaatoritega ja kollektiivselt loob kokkuvõtva juhusliku väärtuse. Kokkuvõtte väärtus genereeritakse ja meetodite abil. Kokkuvõtva juhusliku väärtuse genereerimist saab teostada kasutaja süsteemis ilma tsentraliseeritud agregeerijateta.
Drand võib samuti kasutada kohalike klientide jaoks genereeritud privaatsete juhuslike arvude edastamiseks. Juhusliku arvu edastamiseks kasutatakse ECIES krüpteerimisskeemi, mille raames genereerib klient privaadi ja avaliku võtme. Avalik võti saadetakse Drandiga serverisse. Juhuslik number krüpteeritakse antud avaliku võtme abil ja seda saab vaadata ainult kliendi poolt, kes omab privaati. Serveritele võib pöörduda utiliidi „drand“ abil (näiteks „drand get public group.toml“, kus group.toml on nodide nimekiri küsitavaks) või Web API kaudu (näiteks saab kasutada „curl https://drand.cloudflare.com/api/public“ või pöörduda JavaScripti kaudu raamatukogude abil) ). Päringu metaandmed saadetakse TOML formaadis ja vastus antakse välja JSON formaadis.
Praegu on League of Entropy algatusele liitunud viis ettevõtet ja organisatsiooni, kes on andnud juurdepääsu oma entropia generaatoritele. Projekti kaasatud osalised asuvad erinevates riikides ja kasutavad erinevaid entropia hankimise meetodeid:
- Cloudflare, , juhuslikud väärtused põhinevad ettearvamatutel vedelikuvooludel , mille pilte kasutatakse CSPRNG (Krüptograafiliselt Turvaline Ahnuslik Number Generaator) sissetuleva entropia allikana;
- EPFL (Lausanne'i Föderaalne Tehnoloogiainstituut), URand,
kasutatakse kohaliku generaatori /dev/urandom, mis kasutab entropia allikatena klaviatuuri sisestust, hiirerikkumist, liiklusoone jne. - Tšiili Ülikool, , entropia allikana kasutatakse seismiliste andurite võrgustikku ning andmeid raadiosagedusest, Twitteri aktiivsusest, Ethereum'i plokiahela muutustest ja omatehtud RNG riistvarageneraatorist;
- Kudelski Security, ChaChaRand, pakub CRNG (Krüptograafilise Juhuslike Numbrite Generaator) põhinedes ChaCha20 šifris;
- Protocol Labs, InterplanetaryRand, juhuslikud andmed saadakse mürakaotidest ja kombineeritakse Linux PRNG ja CPU-sse sisse ehitatud pseudojuhuslike numbrite generaatoriga.
Praegu on sõltumatud osalised käivitanud 8 avalikku API juurdepääsu punkti, mille kaudu saab teada nii praeguse koondjuhusliku arvu (näiteks „curl https://drand.cloudflare.com/api/public“) kui ka määrata väärtuse kindlal hetkel minevikus („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
Allikas: opennet.ru
