Numra rastësorë dhe rrjete të decentralizuara: aplikimi praktik

Hyrje

«Gjatë gjenerimit të numrave të rastit, rëndësia është shumë e madhe për ta lënë në rastësi»
Robert Cavu, 1970

Ky artikull i kushtohet përdorimit praktik të zgjidhjeve që përdorin gjenerimin kolektiv të numrave të rastit në një ambient të pasigurt. Shkurtimisht — si dhe për çfarë përdoret rasti në bllokchain dhe pak për si të diferencohet “rastësi e mirë” nga “rastësi e keqe”. Gjenerimi i një numri vërtet të rastit është një problem shumë i vështirë edhe në një kompjuter të vetëm, dhe është studiuar prej kohësh nga kriptografët. Ndërkohë, në rrjetet e decentralizuara, gjenerimi i numrave të rastit bëhet edhe më i komplikuar dhe i rëndësishëm.

Në rrjetet ku pjesëmarrësit nuk i besoji njërëtjetrit, mundësia për të gjeneruar një numër të rastit të pakontestueshëm lejon zgjidhjen efikase të shumë detyrave thelbësore dhe përmirësimin e skemave ekzistuese. Këtu, lojërat e fatit dhe lotaritë nuk janë aspak qëllimi numër një, siç mund të duket për një lexues të paekspertizuar në fillim.

Gjenerimi i numrave të rastit

Kompjuterët nuk dinë të gjenerojnë vetë numra të rastësishëm, për këtë iu nevojitet ndihma nga jashtë. Një kompjuter mund të marrë një vlerë të rastësishme duke përdorur, për shembull, lëvizjet e mausit, sasinë e memories së përdorur, rrjedhat parazite në kontakteve të procesorit dhe shumë burime të tjera, të quajtura burime entropie. Këto vlera vetë nuk janë krejtësisht të rastësishme, pasi ato janë brenda një diapazoni të caktuar ose kanë një karakter të parashikueshëm të ndryshimeve. Për të shndërruar këto numra në numra vërtet të rastësishëm në një diapazon të caktuar, aplikohen kriptotransformime, që nga vlerat e shpërndara në mënyrë të pasaktë nga burimi i entropisë të merrni vlera pseudorastësore të shpërndara në mënyrë uniforme. Vlerat e marra quhen pseudorastësore, pasi ato nuk janë vërtet të rastësishme, por janë prodhuar në mënyrë deterministe nga entropia. Çdo algoritëm të mirë kriptografik, kur kodon të dhënat, prodhon cifrat që statistika duhet të jenë të pazbuluara nga një varg rastësor, kështu që për të prodhuar rastësi mund të merret burimi i entropisë, i cili siguron vetëm një ripërsëritshmëri dhe një parashikueshmëri të mirë të vlerave edhe në diapazonet e vogla, pjesa tjetër e punës për shpërndarjen dhe përzierjen e bitëve në vlerën e rezultatit do ta marrë mbi vete algoritmi i enkriptimit.

Për të përfunduar një shpjegim të shkurtër, do të shtoja se gjenerimi i numrave të rastësishëm madje edhe në një pajisje është një nga pilcat për sigurimin e të dhënave tona, numrat pseudorastësorë të gjeneruar përdoren gjatë krijimit të lidhjeve të sigurta në rrjete të ndryshme, për gjenerimin e çelësave kriptografikë, për balancimin e ngarkesës, kontrollin e integritetit, dhe për shumë aplikacione të tjera. Siguria e shumë protokolleve varet nga mundësia për të gjeneruar një rastësi të besueshme, të papërshkueshme nga jasht, ta ruajmë atë, dhe të mos e zbulonim deri në hapin tjetër të protokollit, ndryshe siguria do të ishte në rrezik. Një sulm ndaj gjeneratorit të vlerave pseudorastësore është jashtëzakonisht i rrezikshëm dhe vë në rrezik të gjithë programin që përdor gjenerimin e rastësive.

Të gjitha këto ju duhen të dijnë, nëse keni kaluar një kurs bazik në kriptografi, prandaj do të vazhdojmë me rrjetet e decentralizuara.

Rastësor në blockchain-e

