Numeri aleatorii è Reti Decentralizate: Applicazioni Pratiche

Introduzione

"A generazione di numeri aleatorii hè troppu impurtante per esse lasciatu à u casu".
Robert Cavue, 1970

Questu articulu hè dedicatu à l'applicazione pratica di suluzioni chì utilizanu a generazione di numeri aleatorii cullettivi in ​​un ambiente senza fiducia. In corta, cumu è perchè l'aleatoriu hè utilizatu in blockchains, è un pocu nantu à cumu si distingue "bonu" casuale da "bad". A generazione di un numeru veramente aleatoriu hè un prublema estremamente difficiuli, ancu in un solu computer, è hè statu longu studiatu da i criptografi. Eppo, in e rete decentralizate, a generazione di numeri aleatorii hè ancu più cumplessu è impurtante.

Hè in rete induve i participanti ùn anu micca fiducia in l'altri chì a capacità di generà un numeru aleatoriu indiscutibile ci permette di risolve in modu efficace parechji prublemi critichi è migliurà significativamente i schemi esistenti. Inoltre, i ghjoculi è i lotterie ùn sò micca u scopu numeru unu quì, cum'è pò parenu à prima à u lettore senza sperienza.

Generazione di numeri aleatoriu

L'urdinatori ùn ponu micca generà numeri aleatorii stessi; necessitanu aiutu esternu per fà. L'urdinatore pò uttene qualchì valore aleatoriu da, per esempiu, i movimenti di u mouse, a quantità di memoria utilizata, i currenti stray in i pins di u processatore, è parechje altre fonti chjamate fonti d'entropia. Sti valori ùn sò micca cumplettamente casuali, postu chì sò in un certu intervallu o anu un mudellu prevedibile di cambiamenti. Per trasfurmà tali numeri in un numeru veramente aleatoriu in un intervallu determinatu, i criptotrasformazioni sò applicati à elli per pruduce valori pseudo-aleatoriu distribuiti uniformemente da i valori distribuiti ineguagliamenti di a fonte di entropia. I valori risultanti sò chjamati pseudo-aleatoriu perchè ùn sò micca veramente aleatorii, ma sò deterministicamenti derivati ​​da l'entropia. Ogni bonu algoritmu criptograficu, quandu si cripta i dati, pruduce testi di criptu chì deve esse statisticamente indistinguibile da una sequenza aleatoria, cusì per pruduce l'aleatoriu pudete piglià una fonte d'entropia, chì furnisce solu una bona ripetibilità è imprevisibilità di i valori ancu in intervalli chjuchi, u u restu di u travagliu hè spargugliatu è mischjendu bits in U valore risultatu serà pigliatu da l'algoritmu di criptografia.

Per compie un brevi prugramma educativu, aghjustà chì a generazione di numeri aleatorii ancu in un dispositivu hè unu di i pilastri per assicurà a sicurità di i nostri dati. I numeri pseudo-aleatoriu generati sò usati quandu stabiliscenu cunnessione sicuri in diverse rete, per generà. chjavi criptografichi, per bilanciamentu di carica, monitoraghju di integrità, è per parechje altre applicazioni. A sicurità di parechji protokolli dipende da a capacità di generà un aleatoriu affidabile, imprevisible esternamente, almacenà, è micca revelatu finu à u prossimu passu di u protokollu, altrimenti a sicurità serà cumprumessa. Un attaccu à un generatore di valore pseudo-aleatoriu hè estremamente periculosu è minaccia immediatamente tutti i software chì utilizanu generazione aleatoriu.

Tu avissi a sapiri tuttu chistu s'è vo pigliò un cursu basi in criptografia, cusì andemu cuntinuà circa rete decentralized.

Random in blockchains

Prima di tuttu, parleraghju di blockchains cù supportu per i cuntratti intelligenti; sò quelli chì ponu apprufittà pienamente di l'opportunità furnite da una casualità innegabile di alta qualità. In più, per brevità, chjameraghju sta tecnulugia "Beacons casuali verificabili publicamente" o PVRB. Siccomu i blockchains sò rete in quale l'infurmazione pò esse verificata da ogni participante, a parte chjave di u nome hè "Publicly Verifiable", i.e. Qualchissia pò aduprà calculi per ottene a prova chì u numeru resultanti publicatu nantu à a blockchain hà e seguenti proprietà:

  • U risultatu deve avè una distribuzione pruvably uniforme, vale à dì esse basatu annantu à una criptografia pruvably forte.
  • Ùn hè micca pussibule di cuntrullà alcunu di i pezzi di u risultatu. In cunsiquenza, u risultatu ùn pò micca esse previstu in anticipu.
  • Ùn pudete micca sabotà u protokollu di generazione per ùn participà micca in u protokollu o per sopracarcà a reta cù messagi d'attaccu
  • Tuttu u sopra deve esse resistente à a collusione di un numeru permissibile di participanti di protocolu disonesti (per esempiu, 1/3 di i participanti).

