UzÅÄmums Cloudflare pakalpojums , kura darbÄ«bu nodroÅ”ina konsorcijs, kas veidots no vairÄkÄm organizÄcijÄm, kurÄm ir interese nodroÅ”inÄt kvalitatÄ«vus nejauÅ”os skaitļus. AtŔķirÄ«bÄ no esoÅ”ajÄm centralizÄtajÄm sistÄmÄm, Ieguves Entropija nepaļaujas uz vienu avotu un izmanto entropiju nejauÅ”as secÄ«bas Ä£enerÄÅ”anai, no vairÄkiem savstarpÄji nesaistÄ«tiem Ä£eneratoriem, ko kontrolÄ dažÄdi projekta dalÄ«bnieki. Pateicoties projekta izplatÄ«tajai bÅ«tÄ«bai, viena vai divu avotu kompromitÄcija vai viltoÅ”ana neizraisÄ«s gala nejauÅ”a skaitļa kompromitÄciju.
JÄatzÄ«mÄ, ka Ä£enerÄtie nejauÅ”ie skaitļi pieder pie publiski pieejamÄm secÄ«bÄm, kuras nedrÄ«kst izmantot Å”ifrÄÅ”anas atslÄgu Ä£enerÄÅ”anai un jomÄs, kur nejauÅ”ajam skaitlim jÄpaliek noslÄpumam. Pakalpojuma mÄrÄ·is ir nodroÅ”inÄt nejauÅ”us skaitļus, kurus nav iespÄjams iepriekÅ” prognozÄt, bet pÄc Ä£enerÄÅ”anas Å”ie skaitļi kļūst publiski pieejami, tostarp iepriekÅ”Äjo nejauÅ”o vÄrtÄ«bu autentiskuma pÄrbaudei.
Publiskie nejauÅ”ie skaitļi tiek Ä£enerÄti reizi 60 sekundÄs. Katrs skaitlis tiek saistÄ«ts ar savu secÄ«bas numuru (round), pÄc kura jebkurÄ laikÄ un no jebkura dalÄ«bnieka servera var iegÅ«t kadreiz Ä£enerÄto vÄrtÄ«bu. Å Ädus nejauÅ”os skaitļus var pielietot izplatÄ«tajÄs sistÄmÄs, kriptovalÅ«tÄs un blokÄ·ÄdÄs, kur dažÄdi mezgliem ir piekļuve vienotajam nejauÅ”o skaitļu Ä£eneratoram (piemÄram, veidojot darba pierÄdÄ«jumu), kÄ arÄ« dažÄdu loteriju rÄ«koÅ”anai un nejauÅ”Äs izlases veidoÅ”anai vÄlÄÅ”anu auditÄ.
Lai strÄdÄtu ar pakalpojumu un izveidotu savus mezglus rÄ«kkopa , kas uzrakstÄ«ts Go valodÄ un izplatÄ«ts zem MIT licences. Drand darbojas kÄ fons process, kas savienojas ar dalÄ«bnieku sadales tÄ«klÄ ÄrÄjiem Ä£eneratoriem un kolektÄ«vi veido konsolidÄtu nejauÅ”u vÄrtÄ«bu. KonsolidÄtÄ vÄrtÄ«ba tiek Ä£enerÄta ar metožu palÄ«dzÄ«bu un . KonsolidÄtÄs nejauÅ”Äs vÄrtÄ«bas Ä£enerÄÅ”ana var tikt veikta lietotÄja sistÄmÄ, neveicot centralizÄtus agregatorus.
Drand var arÄ« izmantot, lai piegÄdÄtu klientiem vietÄji Ä£enerÄtus privÄtus nejauÅ”os skaitļus. NejauÅ”Ä skaitļa pÄrsÅ«tīŔanai tiek izmantota ECIES Å”ifrÄÅ”anas shÄma, kurÄ klients Ä£enerÄ slÄgto un atvÄrtÄ atslÄgu. AtvÄrtÄ atslÄga tiek nosÅ«tÄ«ta uz serveri ar Drand. NejauÅ”ais skaitlis tiek Å”ifrÄts, izmantojot Å”o atvÄrtÄ atslÄgu, un to var apskatÄ«t tikai klients, kam pieder slÄgtÄ atslÄga. Uz serveriem var piekļūt, izmantojot rÄ«ku "drand" (piemÄram, "drand get public group.toml", kur group.toml ir mezglu saraksts, ko aptaujÄt) vai Web API (piemÄram, var izmantot "curl https://drand.cloudflare.com/api/public" vai piekļūt no JavaScript, izmantojot bibliotÄku) ). PieprasÄ«juma metadati tiek nosÅ«tÄ«ti TOML formÄtÄ, bet atbilde tiek sniegta JSON formÄtÄ.
PaÅ”laik iniciatÄ«vÄ League of Entropy piedalÄs piecas uzÅÄmumu un organizÄciju grupas, kas ir nodroÅ”inÄjuÅ”as piekļuvi saviem entropijas Ä£eneratoriem. Projekta dalÄ«bnieki atrodas dažÄdÄs valstÄ«s un izmanto dažÄdas metodes entropijas iegūŔanai:
- Cloudflare, , nejauÅ”i skaitļi balstÄ«ti uz neparedzamÄm Ŕķidruma plÅ«smÄm , kuru attÄli tiek izmantoti kÄ ieejas entropija CSPRNG (Cryptographically Secure PseudoRandom Number Generator);
- EPFL (Lozannas FederÄlÄ PolitehniskÄ skola), URand,
izmanto lokÄlo Ä£eneratoru /dev/urandom, kas kÄ entropijas avotus izmanto tastatÅ«ras ievadi, pele kustÄ«bu, trafika plÅ«smu utt. - ÄÄ«les UniversitÄte, , entropijas avotam izmanto seismisko sensoru tÄ«klu, kÄ arÄ« datus no radio viļÅiem, aktivitÄtes Twitter, izmaiÅÄm Ethereum blokÄ·ÄdÄ un paÅ”izveidotu aparatÅ«ras RNG Ä£eneratoru;
- Kudelski Security, ChaChaRand, nodroŔina CRNG (Cryptographic Random Number Generator), kas balstīts uz ChaCha20 Ŕifru;
- Protocol Labs, InterplanetaryRand, nejauÅ”i dati tiek iegÅ«ti no trokÅ”Åu uztvÄrÄjiem un apvienoti ar Linux PRNG un iebÅ«vÄto CPU pseidojauÅ”u skaitļu Ä£eneratoru.
PaÅ”laik neatkarÄ«gi dalÄ«bnieki ir izveidojuÅ”i 8 publiskÄs API piekļuves punktus, caur kuriem var uzzinÄt gan paÅ”reizÄjo konsolidÄto nejauÅ”o skaitli (piemÄram, "curl https://drand.cloudflare.com/api/public"), gan noskaidrot vÄrtÄ«bu noteiktÄ pagÄtnes brÄ«dÄ« ("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
Avots: opennet.lv