Së pari, do të flas për blockchain-et me mbështetje për kontratat inteligjente, pasi këto mund të përdorin plotësisht mundësitë që ofron një rastësor të besueshëm. Më tej, për shkak të shkurtësisë, do ta quaj këtë teknologji “Fenerë Rastësorë të Verifikueshëm Publikisht” ose PVRB. Duke pasur parasysh se blockchain-et janë rrjete, informacioni në të cilat mund të verifikohet nga çdo pjesëmarrës, një pjesë kyçe e emrit është “Verifikueshëm Publikisht”, domethënë, çdo dëshiron mund të marrë prova, duke përdorur llogaritjet, se numri i marrë dhe të vendosur në blockchain ka këto veçori:

  • Rezultati duhet të ketë një shpërndarje të vërtetë të barabartë, domethënë të bazohet në kriptografi të qëndrueshme dhe të provuar.
  • Nuk është e mundur të kontrolloni asnjë bit të rezultatit. Si pasojë, rezultati nuk mund të parashikohet paraprakisht.
  • Nuk është e mundur të sabotosh protokollin e gjenerimit përmes mosmarrjes pjesë në protokoll ose duke mbingarkuar rrjetin me mesazhe sulmuese.
  • Të gjitha të mësipërmet duhet të jenë të qëndrueshme ndaj komplotit të një numri të pranueshëm të pjesëmarrësve të pandershëm të protokollit (p.sh. 1/3 e pjesëmarrësve).

Çdo mundësi e një grupi të pandershëm për të prodhuar madje rastësor të kontrolluar çift/pakës — është një vrimë në siguri. Çdo mundësi e një grupi për të ndaluar prodhimin e rastësorit — është një vrimë në siguri. Në përgjithësi, ka shumë probleme, dhe ky është një detyrë e vështirë...

Duket se aplikimi më i rëndësishëm për PVRB është lojërat e ndryshme, llotaritë, dhe gjithashtu çdo formë tjetër e lojërave të fatit në blockchain. Në të vërtetë, kjo është një drejtim i rëndësishëm, por rastësori në blockchain ka aplikime edhe më të rëndësishme. Le të shqyrtojmë ato.

Algoritmet e konsensit

PVRB për organizimin e konsensusit rrjetor luan një rol të madh. Transaksionet në blockchain janë të mbrojtura me nënshkrim elektronik, prandaj 'sulmi ndaj transaksionit' është gjithmonë përfshirja/ekskludimi i një transaksioni në bllok (ose në disa blloqe). Një nga detyrat kryesore të algoritmit të konsensusit është të bien dakord për renditjen e këtyre transaksioneve dhe për rendin e blloqeve që përfshijnë këto transaksione. Gjithashtu, një pronë e nevojshme për blockchain-t e vërtetë është finaliteti — mundësia e rrjetit për të rënë dakord se zinxhiri deri në bllokun e finalizuar është përfundimtar dhe kurrë nuk do të përjashtohet për shkak të shfaqjes së një fork-u të ri. Zakonisht, për të rënë dakord që një bllok është i vlefshëm dhe, më e rëndësishmja, final, kërkohet të mblidhen nënshkrime nga shumica e prodhuesve të bllokut (të quajtur më tej BP — block-producers), që kërkon të paktën të dorëzojë zinxhirin e blloqeve te të gjithë BP-të, dhe të shpërndajë nënshkrimet midis të gjithë BP-ve. Me rritjen e numrit të BP-ve, numri i mesazheve të nevojshme në rrjet rritet në mënyrë eksponenciale, prandaj algoritmet e konsensusit që kërkojnë finalitet, të përdorura për shembull në pBFT-konsensusin Hyperledger, nuk funksionojnë me shpejtësinë e nevojshme, duke filluar nga disa dhjetëra BP, duke kërkuar një numër të madh lidhjesh.

