{"id":31729,"date":"2019-10-31T21:42:44","date_gmt":"2019-10-31T18:42:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\/"},"modified":"2019-10-31T21:42:44","modified_gmt":"2019-10-31T18:42:44","slug":"sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","title":{"rendered":"Numere aleatorii \u0219i re\u021bele descentralizate: aplica\u021bii practice","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h2 id=\"vvedenie\">Introducere<\/h2>\n<p><\/p>\n<p><em>\u201eGenerarea numerelor aleatoare este prea important\u0103 pentru a fi l\u0103sat\u0103 la voia \u00eent\u00e2mpl\u0103rii\u201c<\/em><br \/>\n<em>Robert Cavu, 1970<\/em><\/p>\n<p><\/p>\n<p>Acest articol se concentreaz\u0103 pe aplicarea practic\u0103 a solu\u021biilor care utilizeaz\u0103 generarea colectiv\u0103 de numere aleatoare \u00eentr-un mediu nesigur. Pe scurt \u2014 cum \u0219i la ce se folose\u0219te aleatorietatea \u00een blockchain-uri \u0219i c\u00e2teva informa\u021bii despre cum s\u0103 diferen\u021biem \u201ealeatorietatea bun\u0103\u201d de \u201ealeatorietatea proast\u0103\u201d. Generarea unui num\u0103r cu adev\u0103rat aleatoriu este o problem\u0103 extrem de complex\u0103, chiar \u0219i pe un computer singur, \u0219i este studiat\u0103 de mult de criptografi. Iar \u00een re\u021belele decentralizate, generarea numerelor aleatoare devine \u0219i mai complicat\u0103 \u0219i mai important\u0103.<\/p>\n<p><\/p>\n<p>\u00cen re\u021belele \u00een care participan\u021bii nu au \u00eencredere unul \u00een altul, capacitatea de a genera un num\u0103r aleatoriu de necontestat permite eficient rezolvarea multor probleme cruciale \u0219i \u00eembun\u0103t\u0103\u021be\u0219te semnificativ schemele deja existente. De fapt, jocurile de noroc \u0219i loteriile nu sunt deloc scopul principal, a\u0219a cum poate p\u0103rea la prima vedere pentru cititorul neexperimentat.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"generaciya-sluchaynyh-chisel\">Generarea numerelor aleatoare<\/h2>\n<p><\/p>\n<p>Computerele nu pot genera singure numere aleatorii; au nevoie de ajutor extern. Un computer poate ob\u021bine o anumit\u0103 valoare aleatorie folosind, de exemplu, mi\u0219c\u0103rile mouse-ului, cantitatea de memorie utilizat\u0103, curentul parazitar de pe contactele procesorului \u0219i multe alte surse, numite surse de entropie. Aceste valori nu sunt complet aleatorii, deoarece se afl\u0103 \u00eentr-un anumit interval sau au un caracter previzibil al modific\u0103rilor. Pentru a transforma aceste numere \u00een numere cu adev\u0103rat aleatorii \u00eentr-un interval dat, se aplic\u0103 criptotransform\u0103ri, astfel \u00eenc\u00e2t valorile distribuite neuniform din sursa de entropie s\u0103 devin\u0103 valori pseudo-aleatorii distribuite uniform. Valorile ob\u021binute se numesc pseudo-aleatorii, deoarece nu sunt cu adev\u0103rat aleatorii, ci sunt generate determinist de entropie. Orice algoritm criptografic bun, cript\u00e2nd datele, produce texte criptate care, statistic, ar trebui s\u0103 fie indistinguibile de o secven\u021b\u0103 aleatorie, a\u0219a c\u0103 pentru a produce random, se poate folosi o surs\u0103 de entropie care asigur\u0103 doar o bun\u0103 ne-repetabilitate \u0219i imprevizibilitate a valorilor, chiar \u0219i \u00een intervale mici, restul lucr\u0103rii de dispersare \u0219i amestecare a bi\u021bilor \u00een valoarea rezultat\u0103 va fi preluat de algoritmul de criptare.<\/p>\n<p><\/p>\n<p>Pentru a \u00eencheia aceast\u0103 lec\u021bie scurt\u0103, voi ad\u0103uga c\u0103 generarea numerelor aleatorii chiar \u0219i pe un singur dispozitiv este unul dintre pilonii care asigur\u0103 securitatea datelor noastre, numerele pseudo-aleatorii generate sunt folosite pentru stabilirea unor conexiuni securizate \u00een diverse re\u021bele, pentru generarea cheilor criptografice, pentru echilibrarea sarcinii, pentru controlul integrit\u0103\u021bii \u0219i pentru multe alte aplica\u021bii. Securitatea multor protocoale depinde de capacitatea de a genera un random fiabil, imprevizibil din exterior, de a-l p\u0103stra \u0219i de a nu-l dezv\u0103lui p\u00e2n\u0103 \u00een urm\u0103torul pas al protocolului, altfel securitatea va fi pus\u0103 \u00een pericol. Atacul asupra generatorului de valori pseudo-aleatorii este extrem de periculos \u0219i pune \u00een pericol toate programele software care utilizeaz\u0103 generarea de random. <\/p>\n<p><\/p>\n<p>Toate acestea ar trebui s\u0103 le \u0219ti\u021bi, dac\u0103 a\u021bi parcurs un curs de baz\u0103 de criptografie, a\u0219a c\u0103 vom continua cu re\u021belele descentralizate.<\/p>\n<p><\/p>\n<h2 id=\"random-v-blokcheynah\">R\u0103spuns aleatoriu \u00een blockchain-uri<\/h2>\n<p><\/p>\n<p>\u00cen primul r\u00e2nd, voi discuta despre blockchain-urile care suport\u0103 contracte inteligente; acestea pot valorifica pe deplin capacit\u0103\u021bile oferite de un r\u0103spuns aleatoriu de calitate. \u00cen continuare, pentru scurtete, voi numi aceast\u0103 tehnologie \u201c<em>Publicly Verifiable Random Beacons<\/em>\u201d sau PVRB. Deoarece blockchain-urile sunt re\u021bele a c\u0103ror informa\u021bie poate fi verificat\u0103 de orice participant, o parte esen\u021bial\u0103 a denumirii este \u201cPublicly Verifiable\u201d, adic\u0103 oricine poate, prin calcule, ob\u021bine dovezi c\u0103 num\u0103rul generat, plasat \u00een blockchain, are urm\u0103toarele propriet\u0103\u021bi:<\/p>\n<p><\/p>\n<ul>\n<li>Rezultatul trebuie s\u0103 aib\u0103 o distribu\u021bie dovedit uniform\u0103, adic\u0103 s\u0103 se bazeze pe criptografie dovedit rezistent\u0103. <\/li>\n<li>Nu se pot controla niciunul dintre bi\u021bii rezultatului. Ca urmare, rezultatul nu poate fi prezis \u00een avans.<\/li>\n<li>Nu se poate sabota protocolul de generare prin neparticiparea la protocol sau prin supra\u00eenc\u0103rcarea re\u021belei cu mesaje de atac.<\/li>\n<li>Toate cele men\u021bionate anterior trebuie s\u0103 fie rezistente la conspira\u021biile unui num\u0103r permisibil de participan\u021bi necinstit (de exemplu, 1\/3 din participan\u021bi).<\/li>\n<\/ul>\n<p><\/p>\n<p>Orice posibilitate ca un grup minoritar conspirator s\u0103 genereze chiar \u0219i un random controlat par\/impar reprezint\u0103 o bre\u0219\u0103 de securitate. Orice oportunitate pentru grup de a opri generarea random-ului este o bre\u0219\u0103 de securitate. \u00cen general, sunt multe probleme, iar aceast\u0103 sarcin\u0103 nu este u\u0219oar\u0103...<\/p>\n<p><\/p>\n<p>Se pare c\u0103 cea mai important\u0103 aplicare pentru PVRB este \u00een diverse jocuri, loterii \u0219i, \u00een general, orice form\u0103 de gambling pe blockchain. \u00centr-adev\u0103r, aceasta este o direc\u021bie important\u0103, dar r\u0103spunsul aleatoriu \u00een blockchain-uri are aplica\u021bii \u0219i mai semnificative. S\u0103 le analiz\u0103m.<\/p>\n<p><\/p>\n<h2 id=\"algoritmy-konsensusa\">Algoritmi de consens<\/h2>\n<p><\/p>\n<p>PVRB pentru organizarea consensus-ului de re\u021bea joac\u0103 un rol uria\u0219. Tranzac\u021biile \u00een blockchain-uri sunt protejate prin semn\u0103tura electronic\u0103, a\u0219adar, \u201eatacarea unei tranzac\u021bii\u201d se refer\u0103 \u00eentotdeauna la includerea\/excluderea unei tranzac\u021bii \u00een bloc (sau \u00een mai multe blocuri). Principalul scop al algoritmului de consens este de a conveni asupra ordinii acestor tranzac\u021bii \u0219i a ordinii blocurilor care includ aceste tranzac\u021bii. De asemenea, o proprietate necesar\u0103 pentru blockchain-urile reale este finalitatea \u2014 capacitatea re\u021belei de a conveni c\u0103 lan\u021bul p\u00e2n\u0103 la blocul finalizat este definitiv \u0219i nu va fi exclus din cauza apari\u021biei unui nou fork. De obicei, pentru a conveni c\u0103 un bloc este valid \u0219i, cel mai important, final, este necesar s\u0103 se colecteze semn\u0103turile de la majoritatea produc\u0103torilor de blocuri (BP \u2014 block producers), ceea ce necesit\u0103 cel pu\u021bin transmiterea lan\u021bului de blocuri la toate BP \u0219i distribuirea semn\u0103turilor \u00eentre toate BP. Odat\u0103 cu cre\u0219terea num\u0103rului de BP, num\u0103rul mesajelor necesare \u00een re\u021bea cre\u0219te exponen\u021bial, prin urmare, algoritmii de consens care necesit\u0103 finalitate, folosi\u021bi, de exemplu, \u00een consensul pBFT de la Hyperledger, nu func\u021bioneaz\u0103 cu viteza necesar\u0103, \u00eencep\u00e2nd deja cu c\u00e2teva zeci de BP, necesit\u00e2nd un num\u0103r uria\u0219 de conexiuni. <\/p>\n<p><\/p>\n<p>Dac\u0103 \u00een re\u021bea exist\u0103 un PVRB indiscutabil \u0219i onest, chiar \u0219i \u00een cele mai simple aproxima\u021bii, se poate, pe baza lui, alege unul dintre block producers \u0219i desemna un \u201elider\u201d pentru o rund\u0103 din protocol. Dac\u0103 avem <code>N<\/code> produc\u0103tori de blocuri, dintre care <code>M: M &gt; 1\/2 N<\/code> sunt onesti, nu cenzureaz\u0103 tranzac\u021biile \u0219i nu construiesc forks ale lan\u021bului cu scopul de a efectua un atac \u201edouble spend\u201d, atunci utilizarea unui PVRB indiscutabil distribuit uniform va permite alegerea unui lider onest cu o probabilitate de <code>M \/ N (M \/ N &gt; 1\/2)<\/code>. Dac\u0103 fiec\u0103rui lider i se atribuie un interval de timp propriu, \u00een care poate produce un bloc \u0219i valida lan\u021bul, iar aceste intervale sunt egale ca timp, atunci lan\u021bul blocurilor corecte BP va fi mai lung dec\u00e2t lan\u021bul format de BP r\u0103u inten\u021biona\u021bi, iar algoritmul de consens, bazat pe lungimea lan\u021bului, va respinge pur \u0219i simplu \u201ecel r\u0103u\u201d. Acest principiu de alocare a unor cuanturi egale de timp fiec\u0103rui BP a fost aplicat pentru prima dat\u0103 \u00een Graphene (predecesorul EOS) \u0219i permite majorit\u0103\u021bii blocurilor s\u0103 fie \u00eenchise cu o singur\u0103 semn\u0103tur\u0103, ceea ce reduce semnificativ sarcina re\u021belei \u0219i permite acestui consens s\u0103 func\u021bioneze extrem de rapid \u0219i stabil. Cu toate acestea, re\u021belele EOS trebuie acum s\u0103 foloseasc\u0103 blocuri speciale (Last Irreversible Block), care sunt confirmate prin semn\u0103turi de 2\/3 BP. Aceste blocuri servesc pentru a asigura finalitatea (imposibilitatea apari\u021biei unui fork al lan\u021bului, \u00eencep\u00e2nd de la ultimul Last Irreversible Block).<\/p>\n<p><\/p>\n<p>De asemenea, \u00een implement\u0103rile reale, schema protocolului este mai complex\u0103 - voturile pentru blocurile propuse se desf\u0103\u0219oar\u0103 \u00een mai multe etape, pentru a men\u021bine func\u021bionarea re\u021belei \u00een cazul omisiunii blocurilor \u0219i a problemelor de re\u021bea, dar chiar \u0219i cu toate acestea, algoritmii de consens care folosesc PVRB necesit\u0103 cu mult mai pu\u021bine mesaje \u00eentre BP, ceea ce \u00eei face mai rapizi dec\u00e2t P\u0412FT tradi\u021bional sau diferitele sale modific\u0103ri.<\/p>\n<p><\/p>\n<p>Cel mai reprezentativ astfel de algoritm: <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2016\/889.pdf\">Ouroboros<\/a><\/noindex> de la echipa Cardano, care, dup\u0103 cum s-a declarat, are o rezisten\u021b\u0103 demonstrabil\u0103 matematic la existen\u021ba conspira\u021biei \u00eentre BP. <\/p>\n<p><\/p>\n<p>\u00cen Ouroboros, PVRB este folosit pentru a determina a\u0219a-numitul \u201eBP schedule\u201d - programul conform c\u0103ruia fiec\u0103rui BP i se atribuie un slot de timp pentru publicarea blocului. Un avantaj major al utiliz\u0103rii PVRB este \u201eegalitatea\u201d total\u0103 a BP (\u00een func\u021bie de dimensiunile soldurilor lor). Corectitudinea PVRB garanteaz\u0103 c\u0103 BP r\u0103u inten\u021biona\u021bi nu pot controla programul sloturilor de timp \u0219i, prin urmare, nu pot manipula lan\u021bul, preg\u0103tind \u0219i analiz\u00e2nd anticipat fork-uri ale lan\u021bului, iar pentru a alege un fork este suficient s\u0103 ne baz\u0103m pur \u0219i simplu pe lungimea lan\u021bului, f\u0103r\u0103 a folosi metode ingenioase de calculare a \u201eutilit\u0103\u021bii\u201d BP \u0219i \u201egreut\u0103\u021bii\u201d blocurilor sale. <\/p>\n<p><\/p>\n<p>\u00cen toate cazurile \u00een care este necesar s\u0103 alegi un participant aleator \u00eentr-o re\u021bea descentralizat\u0103, aproape \u00eentotdeauna cea mai bun\u0103 alegere va fi PVRB, \u0219i nu o variant\u0103 determinist\u0103 bazat\u0103, de exemplu, pe hash-ul blocului. F\u0103r\u0103 PVRB, posibilitatea de a influen\u021ba alegerea participantului duce la apari\u021bia atacurilor, \u00een care atacatorul poate, aleg\u00e2nd din mai multe op\u021biuni de viitor, s\u0103 selecteze urm\u0103torul participant corupt sau chiar mai mul\u021bi pentru a asigura o pondere mai semnificativ\u0103 \u00een luarea deciziilor. Utilizarea PVRB discrediteaz\u0103 aceste tipuri de atacuri.<\/p>\n<p><\/p>\n<h2 id=\"masshtabirovanie-i-balansirovka-nagruzki\">Scalarea \u0219i echilibrarea \u00eenc\u0103rc\u0103turii<\/h2>\n<p><\/p>\n<p>PVRB poate aduce beneficii semnificative \u0219i \u00een sarcini pentru reducerea \u00eenc\u0103rc\u0103turii, scalarea pl\u0103\u021bilor. Pentru \u00eenceput, are sens s\u0103 te familiarizezi cu <noindex><a rel=\"nofollow\" href=\"https:\/\/people.csail.mit.edu\/rivest\/pubs\/Riv97b.pdf\">articol<\/a><\/noindex> Rivesta \u201eBilete de loterie electronice ca micropayments\u201d. Esen\u021ba general\u0103 este c\u0103, \u00een loc s\u0103 faci 100 de pl\u0103\u021bi de 1c de la pl\u0103titor c\u0103tre beneficiar, po\u021bi juca o loterie corect\u0103 cu un premiu de 1$ = 100c, unde pl\u0103titorul, la fiecare plat\u0103 de 1c, transfer\u0103 b\u0103ncii unul dintre cele 100 de \u201ebilete de loterie\u201d. Unul dintre aceste bilete c\u00e2\u0219tig\u0103 b\u0103ncii 1$, \u0219i exact acest bilet poate fi \u00eenregistrat \u00een blockchain de c\u0103tre beneficiar. Cel mai important este c\u0103 celelalte 99 de bilete sunt transferate \u00eentre beneficiar \u0219i pl\u0103titor f\u0103r\u0103 nici o participa\u021bie extern\u0103, pe un canal privat \u0219i cu orice vitez\u0103 necesar\u0103. O descriere bun\u0103 a protocolului bazat pe acest schema \u00een re\u021beaua Emercoin poate fi citit\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@emer.tech\/randpay-6a028f16c82a\">aici<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>Aceast\u0103 schem\u0103 are c\u00e2teva probleme, de exemplu, beneficiarul poate \u00eenceta s\u0103 deserveasc\u0103 pl\u0103titorul imediat dup\u0103 primirea biletului c\u00e2\u0219tig\u0103tor, dar pentru numeroase aplica\u021bii speciale, cum ar fi tarifarea pe minut sau abonamentele electronice la servicii, acestea pot fi ignorate. Principalul cerin\u021be este, desigur, corectitudinea loteriei realizate, iar pentru desf\u0103\u0219urarea acesteia este complet necesar PVRB.<\/p>\n<p><\/p>\n<p>Alegerea aleatorie a participan\u021bilor este extrem de important\u0103 \u0219i pentru protocoalele de shardare, al c\u0103ror scop este scalarea orizontal\u0103 a lan\u021bului de blocuri, permi\u021b\u00e2nd diferitelor BP s\u0103 proceseze doar domeniul lor de tranzac\u021bii. Aceasta este o sarcin\u0103 extrem de complex\u0103, \u00een special \u00een ceea ce prive\u0219te securitatea la combinarea shardurilor. Alegerea corect\u0103 a unui BP aleatoriu cu scopul de a-l desemna responsabil pentru un anumit shard, la fel ca \u00een algoritmii de consens \u2014 este de asemenea o sarcin\u0103 a PVRB. \u00cen sistemele centralizate, shardurile sunt desemnate de un balansator, care pur \u0219i simplu calculeaz\u0103 un hash din cerere \u0219i \u00eel trimite executantului necesar. \u00cen blockchainuri, posibilitatea de a influen\u021ba aceast\u0103 desemnare poate duce la atacuri asupra consensului. De exemplu, con\u021binutul tranzac\u021biilor poate fi controlat de un atacator, care poate controla ce tranzac\u021bii ajung \u00een shardul pe care \u00eel controleaz\u0103 \u0219i poate manipula lan\u021bul de blocuri din acesta. Discu\u021bia despre problema utiliz\u0103rii numerelor aleatoare pentru sarcinile de shardare \u00een Ethereum poate fi citit\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ethereum\/wiki\/wiki\/Sharding-FAQ#how-is-the-randomness-for-random-sampling-generated\">aici<\/a><\/noindex><br \/>\nShardarea este una dintre cele mai ambi\u021bioase \u0219i serioase sarcini \u00een domeniul blockchain-ului, iar solu\u021bionarea acesteia va permite construirea de re\u021bele descentralizate cu performan\u021be \u0219i volum fantastic. PVRB este doar unul dintre blocurile importante pentru rezolvarea acesteia.<\/p>\n<p><\/p>\n<h2 id=\"igry-ekonomicheskie-protokoly-arbitrazh\">Jocuri, protocoale economice, arbitraj<\/h2>\n<p><\/p>\n<p>Rolul numerelor aleatorii \u00een industria jocurilor este greu de supraestimat. Utilizarea lor evident\u0103 \u00een cazinourile online \u0219i cea implicit\u0103 \u00een calcularea efectelor fiec\u0103rei ac\u021biuni a juc\u0103torului reprezint\u0103 probleme extrem de complexe pentru re\u021belele descentralizate, unde nu exist\u0103 posibilitatea de a se baza pe o surs\u0103 central\u0103 de aleatoritate. Totu\u0219i, selec\u021bia aleatorie poate rezolva multe probleme economice \u0219i poate ajuta la construirea de protocoale mai simple \u0219i mai eficiente. S\u0103 presupunem c\u0103 \u00een protocolul nostru exist\u0103 dispute legate de plata unor servicii ieftine, iar aceste dispute apar destul de rar. \u00cen acest caz, dac\u0103 exist\u0103 un PVRB incontestabil, clien\u021bii \u0219i v\u00e2nz\u0103torii pot conveni asupra unei solu\u021bion\u0103ri aleatorii a disputelor, dar cu o probabilitate determinat\u0103. De exemplu, cu o probabilitate de 60% c\u00e2\u0219tig\u0103 clientul, iar cu 40% \u2014 v\u00e2nz\u0103torul. Aceast\u0103 abordare, care poate p\u0103rea absurd\u0103 la prima vedere, permite solu\u021bionarea automat\u0103 a disputelor cu o propor\u021bie de c\u00e2\u0219tiguri\/pierderi exact predictibil\u0103, care satisface ambele p\u0103r\u021bi f\u0103r\u0103 a implica o ter\u021b\u0103 parte \u0219i f\u0103r\u0103 risipa de timp. Mai mult, raportul probabilit\u0103\u021bilor poate fi dinamic \u0219i poate depinde de anumite variabile globale. De exemplu, dac\u0103 afacerea companiei merge bine, se observ\u0103 un num\u0103r sc\u0103zut de dispute \u0219i o rentabilitate ridicat\u0103, compania poate schimba automat probabilitatea de solu\u021bionare a disputei \u00een favoarea orient\u0103rii spre client, de exemplu la 70\/30 sau 80\/20, \u0219i invers, dac\u0103 disputele cost\u0103 mult \u0219i sunt frauduloase sau inadecvate, probabilitatea poate fi mutat\u0103 \u00een cealalt\u0103 direc\u021bie.<\/p>\n<p><\/p>\n<p>O mul\u021bime de protocoale descentralizate interesante, cum ar fi registrele curatate de token-uri, pie\u021bele de predic\u021bie, curbele de legare \u0219i multe altele, constituie jocuri economice \u00een care comportamentul bun este recompensat, iar cel r\u0103u este sanc\u021bionat. Acestea \u00eent\u00e2mpin\u0103 adesea probleme de securitate, ale c\u0103ror solu\u021bii se contrazic \u00eentre ele. Ceea ce este protejat \u00eempotriva atacurilor \u201ewhale\u201d cu miliarde de token-uri (\u201ebig stake\u201d) este vulnerabil la atacuri din parte a mii de conturi cu solduri mici (\u201esybil stake\u201d), iar m\u0103surile luate \u00eempotriva unei astfel de atacuri, cum ar fi comisioanele non-liniare destinate s\u0103 fac\u0103 lucrul cu un staked mare nerentabil, sunt de obicei compromise de o alt\u0103 atac. Deoarece este vorba despre un joc economic, greut\u0103\u021bile statistice corespunz\u0103toare pot fi calculate dinainte \u0219i comisioanele pot fi \u00eenlocuite pur \u0219i simplu cu unele randomizate cu o distribu\u021bie corespunz\u0103toare. Astfel de comisioane probabilistice sunt implementate extrem de simplu, dac\u0103 blockchain-ul dispune de o surs\u0103 de randomizare fiabil\u0103 \u0219i nu necesit\u0103 calcule complexe, complic\u00e2nd via\u021ba at\u00e2t pentru balene, c\u00e2t \u0219i pentru sybil.<br \/>\nEste important s\u0103 ne amintim c\u0103 controlul asupra unui singur bit din aceast\u0103 randomizare permite manipularea, reduc\u00e2nd \u0219i cresc\u00e2nd probabilit\u0103\u021bile de dou\u0103 ori, astfel \u00eenc\u00e2t un PVRB corect este o component\u0103 esen\u021bial\u0103 a acestor protocoale. <\/p>\n<p><\/p>\n<h2 id=\"gde-nayti-pravilnyy-random\">Unde pot g\u0103si randomizarea corect\u0103?<\/h2>\n<p><\/p>\n<p>\u00cen teorie, o selec\u021bie aleatorie corect\u0103 \u00een re\u021bele descentralizate permite asigurarea unei securit\u0103\u021bi demonstrabile \u00eempotriva conspira\u021biilor pentru aproape orice protocol. Justificarea este destul de simpl\u0103 - dac\u0103 re\u021beaua c\u0103de \u00een acord asupra unui bit 0 sau 1, iar \u00een r\u00e2ndul participan\u021bilor mai pu\u021bin de jum\u0103tate sunt necinstiti, atunci, cu un num\u0103r suficient de itera\u021bii, re\u021beaua va ajunge \u00een mod garantat la un consens privind acest bit cu o probabilitate fix\u0103. Pur \u0219i simplu pentru c\u0103 randomizarea corect\u0103 va alege 51 din 100 de participan\u021bi \u00een 51% din cazuri. Dar aceasta este teoria, deoarece \u00een re\u021belele reale, pentru a asigura un astfel de nivel de securitate ca \u00een articole, este necesar un num\u0103r mare de mesaje \u00eentre gazde, criptografie complex\u0103 pe mai multe etape, iar orice complicare a protocolului adaug\u0103 imediat noi vectori de atac.<br \/>\nDe aceea, \u00een prezent nu observ\u0103m \u00een blockchain-uri un PVRB dovedit robust, care s\u0103 fi fost utilizat deja suficient timp pentru a trece prin teste realizate de aplica\u021bii reale, audituri multiple, sarcini \u0219i, desigur, atacuri reale, f\u0103r\u0103 de care este greu s\u0103 numim produsul cu adev\u0103rat sigur.<\/p>\n<p><\/p>\n<p>Cu toate acestea, exist\u0103 mai multe abord\u0103ri promi\u021b\u0103toare, acestea se diferen\u021biaz\u0103 prin mul\u021bimea detaliilor, iar una dintre ele va rezolva cu siguran\u021b\u0103 problema. Cu resursele computa\u021bionale actuale, teoria criptografic\u0103 se poate transforma destul de agil \u00een aplica\u021bii practice. \u00cen continuare, ne face pl\u0103cere s\u0103 discut\u0103m despre implement\u0103rile PVRB: sunt acum c\u00e2teva, fiecare av\u00e2nd propriul set de tr\u0103s\u0103turi importante \u0219i particularit\u0103\u021bi de realizare, iar \u00een spatele fiec\u0103rei idei st\u0103 o propunere bun\u0103. Nu sunt foarte multe echipe care se ocup\u0103 de randomizare, iar experien\u021ba fiec\u0103rei echipe este extrem de valoroas\u0103 pentru toate celelalte. Sper\u0103m c\u0103 informa\u021biile noastre vor ajuta celelalte echipe s\u0103 avanseze mai repede, av\u00e2nd \u00een vedere experien\u021bele predecesorilor.<\/p>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/448330\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u0415\u0441\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e \u2014 \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u043d\u0434\u043e\u043c \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430\u0445, \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e \u0442\u043e, \u043a\u0430\u043a \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u201c\u0445\u043e\u0440\u043e\u0448\u0438\u0439\u201d \u0440\u0430\u043d\u0434\u043e\u043c \u043e\u0442 \u201c\u043f\u043b\u043e\u0445\u043e\u0433\u043e\u201d. \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31729","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:42:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:42:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Numerele aleatorii \u0219i re\u021belele descentralizate: aplica\u021bii practice | ProHoster","description":"Introducere \u201eGenerarea numerelor aleatorii este prea important\u0103 pentru a l\u0103sa la voia \u00eent\u00e2mpl\u0103rii\u201d Robert Cavu, 1970 Aceast\u0103 articole este dedicat\u0103 aplica\u021biilor practice.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:42:44+00:00","article:modified_time":"2019-10-31T18:42:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31729","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 07:32:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:04:45","updated":"2026-01-21 07:32:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/31729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=31729"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/31729\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=31729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=31729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=31729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}