Slembitölur og dreifð net: Hagnýt forrit

Inngangur

„Tilviljanakennsla er of mikilvæg til að vera látin bíða tilviljunar.
Robert Cavue, 1970

Þessi grein er helguð hagnýtri beitingu lausna sem nota sameiginlega slembitölumyndun í ótraust umhverfi. Í stuttu máli, hvernig og hvers vegna handahófi er notað í blokkakeðjum, og smá um hvernig á að greina „gott“ tilviljun frá „slæmt“. Að búa til raunverulega tilviljunarkennda tölu er afar erfitt vandamál, jafnvel á einni tölvu, og hefur lengi verið rannsakað af dulmálsfræðingum. Jæja, í dreifðri netkerfum er gerð tilviljunarkenndra talna enn flóknari og mikilvægari.

Það er í netkerfum þar sem þátttakendur treysta ekki hver öðrum sem hæfileikinn til að búa til óumdeilanlega slembitölu gerir okkur kleift að leysa mörg mikilvæg vandamál á áhrifaríkan hátt og bæta verulega núverandi kerfi. Þar að auki eru fjárhættuspil og happdrætti ekki markmið númer eitt hér, eins og óreyndum lesanda kann að virðast í fyrstu.

Myndun af handahófi

Tölvur geta ekki búið til handahófskenndar tölur sjálfar; þær þurfa utanaðkomandi aðstoð til að gera það. Tölvan getur fengið einhver tilviljunarkennd gildi frá til dæmis músarhreyfingum, magni minnis sem notað er, flækingsstraumar á örgjörvapinnum og mörgum öðrum heimildum sem kallast óreiðugjafar. Þessi gildi sjálf eru ekki alveg tilviljunarkennd, þar sem þau eru á ákveðnu bili eða hafa fyrirsjáanlegt mynstur breytinga. Til að breyta slíkum tölum í raunverulega slembitölu innan tiltekins bils, er dulritunarumbreytingum beitt á þær til að framleiða jafndreifð gervi-slembigildi úr ójafnt dreifðum gildum óreiðuuppsprettu. Gildin sem myndast eru kölluð gervitilviljun vegna þess að þau eru ekki raunverulega tilviljunarkennd, heldur eru ákveðin afleidd úr óreiðu. Sérhver gott dulritunaralgrím, þegar gögn eru dulkóðuð, framleiðir dulmálstexta sem ætti að vera tölfræðilega óaðgreinanlegur frá handahófskenndri röð, svo til að framleiða tilviljun geturðu tekið óreiðuuppsprettu, sem veitir aðeins góða endurtekningarnákvæmni og ófyrirsjáanleika gilda, jafnvel á litlu sviðum, restin af vinnunni er að dreifa og blanda bitum í. Gildið sem myndast verður tekið yfir af dulkóðunaralgríminu.

Til að ljúka stuttu fræðsluforriti, bæti ég við að það að búa til handahófskenndar tölur jafnvel í einu tæki er ein af stoðum þess að tryggja öryggi gagna okkar. Mynduðu gervi-handahófsnúmerin eru notuð þegar komið er á öruggum tengingum í ýmsum netum, til að búa til dulmálslyklar, fyrir álagsjafnvægi, eftirlit með heiðarleika og fyrir mörg fleiri forrit. Öryggi margra samskiptareglna veltur á getu til að búa til áreiðanlega, utanaðkomandi ófyrirsjáanlega handahófi, geyma það og sýna það ekki fyrr en í næsta skrefi samskiptareglunnar, annars verður öryggi í hættu. Árás á gervitilviljanakennda gildisgjafa er afar hættuleg og ógnar strax öllum hugbúnaði sem notar tilviljunarkennd.

Þú ættir að vita þetta allt ef þú hefur tekið grunnnámskeið í dulritun, svo við skulum halda áfram um dreifð net.

Tilviljun í blockchains

