Ausazko Zenbakiak eta Sare Deszentralizatuak: Aplikazio Praktikoak

Sarrera

"Ausazko zenbakiak sortzea garrantzitsuegia da zoriari uzteko".
Robert Cavue, 1970

Artikulu hau konfiantzarik gabeko ingurune batean ausazko zenbakien sorkuntza kolektiboa erabiliz soluzioen aplikazio praktikoari zuzenduta dago. Laburbilduz, nola eta zergatik erabiltzen den ausazko bloke-kateetan, eta apur bat nola bereizi "ona" ausazko "txarra". Benetan ausazko zenbaki bat sortzea arazo izugarri zaila da, ordenagailu bakarrean ere, eta kriptografoek aspaldi aztertu dute. Tira, sare deszentralizatuetan, ausazko zenbakiak sortzea are konplexuagoa eta garrantzitsuagoa da.

Parte hartzaileak elkarrengandik fidatzen ez diren sareetan ausazko zenbaki eztabaidaezina sortzeko gaitasunak arazo kritiko asko eraginkortasunez ebazteko eta dauden eskemak nabarmen hobetzeko aukera ematen digu. Gainera, jokoak eta loteriak ez dira hemen lehen helburua, hasiera batean esperientziarik gabeko irakurleari iruditzen zaion bezala.

Ausazko zenbakiak sortzea

Ordenagailuek ezin dituzte ausazko zenbakiak sortu; kanpoko laguntza behar dute horretarako. Ordenagailuak ausazko balioren bat lor dezake, adibidez, saguaren mugimenduetatik, erabilitako memoria-kopurutik, prozesadorearen pinetako korronte galduetatik eta entropia iturri deitzen diren beste iturri askorekin. Balio horiek beraiek ez dira guztiz ausazkoak, tarte jakin batean baitaude edo aldaketa-eredua aurreikusten baitute. Zenbaki horiek barruti jakin baten barruan benetan ausazko zenbaki bihurtzeko, kripto-eraldaketak aplikatzen zaizkie entropia-iturriaren balio sasi-ausazko uniformeki banatuak sortzeko. Sortzen diren balioei pseudoausazko deitzen zaie ez direlako benetan ausazkoak, baizik eta deterministikoki entropiatik eratorritakoak direlako. Edozein algoritmo kriptografiko onek, datuak enkriptatzerakoan, ausazko sekuentzia batetik estatistikoki bereizi ezin diren testu zifratuak sortzen ditu, beraz, ausazkotasuna sortzeko entropia-iturri bat har dezakezu, eta horrek balioen errepikakortasun ona eta ezusteko aukera eskaintzen du tarte txikietan ere. gainontzeko lanak bitak sakabanatzen eta nahasten ari dira. Ondorioz, enkriptazio-algoritmoak hartuko du lortutako balioa.

Hezkuntza-programa labur bat osatzeko, gehituko dut gailu batean ere ausazko zenbakiak sortzea dela gure datuen segurtasuna bermatzeko zutabeetako bat. Sortutako sasi-ausazko zenbakiak hainbat saretan konexio seguruak ezartzerakoan erabiltzen dira, sortzeko. gako kriptografikoak, karga orekatzeko, osotasuna kontrolatzeko eta beste hainbat aplikaziotarako. Protokolo askoren segurtasuna ausazko fidagarri eta ezusteko bat sortzeko, gordetzeko eta protokoloaren hurrengo urratsera arte ez agertzeko gaitasunaren araberakoa da, bestela segurtasuna arriskuan egongo da. Sasi-ausazko balio-sorgailu baten aurkako erasoa oso arriskutsua da eta berehala mehatxatzen du ausazko sorkuntza erabiltzen duen software guztia.

Hori guztia jakin beharko zenuke kriptografiako oinarrizko ikastaro bat egin baduzu, jarrai dezagun sare deszentralizatuen inguruan.

Ausazko bloke-kateetan