Nëse në rrjet ekziston një PVRB të paartikuluar dhe të ndershëm, atëherë, edhe në qasjen më të thjeshtë, mund të zgjedhim një nga prodhuesit e bllokut dhe ta emërojmë atë 'lider' gjatë një raundi të protokollit. Nëse kemi N prodhuese bllokesh, nga të cilët M: M > 1/2 N janë të ndershëm, nuk censurojnë transaksionet dhe nuk krijojnë fork-e të zinxhirit me qëllim të realizimit të sulmit 'double spend', atëherë përdorimi i një PVRB të paartikuluar të shpërndarë barabartë do të lejojë zgjedhjen e një lideri të ndershëm me një probabilitet M / N (M / N > 1/2). Nëse çdo udhëheqësi i caktohet një interval i veçantë kohor, brenda të cilit ai mund të krijojë një bllok dhe të verifikojë zinxhirin, dhe këta intervale janë të barabarta në kohë, atëherë zinxhiri i blloqeve të BP-ve të ndershëm do të jetë më i gjatë se zinxhiri i formuar nga BP-të e keqbërë. Algoritmi i konsensusit, që bazohet në gjatësi, thjesht do të përjashtojë "të këqijtë". Ky parim i ndarjes së kuantave të barabarta të kohës për çdo BP u aplikua për herë të parë në Graphene (parardhësin e EOS), dhe lejon që shumica e blloqeve të mbyllen me një nënshkrim, duke ulur ndjeshëm ngarkesën në rrjet dhe duke lejuar që ky konsensus të funksionojë jashtëzakonisht shpejt dhe qëndrushëm. Megjithatë, rrjetet EOS tani kanë nevojë të përdorin blloqe speciale (Blloku i Fundit Të Pavarur), që miratohen nga nënshkrimet e 2/3 të BP-ve. Këto blloqe shërbejnë për të siguruar përfundimin (pamundësinë e shfaqjes së një fork-u të zinxhirit që fillon para bllokut të fundit të pavarur).

Po ashtu, në implementimet reale, skema e protokollit është më e ndërlikuar - votimet për blloqet e propozuara bëhen në disa etapa, për të mbajtur funksionimin e rrjetit në rast të humbjes së blloqeve dhe problemeve me rrjetin, por edhe duke marrë parasysh këtë, algoritmet e konsensusit që përdorin PVRB kërkojnë ndjeshëm më pak mesazhe midis BP-ve, gjë që i bën ato më të shpejtë se PВFT tradicional, ose variancat e tij të ndryshme.

Përfaqësuesi më i njohur i tillë i algoritmeve është: Ouroboros nga ekipi i Cardano, i cili, si është shpallur, ka qëndrueshmëri të provuar matematikore ndaj pranisë së komplotit midis BP-ve.

Në Ouroboros, PVRB përdoret për të përcaktuar atë që quhet "planifikimi i BP-ve" - një orar, sipas të cilit çdo BP caktohet një slot kohor të tij për publikimin e bllokut. Një përparësi e madhe e përdorimit të PVRB është "barazësia totale" e BP-ve (sipas madhësisë së bilanceve të tyre). Ndershmëria e PVRB garanton që BP-të e keqbërë nuk mund të kontrollojnë orarin e slot-eve të kohës, dhe prandaj nuk mund të manipulojnë zinxhirin, duke u përgatitur dhe analizuar përpara fork-et e zinxhirit, dhe për të zgjedhur fork-un është mjaft të mbështetesh thjesht në gjatësi të zinxhirit, pa përdorur metoda të ndërlikuara për të llogaritur "përdorimin" e BP-ve dhe "peshën" e blloqeve të tij.

Në të gjitha rastet kur në një rrjet të decentralizuar duhet të zgjidhet një pjesëmarrës rastësor, pothuajse gjithmonë zgjedhja më e mirë do të jetë PVRB, dhe jo një variant deterministik i bazuar, për shembull, në hash-in e bllokut. Pa PVRB, mundësia për të ndikuar në zgjedhjen e pjesëmarrësit çon në shfaqjen e sulmeve, në të cilat sulmuesi mund, duke zgjedhur nga disa opsione të së ardhmes, të zgjedhë pjesëmarrësin tjetër të korruptuar ose disa më shumë, për të siguruar një pjesëmarrje më të konsiderueshme në marrjen e vendimeve. Përdorimi i PVRB i ndalon këto lloj sulmesh.

Zgjerimi dhe balancimi i ngarkesës

PVRB mund të sjellë përfitime të mëdha edhe në detyra për reduktimin e ngarkesës, zgjerimin e pagesave. Fillimisht, ka kuptim të njiheni me artikull Rivesta “Biletat Elektronike të Loterisë si Mikropagesa”. Thelbi është se në vend që të bëni 100 pagesa prej 1 qindarke nga paguesi te marrësi, mund të luani në një lotari të ndershme me një çmim prej 1$ = 100 qindarkash, ku paguesi gjatë çdo pageje prej 1 qindarke i transmeton bankës një nga 100 biletat e tij “të lotarisë”. Një nga këto bileta fiton bankës 1$, dhe ky biletë është ai që marrësi mund ta regjistrojë në bllokçinë. E rëndësishme është se 99 biletat e tjera transmetohen mes marrësit dhe paguesit pa ndihmën e jashtme, përmes një kanali privat dhe me shpejtësinë e kërkuar. Një përshkrim i mirë i protokollit për këtë skemë në rrjetin Emercoin mund të lexohet këtu.