Fyrst af öllu mun ég tala um blokkakeðjur með stuðningi við snjalla samninga; það eru þeir sem geta nýtt sér að fullu tækifærin sem hágæða, óneitanlega tilviljun gefur. Í stuttu máli mun ég kalla þessa tækni „Opinberlega sannreynanleg slembiljós“ eða PVRB. Þar sem blokkkeðjur eru netkerfi þar sem hvaða þátttakandi getur sannreynt upplýsingar, er lykilhluti nafnsins „Publicly Verifiable“, þ.e. Hver sem er getur notað útreikninga til að fá sönnun fyrir því að númerið sem myndast á blockchain hafi eftirfarandi eiginleika:

  • Niðurstaðan verður að hafa sannanlega einsleita dreifingu, þ.e.a.s. byggjast á sannanlega sterkri dulritun.
  • Það er ekki hægt að stjórna neinum bitum niðurstöðunnar. Þar af leiðandi er ekki hægt að spá fyrir um niðurstöðuna fyrirfram.
  • Þú getur ekki spillt samskiptareglunum með því að taka ekki þátt í samskiptareglunum eða með því að ofhlaða netið með árásarskilaboðum
  • Allt ofangreint verður að vera ónæmt fyrir samráði leyfilegs fjölda óheiðarlegra þátttakenda (til dæmis 1/3 þátttakenda).

Allir möguleikar á samráði minniháttar hóps þátttakenda til að framleiða jafnvel stýrt slétt/ójafnt tilviljun er öryggisgat. Sérhver geta hópsins til að stöðva útgáfu af handahófi er öryggisgat. Almennt séð eru mörg vandamál og þetta verkefni er ekki auðvelt...

Svo virðist sem mikilvægasta forritið fyrir PVRB sé ýmsir leikir, happdrætti og almennt hvers konar fjárhættuspil á blockchain. Reyndar er þetta mikilvæg stefna, en tilviljun í blockchains hefur enn mikilvægari forrit. Við skulum skoða þær.

Consensus Reiknirit

PVRB gegnir stóru hlutverki við að skipuleggja netsamstöðu. Viðskipti í blokkakeðjum eru vernduð með rafrænni undirskrift, þannig að „árás á viðskipti“ er alltaf innlimun/útilokun viðskipta í blokk (eða nokkrum blokkum). Og meginverkefni samþykkis reikniritsins er að koma sér saman um röð þessara viðskipta og röð blokkanna sem innihalda þessi viðskipti. Nauðsynlegur eiginleiki fyrir alvöru blokkkeðjur er einnig endanleiki - geta netkerfisins til að samþykkja að keðjan upp að endanlega blokkinni sé endanleg og verði aldrei útilokuð vegna útlits nýs gaffals. Venjulega, til þess að samþykkja að blokk sé gild og, síðast en ekki síst, endanleg, er nauðsynlegt að safna undirskriftum frá meirihluta blokkaframleiðenda (hér eftir nefnt BP - blokkaframleiðendur), sem krefst að minnsta kosti að afhenda blokkakeðjuna til allra BP og dreifa undirskriftum á milli allra BP. Eftir því sem fjöldi BPs eykst, eykst fjöldi nauðsynlegra skilaboða í netkerfinu veldishraða, þess vegna virka samstöðu reiknirit sem krefjast endanleika, sem notuð eru til dæmis í Hyperledger pBFT samstöðunni, ekki á tilskildum hraða, frá nokkrum tugum BP, sem krefjast gríðarlegur fjöldi tenginga.

