Véletlen számok és decentralizált hálózatok: gyakorlati alkalmazások

Bevezetés

"A véletlen számok generálása túl fontos ahhoz, hogy a véletlenre bízzuk."
Robert Cavue, 1970

Ezt a cikket a kollektív véletlenszám-generálást használó megoldások gyakorlati alkalmazásának szenteljük nem megbízható környezetben. Röviden, hogyan és miért használják a véletlenszerűséget a blokkláncokban, és egy kicsit arról, hogyan lehet megkülönböztetni a „jó” véletlenszerűséget a „rossztól”. Egy valóban véletlen szám generálása rendkívül nehéz probléma, még egyetlen számítógépen is, és régóta tanulmányozzák a kriptográfusok. Nos, a decentralizált hálózatokban a véletlen számok előállítása még bonyolultabb és fontosabb.

Azokban a hálózatokban, ahol a résztvevők nem bíznak egymásban, a vitathatatlan véletlenszám generálásának képessége lehetővé teszi számos kritikus probléma hatékony megoldását és a meglévő sémák jelentős javítását. Ráadásul itt nem a szerencsejáték és a lottó az első számú cél, ahogyan a tapasztalatlan olvasónak elsőre tűnhet.

Véletlenszám generálás

A számítógépek maguk nem tudnak véletlen számokat generálni, ehhez külső segítségre van szükségük. A számítógép véletlenszerű értéket kaphat például az egér mozgásából, a felhasznált memória mennyiségéből, a processzor érintkezőin lévő kósza áramokból és sok más, entrópiaforrásnak nevezett forrásból. Ezek az értékek önmagukban nem teljesen véletlenszerűek, mivel egy bizonyos tartományba esnek, vagy előre látható változási mintával rendelkeznek. Ahhoz, hogy az ilyen számokat egy adott tartományon belül valóban véletlen számokká alakítsák, kriptotranszformációkat alkalmaznak rájuk, hogy az entrópiaforrás egyenlőtlen eloszlású értékeiből egyenletes eloszlású pszeudovéletlen értékeket állítsanak elő. A kapott értékeket pszeudovéletlenségnek nevezzük, mert nem igazán véletlenszerűek, hanem determinisztikusan az entrópiából származnak. Bármilyen jó kriptográfiai algoritmus az adatok titkosítása során olyan titkosított szövegeket hoz létre, amelyeknek statisztikailag megkülönböztethetetlennek kell lenniük egy véletlen sorozattól, így a véletlenszerűség előállításához olyan entrópiaforrást vehetünk igénybe, amely kis tartományokban is csak jó megismételhetőséget és kiszámíthatatlanságot biztosít az értékeknek. a munka többi része a bitek szétszórása és keverése. A kapott értéket a titkosítási algoritmus veszi át.

Egy rövid ismeretterjesztő program kiegészítéseként hozzáteszem, hogy adataink biztonságának egyik alappillére a véletlen számok akár egy eszközön történő generálása, a generált pszeudo-véletlen számok a különböző hálózatok biztonságos kapcsolatainak kialakítására szolgálnak. kriptográfiai kulcsok a terheléselosztáshoz, az integritás figyeléséhez és még sok más alkalmazáshoz. Sok protokoll biztonsága attól függ, hogy képes-e megbízható, kívülről előre megjósolhatatlan véletlenszerűséget generálni, tárolni, és csak a protokoll következő lépéséig felfedni, különben a biztonság veszélybe kerül. A pszeudovéletlen értékgenerátor elleni támadás rendkívül veszélyes, és azonnal fenyeget minden véletlenszerűség-generálást használó szoftvert.

Mindezt tudnia kell, ha elvégezte a kriptográfiai alaptanfolyamot, ezért folytassuk a decentralizált hálózatokkal.

Véletlenszerű a blokkláncokban