Lehenik eta behin, kontratu adimentsuetarako euskarria duten bloke-kateei buruz hitz egingo dut; kalitate handiko eta ukaezina den ausazkotasunak eskaintzen dituen aukerak guztiz aprobetxa ditzaketenak dira. Gainera, laburtzeko, teknologia honi " deituko diotPublikoki egiazta daitezkeen ausazko balizak” edo PVRB. Blokeoak edozein parte-hartzailek informazioa egiazta dezakeen sareak direnez, izenaren funtsezko zatia "Publikoki Egiaztagarria" da, hau da. Edonork erabil ditzake kalkuluak blokeo-katean argitaratutako zenbakiak ezaugarri hauek dituela frogatzeko:

  • Emaitzak banaketa uniformea ​​izan behar du, hau da, kriptografia sendo frogagarrian oinarrituta egon behar du.
  • Ezin da emaitzaren bit bat kontrolatu. Ondorioz, emaitza ezin da aldez aurretik aurreikusi.
  • Ezin duzu sorkuntza-protokoloa saboteatu protokoloan ez parte hartuz edo sarea eraso mezuekin gainkargatuz
  • Aurreko guztiak erresistenteak izan behar ditu protokoloko parte-hartzaile desleialen kopuru onargarri baten (adibidez, parte-hartzaileen 1/3) elkarren aurka.

Parte-hartzaile talde txiki bat elkarrengandik ausazko bikoiti/bakoiti kontrolatua ekoizteko edozein aukera segurtasun-zulo bat da. Taldearen edozein gaitasun ausazko jaulkipena geldiarazteko segurtasun-zulo bat da. Oro har, arazo asko daude, eta zeregin hau ez da erraza...

Badirudi PVRBren aplikazio garrantzitsuena hainbat joko, loteria eta, oro har, bloke-katearen edozein joko mota direla. Izan ere, norabide garrantzitsua da hau, baina bloke-kateetan ausazkotasunak aplikazio are garrantzitsuagoak ditu. Ikus ditzagun.

Adostasun-algoritmoak

PVRBk paper handia jokatzen du sareko adostasuna antolatzeko. Blockchains-en transakzioak sinadura elektroniko baten bidez babesten dira, beraz, "transakzio baten aurkako erasoa" beti da transakzio bat bloke batean (edo hainbat bloke) sartzea/baztertzea. Eta adostasun algoritmoaren zeregin nagusia transakzio horien ordena eta transakzio horiek biltzen dituzten blokeen ordena adostea da. Era berean, bloke errealetarako beharrezko propietate bat finaltasuna da - sareak amaitutako blokerainoko katea behin betikoa dela adosteko gaitasuna, eta ez da inoiz baztertuko sardexka berri bat agertzeagatik. Normalean, bloke bat baliozkoa eta, batez ere, behin betikoa dela adosteko, beharrezkoa da bloke-ekoizle gehienen sinadurak biltzea (aurrerantzean BP - block-producers), eta horrek gutxienez bloke-katea entregatzea eskatzen du. BP guztiei, eta sinadurak BP guztien artean banatzea. BP kopurua hazten den heinean, sarean beharrezkoak diren mezuen kopurua esponentzialki hazten da, beraz, behin betikotasuna eskatzen duten adostasun algoritmoek, Hyperledger pBFT adostasunean adibidez erabiltzen direnak, ez dute behar den abiaduran funtzionatzen, hainbat dozena BPetatik hasita, eskatzen dute. konexio kopuru handia.

