{"id":31729,"date":"2019-10-31T21:42:44","date_gmt":"2019-10-31T18:42:44","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\/"},"modified":"2019-10-31T21:42:44","modified_gmt":"2019-10-31T18:42:44","slug":"sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","title":{"rendered":"Slumptal och decentraliserade n\u00e4tverk: praktisk till\u00e4mpning","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h2 id=\"vvedenie\">Introduktion<\/h2>\n<p><\/p>\n<p><em>\u00abGenerering av slumpm\u00e4ssiga tal \u00e4r f\u00f6r viktig f\u00f6r att \u00f6verl\u00e5tas \u00e5t slumpen\u00bb<\/em><br \/>\n<em>Robert Cavyu, 1970<\/em><\/p>\n<p><\/p>\n<p>Denna artikel handlar om praktisk till\u00e4mpning av l\u00f6sningar som utnyttjar kollektiv generering av slumpm\u00e4ssiga tal i en otillf\u00f6rlitlig milj\u00f6. Kort sagt, hur och varf\u00f6r slump anv\u00e4nds i blockkedjor, samt lite om hur man skiljer en \"bra\" slump fr\u00e5n en \"d\u00e5lig\". Att generera ett verkligt slumpm\u00e4ssigt tal \u00e4r en mycket sv\u00e5r utmaning \u00e4ven p\u00e5 en enskild dator och har l\u00e4nge studerats av kryptografer. I decentraliserade n\u00e4tverk blir genereringen av slumpm\u00e4ssiga tal \u00e4nnu mer komplicerad och viktig.<\/p>\n<p><\/p>\n<p>I n\u00e4tverk d\u00e4r deltagarna inte litar p\u00e5 varandra m\u00f6jligg\u00f6r m\u00f6jligheten att generera ett oemots\u00e4gbart slumpm\u00e4ssigt tal att effektivt l\u00f6sa m\u00e5nga viktiga uppgifter och avsev\u00e4rt f\u00f6rb\u00e4ttra redan existerande system. Faktum \u00e4r att spel och lotterier inte \u00e4r det fr\u00e4msta m\u00e5let h\u00e4r, som en ovetande l\u00e4sare f\u00f6rst kan tro.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"generaciya-sluchaynyh-chisel\">Generering av slumpm\u00e4ssiga tal<\/h2>\n<p><\/p>\n<p>Datorer kan inte sj\u00e4lva generera slumpm\u00e4ssiga tal, de beh\u00f6ver hj\u00e4lp utifr\u00e5n. En dator kan f\u00e5 ett visst slumpm\u00e4ssigt v\u00e4rde genom exempelvis musr\u00f6relser, m\u00e4ngden anv\u00e4nda minnen, parasitiska str\u00f6mmar p\u00e5 mikroprocessorkontakterna och m\u00e5nga andra k\u00e4llor, kallade entropik\u00e4llor. Dessa v\u00e4rden \u00e4r inte helt slumpm\u00e4ssiga, eftersom de ligger inom ett visst intervall eller har en f\u00f6ruts\u00e4gbar karakt\u00e4r av f\u00f6r\u00e4ndringar. F\u00f6r att omvandla s\u00e5dana tal till verkligt slumpm\u00e4ssiga numer i ett givet intervall anv\u00e4nds kryptotransformationer, f\u00f6r att f\u00e5 j\u00e4mnf\u00f6rdelade pseudorandomv\u00e4rden fr\u00e5n oj\u00e4mt f\u00f6rdelade v\u00e4rden av entropik\u00e4llor. De erh\u00e5llna v\u00e4rdena kallas pseudorandomv\u00e4rden, eftersom de inte \u00e4r verkligt slumpm\u00e4ssiga, utan deterministiskt producerade fr\u00e5n entropin. En bra kryptovalgs algoritm, genom att kryptera data, producerar chiffertext som statistiskt b\u00f6r vara odifferentierbar fr\u00e5n en slumpm\u00e4ssig sekvens, s\u00e5 att f\u00f6r att producera slump, kan man ta en entropik\u00e4lla som bara ger bra of\u00f6ruts\u00e4gbarhet och o\u00e5terkalleliga v\u00e4rden \u00e4ven inom sm\u00e5 intervall, den resterande delen av arbetet att sprida och blanda bitarna i det resultatande v\u00e4rdet tar sig sj\u00e4lv krypteringsalgoritmen.<\/p>\n<p><\/p>\n<p>F\u00f6r att avsluta den korta genomg\u00e5ngen, vill jag l\u00e4gga till att generering av slumpm\u00e4ssiga tal, \u00e4ven p\u00e5 en enda enhet, \u00e4r en av h\u00f6rnstenarna f\u00f6r att s\u00e4kerst\u00e4lla s\u00e4kerheten f\u00f6r v\u00e5ra data. De genererade pseudorandomtalen anv\u00e4nds vid uppr\u00e4ttande av s\u00e4kra anslutningar i olika n\u00e4tverk, f\u00f6r att generera kryptografiska nycklar, f\u00f6r lastbalansering, integritetskontroll och f\u00f6r m\u00e5nga andra till\u00e4mpningar. S\u00e4kerheten f\u00f6r m\u00e5nga protokoll beror p\u00e5 m\u00f6jligheten att generera en p\u00e5litlig, of\u00f6ruts\u00e4gbar slump fr\u00e5n externa k\u00e4llor, bevara den och inte avsl\u00f6ja den till n\u00e4sta steg i protokollet, annars riskeras s\u00e4kerheten. En attack p\u00e5 generatorn f\u00f6r pseudorandomv\u00e4rden \u00e4r extremt farlig och s\u00e4tter i fara all programvara som anv\u00e4nder slumpgenerering. <\/p>\n<p><\/p>\n<p>Allt detta b\u00f6r ni veta om ni har genomg\u00e5tt en grundkurs i kryptografi, s\u00e5 l\u00e5t oss forts\u00e4tta med decentraliserade n\u00e4tverk.<\/p>\n<p><\/p>\n<h2 id=\"random-v-blokcheynah\">Slumpar i blockkedjor<\/h2>\n<p><\/p>\n<p>F\u00f6rst och fr\u00e4mst kommer jag att prata om blockkedjor som st\u00f6der smarta kontrakt, eftersom de kan utnyttja de m\u00f6jligheter som kvalitativ och of\u00f6r\u00e4nderlig slump erbjuder. F\u00f6r att vara kort kommer jag att kalla denna teknik \"<em>Offentligt Verifierbara Slumptalssignaler<\/em>\" eller PVRB. Eftersom blockkedjor \u00e4r n\u00e4tverk d\u00e4r information kan verifieras av varje deltagare, \u00e4r en nyckelkomponent i namnet \"Offentligt Verifierbar\", vilket inneb\u00e4r att vem som helst kan genom ber\u00e4kningar f\u00e5 bevis p\u00e5 att det erh\u00e5llna talet, som publicerats i blockkedjan, har f\u00f6ljande egenskaper:<\/p>\n<p><\/p>\n<ul>\n<li>Resultatet m\u00e5ste ha ett bevisligen j\u00e4mnt f\u00f6rdelat resultat, dvs baserat p\u00e5 bevisligen s\u00e4ker kryptografi. <\/li>\n<li>Ingen bit av resultatet kan kontrolleras. Som en f\u00f6ljd kan resultatet inte f\u00f6ruts\u00e4gas i f\u00f6rv\u00e4g.<\/li>\n<li>Protokollet f\u00f6r generation f\u00e5r inte saboteras genom att inte delta i protokollet eller genom att \u00f6verbelasta n\u00e4tverket med attackerande meddelanden.<\/li>\n<li>Allt ovanst\u00e5ende m\u00e5ste vara motst\u00e5ndskraftigt mot sammansv\u00e4rjningar av ett till\u00e5tet antal o\u00e4rliga deltagare i protokollet (t.ex. 1\/3 av deltagarna).<\/li>\n<\/ul>\n<p><\/p>\n<p>Vilken som helst m\u00f6jlighet f\u00f6r en sammansvuren minoritetsgrupp att generera \u00e4ven kontrollerad j\u00e4mn\/udde randomisering \u00e4r ett s\u00e4kerhetsh\u00e5l. Vilken som helst m\u00f6jlighet f\u00f6r gruppen att stoppa utf\u00e4rdandet av randomisering \u00e4r ett s\u00e4kerhetsh\u00e5l. Sammanfattningsvis finns det m\u00e5nga problem, och den h\u00e4r uppgiften \u00e4r inte l\u00e4tt...<\/p>\n<p><\/p>\n<p>Det verkar som att den mest betydelsefulla till\u00e4mpningen f\u00f6r PVRB \u00e4r olika spel, lotterier och generellt sett alla former av gambling p\u00e5 blockkedjan. Verkligen, detta \u00e4r en viktig riktning, men det finns ocks\u00e5 viktigare till\u00e4mpningar f\u00f6r slumpar i blockkedjor. L\u00e5t oss titta p\u00e5 dem.<\/p>\n<p><\/p>\n<h2 id=\"algoritmy-konsensusa\">Konsensusalgoritmer<\/h2>\n<p><\/p>\n<p>PVRB f\u00f6r att organisera n\u00e4tverkskonsensus spelar en stor roll. Transaktioner i blockkedjor \u00e4r skyddade av elektroniska signaturer, s\u00e5 en \"attack p\u00e5 en transaktion\" inneb\u00e4r alltid att inkludera\/exkludera en transaktion i en block (eller flera block). Huvuduppgiften f\u00f6r konsensusalgoritmen \u00e4r att enas om ordningen av dessa transaktioner och ordningen p\u00e5 blocken som inneh\u00e5ller dessa transaktioner. Ett n\u00f6dv\u00e4ndigt k\u00e4nnetecken f\u00f6r riktiga blockkedjor \u00e4r finalitet \u2014 m\u00f6jligheten f\u00f6r n\u00e4tverket att enas om att kedjan fram till det finaliserade blocket \u00e4r slutgiltig och aldrig kommer att exkluderas p\u00e5 grund av en ny fork. Vanligtvis kr\u00e4vs det att samla in signaturer fr\u00e5n majoriteten av blockproducenterna (nedan BP \u2014 block-producers) f\u00f6r att enas om att ett block \u00e4r giltigt och, viktigast av allt, finalt, vilket kr\u00e4ver att blockkedjan levereras till alla BP och signaturerna sprids mellan alla BP. N\u00e4r antalet BP \u00f6kar v\u00e4xer antalet n\u00f6dv\u00e4ndiga meddelanden i n\u00e4tverket exponentiellt, d\u00e4rf\u00f6r fungerar konsensusalgoritmer som kr\u00e4ver finalitet, som till exempel i pBFT-konsensus i Hyperledger, inte med den n\u00f6dv\u00e4ndiga hastigheten, redan fr\u00e5n bara ett par dussin BP, vilket kr\u00e4ver ett stort antal anslutningar. <\/p>\n<p><\/p>\n<p>Om det finns en obestridlig och \u00e4rlig PVRB i n\u00e4tverket kan vi, \u00e4ven i den enklaste approximationen, basera oss p\u00e5 den f\u00f6r att v\u00e4lja en av blockproducenterna och utse denne till \"ledare\" under en runda av protokollet. Om vi har <code>N<\/code> block producers, varav <code>M: M &gt; 1\/2 N<\/code> \u00e4r \u00e4rliga, inte censurerar transaktioner och inte bygger forks av kedjan f\u00f6r att genomf\u00f6ra en \"double spend\"-attack, s\u00e5 kommer anv\u00e4ndningen av en j\u00e4mnt f\u00f6rdelad obestridlig PVRB m\u00f6jligg\u00f6ra att v\u00e4lja en \u00e4rlig ledare med sannolikheten <code>M \/ N (M \/ N &gt; 1\/2)<\/code>. Om varje ledare tilldelas sin egen tidsperiod, under vilken de kan skapa en block och validera kedjan, och dessa perioder \u00e4r lika i tid, kommer kedjan med \u00e4rliga BP att vara l\u00e4ngre \u00e4n kedjan som skapats av illasinnade BP, och konsensusalgoritmen, som f\u00f6rlitar sig p\u00e5 kedjans l\u00e4ngd, kommer helt enkelt att avvisa den \"d\u00e5liga\". Detta princip att tilldela lika tidskvantiteter till varje BP till\u00e4mpades f\u00f6rst i Graphene (f\u00f6reg\u00e5ngaren till EOS) och m\u00f6jligg\u00f6r att de flesta block st\u00e4ngs med en enda signatur, vilket kraftigt minskar n\u00e4tverksbelastningen och g\u00f6r att denna konsensus kan fungera extremt snabbt och stabilt. \u00c4nd\u00e5 tvingas EOS-n\u00e4ten just nu anv\u00e4nda speciella block (Last Irreversible Block), som bekr\u00e4ftas med signaturer fr\u00e5n 2\/3 BP. Dessa block anv\u00e4nds f\u00f6r att s\u00e4kerst\u00e4lla slutlighet (omedelbarhet i att f\u00f6rhindra en kedjegaffel som b\u00f6rjar tidigare \u00e4n den senaste Last Irreversible Block).<\/p>\n<p><\/p>\n<p>I praktiska implementationer \u00e4r protokollschemat mer komplicerat - omr\u00f6stning om f\u00f6reslagna block genomf\u00f6rs i flera steg f\u00f6r att st\u00f6dja n\u00e4tverksdrift i fall av blockmissar och n\u00e4tverksproblem, men \u00e4ven med detta, kr\u00e4ver konsensusalgoritmer som anv\u00e4nder PVRB avsev\u00e4rt f\u00e4rre meddelanden mellan BP, vilket g\u00f6r dem snabbare \u00e4n traditionell P\u0412FT eller olika av dess modifieringar.<\/p>\n<p><\/p>\n<p>Den mest framtr\u00e4dande representanten f\u00f6r s\u00e5dana algoritmer: <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2016\/889.pdf\">Ouroboros<\/a><\/noindex> fr\u00e5n Cardano-teamet, som, som meddelats, har en matematiskt bevisad motst\u00e5ndskraft mot konspirationer bland BP. <\/p>\n<p><\/p>\n<p>I Ouroboros anv\u00e4nds PVRB f\u00f6r att best\u00e4mma den s\u00e5 kallade \"BP-schemat\" - ett schema enligt vilket varje BP tilldelas sin tidslucka f\u00f6r publicering av blocket. En stor f\u00f6rdel med att anv\u00e4nda PVRB \u00e4r den fullst\u00e4ndiga \"likv\u00e4rdigheten\" f\u00f6r BP (enligt storleken p\u00e5 deras saldon). R\u00e4ttvisan i PVRB garanterar att illasinnade BP inte kan kontrollera schemat f\u00f6r tidsluckor och d\u00e4rf\u00f6r inte kan manipulera kedjan genom att i f\u00f6rv\u00e4g f\u00f6rbereda och analysera gafflar i kedjan, och f\u00f6r att v\u00e4lja en gaffel r\u00e4cker det med att f\u00f6rlita sig p\u00e5 kedjans l\u00e4ngd utan att anv\u00e4nda komplicerade metoder f\u00f6r att ber\u00e4kna \"nyttan\" av BP och \"vikten\" av dess block. <\/p>\n<p><\/p>\n<p>I de flesta fall d\u00e4r en decentraliserad n\u00e4tverk m\u00e5ste v\u00e4lja en slumpm\u00e4ssig deltagare \u00e4r PVRB n\u00e4stan alltid det b\u00e4sta valet, snarare \u00e4n en deterministisk variant baserad p\u00e5 till exempel blockets hash. Utan PVRB kan m\u00f6jligheten att p\u00e5verka valet av deltagare leda till attacker d\u00e4r en angripare, genom att v\u00e4lja mellan olika framtidsscenarier, kan v\u00e4lja n\u00e4sta korrumperade deltagare eller flera samtidigt f\u00f6r att s\u00e4kerst\u00e4lla en st\u00f6rre andel i beslutsprocessen. Anv\u00e4ndningen av PVRB diskrediterar dessa typer av attacker.<\/p>\n<p><\/p>\n<h2 id=\"masshtabirovanie-i-balansirovka-nagruzki\">Skalning och belastningsutj\u00e4mning<\/h2>\n<p><\/p>\n<p>PVRB kan ocks\u00e5 ge betydande f\u00f6rdelar i uppgifter som minskar belastningen och skalar betalningar. Till att b\u00f6rja med \u00e4r det meningsfullt att bekanta sig med <noindex><a rel=\"nofollow\" href=\"https:\/\/people.csail.mit.edu\/rivest\/pubs\/Riv97b.pdf\">artikeln<\/a><\/noindex> Rivistas \"Electronic Lottery Tickets as Micropayments\". Den grundl\u00e4ggande id\u00e9n \u00e4r att ist\u00e4llet f\u00f6r att g\u00f6ra 100 betalningar om 1c fr\u00e5n betalaren till mottagaren kan man spela en r\u00e4ttvis lotteri med ett pris p\u00e5 1$ = 100c, d\u00e4r betalaren vid varje betalning om 1c \u00f6verf\u00f6r en av sina 100 \"lotteribiljetter\" till banken. En av dessa biljetter vinner banken 1$, och det \u00e4r just denna biljett som mottagaren kan registrera i blockkedjan. Det viktigaste \u00e4r att de andra 99 biljetterna \u00f6verf\u00f6rs mellan mottagaren och betalaren utan n\u00e5got externt deltagande, via en privat kanal och i vilken hastighet som helst. En bra beskrivning av protokollet baserat p\u00e5 detta schema i Emercoin-n\u00e4tverket kan l\u00e4sas <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@emer.tech\/randpay-6a028f16c82a\">h\u00e4r<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>Detta schema har flera problem, till exempel att mottagaren kan sluta betj\u00e4na betalaren precis efter att ha f\u00e5tt den vinnande biljetten, men f\u00f6r m\u00e5nga specifika till\u00e4mpningar, s\u00e5som minutpriss\u00e4ttning eller elektroniska prenumerationer p\u00e5 tj\u00e4nster, kan de ignoreras. Det fr\u00e4msta kravet \u00e4r naturligtvis \u00e4rlighet i den genomf\u00f6rda lotteriet, och f\u00f6r att genomf\u00f6ra detta kr\u00e4vs PVRB.<\/p>\n<p><\/p>\n<p>Valet av en slumpm\u00e4ssig deltagare \u00e4r ocks\u00e5 avg\u00f6rande f\u00f6r shard-protokoll, vars syfte \u00e4r att m\u00f6jligg\u00f6ra horisontell skalning av blockkedjan, vilket g\u00f6r att olika BP endast kan bearbeta sitt eget transaktionsomr\u00e5de. Detta \u00e4r en mycket komplex uppgift, s\u00e4rskilt n\u00e4r det g\u00e4ller s\u00e4kerhet vid sammanslagning av shards. R\u00e4ttvist val av slumpm\u00e4ssig BP f\u00f6r att utse ansvariga f\u00f6r en specifik shard, precis som i konsensusalgoritmer, \u00e4r ocks\u00e5 en uppgift f\u00f6r PVRB. I centraliserade system tilldelas shards av lastbalanseraren, som helt enkelt ber\u00e4knar en hash fr\u00e5n beg\u00e4ran och skickar den till den n\u00f6dv\u00e4ndiga utf\u00f6raren. I blockkedjor kan m\u00f6jligheten att p\u00e5verka denna tilldelning leda till en attack p\u00e5 konsensus. Till exempel kan inneh\u00e5llet i transaktioner kontrolleras av angriparen, som kan styra vilka transaktioner som g\u00e5r in i den kontrollerade sharden och manipulera blockkedjan d\u00e4r. Diskussioner om anv\u00e4ndning av slumpm\u00e4ssiga tal f\u00f6r sharding-problem i Ethereum kan l\u00e4sas. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ethereum\/wiki\/wiki\/Sharding-FAQ#how-is-the-randomness-for-random-sampling-generated\">h\u00e4r<\/a><\/noindex><br \/>\nSharding \u00e4r en av de mest ambiti\u00f6sa och seri\u00f6sa uppgifterna inom blockkedjan, och dess l\u00f6sning kommer att m\u00f6jligg\u00f6ra skapandet av decentraliserade n\u00e4tverk med fantastisk prestanda och kapacitet. PVRB \u00e4r endast en av de viktiga byggstenarna f\u00f6r denna l\u00f6sning.<\/p>\n<p><\/p>\n<h2 id=\"igry-ekonomicheskie-protokoly-arbitrazh\">Spel, ekonomiska protokoll, arbitragel<\/h2>\n<p><\/p>\n<p>Det \u00e4r sv\u00e5rt att \u00f6verskatta rollen av slumpm\u00e4ssiga tal i spelindustrin. Deras uppenbara anv\u00e4ndning i onlinekasinon, och den mer subtila anv\u00e4ndningen vid ber\u00e4kning av effekterna av olika spelares handlingar \u2014 allt detta \u00e4r extremt komplexa problem f\u00f6r decentraliserade n\u00e4tverk, d\u00e4r man inte kan f\u00f6rlita sig p\u00e5 en central k\u00e4lla till slumpm\u00e4ssighet. Men, en slumpm\u00e4ssig val kan ocks\u00e5 l\u00f6sa m\u00e5nga ekonomiska problem och hj\u00e4lpa till att bygga enklare och effektivare protokoll. Anta att det finns tvister i v\u00e5rt protokoll ang\u00e5ende betalning av billigare tj\u00e4nster, och dessa tvister intr\u00e4ffar ganska s\u00e4llan. I detta fall, om det finns en obestridlig PVRB, kan kunder och s\u00e4ljare komma \u00f6verens om att l\u00f6sa tvister slumpm\u00e4ssigt, men med en viss sannolikhet. Till exempel, med en sannolikhet p\u00e5 60% vinner kunden, medan s\u00e4ljaren vinner med en sannolikhet p\u00e5 40%. Denna till synes absurda metod g\u00f6r det m\u00f6jligt att automatiskt l\u00f6sa tvister med en exakt f\u00f6ruts\u00e4gbar andel vinster\/f\u00f6rluster, vilket \u00e4r tillfredsst\u00e4llande f\u00f6r b\u00e5da parter utan att involvera en tredje part och utan on\u00f6dig tidsf\u00f6rlust. Dessutom kan sannolikhetsf\u00f6rh\u00e5llandet vara dynamiskt och bero p\u00e5 vissa globala variabler. Till exempel, om ett f\u00f6retag g\u00e5r bra, och antalet tvister \u00e4r l\u00e5g samt avkastningen h\u00f6g, kan f\u00f6retaget automatiskt justera sannolikheten f\u00f6r tvister mot kundernas intressen, till exempel 70\/30 eller 80\/20, och vice versa, om tvister kostar mycket och \u00e4r bedr\u00e4gliga eller irrationella, kan man justera sannolikheten \u00e5t motsatt h\u00e5ll.<\/p>\n<p><\/p>\n<p>Ett stort antal intressanta decentraliserade protokoll, s\u00e5som token curerat registreringar, predictionsmarknader, bonding curves och m\u00e5nga andra, utg\u00f6r ekonomiska spel d\u00e4r bra beteende bel\u00f6nas och d\u00e5ligt beteende bestraffas. De har ofta s\u00e4kerhetsproblem, vars skydd st\u00e5r i konflikt med varandra. Det som \u00e4r skyddat mot attacker fr\u00e5n \"valar\" med miljarder tokens (\"big stake\") \u00e4r s\u00e5rbart f\u00f6r attacker fr\u00e5n tusentals konton med sm\u00e5 saldon (\"sybil stake\"), och \u00e5tg\u00e4rder som vidtas mot en attack, till exempel icke-linj\u00e4ra avgifter, skapade f\u00f6r att g\u00f6ra det ol\u00f6nsamt f\u00f6r stora insatser, diskrediteras vanligtvis av en annan attack. Eftersom det handlar om ett ekonomiskt spel kan de relevanta statistiska vikterna ber\u00e4knas i f\u00f6rv\u00e4g och helt enkelt ers\u00e4tta avgifter med randomiserade med motsvarande f\u00f6rdelning. S\u00e5dana sannolikhetsavgifter implementeras extremt enkelt om det finns en p\u00e5litlig k\u00e4lla f\u00f6r slump i blockchain och kr\u00e4ver inga komplicerade ber\u00e4kningar, vilket f\u00f6rsv\u00e5rar livet f\u00f6r b\u00e5de valar och sybiler.<br \/>\nDet \u00e4r viktigt att komma ih\u00e5g att kontroll \u00f6ver en enda bit i denna slump g\u00f6r att man kan fuska genom att minska och \u00f6ka sannolikheterna dubbelt, s\u00e5 en \u00e4rlig PVRB \u00e4r en avg\u00f6rande komponent i s\u00e5dana protokoll. <\/p>\n<p><\/p>\n<h2 id=\"gde-nayti-pravilnyy-random\">Var hittar man r\u00e4tt slump?<\/h2>\n<p><\/p>\n<p>I teorin m\u00f6jligg\u00f6r \u00e4rligt slumpval i decentraliserade n\u00e4tverk bevisbar s\u00e4kerhet f\u00f6r n\u00e4stan vilket protokoll som helst mot samverkan. Motiveringen \u00e4r ganska enkel \u2013 om n\u00e4tverket enas om en bit, 0 eller 1, och f\u00e4rre \u00e4n h\u00e4lften av deltagarna \u00e4r o\u00e4rliga, s\u00e5 kommer n\u00e4tverket, vid tillr\u00e4ckligt antal iterationer, garanterat att n\u00e5 konsensus om denna bit med en fast sannolikhet. Enbart f\u00f6r att den \u00e4rliga slumpen kommer att v\u00e4lja 51 av 100 deltagare i 51% av fallen. Men detta \u00e4r i teorin, eftersom verkliga n\u00e4tverk, f\u00f6r att uppn\u00e5 en s\u00e5dan s\u00e4kerhetsniv\u00e5 som artiklarna beskriver, kr\u00e4ver m\u00e5nga meddelanden mellan v\u00e4rdar, komplicerad flerstegs-kryptografi, och varje komplikation av protokollet l\u00e4gger genast till nya angreppsvinklar.<br \/>\nD\u00e4rf\u00f6r ser vi f\u00f6r n\u00e4rvarande inte en bevisligen robust PVRB i blockkedjor, som har anv\u00e4nts tillr\u00e4ckligt l\u00e4nge f\u00f6r att klara tester av verkliga applikationer, flera revisioner, belastningar och naturligtvis verkliga attacker, utan vilka det \u00e4r sv\u00e5rt att kalla en produkt verkligt s\u00e4ker.<\/p>\n<p><\/p>\n<p>Det finns emellertid flera lovande tillv\u00e4gag\u00e5ngss\u00e4tt som skiljer sig \u00e5t i m\u00e5nga detaljer, och n\u00e5got av dem kommer definitivt att l\u00f6sa problemet. Med de moderna ber\u00e4kningsresurserna kan kryptografisk teori ganska smidigt omvandlas till praktiska till\u00e4mpningar. Fram\u00f6ver kommer vi g\u00e4rna att ber\u00e4tta om implementationer av PVRB: det finns flera just nu, var och en med sina egna viktiga egenskaper och funktioner, och bakom varje st\u00e5r en bra id\u00e9. Det \u00e4r inte m\u00e5nga team som arbetar med slumpm\u00e4ssighet, och erfarenheten hos varje av dem \u00e4r extremt viktig f\u00f6r alla andra. Vi hoppas att v\u00e5r information kommer att hj\u00e4lpa andra team att bli snabbare med tanke p\u00e5 tidigare erfarenheter.<\/p>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/448330\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u043d\u0435\u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0439 \u0441\u0440\u0435\u0434\u0435. \u0415\u0441\u043b\u0438 \u043a\u0440\u0430\u0442\u043a\u043e \u2014 \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u043d\u0434\u043e\u043c \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430\u0445, \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e \u0442\u043e, \u043a\u0430\u043a \u043e\u0442\u043b\u0438\u0447\u0438\u0442\u044c \u201c\u0445\u043e\u0440\u043e\u0448\u0438\u0439\u201d \u0440\u0430\u043d\u0434\u043e\u043c \u043e\u0442 \u201c\u043f\u043b\u043e\u0445\u043e\u0433\u043e\u201d. \u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31729","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:42:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:42:44+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Slumptal och decentraliserade n\u00e4tverk: praktisk till\u00e4mpning | ProHoster","description":"Introduktion \"Generering av slumpm\u00e4ssiga tal \u00e4r f\u00f6r viktigt f\u00f6r att l\u00e4mnas \u00e5t slumpen\" Robert Cavyou, 1970 Denna artikel handlar om praktisk till\u00e4mpning.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0442\u0438: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u00ab\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u0430\u0436\u043d\u0430, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0451 \u043d\u0430 \u0432\u043e\u043b\u044e \u0441\u043b\u0443\u0447\u0430\u044f\u00bb \u0420\u043e\u0431\u0435\u0440\u0442 \u041a\u0430\u0432\u044c\u044e, 1970 \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044e.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-prakticheskoe-primenenie","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:42:44+00:00","article:modified_time":"2019-10-31T18:42:44+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31729","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 07:32:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:04:45","updated":"2026-01-21 07:32:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/31729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=31729"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/31729\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=31729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=31729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=31729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}