Először is az intelligens szerződéseket támogató blokkláncokról beszélek, ők azok, akik teljes mértékben ki tudják használni a minőségi, tagadhatatlan véletlenszerűség adta lehetőségeket. Továbbá a rövidség kedvéért ezt a technológiát ""Nyilvánosan ellenőrizhető véletlenszerű jeladók” vagy PVRB. Mivel a blokkláncok olyan hálózatok, amelyekben az információkat bármely résztvevő ellenőrizheti, a név kulcsfontosságú része a „Publicly Verifiable”, azaz. Bárki használhat számításokat annak bizonyítására, hogy a blokkláncon elhelyezett eredményként kapott szám a következő tulajdonságokkal rendelkezik:

  • Az eredménynek bizonyíthatóan egyenletes eloszlásúnak kell lennie, azaz bizonyíthatóan erős kriptográfián kell alapulnia.
  • Az eredmény egyetlen bitjét sem lehet szabályozni. Emiatt nem lehet előre megjósolni az eredményt.
  • Nem szabotálhatja a generálási protokollt úgy, hogy nem vesz részt a protokollban, vagy túlterheli a hálózatot támadási üzenetekkel
  • A fentiek mindegyikének ellenállónak kell lennie a tisztességtelen protokoll résztvevőinek megengedett számú (például a résztvevők 1/3-a) összejátszásával szemben.

Bármilyen lehetőség, hogy a résztvevők összejátszó kisebb csoportja akár ellenőrzött páros/páratlan véletleneket is produkáljon, biztonsági rés. A csoport bármely képessége, hogy megállítsa a véletlenszerű kibocsátást, biztonsági rés. Általában sok probléma van, és ez a feladat nem egyszerű...

Úgy tűnik, hogy a PVRB legfontosabb alkalmazása a különféle játékok, lottójátékok és általában a blokkláncon belüli bármilyen típusú szerencsejáték. Valóban, ez egy fontos irány, de a blokkláncok véletlenszerűségének még fontosabb alkalmazásai is vannak. Nézzük meg őket.

Konszenzus algoritmusok

A PVRB óriási szerepet játszik a hálózati konszenzus megszervezésében. A blokkláncokban végzett tranzakciókat elektronikus aláírás védi, így a „tranzakció elleni támadás” mindig egy tranzakció blokkba (vagy több blokkba) való felvétele/kizárása. A konszenzusos algoritmus fő feladata pedig az, hogy megegyezzen ezeknek a tranzakcióknak a sorrendjében és az ezeket a tranzakciókat tartalmazó blokkok sorrendjében. Ezenkívül a valódi blokkláncok elengedhetetlen tulajdonsága a véglegesség – a hálózat azon képessége, hogy megállapodjon abban, hogy a véglegesített blokkig tartó lánc végleges, és soha nem zárható ki egy új villa megjelenése miatt. Általában ahhoz, hogy megállapodjunk abban, hogy egy blokk érvényes, és ami a legfontosabb, végleges, aláírásokat kell gyűjteni a blokkgyártók többségétől (a továbbiakban: BP - blokkgyártók), amihez legalább a blokklánc leadása szükséges. az összes ÜT-nek, és az aláírások szétosztása az összes ÜT között. A BP-k számának növekedésével a szükséges üzenetek száma a hálózatban exponenciálisan növekszik, ezért a véglegességet igénylő konszenzus algoritmusok, amelyeket például a Hyperledger pBFT konszenzusban használnak, nem működnek a kívánt sebességgel, több tucat BP-től kezdődően. rengeteg kapcsolat.