Sarean PVRB ukaezina eta zintzoa badago, orduan, hurbilketa errazenean ere, bloke-ekoizleetako bat aukeratu ahal izango da horretan oinarrituta eta "lider" izendatu protokoloaren txanda batean. Badugu N bloke ekoizleak, horietatik M: M > 1/2 N zintzoak dira, ez dira transakzioak zentsuratu eta ez dute katea bideratu "bikoitza gastatu" eraso bat egiteko, orduan uniformeki banatutako PVRB bat erabiltzeak lider zintzoa aukeratzea ahalbidetuko du probabilitatearekin. M / N (M / N > 1/2). Lider bakoitzari bere denbora-tarte propioa esleitzen bazaio bloke bat sortu eta katea balioztatzeko, eta tarte horiek denboran berdinak badira, orduan BP zintzoen bloke-katea BP gaiztoek osatutako katea baino luzeagoa izango da, eta adostasuna. algoritmoa katearen luzeran oinarritzen da. "txarra" baztertuko du. BP bakoitzari denbora xerra berdinak esleitzeko printzipio hau Graphene-n (EOSen aurrekoa) aplikatu zen eta bloke gehienak sinadura bakarrarekin ixtea ahalbidetzen du, sarearen karga asko murrizten duena eta adostasun hori oso azkar funtzionatzea ahalbidetzen duena. etengabe. Hala ere, EOS sareak bloke bereziak erabili behar ditu (Last Irreversible Block), 2/3 BP-ren sinadurek berresten dituztenak. Bloke hauek behin betikotasuna bermatzeko balio dute (azkeneko Azken Bloke Atzeraezina baino lehen abiatzen den kate-sardexkaren ezintasuna).

Era berean, benetako inplementazioetan, protokolo-eskema zailagoa da - proposatutako blokeen bozketa hainbat fasetan egiten da sarea mantentzeko blokeak falta direnean eta sarearekin arazoak izanez gero, baina hori kontuan izanda ere, PVRB erabiltzen duten adostasun algoritmoek eskatzen dute. BPen arteko mezuak nabarmen gutxiago, eta horrek PVFT tradizionala baino azkarrago egitea ahalbidetzen du, edo bere hainbat aldaketa.

Algoritmo horien ordezkari nabarmenena: Ouroboros Cardano taldekoa, matematikoki frogagarria omen dena BPren elkarlanaren aurka.

Ouroboros-en, PVRB "BP ​​schedule" deritzona definitzeko erabiltzen da - BP bakoitzari bloke bat argitaratzeko ordutegi propioa esleitzen zaion egutegia. PVRB erabiltzearen abantaila handia BPen "berdintasuna" osoa da (balantzeen tamainaren arabera). PVRBren osotasunak bermatzen du BP gaiztoek ezin dutela denbora-tarteen programazioa kontrolatu, eta, beraz, ezin dutela katea manipulatu katearen sardexkak aldez aurretik prestatuz eta aztertuz, eta sardexka bat hautatzeko nahikoa da iraupenaren luzeran fidatzea. katea, BPren "erabilgarritasuna" eta bere blokeen "pisua" kalkulatzeko modu delikatuak erabili gabe.

Oro har, sare deszentralizatuan ausazko parte-hartzaile bat aukeratu behar den kasu guztietan, PVRB ia beti da aukerarik onena, adibidez bloke hash batean oinarritutako aukera deterministikoa baino. PVRB gabe, parte-hartzaile baten aukeran eragiteko gaitasunak erasoak ekartzen ditu, non erasotzaileak etorkizun anitzetatik aukera dezake hurrengo parte-hartzaile ustela edo hainbat aldi berean aukeratzeko, erabakiaren parte-hartze handiagoa bermatzeko. PVRB erabiltzeak eraso mota hauek baztertzen ditu.

Eskalatzea eta karga orekatzea

PVRB onura handia izan daiteke karga murriztea eta ordainketa eskalatzea bezalako zereginetan ere. Hasteko, zentzuzkoa da zure burua ezagutzea Artikulu Rivesta "Loteria Elektronikoa Mikroordainketa gisa". Ideia orokorra da ordaintzailearengandik hartzaileari 100 1c ordainketa egin beharrean, 1$ = 100c-ko saria duen loteria zintzo batean joka dezakezula, non ordaintzaileak bankuari bere "loteria-txarteletatik" 1 bat ematen dion bakoitzeko. 100c ordainketa. Txartel horietako batek $ 1eko pote bat irabazten du, eta txartel hori da hartzaileak blockchain-en graba dezakeena. Garrantzitsuena da gainerako 99 txartelak hartzailearen eta ordaintzailearen artean kanpo parte-hartzerik gabe transferitzea, kanal pribatu baten bidez eta nahi den abiaduran. Emercoin sarean eskema honetan oinarritutako protokoloaren deskribapen ona irakur daiteke Hemen.