Qualchese pussibilità di un gruppu minore di participanti cuntrullati per pruduce ancu un aleatoriu pari / stranu cuntrullatu hè un foru di sicurità. Ogni capacità di u gruppu per piantà l'emissione di l'aleatoriu hè un foru di sicurità. In generale, ci sò parechji prublemi, è questu compitu ùn hè micca faciule ...

Sembra chì l'applicazione più impurtante per PVRB hè diversi ghjochi, lotterie, è in generale ogni tipu di ghjocu nantu à u blockchain. In verità, questu hè una direzzione impurtante, ma l'aleatoriu in blockchains hà ancu applicazioni più impurtanti. Fighjemu à elli.

Algoritmi di cunsensu

PVRB ghjoca un rolu enormu in l'urganizazione di u cunsensu di a rete. E transacciones in blockchains sò prutetti da una firma elettronica, cusì un "attaccu à una transazzione" hè sempre l'inclusione / esclusione di una transazzione in un bloccu (o parechji blocchi). È u compitu principalu di l'algoritmu di cunsensu hè d'accordu nantu à l'ordine di sti transazzione è l'ordine di i blocchi chì includenu sti transazzione. Inoltre, una pruprietà necessaria per i blocchi veri hè a finalità - l'abilità di a reta per accettà chì a catena finu à u blocu finalizatu hè finali, è ùn serà mai escluditu per l'apparizione di una nova furchetta. Di solitu, per accunsentì chì un bloccu hè validu è, più impurtante, finale, hè necessariu di cullà e firme di a maiò parte di i pruduttori di blocchi (in seguitu chjamati BP - block-producers), chì esige almenu a consegna di a catena di bloccu. a tutti i BP, e distribuendo le firme tra tutti i BP. Cum'è u numeru di BP cresce, u numeru di missaghji necessarii in a reta cresce in modu esponenziale, per quessa, algoritmi di cunsensu chì necessitanu finalità, utilizati per esempiu in u cunsensu Hyperledger pBFT, ùn viaghjanu micca à a velocità necessaria, partendu da parechje decine di BP, chì esigenu. un gran numaru di cunnessione.

Se ci hè un PVRB innegabile è onestu in a reta, allora, ancu in l'approssimazione più simplice, unu pò sceglie unu di i pruduttori di blocchi basatu annantu à questu è designà u "leader" durante una volta di u protocolu. Se avemu N i pruduttori di blocchi, di quale M: M > 1/2 N sò onesti, ùn censuranu micca e transacciones è ùn forcheghjanu micca a catena per fà un attaccu di "doppiu spende", allora utilizendu un PVRB indiscussatu distribuitu uniformemente permetterà di sceglie un capu onestu cù probabilità. M / N (M / N > 1/2). Se ogni capu hè assignatu u so propiu intervallu di tempu durante u quale pò pruduce un bloccu è validà a catena, è questi intervalli sò uguali in u tempu, allura a catena di bloccu di BP onesti serà più longa di a catena formata da BP maliziusi, è u cunsensu. l'algoritmu si basa nantu à a lunghezza di a catena, solu scartà u "malu". Stu principiu di allocazione di fette uguali di tempu à ogni BP hè stata prima appiicata in Graphene (u predecessore di EOS), è permette a maiò parte di i blocchi per esse chjusu cù una sola firma, chì riduce assai a carica di a rete è permette à stu consensu di travaglià estremamente rapidamente è fermamente. In ogni casu, a reta EOS hà avà aduprà blocchi spiciali (Last Irreversible Block), chì sò cunfirmati da e signature di 2/3 BP. Questi blocchi servenu per assicurà a finalità (l'impossibilità di una forchetta di catena chì principia prima di l'ultimu Bloccu Irreversibile).

Inoltre, in implementazioni reali, u schema di protokollu hè più cumplicatu - u votu per i blocchi pruposti hè realizatu in parechje tappe per mantene a rete in casu di blocchi mancanti è prublemi cù a rete, ma ancu tenendu questu in contu, l'algoritmi di cunsensu chì utilizanu PVRB necessitanu. significativamente menu menu trà BPs, chì permette di fà più veloce di PVFT tradiziunale, o di e so diverse mudificazioni.

U più prominente rappresentante di tali algoritmi: Ouroboros da a squadra Cardano, chì si dice chì hè matematicamente pruvata contr'à a collusione di BP.