Ef það er óneitanlega og heiðarlegt PVRB á netinu, þá, jafnvel í einföldustu nálgun, getur maður valið einn af blokkaframleiðendum byggt á því og skipað hann sem „leiðtoga“ í einni umferð samskiptareglunnar. Ef við höfum N blokkaframleiðendur, þar af M: M > 1/2 N eru heiðarlegir, ekki ritskoða viðskipti og ekki punga keðjunni til að framkvæma „tvöfalda eyðslu“ árás, þá mun notkun jafndreifðs ómótmælts PVRB gera kleift að velja heiðarlegan leiðtoga með líkindum M / N (M / N > 1/2). Ef hverjum leiðtoga er úthlutað sínu eigin tímabili þar sem hann getur framleitt blokk og staðfest keðjuna, og þessi bil eru jöfn í tíma, þá verður blokkakeðja heiðarlegra BPs lengri en keðjan sem myndast af illgjarnum BPs, og samstaðan. reiknirit byggir á lengd keðjunnar mun einfaldlega henda „slæmu“. Þessi regla um að úthluta jöfnum tímasneiðum til hvers BP var fyrst beitt í Graphene (forvera EOS), og gerir kleift að loka flestum blokkum með einni undirskrift, sem dregur verulega úr netálagi og gerir þessari samstöðu kleift að vinna mjög hratt og jafnt og þétt. Hins vegar þarf EOS netkerfið nú að nota sérstakar blokkir (Last Irreversible Block), sem eru staðfestar með undirskriftum 2/3 BP. Þessar blokkir þjóna til að tryggja endanleika (ómögulegt að keðjugaffill byrjar fyrir síðasta síðasta óafturkræfa blokk).

Í raunverulegum útfærslum er samskiptareglur líka flóknari - atkvæðagreiðsla um fyrirhugaðar blokkir fer fram í nokkrum áföngum til að viðhalda netinu ef vantar blokkir og vandamál með netið, en jafnvel að teknu tilliti til þessa, krefjast samstöðu reiknirit sem nota PVRB verulega færri skilaboð á milli BP, sem gerir það mögulegt að gera þau hraðari en hefðbundin PVFT, eða ýmsar breytingar á því.

Mest áberandi fulltrúi slíkra reiknirita: Ouroboros frá Cardano-liðinu, sem sagt er stærðfræðilega sannanlegt gegn samráði BP.

Í Ouroboros er PVRB notað til að skilgreina svokallaða „BP áætlun“ - áætlun þar sem hverjum BP er úthlutað sínum eigin tíma til að birta blokk. Stóri kosturinn við að nota PVRB er algjört „jafnræði“ BP (samkvæmt stærð efnahagsreiknings þeirra). Heilleiki PVRB tryggir að illgjarnir BPs geta ekki stjórnað tímasetningu tímaraufa og geta því ekki stjórnað keðjunni með því að undirbúa og greina gaffla keðjunnar fyrirfram, og til að velja gaffal er nóg að treysta einfaldlega á lengd keðjunnar. keðju, án þess að nota erfiðar aðferðir til að reikna út „notagildi“ BP og „þyngd“ kubbanna.

Almennt séð, í öllum tilvikum þar sem þarf að velja tilviljunarkenndan þátttakanda í dreifðu neti, er PVRB næstum alltaf besti kosturinn, frekar en ákveðinn valkostur sem byggir á til dæmis blokkhash. Án PVRB leiðir hæfileikinn til að hafa áhrif á val þátttakanda til árása þar sem árásarmaðurinn getur valið úr mörgum framtíðum til að velja næsta spillta þátttakanda eða nokkra í einu til að tryggja meiri hlutdeild í ákvörðuninni. Notkun PVRB dregur úr þessum tegundum árása.

Stöðun og álagsjafnvægi

PVRB getur einnig komið að góðum notum í verkefnum eins og álagslækkun og greiðsluskala. Til að byrja með er skynsamlegt að kynna sér vel greinar Rivesta „Rafrænir happdrættismiðar sem örgreiðslur“. Almenna hugmyndin er sú að í stað þess að greiða 100 1c greiðslur frá greiðanda til viðtakanda geturðu spilað heiðarlegt happdrætti með vinningi upp á 1$ = 100c, þar sem greiðandinn gefur bankanum einn af 1 af „lottómiðum“ sínum fyrir hvern. 100c greiðsla. Einn þessara miða vinnur krukku upp á $1, og það er þessi miði sem viðtakandinn getur skráð í blockchain. Mikilvægast er að þeir 99 miðar sem eftir eru eru fluttir milli viðtakanda og greiðanda án nokkurrar utanaðkomandi þátttöku, í gegnum einkarás og á hvaða hraða sem er. Hægt er að lesa góða lýsingu á samskiptareglunum sem byggir á þessu kerfi á Emercoin netinu hér.