Ha a hálózatban van egy tagadhatatlan és őszinte PVRB, akkor a legegyszerűbb közelítésben is ki lehet választani az egyik blokkgyártót az alapján, és kinevezni őt „vezetőnek” a protokoll egy köre alatt. Ha van N blokkgyártók, ebből M: M > 1/2 N becsületesek, ne cenzúrázzák a tranzakciókat, és ne forgassák el a láncot a „kettős költés” ​​támadásra, akkor az egyenletesen elosztott, megkérdőjelezhetetlen PVRB használata lehetővé teszi a becsületes vezető kiválasztását valószínűséggel M / N (M / N > 1/2). Ha minden vezetőhöz hozzárendeljük a saját időintervallumát, amely alatt blokkot tud létrehozni és a láncot érvényesíteni, és ezek az intervallumok időben egyenlőek, akkor a becsületes BP-k blokklánca hosszabb lesz, mint a rosszindulatú BP-k által alkotott lánc, és a konszenzus Az algoritmus a lánc hosszára támaszkodik. A „rossz”-t egyszerűen elveti. Ezt az elvet, miszerint minden egyes BP-hez egyenlő időszeleteket kell kiosztani, először a Graphene-ben (az EOS elődjében) alkalmazták, és lehetővé teszi a legtöbb blokk egyetlen aláírással történő lezárását, ami nagymértékben csökkenti a hálózati terhelést, és lehetővé teszi, hogy ez a konszenzus rendkívül gyorsan és gyorsan működjön. fokozatosan. Az EOS hálózatnak azonban mostantól speciális blokkokat kell használnia (Last Irreversible Block), amelyeket a 2/3 BP aláírása igazol. Ezek a blokkok a véglegesség biztosítását szolgálják (a láncvilla lehetetlensége az utolsó utolsó visszafordíthatatlan blokk előtt).

A valós megvalósításokban a protokollséma is bonyolultabb - a javasolt blokkok szavazása több lépcsőben történik a hálózat karbantartása érdekében hiányzó blokkok és hálózati problémák esetén, de még ezt figyelembe véve is a PVRB-t használó konszenzusos algoritmusok megkövetelik. lényegesen kevesebb üzenet a BP-k között, ami lehetővé teszi azok gyorsabbá tételét, mint a hagyományos PVFT, vagy annak különféle módosításai.

Az ilyen algoritmusok legjelentősebb képviselője: Ouroboros a Cardano csapattól, ami állítólag matematikailag bizonyítható a BP összejátszásával szemben.

Az Ouroborosban a PVRB-t használják az úgynevezett „BP ​​ütemezés” meghatározására - egy ütemterv, amely szerint minden BP-hez saját időrés van hozzárendelve egy blokk közzétételéhez. A PVRB használatának nagy előnye a BP-k teljes „egyenlősége” (mérlegük nagysága szerint). A PVRB integritása biztosítja, hogy a rosszindulatú BP-k ne tudják ellenőrizni az időrések ütemezését, és ezért ne tudják manipulálni a láncot a lánc villáinak előzetes előkészítésével és elemzésével, és egy elágazás kiválasztásához elegendő egyszerűen a lánc hosszára hagyatkozni. lánc, anélkül, hogy trükkös módszereket használna a BP „hasznosságának” és a blokkjainak „súlyának” kiszámítására.

Általánosságban elmondható, hogy minden olyan esetben, amikor egy decentralizált hálózatban véletlenszerű résztvevőt kell kiválasztani, szinte mindig a PVRB a legjobb választás, nem pedig egy determinisztikus lehetőség, amely például blokk hash-en alapul. PVRB nélkül a résztvevő választásának befolyásolásának képessége olyan támadásokhoz vezet, amelyekben a támadó több határidő közül választhat, hogy a következő korrupt résztvevőt választja, vagy egyszerre többet is, hogy nagyobb részt vegyen a döntésben. A PVRB használata hiteltelenné teszi az ilyen típusú támadásokat.

Méretezés és terheléselosztás

A PVRB olyan feladatoknál is nagy hasznot húzhat, mint a terheléscsökkentés és a fizetések méretezése. Először is érdemes megismerkedni vele cikk Rivesta „Elektronikus sorsjegyek, mint mikrofizetések”. Az általános elképzelés az, hogy ahelyett, hogy 100 1 c-t fizetne a fizetőtől a címzett felé, játszhat egy becsületes lottót 1 $ = 100 c nyereményével, ahol a fizető minden egyes 1 sorsjegyéből egyet ad a banknak. 100c fizetés. Az egyik ilyen jegy egy 1 dolláros üveget nyer, és ezt a jegyet rögzítheti a címzett a blokkláncban. A legfontosabb, hogy a fennmaradó 99 jegy külső közreműködés nélkül, privát csatornán és tetszőleges sebességgel kerül átadásra a címzett és a fizető között. Az ezen a sémán alapuló protokoll jó leírása olvasható az Emercoin hálózaton itt.