In Ouroboros, PVRB hè adupratu per definisce u chjamatu "schedule BP" - un calendariu secondu chì ogni BP hè assignatu u so propiu slot di tempu per a publicazione di un bloccu. U grande vantaghju di utilizà PVRB hè a "ugualità" cumpleta di BPs (sicondu a dimensione di i so bilanci). L'integrità di u PVRB assicura chì i BP maliziusi ùn ponu micca cuntrullà a scheduling of time slots, è per quessa ùn ponu micca manipulà a catena preparendu è analizendu forche di a catena in anticipu, è per selezziunà una furchetta hè abbastanza per cunfidenza solu nantu à a durata di a catena. catena, senza usà manere difficili per calculà a "utilità" di BP è u "pesu" di i so blocchi.

In generale, in tutti i casi induve un participante aleatoriu deve esse elettu in una reta descentralizata, PVRB hè quasi sempre a megliu scelta, invece di una opzione deterministica basata, per esempiu, un blocu hash. Senza PVRB, a capacità di influenzà a scelta di un participante porta à attacchi in quale l'attaccante pò sceglie da parechje futuri per sceglie u prossimu participante corruptu o parechji à una volta per assicurà una parte più grande in a decisione. L'usu di PVRB scredita sti tipi di attacchi.

Scaling è bilanciamentu di carica

PVRB pò ancu esse di grande benefiziu in i travaglii cum'è a riduzione di carica è a scala di pagamentu. Per principià, hè sensu di familiarizàvi articulu Rivesta "Biglietti di Loteria Elettronica cum'è Micropagamenti". L'idea generale hè chì invece di fà 100 pagamenti 1c da u pagatore à u destinatariu, pudete ghjucà una lotteria onesta cù un premiu di 1 $ = 100c, induve u pagatore dà à u bancu unu di 1 di i so "biglietti di lotteria" per ognunu. 100c pagamentu. Unu di sti biglietti vince un vasu di $ 1, è hè questu bigliettu chì u destinatariu pò registrà in u blockchain. A più impurtante hè chì i 99 biglietti rimanenti sò trasferiti trà u destinatariu è u pagatore senza alcuna participazione esterna, attraversu un canali privatu è à ogni velocità desiderata. Una bona descrizzione di u protokollu basatu annantu à questu schema nantu à a reta Emercoin pò esse leghje ccà.

Stu schema hà uni pochi di prublemi, cum'è u destinatariu pò cessà di serve u pagatore immediatamente dopu avè ricivutu un bigliettu vincitore, ma per parechje applicazioni speciali, cum'è a fattura per minuti o l'abbonamenti elettronichi à i servizii, ponu esse trascurati. U requisitu principalu, sicuru, hè l'equità di a lotteria, è per a so implementazione un PVRB hè assolutamente necessariu.

L'scelta di un participante aleatoriu hè ancu assai impurtante per i protokolli di sharding, u scopu di quale hè di scala horizontalmente a catena di bloccu, chì permettenu à e diverse BP di processà solu u so scopu di transazzione. Questu hè un compitu estremamente difficiule, soprattuttu in quantu à a sicurità quandu si fusione frammenti. A selezzione ghjusta di un BP aleatoriu per u scopu di assignà i rispunsevuli di un frammentu specificu, cum'è in l'algoritmi di cunsensu, hè ancu u compitu di u PVRB. In i sistemi centralizati, i shards sò attribuiti da un equilibratore; solu calcula l'hash da a dumanda è u manda à l'esecutore necessariu. In i blockchains, a capacità di influenzà questa assignazione pò purtà à un attaccu à u cunsensu. Per esempiu, u cuntenutu di e transazzione pò esse cuntrullati da un attaccu, pò cuntrullà quale transazzione vanu à u shard chì cuntrola è manipule a catena di blocchi in questu. Pudete leghje una discussione di u prublema di utilizà numeri aleatorii per i travaglii di sharding in Ethereu ccà
Sharding hè unu di i prublemi più ambiziosi è serii in u campu di blockchain; a so suluzione permetterà di custruisce reti decentralizate di prestazioni è volumi fantastichi. PVRB hè solu unu di i blocchi impurtanti per risolve.

Ghjochi, protokolli ecunomichi, arbitrazione