Þetta kerfi hefur nokkur vandamál, eins og viðtakandinn gæti hætt að þjóna greiðanda strax eftir að hafa fengið vinningsmiða, en fyrir margar sérstakar umsóknir, svo sem innheimtu á mínútu eða rafrænar áskriftir að þjónustu, getur þetta verið vanrækt. Aðalkrafan er auðvitað sanngirni happdrættisins og fyrir framkvæmd þess er PVRB algjörlega nauðsynlegt.

Val á tilviljunarkenndum þátttakanda er einnig afar mikilvægt fyrir samskiptareglur um sundrun, tilgangur þeirra er að stækka blokkakeðjuna lárétt, sem gerir mismunandi BP kleift að vinna úr umfangi viðskipta þeirra. Þetta er ákaflega erfitt verkefni, sérstaklega varðandi öryggismál við sameiningu brota. Sanngjarnt val á tilviljunarkenndri BP í þeim tilgangi að úthluta þeim sem bera ábyrgð á tilteknu broti, eins og í samþykkis reikniritum, er einnig verkefni PVRB. Í miðstýrðum kerfum er brotum úthlutað af jafnvægismanni; það reiknar einfaldlega kjötkássa úr beiðninni og sendir það til nauðsynlegs framkvæmdastjóra. Í blokkakeðjum getur hæfileikinn til að hafa áhrif á þetta verkefni leitt til árásar á samstöðu. Til dæmis getur árásarmaður stjórnað innihaldi færslna, hann getur stjórnað því hvaða færslur fara í brotið sem hann stjórnar og sýsla með keðjuna í henni. Þú getur lesið umfjöllun um vandamálið við að nota handahófskenndar tölur til að skera niður verkefni í Ethereum hér
Sharding er eitt metnaðarfyllsta og alvarlegasta vandamálið á sviði blockchain, lausn þess gerir kleift að byggja upp dreifð net með frábærum frammistöðu og rúmmáli. PVRB er bara einn af mikilvægu blokkunum til að leysa það.

Leikir, efnahagsreglur, gerðardómur

Erfitt er að ofmeta hlutverk tilviljunarkenndra talna í leikjaiðnaðinum. Skýr notkun í spilavítum á netinu og óbein notkun þegar reiknað er út áhrif aðgerða leikmanns eru öll afar erfið vandamál fyrir dreifð net, þar sem engin leið er að treysta á miðlæga uppsprettu handahófs. En handahófsval getur líka leyst mörg efnahagsleg vandamál og hjálpað til við að byggja upp einfaldari og skilvirkari samskiptareglur. Segjum sem svo að í bókuninni okkar séu deilur um greiðslu fyrir einhverja ódýra þjónustu og þessar deilur eiga sér sjaldan stað. Í þessu tilviki, ef það er óumdeilt PVRB, geta viðskiptavinir og seljendur samið um að leysa deilur af handahófi, en með tilteknum líkum. Til dæmis, með 60% líkur á að viðskiptavinurinn vinnur og með 40% líkur á að seljandinn vinnur. Þessi nálgun, sem er fáránleg frá fyrsta sjónarhorni, gerir þér kleift að leysa deilur sjálfkrafa með nákvæmlega fyrirsjáanlegum hlutfalli vinninga/taps, sem hentar báðum aðilum án nokkurrar þátttöku þriðja aðila og óþarfa tímasóun. Þar að auki getur líkindahlutfallið verið kraftmikið og fer eftir sumum alþjóðlegum breytum. Til dæmis, ef fyrirtæki stendur sig vel, hefur fá deilnafjölda og mikla arðsemi, getur fyrirtækið sjálfkrafa fært líkum á að leysa deilu í átt að viðskiptavinamiðuð, til dæmis 70/30 eða 80/20, og öfugt, ef deilur kosta mikla peninga og eru sviksamlegar eða ófullnægjandi geturðu fært líkunum í hina áttina.