Kjo skemë ka disa probleme, për shembull, marrësi mund të ndalojë shërbimin për paguesin menjëherë pas marrjes së biletës fituese, por për shumë aplikacione të veçanta, si tarifimi për minutë ose abonimet elektronike për shërbime, këto mund të injorohen. Kërkesa kryesore, natyrisht, është ndershmëria e lotarisë që po zhvillohet, dhe për ta realizuar atë është e nevojshme PVRB.

Zgjedhja e një pjesëmarrësi të rastësishëm është po aq e rëndësishme për protokollet e sharding, të cilat kanë si qëllim të mundësojnë shkallëzimin horizontal të zinxhirit të bllokëve, duke lejuar që BP të ndryshëm të procesojnë vetëm kapacitetin e tyre të transaksioneve. Kjo është një detyrë jashtëzakonisht e komplikuar, sidomos në çështjet e sigurisë gjatë bashkimit të shards. Zgjedhja e ndershme e një BP të rastësishëm për të caktuar ata që janë përgjegjës për një shard të caktuar, ashtu siç është në algorithmet e konsensusit, është gjithashtu një detyrë e PVRB. Në sistemet e centralizuara, shards caktohen nga balancuesi, i cili thjesht llogarit një hash nga kërkesa dhe e dërgon tek ekzekutori përkatës. Në bllokçenet, mundësia për të ndikuar në këtë caktim mund të çojë në një sulm ndaj konsensusit. Për shembull, përmbajtja e transaksioneve mund të kontrollohet nga sulmuesi, ai mund të kontrollojë cilat transaksione hyjnë në shardin e tij të kontrolluar dhe të manipulojë zinxhirin e bllokëve aty. Mund të lexoni diskutimin mbi problemin e përdorimit të numrave të rastësishëm për detyrat e sharding në Ethereum. këtu
Sharding është një nga detyrat më ambicioze dhe serioze në fushën e blockchain, zgjidhja e saj do të lejojë ndërtimin e rrjeteve të decentralizuara me performancë dhe volum fantastik. PVRB është vetëm një nga blloqet e rëndësishme për zgjidhjen e saj.

Lojërat, protokollet ekonomike, arbritrazhi

Roli i numrave të rastit në industrinë e lojërave është shumë i rëndësishëm. Përdorimi i qartë në kazinotë online, dhe ai i papërshkruar në llogaritjen e efekteve të veprimeve të natyrshme të lojtarëve — të dyja janë probleme shumë komplekse për rrjetet decentralizuara, ku nuk ka mundësi për të u mbështetur në një burim qendror të rastësisë. Megjithatë, zgjedhja e rastit mund të zgjidhë shumë probleme ekonomike dhe të ndihmojë në ndërtimin e protokolleve më të thjeshta dhe më efikase. Le të supozojmë se në protokollin tonë ndodhin mosmarrëveshje në lidhje me pagesat për ndonjë shërbim të lirë, dhe këto mosmarrëveshje ndodhin mjaft rrallë. Në këtë rast, nëse ka një PVRB të pakundërshtueshëm, klientët dhe shitësit mund të bien dakord për një zgjidhje të rastit të mosmarrëveshjeve, por me një probabilitet të caktuar. Për shembull, me probabilitet 60% fiton klienti, dhe me probabilitet 40% fiton shitësi. Ky qasje, që nga një pikëpamje fillestare duket absurde, lejon zgjidhjen automatike të mosmarrëveshjeve me një pjesë fitoresh/humbjesh të parashikueshme saktësisht, të kënaqshme për të dyja palët pa asnjë angazhim të palëve të treta dhe pa humbje kohe të panevojshme. Më tepër, raporti i probabiliteteve mund të jetë dinamik dhe të varet nga disa variabla global. Për shembull, nëse një kompani po shkon mirë, regjistrohet një numër i ulët i mosmarrëveshjeve dhe një kthim i lartë, kompania mund të zhvendosë automatikisht probabilitetin e zgjidhjes së mosmarrëveshjeve në drejtim të orientimit ndaj klientit, si për shembull 70/30 ose 80/20, dhe anasjelltas, nëse mosmarrëveshjet po zhvendosin shumë mjete dhe janë mashtruese ose të papërshtatshme, mund të zhvendoset probabiliteti në anën tjetër.

