Ettevõte Cloudflare teenus , mille toimimise tagamiseks on loodud mitu organisatsiooni, kes on huvitatud kvaliteetsete juhuslike numbrite pakkumisest. Erinevalt olemasolevatest tsentraliseeritud süsteemidest, ei toeta Entropy Liit ühte allikat ja kasutab juhusliku järjestuse genereerimiseks entropiat, mitmest omavahel mitte seotud generaatorist, mida kontrollivad erinevad projekti osalejad. Projekti jaotatud iseloomu tõttu ei too ühe või kahe allika kompromiteerimine või valeandmete esitamine kaasa lõppjuhusliku numbri kompromiteerimist.
Oluline on märkida, et genereeritud juhuslikud numbrid kuuluvad avalikult kätte saadavate järjestuste kategooriasse, mida ei saa kasutada krüpteerimisvõtmete genereerimiseks ning valdkondades, kus juhuslik number peab olema saladuses. Teenus on suunatud juhuslike numbrite pakkumisele, mida ei saa ette ennustada, kuid pärast genereerimist saavad need numbrid avalikult kätte, sealhulgas ka varasemate juhuslike väärtuste valideerimise eesmärgil.
Avalikke juhuslikke numbreid genereeritakse iga 60 sekundi tagant. Iga number on seotud oma järjestuse numbriga (round), mille abil saab igal ajal ja igast osaleva serveri kaudu kätte kunagi genereeritud väärtuse. Taolisi juhuslikke numbreid saab kasutada jaotatud süsteemides, krüptovaluutades ja plokiahelates, kus erinevad sõlmed peavad olema juurdepääs ühele juhuslike numbrite generaatorile (näiteks töö tõestamise vormimisel), samuti erinevate loteriide läbiviimiseks ja juhuslike valikute moodustamiseks valimisteauditi käigus.
Teenuse kasutamiseks ja oma sõlmede juurutamiseks tööriistakomplekt , mis on kirjutatud Go keeles ja jagatakse MIT litsentsi alusel. Drand töötab taustaprotsessina, mis ühendub jaotatud võrgus osalevate välistest generaatoritest ja kollektiivselt moodustab kokkuvõtliku juhusliku väärtuse. Kokkuvõtlik väärtus genereeritakse ja . Kokkuvõtliku juhusliku väärtuse genereerimine võib toimuda kasutaja süsteemis ilma tsentraliseeritud agregaatide kaasamiseta.
Drand saab samuti kasutada kohalike kasutajate jaoks genereeritud privaatsete juhuslike arvude edastamiseks. Juhusliku arvu edastamiseks kasutatakse ECIES krüpteerimisskeemi, kus klient genereerib privaatse ja avaliku võtme. Avalik võti edastatakse serverisse Drandiga. Juhuslik number krüpteeritakse antud avaliku võtmega ja seda saab vaadata ainult kliendil, kellel on privaatvõti. Serveritega suhtlemiseks saab kasutada utiliiti "drand" (näiteks "drand get public group.toml", kus group.toml on küsitavate sõlmede loend) või Web API-d (näiteks võid kasutada "curl https://drand.cloudflare.com/api/public" või kutsuda JavaScriptis välja kasutades teeki ). Küsitava metainformatsioon saadetakse TOML-formaadis ja vastus antakse JSON-formaadis.
Praegu on League of Entropy algatusega liitunud viis ettevõtet ja organisatsiooni, kes on pakkunud juurdepääsu oma entrooia generaatoritele. Projekti kuuluvad osalised asuvad erinevates riikides ja kasutavad erinevaid meetodeid entrooia saamiseks:
- Cloudflare, , juhuslikud väärtused põhinevad ettenägematute vedelikuvoolude peal , mille pilte kasutatakse CSPRNG (krüptograafiliselt turvaline pseudojuhuslike numbrite generaator) sisendina;
- EPFL (Lozanne Föderaalne Polütehniline Kool), URand,
kasutab kohalikku generaatorit /dev/urandom, mis võtab entrooia allikatena kasutusele klaviatuuri sisendi, hiire liikumise, liiklusvood ja nii edasi. - Tšiili ülikool, , kasutab entrooia allikana seismiliste andurite võrku ning andmeid raadioside, Twitteri tegevuse, Ethereum'i plokiahela muutuste ja isetegustatud RNG riistvara generaatori põhjal;
- Kudelski Security, ChaChaRand, pakub CRNG (krüptograafiline juhuslike numbrite generaator) põhinevalt ChaCha20 krüptograafia kasutamisel;
- Protocol Labs, InterplanetaryRand, juhuslikud andmed saadakse müra püüdjatest ja kombineeritakse Linuxi PRNG ja protsessori sisseehitatud pseudojuhuslike numbrite generaatoriga.
Praegu on sõltumatud osalised käivitanud 8 avalikku API juurdepääsu punkti, mille kaudu saab teada nii praegust kogujuhuslikku 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