Eskema honek arazo batzuk ditu, hala nola, hartzaileak ordaintzaileari zerbitzatzeari utzi diezaioke txartel irabazlea jaso ondoren, baina aplikazio berezi askotan, hala nola, minutuko fakturazioan edo zerbitzuetarako harpidetza elektronikoetan, horiek alde batera utzi daitezke. Baldintza nagusia, noski, loteriaren osotasuna da, eta ezartzeko PVRB bat guztiz beharrezkoa da.

Ausazko parte-hartzaile baten aukeraketa oso garrantzitsua da zatiketa-protokoloetarako, eta horien helburua bloke-katea horizontalki eskalatzea da, BP ezberdinek beren transakzio-esparrua soilik prozesatzeko aukera emanez. Oso lan zaila da, batez ere zatiak batzean segurtasunari dagokionez. Ausazko BP baten bidezko aukeraketa zati zehatz baten arduradunak esleitzeko, adostasun algoritmoetan bezala, PVRBren zeregina da. Sistema zentralizatuetan, zatiak orekatzaile batek esleitzen ditu; eskaeraren hash-a kalkulatzen du eta behar den exekutatzailera bidaltzen du. Blockchains-en, esleipen honetan eragiteko gaitasunak adostasunaren aurkako erasoa ekar dezake. Esaterako, transakzioen edukiak erasotzaile batek kontrola ditzake, berak kontrolatzen duen zatira zein transakzio doazen kontrola dezake eta bertan dagoen bloke-katea manipulatu dezake. Ethereum-en zereginak zatitzeko ausazko zenbakiak erabiltzearen arazoari buruzko eztabaida irakur dezakezu Hemen
Sharding bloke-katearen alorreko arazo handienetako eta larrienetako bat da; bere konponbideak errendimendu eta bolumen zoragarriko sare deszentralizatuak eraikitzeko aukera emango du. PVRB hori konpontzeko bloke garrantzitsuetako bat besterik ez da.

Jokoak, protokolo ekonomikoak, arbitrajea

Jokoen industrian ausazko zenbakiek duten zeregina zaila da gainestimatzea. Lineako kasinoetan erabilera esplizitua eta jokalari baten ekintzaren ondorioak kalkulatzean erabilera inplizitua oso arazo zailak dira sare deszentralizatuentzat, non ez baitago ausazkotasun iturri zentral batean fidatzeko modurik. Baina ausazko hautaketak arazo ekonomiko asko ebatzi ditzake eta protokolo sinpleagoak eta eraginkorragoak eraikitzen lagun dezake. Demagun gure protokoloan zerbitzu merke batzuen ordainketari buruzko gatazkak daudela eta gatazka horiek oso gutxitan gertatzen direla. Kasu honetan, eztabaidaezina den PVRB bat badago, bezeroek eta saltzaileek gatazkak ausaz ebaztea adostu dezakete, baina probabilitate jakin batekin. Adibidez, %60ko probabilitatearekin bezeroak irabazteko, eta %40ko probabilitatearekin saltzaileak irabazteko. Lehen ikuspuntutik zentzugabea den planteamendu honek gatazkak automatikoki ebaztea ahalbidetzen du irabazien/galeren zati zehatzarekin aurreikusten dena, bi aldeei egokitzen zaiena hirugarren baten parte-hartzerik gabe eta alferrikako denbora galtzerik gabe. Gainera, probabilitate-ratioa dinamikoa izan daiteke eta aldagai global batzuen araberakoa izan daiteke. Esaterako, enpresa bat ondo ari bada, gatazka kopuru txikia eta errentagarritasun handia badu, enpresak automatikoki gatazka bat ebazteko probabilitatea bezeroarengan zentralitatera alda dezake, adibidez 70/30 edo 80/20, eta alderantziz. Gatazkak diru asko hartzen badute eta iruzurrezkoak edo desegokiak badira, probabilitatea beste norabide batean alda dezakezu.