Mikill fjöldi áhugaverðra dreifðra samskiptareglna, eins og táknrænnar skrár, spámarkaðir, tengingarferlar og margir aðrir, eru efnahagslegir leikir þar sem góð hegðun er verðlaunuð og slæm hegðun er refsað. Þau innihalda oft öryggisvandamál þar sem varnir stangast á við hvert annað. Það sem er varið fyrir árás „hvala“ með milljörðum tákna („stór veð“) er viðkvæmt fyrir árásum þúsunda reikninga með litla inneign („sybil hlut“) og ráðstöfunum sem gerðar eru gegn einni árás, ss. línuleg þóknun sem stofnuð er til að gera að vinna með stóran hlut gagnslaus eru venjulega vanvirt af annarri árás. Þar sem við erum að tala um efnahagslegan leik er hægt að reikna út samsvarandi tölfræðileg vægi fyrirfram og einfaldlega skipta þóknunum út fyrir slembiraðaða með viðeigandi dreifingu. Slíkar líkindaþóknanir eru útfærðar á mjög einfaldan hátt ef blockchain hefur áreiðanlega uppsprettu handahófs og krefst ekki flókinna útreikninga, sem gerir lífið erfitt fyrir bæði hvali og sybil.
Á sama tíma er nauðsynlegt að halda áfram að muna að stjórn á einum bita í þessu handahófi gerir þér kleift að svindla, minnka og auka líkurnar um helming, svo heiðarlegur PVRB er mikilvægasti þátturinn í slíkum samskiptareglum.

Hvar á að finna rétta tilviljun?

Fræðilega séð gerir sanngjarnt handahófsval í dreifðum netum næstum allar samskiptareglur sannanlega öruggar gegn samráði. Rökin eru frekar einföld - ef netið er sammála um einn 0 eða 1 bita, og innan við helmingur þátttakenda er óheiðarlegur, þá er tryggt að netið nái samstöðu um þann bita með ákveðnum líkum ef nægar endurtekningar eru gefnar. Einfaldlega vegna þess að heiðarlegur handahófi mun velja 51 af 100 þátttakendum í 51% tilvika. En þetta er í orði, vegna þess að... í raunverulegum netkerfum, til að tryggja slíkt öryggisstig eins og í greinunum, þarf mörg skilaboð á milli gestgjafa, flókið dulritunarkerfi með mörgum framrásum og allar flækjur samskiptareglunnar bæta strax við nýjum árásarvektorum.
Þess vegna sjáum við ekki enn sannað ónæmt PVRB í blokkakeðjum, sem hefði verið notað í nægan tíma til að vera prófað með raunverulegum forritum, mörgum endurskoðunum, álagi og auðvitað raunverulegum árásum, án þess er erfitt að kalla a vara sannarlega örugg.

Hins vegar eru nokkrar efnilegar aðferðir, þær eru mismunandi í mörgum smáatriðum og ein þeirra mun örugglega leysa vandamálið. Með nútíma tölvuauðlindum er hægt að þýða dulmálskenningar á nokkuð snjallan hátt yfir í hagnýt forrit. Í framtíðinni munum við vera fús til að tala um PVRB útfærslur: það eru nú nokkrar af þeim, hver hefur sitt sett af mikilvægum eiginleikum og útfærslueiginleikum, og á bak við hverja er góð hugmynd. Það eru ekki mörg teymi sem taka þátt í slembivali og reynsla hvers þeirra er afar mikilvæg fyrir alla aðra. Við vonum að upplýsingar okkar muni gera öðrum liðum kleift að fara hraðar, að teknu tilliti til reynslu forvera þeirra.

Heimild: www.habr.com

Bæta við athugasemd