U rolu di i numeri aleatorii in l'industria di u ghjocu hè difficiule di sopravalutà. L'usu esplicitu in i casinò in linea, è l'usu implicitu quandu u calculu di l'effetti di l'azzione di un ghjucatore sò tutti i prublemi estremamente difficiuli per e rete decentralizate, induve ùn ci hè micca manera di s'appoghjanu nantu à una fonte cintrali di randomness. Ma a selezzione aleatoria pò ancu risolve parechji prublemi ecunomichi è aiutà à custruisce protokolli più simplici è più efficaci. Eppo supponi chì in u nostru protokollu ci sò disputi nantu à u pagamentu per alcuni servizii di prezzu, è questi disputi sò abbastanza raramenti. In questu casu, s'ellu ci hè un PVRB indiscutibile, i clienti è i vinditori ponu accunsentì per risolve i disputi aleatoriamente, ma cù una probabilità data. Per esempiu, cù una probabilità di 60% u cliente vince, è cù una probabilità di 40% u vinditore vince. Stu approcciu, chì hè assurdu da u primu puntu di vista, permette di risolve automaticamente i disputi cù una parte pricisamente previsible di vittorie / perdite, chì cunvene à i dui partiti senza alcuna participazione di un terzu è perdi inutili di tempu. Inoltre, u rapportu di probabilità pò esse dinamica è dipende di qualchi variàbili glubale. Per esempiu, se una cumpagnia hè bè, hà un pocu numeru di disputi è una alta prufittuità, a cumpagnia pò automaticamente trasfurmà a probabilità di risolve una disputa versu u centru di u cliente, per esempiu 70/30 o 80/20, è vice versa, se i disputi piglianu assai soldi è sò fraudulenti o inadegwate, pudete cambià a probabilità in l'altra direzzione.

Un gran numaru di protokolli decentralizati interessanti, cum'è i registri curati di token, i mercati di predizioni, e curve di ligame è assai altri, sò ghjochi ecunomichi in quale u bonu cumpurtamentu hè ricumpinsatu è u cattivu cumpurtamentu hè penalizatu. Spessu cuntenenu prublemi di sicurezza per i quali e prutezioni cunflittu cù l'altri. Ciò chì hè prutettu da un attaccu di "balene" cù miliardi di tokens ("big stake") hè vulnerabile à l'attacchi di millaie di cunti cù picculi saldi ("sybil stake"), è e misure pigliate contr'à un unicu attaccu, cum'è non- tariffi lineari creatu à fà u travagliu cù una grande scumessa unprofitable sò di solitu discredited da un altru attaccu. Siccomu parlemu di un ghjocu ecunomicu, i pesi statistichi currispundenti ponu esse calculati in anticipu, è simpricimenti rimpiazzà e cumissioni cù quelli randomizzati cù a distribuzione adatta. Tali cummissioni probabilistiche sò implementate estremamente simpliciamente se u blockchain hà una fonte affidabile di casualità è ùn necessitanu micca calculi cumplessi, rendendu a vita difficiule sia per i baleni sia per i sibilli.
À u listessu tempu, hè necessariu di cuntinuà à ricurdà chì u cuntrollu di un solu pocu in questa randomness permette di ingannà, riducendu è cresce e probabilità à a mità, cusì un PVRB onestu hè u cumpunente più impurtante di tali protokolli.

Induve truvà u casuale ghjustu?

In teoria, a selezzione aleatoria ghjusta in e rete decentralizate rende quasi ogni protokollu prubabilmente sicuru contra a collusione. U ragiunamentu hè abbastanza sèmplice - se a reta d'accordu nantu à una sola 0 o 1 bit, è menu di a mità di i participanti sò disonesti, allora, datu abbastanza iterazioni, a reta hè garantita per ghjunghje à un cunsensu nantu à quellu bit cù una probabilità fissa. Semplicemente perchè un casuale onestu sceglie 51 da 100 participanti 51% di u tempu. Ma questu hè in teoria, perchè ... in e rete reale, per assicurà un tali livellu di sicurità cum'è in l'articuli, assai messagi trà l'ospiti, a criptografia cumplessa multi-passa hè necessariu, è ogni cumplicazione di u protokollu aghjunghje immediatamente novi vettori di attaccu.
Hè per quessa chì ùn avemu micca vistu ancu un PVRB risistente pruvucatu in blockchains, chì saria statu utilizatu per abbastanza tempu per esse pruvatu da appiicazioni reali, auditi multipli, carichi, è di sicuru, attacchi veri, senza quale hè difficiule di chjamà un pruduttu veramente sicuru.

Tuttavia, ci sò parechji approcci promettenti, sò diffirenti in parechji ditaglii, è unu di elli certamenti risolve u prublema. Cù risorsi di l'informatica muderni, a teoria criptografica pò esse tradutta abbastanza intelligente in applicazioni pratiche. In u futuru, seremu cuntenti di parlà di implementazioni PVRB: ci sò avà parechji, ognunu hà u so propiu set di pruprietà impurtanti è funziunalità di implementazione, è daretu à ognunu ci hè una bona idea. Ùn ci sò parechje squadre implicate in l'aleatoriu, è l'esperienza di ognuna di elli hè assai impurtante per tutti l'altri. Speremu chì a nostra infurmazione permetterà à l'altri squadre di trasfurmà più veloce, tenendu in contu l'esperienza di i so predecessori.

Source: www.habr.com

Add a comment