Ennek a konstrukciónak van néhány problémája, például előfordulhat, hogy a címzett a nyertes jegy kézhezvétele után azonnal leállítja a fizető kiszolgálását, de számos speciális alkalmazásnál, mint például a percszámlázás vagy a szolgáltatások elektronikus előfizetése, ezek elhanyagolhatók. A fő követelmény természetesen a sorsolás tisztessége, ennek megvalósításához feltétlenül szükséges egy PVRB.

A véletlenszerű résztvevő kiválasztása rendkívül fontos a sharding protokollok esetében is, amelyek célja a blokklánc horizontális skálázása, lehetővé téve a különböző BP-k számára, hogy csak a saját tranzakcióik körét dolgozzák fel. Ez rendkívül nehéz feladat, különösen a szilánkok egyesítésénél a biztonság szempontjából. A PVRB feladata egy véletlenszerű BP méltányos kiválasztása egy adott szilánkért felelős személyek kijelölése céljából, mint a konszenzusos algoritmusokban. A központosított rendszerekben a szilánkokat egy kiegyenlítő osztja ki, egyszerűen kiszámítja a kérésből a hash-t, és elküldi a kívánt végrehajtónak. A blokkláncokban a hozzárendelés befolyásolásának képessége a konszenzus elleni támadáshoz vezethet. Például a tranzakciók tartalmát a támadó irányíthatja, szabályozhatja, hogy mely tranzakciók kerüljenek az általa irányított szilánkra, és manipulálhatja a benne lévő blokkok láncát. Elolvashatja a véletlen számok felhasználásának problémáját a felosztási feladatokhoz az Ethereumban itt
A felosztás az egyik legambiciózusabb és legkomolyabb probléma a blokklánc területén, megoldása fantasztikus teljesítményű és volumenű decentralizált hálózatok kiépítését teszi lehetővé. A PVRB csak az egyik fontos blokk a megoldásához.

Játékok, gazdasági protokollok, választottbíróság

A véletlen számok szerepét a játékiparban nehéz túlbecsülni. Az explicit felhasználás az online kaszinókban és az implicit felhasználás a játékosok akcióinak hatásainak kiszámításakor mind rendkívül nehéz problémát jelentenek a decentralizált hálózatok számára, ahol nincs mód a véletlenszerűség központi forrására hagyatkozni. De a véletlenszerű kiválasztás számos gazdasági problémát is megoldhat, és segíthet egyszerűbb és hatékonyabb protokollok felépítésében. Tegyük fel, hogy protokollunkban viták vannak néhány olcsó szolgáltatás fizetésével kapcsolatban, és ezek a viták meglehetősen ritkán fordulnak elő. Ebben az esetben, ha van vitathatatlan PVRB, a vásárlók és az eladók megegyezhetnek abban, hogy a vitákat véletlenszerűen, de adott valószínűséggel rendezik. Például 60%-os valószínűséggel az ügyfél nyer, és 40%-os valószínűséggel az eladó nyer. Ez az első szempontból abszurd megközelítés lehetővé teszi a viták automatikus rendezését a nyerések/veszteségek pontosan kiszámítható hányadával, ami mindkét félnek megfelel harmadik fél részvétele és felesleges időveszteség nélkül. Ezenkívül a valószínűségi arány dinamikus lehet, és néhány globális változótól függ. Például, ha egy vállalat jól megy, alacsony a viták száma és magas a jövedelmezősége, akkor a vállalat automatikusan eltolja a vita megoldásának valószínűségét az ügyfélközpontúság felé, például 70/30 vagy 80/20, és fordítva, ha a viták sok pénzt igényelnek, és csalók vagy nem megfelelőek, akkor a valószínűséget a másik irányba tolhatja el.

