{"id":95468,"date":"2020-09-29T19:42:29","date_gmt":"2020-09-29T17:42:29","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1"},"modified":"2020-09-29T19:42:29","modified_gmt":"2020-09-29T17:42:29","slug":"mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1","title":{"rendered":"Lehet-e v\u00e9letlensz\u00e1mokat gener\u00e1lni, ha nem b\u00edzunk egym\u00e1sban? 1. r\u00e9sz","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hell\u00f3, Habr!<\/p>\n<p>Ebben a cikkben a r\u00e9sztvev\u0151k \u00e1ltal gener\u00e1lt pszeudo-v\u00e9letlensz\u00e1mokr\u00f3l fogok besz\u00e9lni, akik nem b\u00edznak egym\u00e1sban. Ahogy al\u00e1bb l\u00e1thatjuk, egy \u201emajdnem\u201d j\u00f3 gener\u00e1tor megval\u00f3s\u00edt\u00e1sa el\u00e9g egyszer\u0171, m\u00edg egy igaz\u00e1n j\u00f3 gener\u00e1tor megalkot\u00e1sa m\u00e1r neh\u00e9z.<\/p>\n<p>Mi\u00e9rt is kellene v\u00e9letlenszer\u0171 sz\u00e1mokat gener\u00e1lniuk egym\u00e1sra nem b\u00edzhat\u00f3 r\u00e9sztvev\u0151knek? Az egyik alkalmaz\u00e1si ter\u00fclet a decentraliz\u00e1lt alkalmaz\u00e1sok. P\u00e9ld\u00e1ul egy olyan alkalmaz\u00e1s, amely egy r\u00e9sztvev\u0151t\u0151l fogad el t\u00e9tet, \u00e9s 49% es\u00e9llyel megdupl\u00e1zza az \u00f6sszeget, vagy 51% es\u00e9llyel elveszi, csak akkor m\u0171k\u00f6dik, ha k\u00e9pes p\u00e1rtatlanul v\u00e9letlenszer\u0171 sz\u00e1mot kapni. Ha egy t\u00e1mad\u00f3 befoly\u00e1solni tudja a v\u00e9letlensz\u00e1m-gener\u00e1tor m\u0171k\u00f6d\u00e9s\u00e9t \u00e9s m\u00e9g a lehet\u0151s\u00e9geit is kism\u00e9rt\u00e9kben n\u00f6velni tudja a kifizet\u00e9s megszerz\u00e9s\u00e9re az alkalmaz\u00e1sban, k\u00f6nnyen ki\u00fcr\u00edtheti azt.<\/p>\n<p>Amikor elosztott protokollt fejleszt\u00fcnk v\u00e9letlensz\u00e1mok gener\u00e1l\u00e1s\u00e1ra, szeretn\u00e9nk, ha h\u00e1rom tulajdons\u00e1got teljes\u00edtene:<\/p>\n<ol>\n<li>\n<p>P\u00e1rtatlannak kell lennie. M\u00e1s sz\u00f3val, egyik r\u00e9sztvev\u0151 sem befoly\u00e1solhatja a v\u00e9letlensz\u00e1m-gener\u00e1tor eredm\u00e9ny\u00e9t.<\/p>\n<\/li>\n<li>\n<p>Megj\u00f3solhatatlannak kell lennie. M\u00e1s sz\u00f3val, egyik r\u00e9sztvev\u0151 sem tudhatja el\u0151re, hogy milyen sz\u00e1mot fognak gener\u00e1lni (vagy b\u00e1rmely tulajdons\u00e1g\u00e1t) a gener\u00e1l\u00e1s el\u0151tt.<\/p>\n<\/li>\n<li>\n<p>A protokollnak \u00e9letk\u00e9pesnek kell lennie, azaz ellen\u00e1ll\u00f3nak annak, hogy a r\u00e9sztvev\u0151k egy r\u00e9sze desconect\u00e1ljon a h\u00e1l\u00f3zatb\u00f3l, vagy sz\u00e1nd\u00e9kosan megpr\u00f3b\u00e1lja le\u00e1ll\u00edtani a protokollt.<\/p>\n<\/li>\n<\/ol>\n<p>Ebben a cikkben k\u00e9t megk\u00f6zel\u00edt\u00e9st fogunk megvizsg\u00e1lni: RANDAO + VDF \u00e9s egy megk\u00f6zel\u00edt\u00e9s, amely a t\u00f6rl\u00e9ses k\u00f3dokon alapul. A k\u00f6vetkez\u0151 r\u00e9szben r\u00e9szletesen fogunk foglalkozni a k\u00fcsz\u00f6b al\u00e1\u00edr\u00e1sokon alapul\u00f3 megk\u00f6zel\u00edt\u00e9ssel.<\/p>\n<p>De el\u0151sz\u00f6r n\u00e9zz\u00fck meg egy egyszer\u0171 \u00e9s gyakran haszn\u00e1lt algoritmust, amely \u00e9letk\u00e9pes, megj\u00f3solhatatlan, de p\u00e1rtolt.<\/p>\n<h3>RANDAO<\/h3>\n<p>A RANDAO egy nagyon egyszer\u0171, ez\u00e9rt viszonylag gyakran haszn\u00e1lt megk\u00f6zel\u00edt\u00e9s a v\u00e9letlenszer\u0171s\u00e9g megszerz\u00e9s\u00e9re. Minden h\u00e1l\u00f3zati r\u00e9sztvev\u0151 el\u0151sz\u00f6r helyben v\u00e1laszt egy pszeudo-v\u00e9letlensz\u00e1mot, majd minden r\u00e9sztvev\u0151 elk\u00fcldi a v\u00e1lasztott sz\u00e1m hash-\u00e9t. Ezt k\u00f6vet\u0151en a r\u00e9sztvev\u0151k sorban felfedik a v\u00e1lasztott sz\u00e1maikat, \u00e9s az felfedt sz\u00e1mokon XOR m\u0171veletet v\u00e9geznek, ennek az elj\u00e1r\u00e1snak az eredm\u00e9nye pedig a protokoll m\u0171k\u00f6d\u00e9s\u00e9nek eredm\u00e9nye.<\/p>\n<p>A l\u00e9p\u00e9s a hash-ek k\u00f6zz\u00e9t\u00e9tel\u00e9vel, miel\u0151tt felfedn\u00e9nk a sz\u00e1mokat sz\u00fcks\u00e9ges, hogy a t\u00e1mad\u00f3 ne tudja kiv\u00e1lasztani a sz\u00e1m\u00e1t miut\u00e1n l\u00e1tta a t\u00f6bbi r\u00e9sztvev\u0151 sz\u00e1m\u00e1t. Ez lehet\u0151v\u00e9 tenn\u00e9 sz\u00e1m\u00e1ra, hogy gyakorlatilag egyed\u00fcl hat\u00e1rozza meg a v\u00e9letlensz\u00e1m-gener\u00e1tor kimenet\u00e9t.<\/p>\n<p>A protokoll sor\u00e1n a r\u00e9sztvev\u0151knek k\u00e9tszer kell k\u00f6z\u00f6s d\u00f6nt\u00e9sre jutniuk (\u00fagynevezett konszenzusra): mikor kezdj\u00e9k el a kiv\u00e1lasztott sz\u00e1mok felfed\u00e9s\u00e9t, \u00e9s ez\u00e1ltal mikor \u00e1lljanak le a hash-ek befogad\u00e1s\u00e1val, \u00e9s mikor fejezz\u00e9k be a kiv\u00e1lasztott sz\u00e1mok befogad\u00e1s\u00e1t, valamint sz\u00e1molj\u00e1k ki az ered\u0151 v\u00e9letlen sz\u00e1mot. Az ilyen d\u00f6nt\u00e9sek meghozatala a r\u00e9sztvev\u0151k k\u00f6z\u00f6tt, akik nem b\u00edznak egym\u00e1sban, \u00f6nmag\u00e1ban nem egyszer\u0171 feladat, \u00e9s erre a j\u00f6v\u0151beni cikkekben visszat\u00e9r\u00fcnk, ebben a cikkben felt\u00e9telezz\u00fck, hogy egy ilyen konszenzus algoritmus rendelkez\u00e9sre \u00e1ll.<\/p>\n<p>Milyen tulajdons\u00e1gai vannak a fentebb le\u00edrt RANDAO-nak? Megj\u00f3solhatatlan, ugyanakkora \u00e9leter\u0151vel b\u00edr, mint a m\u00f6g\u00f6ttes konszenzus protokoll, de elfogult. K\u00fcl\u00f6n\u00f6sen, a t\u00e1mad\u00f3 megfigyelheti a h\u00e1l\u00f3zatot, \u00e9s miut\u00e1n a t\u00f6bbi r\u00e9sztvev\u0151 felfedi a sz\u00e1m\u00e1t, kisz\u00e1m\u00edthatja azok XOR-\u00e1t, \u00e9s elhat\u00e1rozhatja, hogy felfedi-e a saj\u00e1t sz\u00e1m\u00e1t vagy sem, hogy befoly\u00e1solja az eredm\u00e9nyt. M\u00edg ez nem engedi meg a t\u00e1mad\u00f3nak, hogy egyed\u00fcl meghat\u00e1rozza a v\u00e9letlensz\u00e1m-gener\u00e1tor kimenet\u00e9t, m\u00e9gis ad neki 1 bit befoly\u00e1st. Ha pedig a t\u00e1mad\u00f3k t\u00f6bb r\u00e9sztvev\u0151t ir\u00e1ny\u00edtanak, akkor a kez\u00fckben l\u00e9v\u0151 bitek sz\u00e1ma megegyezik az \u00e1ltaluk ir\u00e1ny\u00edtott r\u00e9sztvev\u0151k sz\u00e1m\u00e1val.<\/p>\n<p><img decoding=\"async\" alt=\"Lehet-e v\u00e9letlensz\u00e1mokat gener\u00e1lni, ha nem b\u00edzunk egym\u00e1sban? 1. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/09\/4869d0c7dbc4cc8a368c2846997d6d2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>A t\u00e1mad\u00f3k befoly\u00e1s\u00e1t jelent\u0151sen cs\u00f6kkenthetj\u00fck, ha megk\u00f6vetelj\u00fck, hogy a r\u00e9sztvev\u0151k sorrendben fedj\u00e9k fel a sz\u00e1mokat. \u00cdgy a t\u00e1mad\u00f3 csak akkor tudja befoly\u00e1solni az eredm\u00e9nyt, ha \u0151 fedi fel az utols\u00f3 sz\u00e1mot. M\u00edg a befoly\u00e1s jelent\u0151sen cs\u00f6kken, a algoritmus m\u00e9g mindig elfogult.<\/p>\n<h3>RANDAO + VDF<\/h3>\n<p>Az RANDAO elfogulatlann\u00e1 t\u00e9tel\u00e9nek egyik m\u00f3dja a k\u00f6vetkez\u0151: miut\u00e1n minden sz\u00e1mot felfedtek, \u00e9s az XOR-t kisz\u00e1molt\u00e1k, az eredm\u00e9nyt be kell t\u00e1pl\u00e1lni egy olyan funkci\u00f3ba, amelynek a kisz\u00e1m\u00edt\u00e1sa nagyon sok id\u0151t vesz ig\u00e9nybe, de lehet\u0151v\u00e9 teszi az eredm\u00e9ny gyors ellen\u0151rz\u00e9s\u00e9t.<\/p>\n<pre><code>(vdf_output, vdf_proof) = VDF_compute(input) \/\/ ez nagyon lass\u00fa\ncorrect = VDF_verify(input, vdf_output, vdf_proof) \/\/ ez nagyon gyors<\/code><\/pre>\n<p>Ez a funkci\u00f3 ellen\u0151rizhet\u0151 k\u00e9sleltet\u00e9si funkci\u00f3nak, vagy VDF-nek h\u00edvj\u00e1k. Ha a v\u00e9gs\u0151 eredm\u00e9ny kisz\u00e1m\u00edt\u00e1sa tov\u00e1bb tart, mint a sz\u00e1mok felfed\u00e9s\u00e9nek szakasza, a t\u00e1mad\u00f3 nem tudja megj\u00f3solni a sz\u00e1m\u00e1nak bemutat\u00e1s\u00e1b\u00f3l vagy elrejt\u00e9s\u00e9b\u0151l sz\u00e1rmaz\u00f3 hat\u00e1st, \u00edgy elvesz\u00edti a lehet\u0151s\u00e9get, hogy befoly\u00e1solja az eredm\u00e9nyt.<\/p>\n<p>J\u00f3 VDF-ek kifejleszt\u00e9se rendk\u00edv\u00fcl neh\u00e9z. Az ut\u00f3bbi id\u0151ben t\u00f6bb \u00e1tt\u00f6r\u00e9s is t\u00f6rt\u00e9nt, p\u00e9ld\u00e1ul <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2018\/623.pdf\"><u>az<\/u><\/a><\/noindex> \u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2018\/627.pdf\"><u>ez,<\/u><\/a><\/noindex> amelyek a VDF-et gyakorlatilag alkalmazhat\u00f3bb\u00e1 tett\u00e9k, \u00e9s az Ethereum 2.0 hossz\u00fa t\u00e1von a RANDAO-t tervezi haszn\u00e1lni VDF-del v\u00e9letlensz\u00e1m-forr\u00e1sk\u00e9nt. Ezen t\u00falmen\u0151en, hogy ez a megk\u00f6zel\u00edt\u00e9s kisz\u00e1m\u00edthatatlan \u00e9s elfogulatlan, van egy tov\u00e1bbi el\u0151nye is, amely a fenntarthat\u00f3s\u00e1gb\u00f3l fakad, amennyiben legal\u00e1bb k\u00e9t r\u00e9sztvev\u0151 el\u00e9rhet\u0151 a h\u00e1l\u00f3zaton (felt\u00e9ve, hogy a haszn\u00e1lt konszenzusprotokoll \u00e9letk\u00e9pes ilyen kev\u00e9s r\u00e9sztvev\u0151 mellett).<\/p>\n<p>A megk\u00f6zel\u00edt\u00e9s legnagyobb neh\u00e9zs\u00e9ge egy olyan VDF be\u00e1ll\u00edt\u00e1sa, hogy m\u00e9g egy nagyon dr\u00e1ga, speci\u00e1lis berendez\u00e9ssel rendelkez\u0151 r\u00e9sztvev\u0151 se tudja kisz\u00e1m\u00edtani a VDF-t a felfed\u00e9si szakasz v\u00e9ge el\u0151tt. Ide\u00e1lisan az algoritmusnak jelent\u0151s biztons\u00e1gi tartal\u00e9kkal kell rendelkeznie, mondjuk 10x. Az al\u00e1bbi \u00e1br\u00e1n egy olyan r\u00e9sztvev\u0151 t\u00e1mad\u00e1sa l\u00e1that\u00f3, aki speci\u00e1lis ASIC-kal rendelkezik, ami lehet\u0151v\u00e9 teszi sz\u00e1m\u00e1ra, hogy a VDF-t gyorsabban futtassa, mint a RANDAO meger\u0151s\u00edt\u00e9s felfed\u00e9s\u00e9re sz\u00e1nt id\u0151. Az ilyen r\u00e9sztvev\u0151 tov\u00e1bbra is ki tudja sz\u00e1m\u00edtani a v\u00e9gs\u0151 eredm\u00e9nyt a sz\u00e1m\u00e1nak felhaszn\u00e1l\u00e1s\u00e1val \u00e9s an\u00e9lk\u00fcl, majd ezek alapj\u00e1n kiv\u00e1lasztja, hogy megmutatja-e vagy sem.<\/p>\n<p><img decoding=\"async\" alt=\"Lehet-e v\u00e9letlensz\u00e1mokat gener\u00e1lni, ha nem b\u00edzunk egym\u00e1sban? 1. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/09\/3c6e64b6473b951f549f5ba60edbafa9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>A fent eml\u00edtett VDF csal\u00e1d eset\u00e9ben a speci\u00e1lis ASIC teljes\u00edtm\u00e9nye t\u00f6bb mint 100-szor magasabb lehet, mint a hagyom\u00e1nyos berendez\u00e9sek\u00e9. \u00cdgy ha a felfed\u00e9si szakasz 10 m\u00e1sodpercig tart, akkor a VDF-nek, amelyet ilyen ASIC-on sz\u00e1m\u00edtanak, t\u00f6bb mint 100 m\u00e1sodpercig kell tartania ahhoz, hogy 10-szeres biztons\u00e1gi tartal\u00e9kot biztos\u00edtson, \u00edgy a hagyom\u00e1nyos berendez\u00e9seken sz\u00e1m\u00edtott VDF-nek 100 x 100 m\u00e1sodperc = ~ 3 \u00f3ra id\u0151tartam\u00fanak kell lennie.<\/p>\n<p>Az Ethereum Foundation azt tervezi, hogy ezt a probl\u00e9m\u00e1t egy saj\u00e1t, nyilv\u00e1nos ingyenes ASIC l\u00e9trehoz\u00e1s\u00e1val oldja meg. Amint ez megt\u00f6rt\u00e9nik, minden m\u00e1s protokoll is kihaszn\u00e1lhatja majd ezt a technol\u00f3gi\u00e1t, de addig a RANDAO + VDF megk\u00f6zel\u00edt\u00e9s nem lesz ilyen \u00e9letk\u00e9pes azok sz\u00e1m\u00e1ra a protokollok sz\u00e1m\u00e1ra, amelyek nem tudnak befektetni saj\u00e1t ASIC fejleszt\u00e9s\u00e9be.<\/p>\n<p>Sz\u00e1mos cikk, vide\u00f3 \u00e9s egy\u00e9b inform\u00e1ci\u00f3 a VDF-r\u0151l tal\u00e1lhat\u00f3 a <noindex><a rel=\"nofollow\" href=\"https:\/\/vdfresearch.org\/\"><u>weboldalon<\/u><\/a><\/noindex>.<\/p>\n<h3>Haszn\u00e1ljunk elt\u00fcntet\u0151 k\u00f3dokat<\/h3>\n<p>Ebben a r\u00e9szben a v\u00e9letlensz\u00e1m-gener\u00e1l\u00f3 protokollt vizsg\u00e1ljuk, amely <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D1%82%D0%B8%D1%80%D0%B0%D1%8E%D1%89%D0%B8%D0%B9_%D0%BA%D0%BE%D0%B4\">elt\u00fcntet\u0151 k\u00f3dokat<\/a><\/noindex>haszn\u00e1l. Ez k\u00e9pes elviselni ak\u00e1r \u2153 rosszindulat\u00fa r\u00e9sztvev\u0151t is, mik\u00f6zben \u00e9letk\u00e9pes marad, \u00e9s lehet\u0151v\u00e9 teszi, hogy ak\u00e1r \u2154 rosszindulat\u00fa r\u00e9sztvev\u0151 is l\u00e9tezzen, miel\u0151tt meg tudn\u00e1k j\u00f3solni vagy befoly\u00e1solni tudn\u00e1k az eredm\u00e9nyt.<\/p>\n<p>A protokoll alapgondolata a k\u00f6vetkez\u0151. Egyszer\u0171s\u00e9g kedv\u00e9\u00e9rt tegy\u00fck fel, hogy pontosan 100 r\u00e9sztvev\u0151 van benne. Tegy\u00fck fel azt is, hogy minden r\u00e9sztvev\u0151nek helyben van egy priv\u00e1t kulcsa, \u00e9s az \u00f6sszes r\u00e9sztvev\u0151 nyilv\u00e1nos kulcsa ismert minden r\u00e9sztvev\u0151 sz\u00e1m\u00e1ra:<\/p>\n<ol>\n<li>\n<p>Minden r\u00e9sztvev\u0151 helyben kital\u00e1l egy hossz\u00fa karakterl\u00e1ncot, felbontja azt 67 r\u00e9szre, elt\u00fcntet\u0151 k\u00f3dokat hoz l\u00e9tre 100 r\u00e9sz l\u00e9trehoz\u00e1s\u00e1hoz, \u00fagy, hogy b\u00e1rmely 67 elegend\u0151 a karakterl\u00e1nc helyre\u00e1ll\u00edt\u00e1s\u00e1hoz, kiosztja a 100 r\u00e9sz egyik\u00e9t minden r\u00e9sztvev\u0151nek, \u00e9s azokat az adott r\u00e9sztvev\u0151 nyilv\u00e1nos kulcs\u00e1val titkos\u00edtja. Ezt k\u00f6vet\u0151en az \u00f6sszes titkos\u00edtott r\u00e9szt publik\u00e1lj\u00e1k.<\/p>\n<\/li>\n<li>\n<p>A r\u00e9sztvev\u0151k valamilyen konszenzust haszn\u00e1lnak, hogy egyet\u00e9rtsenek a konkr\u00e9t 67 r\u00e9sztvev\u0151t\u0151l kapott k\u00f3dolt halmazokkal kapcsolatban.<\/p>\n<\/li>\n<li>\n<p>Amint a konszenzus megval\u00f3sul, minden r\u00e9sztvev\u0151 a 67 halmazban tal\u00e1lhat\u00f3 k\u00f3dolt r\u00e9szeket, amelyek az \u0151 nyilv\u00e1nos kulcsukkal titkos\u00edtva lettek, dekrip\u00e1lja, \u00e9s k\u00f6zz\u00e9teszi az \u00f6sszes ilyen dekrip\u00e1lt r\u00e9szt.<\/p>\n<\/li>\n<li>\n<p>Amint a 67 r\u00e9sztvev\u0151 elv\u00e9gezte a (3) l\u00e9p\u00e9st, az \u00f6sszes egyes\u00edtett halmaz teljesen dek\u00f3dolhat\u00f3 \u00e9s helyre\u00e1ll\u00edthat\u00f3 az elt\u00fcntet\u0151 k\u00f3dok tulajdons\u00e1gainak k\u00f6sz\u00f6nhet\u0151en, \u00e9s a v\u00e9gs\u0151 sz\u00e1m az eredeti karakterl\u00e1ncok XOR ope\u00e1ci\u00f3jak\u00e9nt nyerhet\u0151, amelyekkel a r\u00e9sztvev\u0151k (1) pontban kezdtek.<\/p>\n<\/li>\n<\/ol>\n<p><img decoding=\"async\" alt=\"Lehet-e v\u00e9letlensz\u00e1mokat gener\u00e1lni, ha nem b\u00edzunk egym\u00e1sban? 1. r\u00e9sz\" src=\"\/wp-content\/uploads\/2020\/09\/b74ef4bb4a8148766f0b1ab2a8222625.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Meg lehet mutatni, hogy ez a protokoll p\u00e1rtatlan \u00e9s kisz\u00e1m\u00edthatatlan. Az eredm\u00e9nyek\u00e9nt kapott v\u00e9letlensz\u00e1m a konszenzus el\u00e9r\u00e9se ut\u00e1n ker\u00fcl meghat\u00e1roz\u00e1sra, de senki sem tud r\u00f3la, am\u00edg a r\u00e9sztvev\u0151k \u2154-a nem dek\u00f3dolja az \u0151 nyilv\u00e1nos kulcsukkal titkos\u00edtott r\u00e9szeket. \u00cdgy a v\u00e9letlensz\u00e1m meghat\u00e1roz\u00e1sa kor\u00e1bban t\u00f6rt\u00e9nik, mint ami elegend\u0151 inform\u00e1ci\u00f3 a helyre\u00e1ll\u00edt\u00e1s\u00e1hoz, k\u00f6zz\u00e9 van t\u00e9ve.<\/p>\n<p>Mi t\u00f6rt\u00e9nik, ha az (1) l\u00e9p\u00e9sben az egyik r\u00e9sztvev\u0151 olyan k\u00f3dolt r\u00e9szeket k\u00fcld\u00f6tt a t\u00f6bbi r\u00e9sztvev\u0151nek, amelyek nem megfelel\u0151 t\u00f6rl\u00e9si k\u00f3dok egy bizonyos sztringhez? Tov\u00e1bbi m\u00f3dos\u00edt\u00e1sok n\u00e9lk\u00fcl a k\u00fcl\u00f6nb\u00f6z\u0151 r\u00e9sztvev\u0151k vagy egy\u00e1ltal\u00e1n nem tudj\u00e1k helyre\u00e1ll\u00edtani a sztringet, vagy k\u00fcl\u00f6nb\u00f6z\u0151 sztringeket \u00e1ll\u00edtanak el\u0151, ami azt eredm\u00e9nyezi, hogy a k\u00fcl\u00f6nb\u00f6z\u0151 r\u00e9sztvev\u0151k k\u00fcl\u00f6nb\u00f6z\u0151 v\u00e9letlensz\u00e1mokat kapnak. Ennek megel\u0151z\u00e9s\u00e9re a k\u00f6vetkez\u0151 tehet\u0151: minden r\u00e9sztvev\u0151 a k\u00f3dolt r\u00e9szek mellett sz\u00e1molja ki <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%94%D0%B5%D1%80%D0%B5%D0%B2%D0%BE_%D1%85%D0%B5%D1%88%D0%B5%D0%B9\">a Merkle-f\u00e1t<\/a><\/noindex> az \u00f6sszes ilyen r\u00e9szhez, \u00e9s minden r\u00e9sztvev\u0151nek elk\u00fcldi a k\u00f3dolt r\u00e9szt, valamint a Merkle-fa gy\u00f6ker\u00e9t \u00e9s a r\u00e9sz fa-ba val\u00f3 beilleszt\u00e9s\u00e9nek bizony\u00edt\u00e9k\u00e1t. A konszenzus (2) l\u00e9p\u00e9s\u00e9ben a r\u00e9sztvev\u0151k nem csak abban egyeznek meg, hogy t\u00f6bb halmaz l\u00e9tezik, hanem abban is, hogy ezeknek a f\u00e1k gy\u00f6kerei is vannak (ha valamely r\u00e9sztvev\u0151 elt\u00e9r a protokollt\u00f3l, \u00e9s k\u00fcl\u00f6nb\u00f6z\u0151 Merkle-f\u00e1kat k\u00fcld k\u00fcl\u00f6nb\u00f6z\u0151 r\u00e9sztvev\u0151knek, \u00e9s ezek a gy\u00f6kerek konszenzus alatt felmer\u00fclnek, az \u0151 r\u00e9sze nem ker\u00fcl be az eredm\u00e9nyhalmazba). A konszenzus v\u00e9g\u00e9n 67 k\u00f3dolt sztring \u00e9s az azoknak megfelel\u0151 Merkle-fa gy\u00f6kerek \u00e1llnak rendelkez\u00e9sre, \u00edgy legal\u00e1bb 67 r\u00e9sztvev\u0151 van (nem felt\u00e9tlen\u00fcl ugyanazok, akik a megfelel\u0151 sztringeket javasolt\u00e1k), akiknek minden 67 sztringhez van \u00fczenet a t\u00f6rl\u00e9si k\u00f3d r\u00e9sz\u00e9r\u0151l, valamint a r\u00e9sz beilleszt\u00e9s\u00e9nek bizony\u00edt\u00e9ka a megfelel\u0151 Merkle-f\u00e1ba.<\/p>\n<p>Amikor a (4) l\u00e9p\u00e9sben a r\u00e9sztvev\u0151 dek\u00f3dolja a 67 r\u00e9sz\u00e9t egy bizonyos sztringhez, \u00e9s pr\u00f3b\u00e1lja azokat helyre\u00e1ll\u00edtani az eredeti sztringhez, a k\u00f6vetkez\u0151 lehet\u0151s\u00e9gek mer\u00fclnek fel:<\/p>\n<ol>\n<li>\n<p>A sztring helyre\u00e1ll, \u00e9s ha azt ugyanakkor t\u00f6rl\u00e9si k\u00f3dokkal \u00fajra k\u00f3dolj\u00e1k, \u00e9s a helyi r\u00e9szekb\u0151l sz\u00e1molj\u00e1k a Merkle-f\u00e1t, a gy\u00f6k\u00e9r megegyezik azzal, amelyiken a konszenzust el\u00e9rt\u00e9k.<\/p>\n<\/li>\n<li>\n<p>A sztring helyre\u00e1ll, de a helyben sz\u00e1m\u00edtott gy\u00f6k\u00e9r nem felel meg annak, amelyiken a konszenzust el\u00e9rt\u00e9k.<\/p>\n<\/li>\n<li>\n<p>A sztring nem \u00e1ll helyre.<\/p>\n<\/li>\n<\/ol>\n<p>K\u00f6nnyen bel\u00e1that\u00f3, hogy ha legal\u00e1bb egy r\u00e9sztvev\u0151 sz\u00e1m\u00e1ra az (1) t\u00f6rt\u00e9nik, akkor minden r\u00e9sztvev\u0151 sz\u00e1m\u00e1ra az (1) fog t\u00f6rt\u00e9nni, \u00e9s ford\u00edtva, ha legal\u00e1bb egy r\u00e9sztvev\u0151 sz\u00e1m\u00e1ra a (2) vagy (3) t\u00f6rt\u00e9nik, akkor minden r\u00e9sztvev\u0151 sz\u00e1m\u00e1ra a (2) vagy (3) fog t\u00f6rt\u00e9nni. \u00cdgy teh\u00e1t minden sor eset\u00e9ben vagy minden r\u00e9sztvev\u0151 sikeresen helyre\u00e1ll\u00edtja, vagy minden r\u00e9sztvev\u0151 nem tudja helyre\u00e1ll\u00edtani. Ezut\u00e1n a kapott v\u00e9letlensz\u00e1m \u2013 az csak azokat a sorokat \u00e9rinti, amelyeket a r\u00e9sztvev\u0151k helyre tudtak \u00e1ll\u00edtani XOR-al.<\/p>\n<h3>K\u00fcsz\u00f6b\u00f6nyi al\u00e1\u00edr\u00e1sok<\/h3>\n<p>Egy m\u00e1sik megk\u00f6zel\u00edt\u00e9s a v\u00e9letlens\u00e9ghez a BLS \u00fagynevezett k\u00fcsz\u00f6b\u00f6nyi al\u00e1\u00edr\u00e1sainak haszn\u00e1lata. A k\u00fcsz\u00f6b\u00f6nyi al\u00e1\u00edr\u00e1sokon alapul\u00f3 v\u00e9letlensz\u00e1m-gener\u00e1tor pontosan ugyanazokat a garanci\u00e1kat ny\u00fajtja, mint a fent eml\u00edtett, t\u00f6rl\u00e9si k\u00f3dokon alapul\u00f3 algoritmus, de l\u00e9nyegesen kisebb aszimptotik\u00e1t mutat az elk\u00fcld\u00f6tt \u00fczenetek sz\u00e1m\u00e1ban minden egyes gener\u00e1lt sz\u00e1mra.<\/p>\n<p>A BLS al\u00e1\u00edr\u00e1sok olyan strukt\u00far\u00e1k, amelyek lehet\u0151v\u00e9 teszik, hogy t\u00f6bb r\u00e9sztvev\u0151 egy k\u00f6z\u00f6s al\u00e1\u00edr\u00e1st hozzon l\u00e9tre egy \u00fczenethez. Az ilyen al\u00e1\u00edr\u00e1sokat gyakran haszn\u00e1lj\u00e1k a helymegtakar\u00edt\u00e1s \u00e9s a s\u00e1vsz\u00e9less\u00e9g cs\u00f6kkent\u00e9se \u00e9rdek\u00e9ben, mivel nem sz\u00fcks\u00e9ges t\u00f6bb al\u00e1\u00edr\u00e1s eloszt\u00e1sa.&nbsp;<\/p>\n<p>A BLS al\u00e1\u00edr\u00e1sok gyakori alkalmaz\u00e1sa a blokkl\u00e1nc protokollokban, a v\u00e9letlensz\u00e1mok gener\u00e1l\u00e1sa mellett, a blokkok al\u00e1\u00edr\u00e1sa BFT protokollokban. Tegy\u00fck fel, hogy 100 r\u00e9sztvev\u0151 blokkokat hoz l\u00e9tre, \u00e9s a blokk v\u00e9glegesnek sz\u00e1m\u00edt, ha 67-en al\u00e1\u00edrj\u00e1k azt. Mindannyian bemutathatj\u00e1k a BLS-al\u00e1\u00edr\u00e1suk r\u00e9szeit, \u00e9s felhaszn\u00e1lhatnak egy konszenzus-algoritmust, hogy \u00f6ssze\u00e1ll\u00edts\u00e1k a 67 al\u00e1\u00edr\u00e1st, majd egy BLS-al\u00e1\u00edr\u00e1sra egyes\u00edts\u00e9k \u0151ket. B\u00e1rmely 67 (vagy t\u00f6bb) r\u00e9sz felhaszn\u00e1lhat\u00f3 a v\u00e9gs\u0151 al\u00e1\u00edr\u00e1s l\u00e9trehoz\u00e1s\u00e1ra, amely att\u00f3l f\u00fcgg, hogy pontosan melyik 67 al\u00e1\u00edr\u00e1st egyes\u00edtett\u00e9k, \u00e9s ez\u00e9rt v\u00e1ltozhat, de b\u00e1r a k\u00fcl\u00f6nb\u00f6z\u0151 v\u00e1laszt\u00e1s 67 r\u00e9sztvev\u0151t\u00f3l k\u00fcl\u00f6nb\u00f6z\u0151 al\u00e1\u00edr\u00e1st eredm\u00e9nyez, b\u00e1rmely ilyen al\u00e1\u00edr\u00e1s \u00e9rv\u00e9nyes al\u00e1\u00edr\u00e1sa lesz a blokknak. A t\u00f6bbi r\u00e9sztvev\u0151nek el\u00e9g, ha a h\u00e1l\u00f3zaton megkapj\u00e1k, \u00e9s ellen\u0151rzik az egyes blokkokra vonatkoz\u00f3 egy al\u00e1\u00edr\u00e1st, a 67 helyett, ami jelent\u0151sen cs\u00f6kkenti a h\u00e1l\u00f3zat terhel\u00e9s\u00e9t.<\/p>\n<p>\u00dagy t\u0171nik, hogy ha a r\u00e9sztvev\u0151k \u00e1ltal haszn\u00e1lt z\u00e1rtkulcsok bizonyos m\u00f3don gener\u00e1l\u00f3dnak, akkor f\u00fcggetlen\u00fcl att\u00f3l, hogy h\u00e1ny 67 al\u00e1\u00edr\u00e1s (vagy t\u00f6bb, de kevesebb nem) aggreg\u00e1l\u00f3dik, az \u00edgy keletkez\u0151 al\u00e1\u00edr\u00e1s azonos lesz. Ez felhaszn\u00e1lhat\u00f3 a v\u00e9letlens\u00e9g forr\u00e1sak\u00e9nt: a r\u00e9sztvev\u0151k el\u0151sz\u00f6r megbesz\u00e9lnek egy \u00fczenetet, amelyet al\u00e1 fognak \u00edrni (ez lehet a RANDAO kimenete vagy egyszer\u0171en az utols\u00f3 blokk hash \u00e9rt\u00e9ke, l\u00e9nyeg, hogy minden alkalommal v\u00e1ltozzon \u00e9s egyet\u00e9rt\u00e9sben legyen), \u00e9s l\u00e9trehoznak egy BLS-al\u00e1\u00edr\u00e1st. A gener\u00e1l\u00e1si eredm\u00e9ny kisz\u00e1m\u00edthatatlan lesz, am\u00edg 67 r\u00e9sztvev\u0151 nem biztos\u00edtja a saj\u00e1t r\u00e9sz\u00e9t, ut\u00e1na a kimenet el\u0151re meghat\u00e1rozott \u00e9s nem f\u00fcgghet b\u00e1rmely r\u00e9sztvev\u0151 akci\u00f3it\u00f3l.<\/p>\n<p>Ez a v\u00e9letlens\u00e9ghez val\u00f3 megk\u00f6zel\u00edt\u00e9s \u00e9letk\u00e9pes, ha legal\u00e1bb \u2154 r\u00e9sztvev\u0151 online van \u00e9s betartja a protokollt, \u00e9s p\u00e1rtatlan \u00e9s kisz\u00e1m\u00edthatatlan, am\u00edg legal\u00e1bb \u2153 r\u00e9sztvev\u0151 betartja a protokollt. Fontos megjegyezni, hogy egy rosszindulat\u00fa f\u00e9l, aki t\u00f6bb mint \u2153, de kevesebb mint \u2154 r\u00e9sztvev\u0151t ir\u00e1ny\u00edt, megakad\u00e1lyozhatja a protokoll m\u0171k\u00f6d\u00e9s\u00e9t, de nem tudja megj\u00f3solni vagy befoly\u00e1solni a kimenet\u00e9t.<\/p>\n<p>A k\u00fcsz\u00f6b al\u00e1\u00edr\u00e1sok \u00f6n\u00e1ll\u00f3an is nagyon \u00e9rdekes t\u00e9ma. A cikk m\u00e1sodik r\u00e9sz\u00e9ben r\u00e9szletesen megvizsg\u00e1ljuk, hogyan m\u0171k\u00f6dnek, \u00e9s hogyan kell pontosan gener\u00e1lni a r\u00e9sztvev\u0151k kulcsait, hogy a k\u00fcsz\u00f6b al\u00e1\u00edr\u00e1sokat v\u00e9letlensz\u00e1m-gener\u00e1tork\u00e9nt lehessen haszn\u00e1lni.<\/p>\n<h3>V\u00e9g\u00fcl<\/h3>\n<p>Ez a cikk az els\u0151 a m\u0171szaki cikkek sorozat\u00e1ban a blogban. <noindex><a rel=\"nofollow\" href=\"https:\/\/near.org\">NEAR<\/a><\/noindex>. A NEAR egy blokkl\u00e1nc protokoll \u00e9s platform a decentraliz\u00e1lt alkalmaz\u00e1sok fejleszt\u00e9s\u00e9re, kiemelve a fejleszt\u00e9s egyszer\u0171s\u00e9g\u00e9t \u00e9s a v\u00e9gfelhaszn\u00e1l\u00f3k sz\u00e1m\u00e1ra t\u00f6rt\u00e9n\u0151 k\u00f6nny\u0171 haszn\u00e1latot.<\/p>\n<p>A protokoll k\u00f3dja ny\u00edlt forr\u00e1sk\u00f3d\u00fa, a megval\u00f3s\u00edt\u00e1sunk Rust nyelven \u00edr\u00f3dott, \u00e9s megtal\u00e1lhat\u00f3 itt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nearprotocol\/nearcore\">itt<\/a><\/noindex>.<\/p>\n<p>Megn\u00e9zheti, hogyan n\u00e9z ki a NEAR fejleszt\u00e9se, \u00e9s k\u00eds\u00e9rletezhet az online IDE-ben <noindex><a rel=\"nofollow\" href=\"https:\/\/examples.near.org\">itt<\/a><\/noindex>.<\/p>\n<p>Minden h\u00edr k\u00f6vethet\u0151 oroszul a <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/near_protocol\">Telegram csoportban<\/a><\/noindex> \u00e9s a <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/nearprotocol\">VK csoportban<\/a><\/noindex>, angolul pedig a hivatalos <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/NEARProtocol\">Twitteren<\/a><\/noindex>.<\/p>\n<p>Hamarosan tal\u00e1lkozunk!<\/p>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/near\/blog\/521090\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u043f\u0441\u0435\u0432\u0434\u043e-\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443. \u041a\u0430\u043a \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u043d\u0438\u0436\u0435, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u201c\u043f\u043e\u0447\u0442\u0438\u201d \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e, \u0430 \u0432\u043e\u0442 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u2013 \u0441\u043b\u043e\u0436\u043d\u043e. \u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0443\u0436\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c, \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u044e\u0449\u0438\u043c \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443? \u041e\u0434\u043d\u0430 \u0438\u0437 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f &#8212; \u044d\u0442\u043e \u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":95469,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u043f\u0441\u0435\u0432\u0434\u043e-\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443.\" \/>\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\/hu\/blog\/administrirovanie\/mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443? \u0427\u0430\u0441\u0442\u044c 1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u043f\u0441\u0435\u0432\u0434\u043e-\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1\" \/>\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=\"2020-09-29T17:42:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-29T17:42:29+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\udd47Lehet v\u00e9letlensz\u00e1mokat gener\u00e1lni, ha nem b\u00edzunk meg egym\u00e1sban? 1. r\u00e9sz | ProHoster","description":"Hell\u00f3, Habr! Ebben a cikkben a r\u00e9sztvev\u0151k \u00e1ltal, egym\u00e1sban nem b\u00edzva gener\u00e1lt \u00e1l-random sz\u00e1mokr\u00f3l fogok besz\u00e9lni.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443? \u0427\u0430\u0441\u0442\u044c 1 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440!\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u043f\u0441\u0435\u0432\u0434\u043e-\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u044e\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0443.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1","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":"2020-09-29T17:42:29+00:00","article:modified_time":"2020-09-29T17:42:29+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95468","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:05:29","updated":"2022-09-28 01:55:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/95468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=95468"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/95468\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/95469"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=95468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=95468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=95468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}