{"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\/sq\/blog\/administrirovanie\/mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1","title":{"rendered":"A mund t\u00eb gjenerojm\u00eb numra t\u00eb rastit, n\u00ebse nuk i besojm\u00eb nj\u00ebri-tjetrit? Pjesa 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje, Habr!<\/p>\n<p>N\u00eb k\u00ebt\u00eb artikull do t\u00eb flas p\u00ebr gjenerimin e numrave t\u00eb rast\u00ebsish\u00ebm nga pjes\u00ebmarr\u00ebs q\u00eb nuk besojn\u00eb nj\u00ebri-tjetrit. Si do t\u00eb shohim m\u00eb posht\u00eb, \u00ebsht\u00eb mjaft e thjesht\u00eb t\u00eb realizosh nj\u00eb gjenerator \"t\u00eb casi\" t\u00eb mir\u00eb, por p\u00ebr t\u00eb krijuar nj\u00eb gjenerator shum\u00eb t\u00eb mir\u00eb, \u00ebsht\u00eb e v\u00ebshtir\u00eb.<\/p>\n<p>\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 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0430\u0432\u043a\u0443 \u043e\u0442 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430 \u0438 \u043b\u0438\u0431\u043e \u0443\u0434\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0441\u0443\u043c\u043c\u0443 \u0441 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e 49%, \u043b\u0438\u0431\u043e \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0441 51%, \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u043e\u043d\u043e \u043c\u043e\u0436\u0435\u0442 \u043d\u0435\u043f\u0440\u0435\u0434\u0432\u0437\u044f\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u0415\u0441\u043b\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0448\u0430\u043d\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u044b\u043f\u043b\u0430\u0442\u0443 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u043e\u043d \u043b\u0435\u0433\u043a\u043e \u043e\u043f\u0443\u0441\u0442\u043e\u0448\u0438\u0442 \u0435\u0433\u043e.<\/p>\n<p>Kur zhvillojm\u00eb nj\u00eb protokoll t\u00eb shp\u00ebrndar\u00eb p\u00ebr gjenerimin e numrave t\u00eb rast\u00ebsish\u00ebm, duam q\u00eb ai t\u00eb ket\u00eb tri veti:<\/p>\n<ol>\n<li>\n<p>Ai duhet t\u00eb jet\u00eb i paansh\u00ebm. Me fjal\u00eb t\u00eb tjera, asnj\u00eb pjes\u00ebmarr\u00ebs nuk duhet t\u00eb ndikoj\u00eb n\u00eb ndonj\u00eb m\u00ebnyr\u00eb n\u00eb rezultatin e gjeneratorit t\u00eb numrave t\u00eb rast\u00ebsish\u00ebm.<\/p>\n<\/li>\n<li>\n<p>Ai duhet t\u00eb jet\u00eb i paparashikuesh\u00ebm. N\u00eb fjal\u00eb t\u00eb tjera, asnj\u00eb pjes\u00ebmarr\u00ebs nuk duhet t\u00eb ket\u00eb mund\u00ebsin\u00eb t\u00eb parashikoj\u00eb cfar\u00eb numri do t\u00eb gjenerohet (ose t\u00eb nxjerr\u00eb ndonj\u00eb nga karakteristikat e tij) para se t\u00eb gjenerohet.<\/p>\n<\/li>\n<li>\n<p>Protokolli duhet t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm, dometh\u00ebn\u00eb i q\u00ebndruesh\u00ebm ndaj faktit q\u00eb nj\u00eb p\u00ebrqindje e caktuar e pjes\u00ebmarr\u00ebsve do t\u00eb dalin nga rrjeti ose p\u00ebrpiqen me q\u00ebllim t\u00eb ndalojn\u00eb protokollin.<\/p>\n<\/li>\n<\/ol>\n<p>N\u00eb k\u00ebt\u00eb artikull ne do t\u00eb shqyrtojm\u00eb dy qasje: RANDAO + VDF dhe nj\u00eb qasje t\u00eb bazuar n\u00eb kodet e fshirjes. N\u00eb pjes\u00ebn tjet\u00ebr do t\u00eb shqyrtojm\u00eb detajisht qasjen e bazuar n\u00eb n\u00ebnshkrimet e pragut.<\/p>\n<p>Por p\u00ebrpara se t\u00eb fillojm\u00eb, le t\u00eb shqyrtojm\u00eb nj\u00eb algorit\u00ebm t\u00eb thjesht\u00eb dhe t\u00eb p\u00ebrdorur shpesh, i cili \u00ebsht\u00eb i q\u00ebndruesh\u00ebm, i paparashikuesh\u00ebm, por i ansh\u00ebm.<\/p>\n<h3>RANDAO<\/h3>\n<p>RANDAO &#8212; \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438. \u0412\u0441\u0435 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u0441\u0435\u0442\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442 \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0437\u0430\u0442\u0435\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u0435\u0442 \u0445\u0435\u0448 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430. \u0414\u0430\u043b\u0435\u0435 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0432\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0441\u0432\u043e\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430, \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u043d\u0430\u0434 \u0432\u0441\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u0447\u0438\u0441\u043b\u0430\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e XOR, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u044d\u0442\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430.<\/p>\n<p>Hapi i publikimit t\u00eb hash-eve p\u00ebrpara se t\u00eb zbulojm\u00eb numrat \u00ebsht\u00eb i nevojsh\u00ebm n\u00eb m\u00ebnyr\u00eb q\u00eb sulmuesi t\u00eb mos mund t\u00eb zgjedh\u00eb numrin e tij pasi t\u00eb ket\u00eb par\u00eb numrat e pjes\u00ebmarr\u00ebsve t\u00eb tjer\u00eb. Kjo do t\u2019i jepte atij mund\u00ebsin\u00eb p\u00ebr t\u00eb p\u00ebrcaktuar n\u00eb m\u00ebnyr\u00eb t\u00eb vetme rezultatin e gjeneratorit t\u00eb numrave t\u00eb rastit.<\/p>\n<p>Gjat\u00eb protokollit, pjes\u00ebmarr\u00ebsit duhet t\u00eb arrijn\u00eb dy her\u00eb nj\u00eb vendim t\u00eb p\u00ebrbashk\u00ebt (t\u00eb ashtuquajturin konsensus): kur t\u00eb fillojn\u00eb t\u00eb zbulojn\u00eb numrat e zgjedhur dhe, p\u00ebr pasoj\u00eb, t\u00eb ndalojn\u00eb pranimin e hash-eve, dhe kur t\u00eb p\u00ebrfundojn\u00eb pranimin e numrave t\u00eb zgjedhur dhe t\u00eb llogarisin numrin rast\u00ebsor rezultues. Marrja e k\u00ebtyre vendimeve mes pjes\u00ebmarr\u00ebsve q\u00eb nuk i besojn\u00eb nj\u00ebri-tjetrit \u00ebsht\u00eb nj\u00eb detyr\u00eb e v\u00ebshtir\u00eb, dhe ne do t\u00eb kthehemi te kjo n\u00eb artikujt e ardhsh\u00ebm; n\u00eb k\u00ebt\u00eb artikull do t\u00eb supozojm\u00eb se nj\u00eb algorit\u00ebm konsensusi \u00ebsht\u00eb n\u00eb dispozicion p\u00ebr ne.<\/p>\n<p>Cilat nga karakteristikat q\u00eb p\u00ebrmend\u00ebm m\u00eb sip\u00ebr t\u00eb RANDAO-s jan\u00eb t\u00eb pranishme? Ai \u00ebsht\u00eb i paparashikuesh\u00ebm, ka t\u00eb nj\u00ebjtin q\u00ebndrushm\u00ebri si protokolli konsensus q\u00eb e mb\u00ebshtet, por \u00ebsht\u00eb i predispozuar. Konkretisht, nj\u00eb sulmues mund t\u00eb v\u00ebzhgoj\u00eb rrjetin, dhe pasi pjes\u00ebmarr\u00ebsit e tjer\u00eb t\u00eb zbulojn\u00eb numrat e tyre, ai mund t\u00eb llogaris\u00eb XOR-in e tyre dhe t\u00eb vendos\u00eb n\u00ebse t\u00eb zbuloj\u00eb ose jo numrin e tij p\u00ebr t\u00eb ndikuar n\u00eb rezultatin. Nd\u00ebrsa kjo nuk i lejon sulmuesit t\u00eb p\u00ebrcaktoj\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb vetme rezultatin e gjeneratorit t\u00eb numrave t\u00eb rastit, ai ende i jep atij 1 bit ndikimi. Dhe n\u00ebse sulmuesit kontrollojn\u00eb disa pjes\u00ebmarr\u00ebs, numri i bit\u00ebve t\u00eb kontrolluar do t\u00eb jet\u00eb i barabart\u00eb me numrin e pjes\u00ebmarr\u00ebsve n\u00ebn kontrollin e tyre.<\/p>\n<p><img decoding=\"async\" alt=\"A mund t\u00eb gjenerojm\u00eb numra t\u00eb rastit, n\u00ebse nuk i besojm\u00eb nj\u00ebri-tjetrit? Pjesa 1\" src=\"\/wp-content\/uploads\/2020\/09\/4869d0c7dbc4cc8a368c2846997d6d2a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Ndikimi i sulmuesve mund t\u00eb reduktohet ndjesh\u00ebm n\u00ebse k\u00ebrkohet q\u00eb pjes\u00ebmarr\u00ebsit t\u00eb zbulojn\u00eb numrat n\u00eb rend. At\u00ebher\u00eb, sulmuesi do t\u00eb mund t\u00eb ndikoj\u00eb n\u00eb rezultatin vet\u00ebm n\u00ebse zbulohet i fundit. Nd\u00ebrsa ndikimi \u00ebsht\u00eb ndjesh\u00ebm m\u00eb i vog\u00ebl, algoritmi ende mbetet i predispozuar.<\/p>\n<h3>RANDAO + VDF<\/h3>\n<p>Nj\u00eb nga m\u00ebnyrat p\u00ebr ta b\u00ebr\u00eb RANDAO t\u00eb paansh\u00ebm \u00ebsht\u00eb si m\u00eb posht\u00eb: pasi t\u00eb gjitha numrat t\u00eb ken\u00eb u zbuluar, dhe XOR t\u00eb jet\u00eb llogaritur, rezultati i tij jepet si hyrje n\u00eb nj\u00eb funksion q\u00eb k\u00ebrkon shum\u00eb koh\u00eb p\u00ebr t'u llogaritur, por lejon t\u00eb kontrollohet sakt\u00ebsia e llogaritjes shum\u00eb shpejt.<\/p>\n<pre><code>(vdf_output, vdf_proof) = VDF_compute(input) \/\/ kjo \u00ebsht\u00eb shum\u00eb e ngadalt\u00eb\ncorrect = VDF_verify(input, vdf_output, vdf_proof) \/\/ kjo \u00ebsht\u00eb shum\u00eb shpejt<\/code><\/pre>\n<p>Ky funksion quhet Funksion Verifikues vonesash, ose VDF. N\u00ebse llogaritja e rezultatit p\u00ebrfundimtar merr m\u00eb shum\u00eb koh\u00eb sesa faza e zbulimit t\u00eb numrave, at\u00ebher\u00eb keqb\u00ebr\u00ebsi nuk do t\u00eb jet\u00eb n\u00eb gjendje ta parashikoj\u00eb efektin e demonstrimit ose fshehjes s\u00eb numrit t\u00eb tij, dhe si rezultat do t\u00eb humb\u00eb mund\u00ebsin\u00eb p\u00ebr t\u00eb ndikuar n\u00eb rezultatin.<\/p>\n<p>Zhvillimi i VDF-ve t\u00eb mira \u00ebsht\u00eb jasht\u00ebzakonisht i komplikuar. Koh\u00ebt e fundit, jan\u00eb b\u00ebr\u00eb disa p\u00ebrparime, p\u00ebr shembull <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2018\/623.pdf\"><u>k\u00ebt\u00eb<\/u><\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2018\/627.pdf\"><u>k\u00ebt\u00eb,<\/u><\/a><\/noindex> t\u00eb cilat e b\u00ebn\u00eb VDF m\u00eb praktik, dhe Ethereum 2.0 planifikon t\u00eb p\u00ebrdor\u00eb RANDAO me VDF si burim t\u00eb numrave t\u00eb rastit n\u00eb nj\u00eb afat t\u00eb gjat\u00eb. P\u00ebrve\u00e7 faktit se ky qasje \u00ebsht\u00eb e paparashikueshme dhe e paanshme, ai ka nj\u00eb avantazh shtes\u00eb, q\u00eb \u00ebsht\u00eb q\u00ebndrueshm\u00ebria, n\u00ebse t\u00eb pakt\u00ebn dy pjes\u00ebmarr\u00ebs jan\u00eb t\u00eb disponuesh\u00ebm n\u00eb rrjet (me kusht q\u00eb protokolli i konsensusit t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm me nj\u00eb num\u00ebr kaq t\u00eb vog\u00ebl pjes\u00ebmarr\u00ebsish).<\/p>\n<p>Sfidat m\u00eb t\u00eb m\u00ebdha t\u00eb k\u00ebsaj qasjeje jan\u00eb t\u00eb rregullohet VDF, n\u00eb m\u00ebnyr\u00eb q\u00eb asnj\u00eb pjes\u00ebmarr\u00ebs me pajisje shum\u00eb t\u00eb shtrenjt\u00eb t\u00eb specializuara t\u00eb mos mund t\u00eb llogaris\u00eb VDF-n\u00eb deri n\u00eb p\u00ebrfundimin e faz\u00ebs s\u00eb zbuluar. Idealisht, algoritmi duhet t\u00eb ket\u00eb edhe nj\u00eb rezerv\u00eb t\u00eb konsiderueshme, le t\u00eb themi, 10x. N\u00eb figur\u00ebn m\u00eb posht\u00eb \u00ebsht\u00eb shfaqur nj\u00eb sulm nga nj\u00eb pjes\u00ebmarr\u00ebs, q\u00eb ka nj\u00eb ASIC t\u00eb specializuar, e cila i lejon atij t\u00eb ekzekutoj\u00eb VDF m\u00eb shpejt se koha e caktuar p\u00ebr t\u00eb zbuluar v\u00ebrtetimin RANDAO. Ky pjes\u00ebmarr\u00ebs mund t\u00eb llogaris\u00eb ende rezultatin final duke p\u00ebrdorur ose pa numrin e tij, dhe m\u00eb pas, n\u00eb baz\u00eb t\u00eb llogaritjeve, t\u00eb vendos\u00eb n\u00ebse do ta tregoj\u00eb at\u00eb apo jo.<\/p>\n<p><img decoding=\"async\" alt=\"A mund t\u00eb gjenerojm\u00eb numra t\u00eb rastit, n\u00ebse nuk i besojm\u00eb nj\u00ebri-tjetrit? Pjesa 1\" src=\"\/wp-content\/uploads\/2020\/09\/3c6e64b6473b951f549f5ba60edbafa9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>P\u00ebr familjen e p\u00ebrmendur m\u00eb lart, performanca e ASIC-ve t\u00eb specializuara mund t\u00eb jet\u00eb m\u00eb shum\u00eb se 100 her\u00eb m\u00eb e lart\u00eb se ajo e pajisjeve normale. K\u00ebshtu, n\u00ebse faza e zbules\u00ebs zgjat 10 sekonda, at\u00ebher\u00eb VDF, e llogaritur n\u00eb nj\u00eb ASIC t\u00eb till\u00eb, duhet t\u00eb zgjas\u00eb m\u00eb shum\u00eb se 100 sekonda p\u00ebr t\u00eb pasur nj\u00eb rezerv\u00eb sigurie 10-fish, dhe k\u00ebshtu, e nj\u00ebjta VDF, e llogaritur n\u00eb pajisje normale, duhet t\u00eb zgjas\u00eb 100 x 100 sekonda = ~ 3 or\u00eb.<\/p>\n<p>Fondacioni Ethereum planifikon t\u00eb zgjidh\u00eb k\u00ebt\u00eb problem duke krijuar ASIC-e t\u00eb vet\u00ebfinancuara dhe t\u00eb hapura. Sapo t\u00eb ndodhi kjo, t\u00eb gjith\u00eb protokollet e tjera gjithashtu mund t\u00eb p\u00ebrfitojn\u00eb nga kjo teknologji, por deri at\u00ebher\u00eb, qasja RANDAO + VDF nuk do t\u00eb jet\u00eb po aq e vlefshme p\u00ebr protokollet q\u00eb nuk mund t\u00eb investojn\u00eb n\u00eb zhvillimin e ASIC-ve t\u00eb tyre.<\/p>\n<p>Shum\u00eb artikuj, video dhe informacion tjet\u00ebr mbi VDF jan\u00eb mbledhur n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/vdfresearch.org\/\"><u>k\u00ebt\u00eb site<\/u><\/a><\/noindex>.<\/p>\n<h3>P\u00ebrdorim kodi fshir\u00ebs<\/h3>\n<p>N\u00eb k\u00ebt\u00eb seksion do t\u00eb shqyrtojm\u00eb protokollin p\u00ebr gjenerimin e numrave t\u00eb rast\u00ebsish\u00ebm, i cili p\u00ebrdor <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\">kodet fshir\u00ebse<\/a><\/noindex>. Ai mund t\u00eb p\u00ebrballoj\u00eb deri n\u00eb \u2153 t\u00eb sulmuesve duke mbetur funksional, dhe lejon ekzistenc\u00ebn e deri n\u00eb \u2154 t\u00eb sulmuesve, para se ata t\u00eb mund t\u00eb parashikojn\u00eb ose ndikojn\u00eb n\u00eb rezultat.<\/p>\n<p>Ideja kryesore e protokollit \u00ebsht\u00eb si m\u00eb posht\u00eb. P\u00ebr thjesht\u00ebsi, le t\u00eb supozojm\u00eb se ka sakt\u00ebsisht 100 pjes\u00ebmarr\u00ebs. Le t\u00eb supozojm\u00eb gjithashtu q\u00eb t\u00eb gjith\u00eb pjes\u00ebmarr\u00ebsit lokalmente kan\u00eb nj\u00eb \u00e7el\u00ebs privat dhe \u00e7el\u00ebsat publik\u00eb t\u00eb t\u00eb gjith\u00eb pjes\u00ebmarr\u00ebsve jan\u00eb t\u00eb njohur nga t\u00eb gjith\u00eb:<\/p>\n<ol>\n<li>\n<p>\u00c7do pjes\u00ebmarr\u00ebs lokalmente sajon nj\u00eb varg t\u00eb gjat\u00eb, e ndan at\u00eb n\u00eb 67 pjes\u00eb, krijon kode fshir\u00ebse p\u00ebr t\u00eb marr\u00eb 100 pjes\u00eb, t\u00eb tilla q\u00eb \u00e7do 67 \u00ebsht\u00eb mjaftuesh\u00ebm p\u00ebr t\u00eb rikonstruktuar vargun, cakton secil\u00ebn nga 100 pjes\u00ebt nj\u00ebrit prej pjes\u00ebmarr\u00ebsve dhe i enkripton ato me \u00e7el\u00ebsin publik t\u00eb po atij pjes\u00ebmarr\u00ebsi. Pastaj, t\u00eb gjitha pjes\u00ebt e koduara publikohen.<\/p>\n<\/li>\n<li>\n<p>Pjes\u00ebmarr\u00ebsit p\u00ebrdorin nj\u00eb konsensus t\u00eb caktuar p\u00ebr t\u00eb arritur pajtim mbi grupe t\u00eb koduara nga 67 pjes\u00ebmarr\u00ebsit e caktuar.<\/p>\n<\/li>\n<li>\n<p>Sapo konsensusi t\u00eb arrihet, \u00e7do pjes\u00ebmarr\u00ebs merr pjes\u00ebt e koduara n\u00eb secilin nga grupet 67, t\u00eb enkriptuara me \u00e7el\u00ebsin e tyre publik, dekripton t\u00eb gjitha ato pjes\u00eb dhe publikon t\u00eb gjitha ato pjes\u00eb t\u00eb dekriptuara.<\/p>\n<\/li>\n<li>\n<p>Sa her\u00eb q\u00eb 67 pjes\u00ebmarr\u00ebs p\u00ebrfunduan hapin (3), t\u00eb gjith\u00eb setet e p\u00ebrftuar mund t\u00eb dekriptohen dhe rikuperohen plot\u00ebsisht fal\u00eb pronave t\u00eb kodeve shlyese, dhe numri p\u00ebrfundimtar mund t\u00eb merret si XOR i rreshtave fillestar\u00eb me t\u00eb cil\u00ebt filluan pjes\u00ebmarr\u00ebsit n\u00eb (1).<\/p>\n<\/li>\n<\/ol>\n<p><img decoding=\"async\" alt=\"A mund t\u00eb gjenerojm\u00eb numra t\u00eb rastit, n\u00ebse nuk i besojm\u00eb nj\u00ebri-tjetrit? Pjesa 1\" src=\"\/wp-content\/uploads\/2020\/09\/b74ef4bb4a8148766f0b1ab2a8222625.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Mund t\u00eb tregohesh se ky protokoll \u00ebsht\u00eb i paansh\u00ebm dhe i paparashikuesh\u00ebm. Numri rast\u00ebsor rezultues p\u00ebrcaktohet pas arritjes s\u00eb konsensusit, por askush nuk e di at\u00eb deri sa \u2154 e pjes\u00ebmarr\u00ebsve t\u00eb dekriptojn\u00eb pjes\u00ebt e koduara me \u00e7el\u00ebsin e tyre t\u00eb hapur. K\u00ebshtu, numri rast\u00ebsor p\u00ebrcaktohet para se informata e mjaftueshme p\u00ebr rikuperimin e tij t\u00eb publikohet.<\/p>\n<p>\u00c7far\u00eb ndodh n\u00ebse n\u00eb hapin (1) nj\u00eb nga pjes\u00ebmarr\u00ebsit d\u00ebrgon pjes\u00eb t\u00eb koduara p\u00ebr pjes\u00ebmarr\u00ebsit e tjer\u00eb, t\u00eb cilat nuk jan\u00eb nj\u00eb kod shlyes t\u00eb sakt\u00eb p\u00ebr ndonj\u00eb rresht? Pa ndryshime t\u00eb tjera, pjes\u00ebmarr\u00ebsit e ndrysh\u00ebm ose nuk do t\u00eb jen\u00eb n\u00eb gjendje ta rikuperojn\u00eb fare rreshtin, ose do t\u00eb rikuperojn\u00eb rreshta t\u00eb ndrysh\u00ebm, duke \u00e7uar n\u00eb at\u00eb q\u00eb pjes\u00ebmarr\u00ebsit e ndrysh\u00ebm do t\u00eb marrin numra rast\u00ebsor\u00eb t\u00eb ndrysh\u00ebm. P\u00ebr ta parandaluar k\u00ebt\u00eb, mund t\u00eb b\u00ebhet e till\u00eb: \u00e7do pjes\u00ebmarr\u00ebs, p\u00ebrve\u00e7 pjes\u00ebve t\u00eb koduara, gjithashtu llogarit <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\">pema e Merkle<\/a><\/noindex> t\u00eb gjitha k\u00ebtyre pjes\u00ebve, dhe \u00e7do pjes\u00ebmarr\u00ebs d\u00ebrgon si pjes\u00ebn e koduar, ashtu edhe rr\u00ebnj\u00ebn e pem\u00ebs Merkle dhe prov\u00ebn e p\u00ebrfshirjes s\u00eb pjes\u00ebs n\u00eb pem\u00ebn Merkle. N\u00eb konsensus, n\u00eb hapin (2), pjes\u00ebmarr\u00ebsit nuk pajtohen vet\u00ebm n\u00eb shum\u00eb grupe, por n\u00eb shum\u00eb rr\u00ebnj\u00eb specifike t\u00eb till\u00eb pem\u00ebsh (n\u00ebse ndonj\u00eb pjes\u00ebmarr\u00ebs largohet nga protokolli dhe d\u00ebrgon rr\u00ebnj\u00eb t\u00eb ndryshme t\u00eb pem\u00ebs Merkle p\u00ebr pjes\u00ebmarr\u00ebs t\u00eb ndrysh\u00ebm, dhe dy nga k\u00ebto rr\u00ebnj\u00eb tregohen gjat\u00eb konsensusit, vargu i tij nuk p\u00ebrfshihet n\u00eb grupin rezultues). Pas konsensusit, do t\u00eb kemi 67 vargje t\u00eb koduara dhe rr\u00ebnj\u00ebt e tyre p\u00ebrkat\u00ebse t\u00eb pem\u00ebs Merkle, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb ket\u00eb t\u00eb pakt\u00ebn 67 pjes\u00ebmarr\u00ebs (nuk \u00ebsht\u00eb e domosdoshme q\u00eb ata t\u00eb jen\u00eb t\u00eb nj\u00ebjt\u00ebt q\u00eb propozuan vargjet p\u00ebrkat\u00ebse), t\u00eb cil\u00ebt p\u00ebr \u00e7do nj\u00eb nga 67 vargjet kan\u00eb nj\u00eb mesazh me nj\u00eb pjes\u00eb t\u00eb kodit fshir\u00ebs, dhe prov\u00ebn e p\u00ebrfshirjes s\u00eb pjes\u00ebs s\u00eb tyre n\u00eb pem\u00ebn p\u00ebrkat\u00ebse Merkle.<\/p>\n<p>Kur n\u00eb hapin (4) nj\u00eb pjes\u00ebmarr\u00ebs dekodifikon 67 pjes\u00ebt p\u00ebr nj\u00eb varg t\u00eb caktuar, dhe p\u00ebrpiqet t\u00eb rikrijoj\u00eb vargun origjinal, nj\u00eb nga opsionet mund t\u00eb jet\u00eb:<\/p>\n<ol>\n<li>\n<p>Str\u00ebn e rikuperohet, dhe n\u00ebse ajo pastaj kodifikohet p\u00ebrs\u00ebri me kodet fshij\u00ebse, dhe llogarit\u00eb pem\u00ebn Merkle p\u00ebr aksionet e llogaritura lokalisht, rr\u00ebnj\u00ebn e p\u00ebrputhet me at\u00eb mbi t\u00eb cil\u00ebn \u00ebsht\u00eb arritur konsensusi.<\/p>\n<\/li>\n<li>\n<p>Str\u00ebn e rikuperohet, por rr\u00ebnj\u00ebn e llogaritur lokalisht nuk p\u00ebrputhet me at\u00eb mbi t\u00eb cil\u00ebn \u00ebsht\u00eb arritur konsensusi.<\/p>\n<\/li>\n<li>\n<p>Str\u00ebn nuk rikuperohet.<\/p>\n<\/li>\n<\/ol>\n<p>\u00cbsht\u00eb e leht\u00eb t\u00eb tregohet se n\u00ebse ndonj\u00eb nga pjes\u00ebmarr\u00ebsit p\u00ebrjetoj\u00eb variantin (1), at\u00ebher\u00eb t\u00eb gjith\u00eb pjes\u00ebmarr\u00ebsit do t\u00eb p\u00ebrjetojn\u00eb variantin (1), dhe p\u00ebrndryshe, n\u00ebse ndonj\u00eb nga pjes\u00ebmarr\u00ebsit p\u00ebrjeton variantin (2) ose (3), at\u00ebher\u00eb t\u00eb gjith\u00eb pjes\u00ebmarr\u00ebsit do t\u00eb p\u00ebrjetojn\u00eb variantin (2) ose (3). Prandaj, p\u00ebr \u00e7do str\u00ebn\u00eb n\u00eb grup, ose t\u00eb gjith\u00eb pjes\u00ebmarr\u00ebsit do ta rikuperojn\u00eb me sukses, ose t\u00eb gjith\u00eb pjes\u00ebmarr\u00ebsit nuk do t\u00eb mund ta rikuperojn\u00eb. Pastaj, numri rast\u00ebsor rezultues \u00ebsht\u00eb XOR vet\u00ebm p\u00ebr ato strenja q\u00eb pjes\u00ebmarr\u00ebsit arrit\u00ebn t\u00eb rikuperojn\u00eb.<\/p>\n<h3>N\u00ebnshkrimet kufizuese<\/h3>\n<p>Nj\u00eb qasje tjet\u00ebr ndaj rast\u00ebsis\u00eb \u00ebsht\u00eb p\u00ebrdorimi i ashtuquajtur\u00ebve n\u00ebnshkrime BLS me prag. Nj\u00eb gjenerues numrash rast\u00ebsor\u00eb i bazuar n\u00eb n\u00ebnshkrime me prag ka garanci t\u00eb nj\u00ebjta me algoritmin e m\u00ebsip\u00ebrm t\u00eb bazuar n\u00eb kodet q\u00eb fshihen, por ka nj\u00eb asimptotik\u00eb duksh\u00ebm m\u00eb t\u00eb ul\u00ebt t\u00eb numrit t\u00eb mesazheve q\u00eb d\u00ebrgohen n\u00eb rrjet p\u00ebr \u00e7do num\u00ebr t\u00eb gjeneruar.<\/p>\n<p>N\u00ebnshkrimet BLS jan\u00eb nj\u00eb konstruksion q\u00eb lejon disa pjes\u00ebmarr\u00ebs t\u00eb krijojn\u00eb nj\u00eb n\u00ebnshkrim t\u00eb p\u00ebrbashk\u00ebt p\u00ebr nj\u00eb mesazh. K\u00ebto n\u00ebnshkrime shpesh p\u00ebrdoren p\u00ebr t\u00eb kursyer hap\u00ebsir\u00eb dhe kapacitet bande duke mos k\u00ebrkuar shp\u00ebrndarjen e disa n\u00ebnshkrimeve.&nbsp;<\/p>\n<p>Nj\u00eb p\u00ebrdorim i shpesht\u00eb p\u00ebr n\u00ebnshkrimet BLS n\u00eb protokollet e blockchain, p\u00ebrve\u00e7 gjenerimit t\u00eb numrave t\u00eb rastit, \u00ebsht\u00eb n\u00ebnshkrimi i blloqeve n\u00eb protokollet BFT. Le t\u00eb themi, 100 pjes\u00ebmarr\u00ebs krijojn\u00eb blloqe dhe nj\u00eb bllok shpallet p\u00ebrfundimtar n\u00ebse 67 prej tyre e n\u00ebnshkruajn\u00eb at\u00eb. T\u00eb gjith\u00eb ata mund t\u00eb paraqesin pjes\u00ebt e tyre t\u00eb n\u00ebnshkrimit BLS dhe t\u00eb p\u00ebrdorin ndonj\u00eb algorit\u00ebm konsensusi p\u00ebr t\u00eb arritur nj\u00eb marr\u00ebveshje p\u00ebr 67 nga ata, dhe pastaj t'i bashkojn\u00eb ato n\u00eb nj\u00eb n\u00ebnshkrim BLS t\u00eb vet\u00ebm. \u00c7do 67 (ose m\u00eb shum\u00eb) pjes\u00eb mund t\u00eb p\u00ebrdoren p\u00ebr t\u00eb krijuar n\u00ebnshkrimin p\u00ebrfundimtar, i cili do t\u00eb varet nga cilat 67 n\u00ebnshkrime jan\u00eb bashkuar dhe prandaj mund t\u00eb ndryshoj\u00eb, por pavar\u00ebsisht se zgjedhja e ndryshme e 67 pjes\u00ebmarr\u00ebsve do t\u00eb krijoj\u00eb nj\u00eb n\u00ebnshkrim t\u00eb ndrysh\u00ebm, \u00e7do n\u00ebnshkrim i till\u00eb do t\u00eb ishte nj\u00eb n\u00ebnshkrim i sakt\u00eb p\u00ebr bllokun. Pjes\u00ebmarr\u00ebsit e tjer\u00eb m\u00eb pas duhet vet\u00ebm t\u00eb marrin p\u00ebrmes rrjetit dhe t\u00eb verifikojn\u00eb vet\u00ebm nj\u00eb n\u00ebnshkrim p\u00ebr \u00e7do bllok, n\u00eb vend t\u00eb 67, gj\u00eb q\u00eb e ul ndjesh\u00ebm ngarkes\u00ebn n\u00eb rrjet.<\/p>\n<p>Duket se n\u00ebse \u00e7el\u00ebsat privat\u00eb q\u00eb p\u00ebrdoren nga pjes\u00ebmarr\u00ebsit gjenerohen n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb caktuar, at\u00ebher\u00eb pavar\u00ebsisht se cilat jan\u00eb 67 n\u00ebnshkrimet (ose m\u00eb shum\u00eb, por asnj\u00ebher\u00eb m\u00eb pak) t\u00eb agreguara, n\u00ebnshkrimi rezultues do t\u00eb jet\u00eb i nj\u00ebjt\u00eb. Kjo mund t\u00eb p\u00ebrdoret si burim rast\u00ebsie: pjes\u00ebmarr\u00ebsit fillimisht bien dakord p\u00ebr nj\u00eb mesazh q\u00eb do t\u00eb n\u00ebnshkruajn\u00eb (mund t\u00eb jet\u00eb rezultati i RANDAO-s ose thjesht heksi i bllokut t\u00eb fundit, n\u00eb t\u00eb v\u00ebrtet\u00eb nuk ka r\u00ebnd\u00ebsi, p\u00ebrve\u00e7 faktit q\u00eb duhet t\u00eb ndryshoj\u00eb \u00e7do her\u00eb dhe t\u00eb jet\u00eb i miratuar), dhe krijojn\u00eb nj\u00eb n\u00ebnshkrim BLS p\u00ebr t\u00eb. Rezultati i gjenerimit do t\u00eb jet\u00eb i pap\u00ebrcaktuar, derisa 67 pjes\u00ebmarr\u00ebsit t\u00eb ofrojn\u00eb pjes\u00ebt e tyre, dhe pas k\u00ebsaj, t\u00eb dh\u00ebnat e daljes jan\u00eb tashm\u00eb t\u00eb paracaktuara dhe nuk mund t\u00eb varen nga veprimet e ndonj\u00eb pjes\u00ebmarr\u00ebsi.<\/p>\n<p>Kjo qasje ndaj rast\u00ebsis\u00eb \u00ebsht\u00eb e q\u00ebndrueshme, n\u00ebse t\u00eb pakt\u00ebn \u2154 e pjes\u00ebmarr\u00ebsve jan\u00eb online dhe ndjekin protokollin, dhe \u00ebsht\u00eb e paanshme dhe e paparashikueshme p\u00ebrderisa t\u00eb pakt\u00ebn \u2153 e pjes\u00ebmarr\u00ebsve ndjekin protokollin. \u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb theksohet se nj\u00eb sulmues q\u00eb kontrollon m\u00eb shum\u00eb se \u2153 por m\u00eb pak se \u2154 t\u00eb pjes\u00ebmarr\u00ebsve mund ta ndal\u00eb protokollin, por nuk mund ta parashikoj\u00eb ose ndikoj\u00eb n\u00eb rezultatin e tij.<\/p>\n<p>N\u00ebnshkrimet prag p\u00ebr vete jan\u00eb nj\u00eb tem\u00eb shum\u00eb interesante. N\u00eb pjes\u00ebn e dyt\u00eb t\u00eb artikullit do t\u00eb shqyrtojm\u00eb n\u00eb detaje se si funksionojn\u00eb ato, dhe se si duhet t\u00eb gjenerohen \u00e7el\u00ebsat e pjes\u00ebmarr\u00ebsve q\u00eb n\u00ebnshkrimet prag t\u00eb mund t\u00eb p\u00ebrdoren si gjenerator numrash rast\u00ebsor\u00eb.<\/p>\n<h3>N\u00eb p\u00ebrfundim<\/h3>\n<p>Ky artikull \u00ebsht\u00eb i pari n\u00eb nj\u00eb seri artikujsh teknik\u00eb n\u00eb blog <noindex><a rel=\"nofollow\" href=\"https:\/\/near.org\">NEAR<\/a><\/noindex>. NEAR \u00ebsht\u00eb nj\u00eb protokoll blockchain dhe platform\u00eb p\u00ebr zhvillimin e aplikacioneve t\u00eb decentralizuara me fokus n\u00eb thjesht\u00ebsin\u00eb e zhvillimit dhe thjesht\u00ebsin\u00eb e p\u00ebrdorimit p\u00ebr p\u00ebrdoruesit e fundit.<\/p>\n<p>Kodi i protokollit \u00ebsht\u00eb i hapur, zbatimi yn\u00eb \u00ebsht\u00eb shkruar n\u00eb Rust dhe mund t\u00eb gjendet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/nearprotocol\/nearcore\">k\u00ebtu<\/a><\/noindex>.<\/p>\n<p>T\u00eb shikoni si duket zhvillimi n\u00ebn NEAR dhe t\u00eb eksperimentoni n\u00eb online-IDE mund t\u00eb b\u00ebhet <noindex><a rel=\"nofollow\" href=\"https:\/\/examples.near.org\">k\u00ebtu<\/a><\/noindex>.<\/p>\n<p>T\u00eb ndjekni t\u00eb gjitha lajmet n\u00eb gjuh\u00ebn ruse mund t\u00eb b\u00ebhet n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/near_protocol\">grupin n\u00eb Telegram<\/a><\/noindex> dhe n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/nearprotocol\">grupin n\u00eb VKontakte<\/a><\/noindex>, dhe n\u00eb anglisht n\u00eb zyrtare <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/NEARProtocol\">twitter<\/a><\/noindex>.<\/p>\n<p>Shihemi s\u00eb shpejti!<\/p>\n<p>Burimi: <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 4.9.10 - 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. \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 -- \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 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0430\u0432\u043a\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\/sq\/blog\/administrirovanie\/mozhno-li-generirovat-sluchajnye-chisla-esli-my-ne-doveryaem-drug-drugu-chast-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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. \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 -- \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 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0430\u0432\u043a\u0443\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/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\udd47 A \u00ebsht\u00eb e mundur t\u00eb gjenerohen numra rast\u00ebsor, n\u00ebse nuk e besojm\u00eb nj\u00ebri-tjetrin? Pjesa 1 | ProHoster","description":"P\u00ebrsh\u00ebndetje, Habr! N\u00eb k\u00ebt\u00eb artikull do flas p\u00ebr gjenerimin e numrave pseudo-rast\u00ebsor nga pjes\u00ebmarr\u00ebsit q\u00eb nuk e besojn\u00eb nj\u00ebri-tjetrin. Si\u00e7 do t\u00eb shohim m\u00eb posht\u00eb, implementimi i nj\u00eb gjeneratori \"gati\" t\u00eb mir\u00eb \u00ebsht\u00eb mjaft i leht\u00eb, por i nj\u00eb shum\u00eb t\u00eb mir\u00eb \u2013 \u00ebsht\u00eb i v\u00ebshtir\u00eb. Pse \u00ebsht\u00eb e nevojshme t\u00eb gjenerohen numra rast\u00ebsor nga pjes\u00ebmarr\u00ebsit q\u00eb nuk e besojn\u00eb nj\u00ebri-tjetrin? Nj\u00eb nga fushat e aplikimit \u00ebsht\u00eb aplikacionet e decentralizuara. P\u00ebr shembull, nj\u00eb aplikacion q\u00eb pranon nj\u00eb bast","canonical_url":"https:\/\/prohoster.info\/sq\/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":"sq_AL","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. \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 -- \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 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0430\u0432\u043a\u0443","og:url":"https:\/\/prohoster.info\/sq\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/95468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=95468"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/95468\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/95469"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=95468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=95468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=95468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}