Deszentralizatutako protokolo interesgarri ugari, hala nola, token kudeatzaileen erregistroak, iragarpen-merkatuak, lotura-kurbak eta beste asko, jokabide ona saritzen duten eta portaera txarra zigortzen diren joko ekonomikoak dira. Askotan segurtasun-arazoak izaten dituzte, babesak elkarren artean gatazkan daudenak. Mila milioi token dituen "baleen" erasoetatik babesten dena ("partida handia") saldo txikiko milaka konturen erasoen aurrean eta eraso bakar baten aurka hartutako neurrien aurrean kaltegarria da, esaterako. Parte-hartze handi batekin lan egitea errentagarri bihurtzeko sortutako kuota linealak normalean beste eraso baten ondorioz baztertzen dira. Joko ekonomiko bati buruz ari garenez, dagozkion pisu estatistikoak aldez aurretik kalkula daitezke, eta komisioak ausazko banaketarekin ordezkatu besterik ez dago. Komisio probabilistiko horiek oso erraz ezartzen dira bloke-kateak ausazkotasun-iturri fidagarria badu eta kalkulu konplexurik behar ez badute, bizitza zailduz bai baleei bai sibiloei.
Aldi berean, gogoratu behar da ausazkotasun honetan bit bakar baten gaineko kontrolak iruzur egiteko aukera ematen duela, probabilitateak erdira murriztu eta handituz, beraz, PVRB zintzoa da protokoloen osagai garrantzitsuena.

Non aurkitu ausazko egokia?

Teorian, sare deszentralizatuetan ausazko hautaketak ia edozein protokolo ziurtatzen du elkarlanaren aurka. Arrazoia nahiko sinplea da: sarea 0 edo 1 bit bakarrean ados badago eta parte-hartzaileen erdia baino gutxiago petrala bada, orduan, nahikoa iterazio emanda, sareak probabilitate finko batekin bit horri buruzko adostasuna lortuko duela bermatuta dago. Besterik gabe, ausazko zintzo batek 51 parte-hartzaileetatik 100 aukeratuko ditu denboraren %51. Baina hori teorian dago, zeren... sare errealetan, artikuluetan bezalako segurtasun maila bermatzeko, ostalarien arteko mezu asko behar dira, pasabide anitzeko kriptografia konplexua eta protokoloaren edozein konplikazioak berehala eraso-bektore berriak gehitzen ditu.
Hori dela eta, oraindik ez dugu ikusten bloke-kateetan PVRB erresistente frogatua, aplikazio errealak, auditoria anitzek, kargak eta, jakina, benetako erasoak probatzeko denbora nahikoa erabiliko zena, eta hori gabe zaila da deitzea. produktua benetan segurua.

Hala ere, hainbat ikuspegi itxaropentsu daude, xehetasun askotan desberdinak dira, eta horietako batek behin betiko konponduko du arazoa. Baliabide informatiko modernoekin, teoria kriptografikoa nahiko trebetasunez itzul daiteke aplikazio praktikoetara. Etorkizunean, pozik hitz egingo dugu PVRB inplementazioei buruz: orain horietako batzuk daude, bakoitzak bere propietate eta ezarpen-ezaugarri garrantzitsuen multzoa du, eta bakoitzaren atzean ideia ona dago. Ez dago talde asko ausazkoetan parte hartzen, eta horietako bakoitzaren esperientzia oso garrantzitsua da gainontzeko guztientzat. Espero dugu gure informazioak beste taldeei azkarrago mugitzea ahalbidetzea, aurrekoen esperientzia kontuan hartuta.

Iturria: www.habr.com

Gehitu iruzkin berria