Számos érdekes decentralizált protokoll, mint például a token kurált nyilvántartások, előrejelzési piacok, kötési görbék és sok más olyan gazdasági játék, amelyben a jó viselkedést jutalmazzák, a rossz viselkedést pedig büntetik. Gyakran olyan biztonsági problémákat tartalmaznak, amelyeknél a védelmek ütköznek egymással. Ami védve van a több milliárd tokennel rendelkező „bálnák” támadásától („nagy tét”), az sebezhető a több ezer kis egyenleggel rendelkező számlák támadásaival szemben („sybil tét”), és az egyetlen támadás ellen hozott intézkedésekkel szemben, mint pl. a lineáris díjakat, amelyeket azért hoztak létre, hogy a nagy téttel való munkát veszteségessé tegyék, általában egy másik támadás hiteltelenné teszi. Mivel gazdasági játékról beszélünk, a megfelelő statisztikai súlyokat előre ki lehet számítani, és a jutalékokat egyszerűen kicserélni a megfelelő eloszlású véletlenszerűekre. Az ilyen valószínűségi jutalékokat rendkívül egyszerűen hajtják végre, ha a blokklánc megbízható véletlenszerű forrással rendelkezik, és nem igényel bonyolult számításokat, ami megnehezíti mind a bálnák, mind a szibilek életét.
Ugyanakkor továbbra is emlékeznünk kell arra, hogy egyetlen bit feletti irányítás ebben a véletlenszerűségben lehetővé teszi a csalást, csökkentve és felére növelve a valószínűségeket, így az őszinte PVRB az ilyen protokollok legfontosabb összetevője.

Hol lehet megtalálni a megfelelő véletlenszerűséget?

Elméletileg a decentralizált hálózatokban a tisztességes véletlenszerű kiválasztás szinte minden protokollt bizonyíthatóan biztonságossá tesz az összejátszás ellen. Az indoklás meglehetősen egyszerű - ha a hálózat egyetlen 0 vagy 1 bitben megegyezik, és a résztvevők kevesebb mint fele tisztességtelen, akkor elegendő iteráció mellett a hálózat fix valószínűséggel garantáltan konszenzusra jut ezen a biten. Egyszerűen azért, mert egy őszinte véletlen az esetek 51%-ában 100 résztvevőből 51-et választ ki. De ez elméletben van, mert... valós hálózatokban a cikkekben szereplő biztonsági szint biztosítása érdekében sok üzenetre van szükség a gazdagépek között, összetett többutas titkosításra van szükség, és a protokoll bármilyen komplikációja azonnal új támadási vektorokat ad hozzá.
Éppen ezért a blokkláncokban még nem látunk olyan, bizonyítottan ellenálló PVRB-t, amelyet elég ideig használtak volna ahhoz, hogy valódi alkalmazások, többszörös auditok, terhelések, és persze valódi támadások is teszteljék, ami nélkül nehezen hívható a termék valóban biztonságos.

Azonban több ígéretes megközelítés is létezik, amelyek sok részletben különböznek egymástól, és egyikük biztosan megoldja a problémát. A modern számítástechnikai erőforrásokkal a kriptográfiai elmélet meglehetősen ügyesen lefordítható gyakorlati alkalmazásokra. A jövőben szívesen beszélünk a PVRB implementációkról: ma már több is van belőlük, mindegyiknek megvan a maga fontos tulajdonságai és megvalósítási jellemzői, és mindegyik mögött ott van egy jó ötlet. Nem sok csapat vesz részt a randomizálásban, és mindegyikük tapasztalata mindenki más számára rendkívül fontos. Reméljük, hogy információink lehetővé teszik a többi csapat számára, hogy gyorsabban haladjanak, figyelembe véve az elődök tapasztalatait.

Forrás: will.com

Hozzászólás