Një numër i madh protokolesh të decentralizuara, si regjistrat e kuratorëve të tokenëve, tregjet e parashikimit, dhe kurbat e obligacioneve, përbëjnë lojëra ekonomike ku n rewards për sjellje të mira dhe dënime për sjellje të këqija. Aty shpesh hasen probleme sigurie, mbrojtja e të cilave është në kundërshtim me njëra-tjetrën. Ajo që është e mbrojtur nga sulmet e 'peshkaqenëve' me miliarda tokenë ('stake i madh'), është e prekshme nga sulmet me mijëra llogari me bilance të vogla ('sybil stake'), dhe masat e marra kundër një sulmi, si tarifat jo-liniare të krijuara për ta bërë punën e stake-it të madh të papërshtatshme, zakonisht diskreditohet nga një sulm tjetër. Duke qenë se flitet për një lojë ekonomike, pesha statistikore përkatëse mund të llogaritet paraprakisht dhe thjesht të zëvendësohen tarifat me ato të rastësishme me shpërndarjen përkatëse. Këto tarifa probabilistike realizohen shumë thjeshtë, nëse në blockchain ka një burim të besueshëm rastësie dhe nuk kërkojnë asnjë llogaritje komplekse, duke i komplikuar jetën si peshkaqenëve ashtu edhe sybil-ve.
Megjithatë, është e nevojshme të kujtohet se kontrolli mbi bitin e vetëm në këtë rastësi mund të mashtruar, duke e zvogëluar dhe rritur probabilitetet në dyfish, kështu që një PVRB i ndershëm është një përbërës thelbësor i këtyre protokoleve.

Ku të gjejmë rastësinë e duhur?

Në teori, zgjedhja e ndershme e rastësishme në rrjetet decentralizuara lejon të sigurohet një siguri e provueshme e pothuajse çdo protokoli nga komploti. Justifikimi është mjaft i thjeshtë — nëse rrjeti duhet të rregullojë një bit 0 ose 1, dhe në mesin e pjesëmarrësve më pak se gjysma janë të pandershëm, atëherë, me një numër të mjaftueshëm iteratash, rrjeti do të arrijë me garanci një konsensus në lidhje me këtë bit me një probabilitet të fixuar. Thjesht sepse rastësia e ndershme do të zgjidhte 51 nga 100 pjesëmarrës në 51% të rasteve. Por kjo është në teori, sepse në rrjetet reale, për të siguruar një nivel të tillë sigurie si në artikuj, kërkohet një sasi e madhe mesazhesh midis hosteve, kriptografi komplekse me shumë hapa, dhe çdo komplikim i protokollit menjëherë shton vektorë të rinj sulmesh.
Për këtë arsye, ne ende nuk shohim në blockchain-e një PVRB të provuar si të fortë, i cili do të ishte përdorur mjaft gjatë për të përballuar provat nga aplikacione reale, auditime të shumta, ngarkesa dhe, sigurisht, sulme të vërteta, pa të cilat është e vështirë ta quash një produkt vërtet të sigurt.

Megjithatë, ka disa qasje perspektive, të cilat dallohen nga shumë detaje, dhe ndonjëra prej tyre me siguri do të zgjidhë problemin. Me burimet aktuale të llogaritjes, teoria kriptografike është në gjendje të kthehet mjaft mjeshtrisht në aplikime praktike. Në vazhdim, do të jemi të lumtur të flasim për implementimet e PVRB: tani ka disa prej tyre, secila ka një grup të rëndësishëm veçorish dhe karakteristikash në realizim, dhe pas çdo një prej tyre qëndron një ide e mirë. Ka disa ekipe që merren me rastësirën, dhe përvoja e secilës prej tyre është jashtëzakonisht e rëndësishme për të gjithë të tjerët. Shpresojmë që informacioni ynë do të ndihmojë ekipet e tjera të lëvizin më shpejt, duke marrë parasysh përvojën e paraardhësve.

Burimi: habr.com

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster