{"id":33888,"date":"2019-10-31T21:55:15","date_gmt":"2019-10-31T18:55:15","guid":{"rendered":"https:\/\/prohoster.info\/blog\/sluchajnye-chisla-i-detsentralizovannye-seti-implementatsii\/"},"modified":"2019-10-31T21:55:15","modified_gmt":"2019-10-31T18:55:15","slug":"sluchajnye-chisla-i-detsentralizovannye-seti-implementatsii","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-implementatsii","title":{"rendered":"Numra t\u00eb rastit dhe rrjetet dekterale: implementime","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h1 id=\"vvedenie\">Hyrje<\/h1>\n<p><\/p>\n<pre><code class=\"plaintext\">function getAbsolutishtRastRandomNumer() {\n        return 4; \/\/ kthen numrin absolutisht t\u00eb rast\u00ebsish\u00ebm!\n}<\/code><\/pre>\n<p><\/p>\n<p>Si\u00e7 \u00ebsht\u00eb rasti me konceptin e enkriptimit t\u00eb r\u00ebnd\u00ebsish\u00ebm absolut, protokollet reale \"Publicly Verifiable Random Beacon\" (PVRB) p\u00ebrpiqen t\u00eb afrohen sa m\u00eb shum\u00eb me skem\u00ebn ideale, pasi n\u00eb rrjetet reale ajo nuk \u00ebsht\u00eb e aplikueshme n\u00eb form\u00ebn e saj t\u00eb past\u00ebr: duhet t\u00eb dakordohet rrept\u00ebsisht p\u00ebr nj\u00eb bit, duhen shum\u00eb raunde, dhe t\u00eb gjitha mesazhet duhet t\u00eb jen\u00eb t\u00eb shpejta dhe gjithmon\u00eb t\u00eb dor\u00ebzohen. Sigurisht, n\u00eb rrjetet reale nuk \u00ebsht\u00eb k\u00ebshtu. Prandaj, kur projektohet PVRB p\u00ebr detyrat specifike n\u00eb blockchain-at modern\u00eb, p\u00ebrve\u00e7 pamund\u00ebsis\u00eb s\u00eb kontrollit t\u00eb rast\u00ebsis\u00eb s\u00eb marra dhe q\u00ebndrueshm\u00ebris\u00eb kriptografike, shfaqen edhe shum\u00eb probleme t\u00eb tjera t\u00eb nd\u00ebrtimit dhe teknologjis\u00eb.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Blockchain-i n\u00eb vetvete \u00ebsht\u00eb p\u00ebr PVRB praktikisht nj\u00eb mjedis komunikimi, n\u00eb t\u00eb cilin mesazhet jan\u00eb transaksione. Kjo lejon t\u00eb p\u00ebrjashtohet pjes\u00ebrisht problematika e rrjeteve, d\u00ebrgim\u00ebve t\u00eb mesazheve dhe problemeve t\u00eb softuer\u00ebve nd\u00ebrmjet\u00ebs \u2014 t\u00eb gjitha k\u00ebto rreziqe pranohen nga rrjeti decentralizuar, dhe vlera kryesore e tij p\u00ebr PVRB \u00ebsht\u00eb pamund\u00ebsia p\u00ebr t\u00eb t\u00ebrhequr ose prishur nj\u00eb transaksion t\u00eb d\u00ebrguar tashm\u00eb \u2014 kjo nuk i lejon pjes\u00ebmarr\u00ebsit t\u00eb heqin dor\u00eb nga pjes\u00ebmarrja n\u00eb protokoll, p\u00ebrve\u00e7 n\u00ebse ata kryejn\u00eb nj\u00eb sulm t\u00eb suksessh\u00ebm n\u00eb konsensus. Ky nivel sigurie \u00ebsht\u00eb i pranuesh\u00ebm, ndaj PVRB duhet t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm ndaj komplotit t\u00eb pjes\u00ebmarr\u00ebsve t\u00eb nj\u00ebjt\u00eb me at\u00eb t\u00eb zinxhirit kryesor t\u00eb blockchain-it. Gjithashtu, kjo sugjeron q\u00eb PVRB duhet t\u00eb jet\u00eb pjes\u00eb e konsensusit, n\u00ebse rrjeti \u00ebsht\u00eb dakorduar p\u00ebr zinxhirin kryesor t\u00eb bllokut, le t\u00eb dakordohet gjithashtu p\u00ebr rast\u00ebsin\u00eb e vetme t\u00eb ndershme. Ose, PVRB \u00ebsht\u00eb thjesht nj\u00eb protokoll standalone, i implementuar nga nj\u00eb smart contract, q\u00eb operon asinkronisht n\u00eb lidhje me blockchain-in dhe blloqet. T\u00eb dyja metodat kan\u00eb p\u00ebrfitimet dhe disavantazhet e tyre, dhe zgjedhja mes tyre \u00ebsht\u00eb tep\u00ebr e nd\u00ebrlikuar. <\/p>\n<p><\/p>\n<h2 id=\"dva-sposoba-implementacii-pvrb\">Dy m\u00ebnyra p\u00ebr implementimin e PVRB<\/h2>\n<p><\/p>\n<p>Do t\u00eb p\u00ebrshkruaj m\u00eb n\u00eb detaje dy variantet e implementimit t\u00eb PVRB \u2014 versionin standalone, q\u00eb punon me p\u00ebrdorimin e nj\u00eb smart contract-i t\u00eb pavarur nga blockchain-i, dhe m\u00ebnyr\u00ebn e integruar n\u00eb konsensus \u2014 t\u00eb integruar n\u00eb protokoll, sipas t\u00eb cilit rrjeti \u00ebsht\u00eb dakorduar p\u00ebr zinxhirin e bllokut dhe transaksionet p\u00ebrfshir\u00ebse. N\u00eb t\u00eb gjitha rastet, un\u00eb do t\u00eb kem parasysh motor\u00ebt e njohur t\u00eb blockchain-it: Ethereum, EOS, dhe t\u00eb gjitha ato q\u00eb i ngjajn\u00eb atyre n\u00eb m\u00ebnyr\u00ebn e vendosjes dhe procesimit t\u00eb smart contract-eve. <\/p>\n<p><\/p>\n<h3 id=\"standalone-contract\">Kontrakt i pavarur<\/h3>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb variant, PVRB p\u00ebrfaq\u00ebson nj\u00eb smart kontrat\u00eb q\u00eb pranon transaksione nga prodhuesit-rast (m\u00eb pas RP), i p\u00ebrpunon ato, kombinon rezultatet dhe, si pasoj\u00eb, arrin n\u00eb nj\u00eb vler\u00eb, e cila mund t\u00eb merret nga \u00e7do p\u00ebrdorues nga kjo kontrat\u00eb. Kjo vler\u00eb mund t\u00eb mos ruhet direkt n\u00eb kontrat\u00eb, por t\u00eb p\u00ebrfaq\u00ebsohet vet\u00ebm me t\u00eb dh\u00ebna nga t\u00eb cilat mund t\u00eb nxirret n\u00eb m\u00ebnyr\u00eb deterministe nj\u00eb dhe vet\u00ebm nj\u00eb vler\u00eb e rast\u00ebsishme rezultuese. N\u00eb k\u00ebt\u00eb skem\u00eb, RP jan\u00eb p\u00ebrdoruesit e blockchain-it dhe mund t'u lejohet t\u00eb gjith\u00eb t\u00eb marrin pjes\u00eb n\u00eb procesin e gjenerimit.<\/p>\n<p><\/p>\n<p>Varianti me kontrakt\u00eb t\u00eb pavarur \u00ebsht\u00eb i mir\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>p\u00ebr portabilitetin (kontrat\u00eb t\u00eb cilat mund t\u00eb transferohen nga nj\u00eb blockchain n\u00eb nj\u00eb tjet\u00ebr)<\/li>\n<li>p\u00ebr thjesht\u00ebsin\u00eb n\u00eb realizim dhe testim (kontrat\u00eb t\u00eb cilat jan\u00eb t\u00eb lehta p\u00ebr t'u shkruar dhe testuar)<\/li>\n<li>p\u00ebr leht\u00ebsin\u00eb n\u00eb realizimin e skemave ekonomike (e leht\u00eb p\u00ebr t\u00eb krijuar token-in tuaj, logjika e t\u00eb cilit sh\u00ebrben p\u00ebr q\u00ebllimet e PVRB)<\/li>\n<li>p\u00ebr mund\u00ebsin\u00eb e fillimit n\u00eb blockchain-e q\u00eb jan\u00eb tashm\u00eb n\u00eb funksion<\/li>\n<\/ul>\n<p><\/p>\n<p>Por ka dhe disavantazhe:<\/p>\n<p><\/p>\n<ul>\n<li>kufizime t\u00eb forta mbi burimet gjat\u00eb llogaritjeve, v\u00ebllimi i transaksioneve dhe ruajtjes (thjesht, cpu\/mem\/io)<\/li>\n<li>kufizime mbi operacionet brenda kontrat\u00ebs (jo t\u00eb gjitha instruksionet jan\u00eb t\u00eb disponueshme, e v\u00ebshtir\u00eb p\u00ebr t'u lidhur me biblioteka t\u00eb jashtme)<\/li>\n<li>pamund\u00ebsia p\u00ebr t\u00eb organizuar shk\u00ebmbimin e mesazheve m\u00eb shpejt se sa transaksionet p\u00ebrfshihen n\u00eb blockchain<\/li>\n<\/ul>\n<p><\/p>\n<p>Ky variant \u00ebsht\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr realizimin e PVRB, i cili duhet t\u00eb fillohet n\u00eb nj\u00eb rrjet ekzistues, pa p\u00ebrfshir\u00eb kriptografi t\u00eb komplikuar dhe q\u00eb nuk k\u00ebrkon shum\u00eb nd\u00ebrveprime.<\/p>\n<p><\/p>\n<h3 id=\"consensus-integrated\">Konsensusi i integruar<\/h3>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb variant, PVRB \u00ebsht\u00eb realizuar n\u00eb kodin e nodit t\u00eb blockchain-it, i integruar ose punon paralelisht me shk\u00ebmbimin e mesazheve nd\u00ebrmjet nodave t\u00eb blockchain-it. Rezultatet e protokollit regjistrohen direkt n\u00eb blloqet q\u00eb prodhohen, nd\u00ebrsa mesazhet e protokollit d\u00ebrgohen p\u00ebrmes rrjetit p2p midis nodave. Meqen\u00ebse protokolli p\u00ebrmban numra q\u00eb duhet t\u00eb regjistrohen n\u00eb blloqe, rrjeti duhet t\u00eb arrij\u00eb konsensus p\u00ebr ta. K\u00ebshtu, mesazhet PVRB, ashtu si transaksionet, duhet t\u00eb validohen nga nodet dhe t\u00eb p\u00ebrfshihen n\u00eb blloqe, q\u00eb \u00e7do pjes\u00ebmarr\u00ebs i rrjetit t\u00eb mund t\u00eb validonte p\u00ebrmbushjen e protokollit PVRB. Kjo automatikisht na \u00e7on n\u00eb nj\u00eb zgjidhje t\u00eb qart\u00eb \u2014 n\u00ebse rrjeti arin nj\u00eb konsensus rreth bllokut dhe transaksioneve n\u00eb t\u00eb, at\u00ebher\u00eb PVRB duhet t\u00eb jet\u00eb pjes\u00eb e konsensusit dhe jo nj\u00eb protokoll i shk\u00ebputur. Ndryshe mund t\u00eb ndodhi q\u00eb nj\u00eb bllok t\u00eb jet\u00eb valid nga pik\u00ebpamja e konsensusit, por protokolli PVRB t\u00eb mos jet\u00eb respektuar, dhe nga pik\u00ebpamja e PVRB, blloku nuk mund t\u00eb pranohet. Pra, n\u00ebse zgjedhet varianti \u201cintegruar n\u00eb konsensus\u201d, PVRB b\u00ebhet nj\u00eb pjes\u00eb e r\u00ebnd\u00ebsishme e konsensusit.<\/p>\n<p><\/p>\n<p>Duke p\u00ebrshkruar implementimet e PVRB n\u00eb nivelin e konsensusit n\u00eb rrjet, asnj\u00ebher\u00eb nuk duhet t\u00eb injorohen \u00e7\u00ebshtjet e finalitetit. Finaliteti \u00ebsht\u00eb nj\u00eb mekaniz\u00ebm q\u00eb p\u00ebrdoret n\u00eb consensus t\u00eb determinuara, i cili evidenton nj\u00eb bllok (dhe zinxhirin q\u00eb e \u00e7on atje) q\u00eb \u00ebsht\u00eb final, dhe kurr\u00eb nuk do t\u00eb hidhet posht\u00eb, madje edhe n\u00ebse ndodhet nj\u00eb fork paralel. P\u00ebr shembull, n\u00eb Bitcoin nuk ka nj\u00eb mekaniz\u00ebm t\u00eb till\u00eb \u2014 n\u00ebse publikohet nj\u00eb zinxhir me komplekse m\u00eb t\u00eb madhe, ai do t\u00eb z\u00ebvend\u00ebsoj\u00eb \u00e7far\u00ebdo zinxhiri m\u00eb pak kompleks, pavar\u00ebsisht nga gjat\u00ebsi e zinxhir\u00ebve. Nd\u00ebrsa n\u00eb EOS, blloqet p\u00ebrfundimtare jan\u00eb t\u00eb ashtuquajturat Last Irreversible Blocks, q\u00eb shfaqen n\u00eb mesatarisht \u00e7do 432 blloqe (12*21 + 12*15, pre-vote + pre-commit). Ky proces \u00ebsht\u00eb n\u00eb thelb nj\u00eb pritje p\u00ebr 2\/3 t\u00eb n\u00ebnshkrimeve nga prodhuesit e blloqeve (m\u00eb pas BP). Kur ndodhin fork, q\u00eb jan\u00eb m\u00eb t\u00eb vjet\u00ebr se LIB-i m\u00eb i fundit, ato thjesht hidhen posht\u00eb. Ky mekaniz\u00ebm lejon q\u00eb t\u00eb konfirmohet se nj\u00eb transaksion \u00ebsht\u00eb p\u00ebrfshir\u00eb n\u00eb bllok\u00e7enin dhe kurr\u00eb nuk do t\u00eb t\u00ebrhiqet, pavar\u00ebsisht nga burimet q\u00eb ka sulmuesi. Po ashtu, blloqet p\u00ebrfundimtare jan\u00eb blloqet e n\u00ebnshkruara nga 2\/3 BP n\u00eb Hyperledger, Tendermint dhe konsensuse t\u00eb tjera t\u00eb bazuara n\u00eb pBFT. Gjithashtu, protokolli p\u00ebr sigurimin e finalitetit ka kuptim t\u00eb jet\u00eb nj\u00eb shtes\u00eb mbi konsensusin, pasi ai mund t\u00eb funksionoj\u00eb asinkronisht me prodhimin dhe publikimin e blloqeve. K\u00ebtu ka nj\u00eb t\u00eb mir\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/pdf\/1710.09437.pdf\">artikulli<\/a><\/noindex> p\u00ebr p\u00ebrfundimin n\u00eb Ethereum.<\/p>\n<p><\/p>\n<p>P\u00ebrfundimi \u00ebsht\u00eb tejet i r\u00ebnd\u00ebsish\u00ebm p\u00ebr p\u00ebrdoruesit, t\u00eb cil\u00ebt pa t\u00eb mund t\u00eb b\u00ebhen viktima t\u00eb sulmit 'double spend', kur BP 'mban' blloqet dhe i publikojn\u00eb pasi rrjeti 'ka par\u00eb' nj\u00eb transaksion t\u00eb mir\u00eb. N\u00ebse nuk ka p\u00ebrfundim, forka e publikuar z\u00ebvend\u00ebson bllokun me transaksionin 'e mir\u00eb' me nj\u00eb tjet\u00ebr nga forka 'e keqe', n\u00eb t\u00eb cil\u00ebn t\u00eb nj\u00ebjtat fonde kalojn\u00eb n\u00eb adres\u00ebn e sulmuesit. N\u00eb rastin e PVRB, k\u00ebrkesat p\u00ebr p\u00ebrfundim b\u00ebhen edhe m\u00eb t\u00eb rrepta, pasi nd\u00ebrtimi i forkeve p\u00ebr PVRB do t\u00eb thot\u00eb mund\u00ebsin\u00eb p\u00ebr sulmuesin t\u00eb p\u00ebrgatis\u00eb disa variante t\u00eb rast\u00ebsis\u00eb me q\u00ebllim q\u00eb t\u00eb publikoj\u00eb at\u00eb m\u00eb t\u00eb favorshme p\u00ebr t\u00eb, dhe t\u00eb kufizoj\u00eb koh\u00ebn e mundshme t\u00eb sulmit \u2014 nj\u00eb zgjidhje e mir\u00eb.<\/p>\n<p><\/p>\n<p>Prandaj, opsioni m\u00eb i mir\u00eb \u00ebsht\u00eb t\u00eb bashkohen PVRB dhe p\u00ebrfundimi n\u00eb nj\u00eb protokoll \u2014 at\u00ebher\u00eb blloku i p\u00ebrfunduar = rast\u00ebsia e p\u00ebrfunduar, dhe kjo \u00ebsht\u00eb pik\u00ebrisht ajo q\u00eb duhej t\u00eb merrej. Tani lojtar\u00ebt do t\u00eb marrin nj\u00eb rast\u00ebsi t\u00eb garantuar p\u00ebr N sekonda, dhe mund t\u00eb jen\u00eb t\u00eb sigurt se nuk \u00ebsht\u00eb e mundur ta kthejn\u00eb pas at\u00eb ose ta rigrupojn\u00eb.<\/p>\n<p><\/p>\n<p>Opsioni me konsensus-t\u00eb integruar \u00ebsht\u00eb i mir\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>me mund\u00ebsin\u00eb e realizimit asinkron n\u00eb lidhje me prodhimin e blloqeve \u2014 blloqet prodhohen si zakonisht, por paralelisht me k\u00ebt\u00eb protokolli PVRB mund t\u00eb punoj\u00eb, i cili prodhon rast\u00ebsi jo \u00e7do bllok<\/li>\n<li>me mund\u00ebsin\u00eb p\u00ebr t\u00eb implementuar madje kriptografin\u00eb e r\u00ebnd\u00eb, pa kufizime t\u00eb vendosura nga kontratat inteligente<\/li>\n<li>me mund\u00ebsin\u00eb p\u00ebr t\u00eb organizuar shk\u00ebmbime mesazhe m\u00eb shpejt se sa transaksionet p\u00ebrfshihen n\u00eb blockchain, p\u00ebr shembull nj\u00eb pjes\u00eb e protokollit mund t\u00eb punoj\u00eb mes nodave pa p\u00ebrhapjen e mesazheve n\u00eb rrjet<\/li>\n<\/ul>\n<p><\/p>\n<p>Por ka dhe disavantazhe:<\/p>\n<p><\/p>\n<ul>\n<li>v\u00ebshtir\u00ebsit\u00eb gjat\u00eb testimit dhe zhvillimit \u2014 do t\u00eb duhet t\u00eb imitojm\u00eb gabimet n\u00eb rrjet, nodet q\u00eb humbasin, hardforcat e rrjetit<\/li>\n<li>gabimet n\u00eb implementim k\u00ebrkojn\u00eb hardfork t\u00eb rrjetit<\/li>\n<\/ul>\n<p><\/p>\n<p>T\u00eb dy m\u00ebnyrat e implementimit t\u00eb PVRB kan\u00eb t\u00eb drejt\u00ebn e jet\u00ebs, por implementimi n\u00eb kontratat inteligente n\u00eb blockchain-et moderne megjithat\u00eb ka kufizime t\u00eb forta n\u00eb resurset computacionale, dhe \u00e7do kalim n\u00eb kriptografin\u00eb serioze shpesh \u00ebsht\u00eb thjesht i pamundur. Dhe kriptografia serioze na nevojitet, si do t\u00eb demonstrohet m\u00eb tej. Megjithat\u00eb, ky problem \u00ebsht\u00eb padyshim temporal, kriptografia serioze n\u00eb kontrata \u00ebsht\u00eb e nevojshme p\u00ebr zgjidhjen e shum\u00eb problemeve, dhe gradualisht po shfaqet (p\u00ebr shembull, kontratat sistemore p\u00ebr zkSNARKs n\u00eb Ethereum)<\/p>\n<p><\/p>\n<p>Blockchain, which provides a transparent and reliable messaging exchange channel for the protocol, does not do this for free. Any decentralized protocol must consider the possibility of a Sybil attack; any action can be made consistent by colluding forces from multiple accounts, so when designing, one must take into account the attackers' capabilities to create an arbitrary number of protocol participants acting in collusion. <\/p>\n<p><\/p>\n<h2 id=\"pvrb-i-peremennye-bloka\">PVRB and block variables.<\/h2>\n<p><\/p>\n<p>I wasn't lying when I said that a good PVRB, tested by many gambling applications, has not yet been implemented in blockchains. So where does all this number of gambling applications in Ethereum and EOS come from? It surprises me just as much as it does you; how did they find so many \u2018resilient\u2019 randoms in a completely deterministic environment?<\/p>\n<p><\/p>\n<p>The preferred way to extract randomness in blockchain is to take some \u2018unpredictable\u2019 information from the block and use it to create randomness\u2014simply by hashing one or more values. A good article on the issues of such schemes. <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.positive.com\/predicting-random-numbers-in-ethereum-smart-contracts-e5358c6b8620\">k\u00ebtu<\/a><\/noindex>One can take any of the \u2018unpredictable\u2019 values in the block, for example, the block hash, the number of transactions, the network difficulty, and other values that are not known in advance. Then hash them, one or several, and ideally, it should result in true randomness. One could even state in the whitepaper that your scheme is \u2018post-quantum secure\u2019 (as there are quantum-proof hash functions :)).<\/p>\n<p><\/p>\n<p>But even post-quantum secure hashes are not enough, unfortunately. The secret lies in the requirements for PVRB; let me remind you of them from the previous article:<\/p>\n<p><\/p>\n<ol>\n<li>Rezultati duhet t\u00eb ket\u00eb nj\u00eb shp\u00ebrndarje t\u00eb v\u00ebrtet\u00eb t\u00eb barabart\u00eb, dometh\u00ebn\u00eb t\u00eb bazohet n\u00eb kriptografi t\u00eb q\u00ebndrueshme dhe t\u00eb provuar.<\/li>\n<li>Nuk \u00ebsht\u00eb e mundur t\u00eb kontrolloni asnj\u00eb bit t\u00eb rezultatit. Si pasoj\u00eb, rezultati nuk mund t\u00eb parashikohet paraprakisht.<\/li>\n<li>Nuk \u00ebsht\u00eb e mundur t\u00eb sabotosh protokollin e gjenerimit p\u00ebrmes mosmarrjes pjes\u00eb n\u00eb protokoll ose duke mbingarkuar rrjetin me mesazhe sulmuese.<\/li>\n<li>T\u00eb gjitha t\u00eb m\u00ebsip\u00ebrmet duhet t\u00eb jen\u00eb t\u00eb q\u00ebndrueshme ndaj komplotit t\u00eb nj\u00eb numri t\u00eb pranuesh\u00ebm t\u00eb pjes\u00ebmarr\u00ebsve t\u00eb pandersh\u00ebm t\u00eb protokollit (p.sh. 1\/3 e pjes\u00ebmarr\u00ebsve).<\/li>\n<\/ol>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb rast zbatohet vet\u00ebm k\u00ebrkesa 1, dhe nuk respektohet 2. Duke hash-uar vlera t\u00eb papritura nga blloku, ne do t\u00eb marrim nj\u00eb shp\u00ebrndarje t\u00eb barabart\u00eb dhe t\u00eb mira rast\u00ebsishm\u00ebrie. Por BP ka t\u00eb pakt\u00ebn mund\u00ebsin\u00eb \"t\u00eb publikoj\u00eb bllokun, ose jo\". K\u00ebshtu, BP mund t\u00eb zgjedh\u00eb nga DY mund\u00ebsi rast\u00ebsishm\u00ebrie: \"t\u00eb tijin\" dhe at\u00eb q\u00eb do t\u00eb rezultonte, n\u00ebse bllokun e publikonte dikush tjet\u00ebr. BP mund t\u00eb \"shikoj\u00eb paraprakisht\" se \u00e7far\u00eb do t\u00eb rezultonte, n\u00ebse do ta publikonte bllokun, dhe thjesht merr vendimin t\u00eb b\u00ebj\u00eb ose jo k\u00ebt\u00eb. K\u00ebshtu, duke luajtur p\u00ebr shembull n\u00eb \"\u00e7ift-tek\u00eb\" ose \"t\u00eb kuqe\/zeze\" n\u00eb rulet\u00eb, mund t\u00eb publikoj\u00eb bllokun vet\u00ebm n\u00ebse sheh fitimin. Kjo gjithashtu e b\u00ebn strategjin\u00eb e p\u00ebrdorimit, p\u00ebr shembull, t\u00eb hash-it t\u00eb bllokut \"nga e ardhmja\" jo funksionale. N\u00eb k\u00ebt\u00eb rast, thuhet se \"do t\u00eb p\u00ebrdoret rast\u00ebsia q\u00eb rezulton nga hash-imi i t\u00eb dh\u00ebnave aktuale dhe hash-i i bllokut t\u00eb ardhsh\u00ebm n\u00eb lart\u00ebsin\u00eb, p\u00ebr shembull, N + 42, ku N \u00ebsht\u00eb lart\u00ebsia aktuale e bllokut. Kjo e forcon pak skem\u00ebn, por p\u00ebrs\u00ebri i lejon BP-s\u00eb, ndon\u00ebse n\u00eb t\u00eb ardhmen, t\u00eb zgjedh\u00eb, t\u00eb mbaj\u00eb bllokun ose ta publikoj\u00eb.<\/p>\n<p><\/p>\n<p>Software-i i BP-s\u00eb n\u00eb k\u00ebt\u00eb rast b\u00ebhet m\u00eb i komplikuar, por jo shum\u00eb. Thjesht gjat\u00eb validimit dhe p\u00ebrfshirjes s\u00eb transaksionit n\u00eb bllok, b\u00ebhet nj\u00eb kontroll i shpejt\u00eb, n\u00ebse do t\u00eb ket\u00eb fitim, dhe ndoshta rregullimi i nj\u00eb nga parametrave t\u00eb transaksionit, p\u00ebr t\u00eb marr\u00eb nj\u00eb mund\u00ebsi t\u00eb lart\u00eb p\u00ebr fitim. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, kapja e BP-s\u00eb s\u00eb men\u00e7ur, pas k\u00ebtyre manovrimeve \u00ebsht\u00eb pothuajse e pamundur, \u00e7do her\u00eb mund t\u00eb p\u00ebrdoren adresa t\u00eb reja dhe t\u00eb fitojn\u00eb pak nga pak, pa ngjallur dyshime.<\/p>\n<p><\/p>\n<p>Pra, m\u00ebnyrat q\u00eb p\u00ebrdorin informacionin nga blloku nuk jan\u00eb t\u00eb p\u00ebrshtatshme p\u00ebr t\u00eb sh\u00ebrbyer si nj\u00eb implementim universale t\u00eb PVRB. N\u00eb nj\u00eb variant t\u00eb kufizuar, me kufizime mbi p\u00ebrmasat e basteve, kufizime n\u00eb numrin e lojtar\u00ebve dhe\/ose regjistrim KYC (p\u00ebr t\u00eb mos e lejuar nj\u00eb lojtar t\u00eb p\u00ebrdor\u00eb disa adresa), k\u00ebto skema mund t\u00eb funksionojn\u00eb p\u00ebr lojra t\u00eb vogla, por jo m\u00eb tep\u00ebr.<\/p>\n<p><\/p>\n<h2 id=\"pvrb-i-commit-reveal\">PVRB dhe commit-reveal.<\/h2>\n<p><\/p>\n<p>Mir\u00eb, fal\u00eb hash-imit dhe s\u00eb paku parashikueshm\u00ebris\u00eb relative t\u00eb hash-it t\u00eb bllokut dhe variablave t\u00eb tjer\u00eb. N\u00ebse zgjidhet problemi i front-running-ut t\u00eb minator\u00ebve, duhet t\u00eb dal\u00eb di\u00e7ka m\u00eb e vlefshme. Le t\u00eb shtojm\u00eb n\u00eb k\u00ebt\u00eb skem\u00eb p\u00ebrdoruesit \u2014 le t\u00eb ndikojn\u00eb edhe ata n\u00eb rast\u00ebsin\u00eb: \u00e7do punonj\u00ebs i mb\u00ebshtetjes teknike do t'ju thot\u00eb se m\u00eb e rast\u00ebsishmja n\u00eb sistemet IT \u00ebsht\u00eb veprimi i p\u00ebrdoruesve \ud83d\ude42<\/p>\n<p><\/p>\n<p>Skema naive, ku p\u00ebrdoruesit thjesht d\u00ebrgojn\u00eb numra t\u00eb rast\u00ebsish\u00ebm dhe rezultati llogaritet, p\u00ebr shembull, si hash nga shuma e tyre, nuk \u00ebsht\u00eb e pranueshme. N\u00eb k\u00ebt\u00eb rast, lojtari i fundit mund t\u00eb kontrolloj\u00eb rezultatin duke zgjedhur rast\u00ebsisht numrin e tij. Prandaj, p\u00ebrdoret nj\u00eb model shum\u00eb t\u00eb njohur commit-reveal. Pjes\u00ebmarr\u00ebsit n\u00eb fillim d\u00ebrgojn\u00eb hash-at e rast\u00ebsive t\u00eb tyre (commit-et), dhe m\u00eb pas zbulojn\u00eb vet\u00eb rast\u00ebsit\u00eb (reveal-et). Faz\u00ebn 'reveal' e nis vet\u00ebm pasi t\u00eb ken\u00eb grumbulluar commit-et e nevojshme, k\u00ebshtu q\u00eb pjes\u00ebmarr\u00ebsit mund t\u00eb d\u00ebrgojn\u00eb sakt\u00ebsisht rast\u00ebsin\u00eb q\u00eb hash-i i t\u00eb cil\u00ebs \u00ebsht\u00eb d\u00ebrguar m\u00eb par\u00eb. Tani t\u00eb gjitha k\u00ebto i kombinojm\u00eb me parametrat e bllokut, duke i marr\u00eb m\u00eb mir\u00eb nga e ardhmja (rast\u00ebsia mund t\u00eb m\u00ebsohet vet\u00ebm n\u00eb nj\u00eb nga blloqet e ardhshme), dhe voil\u00e0 \u2014 rast\u00ebsia \u00ebsht\u00eb gati! Tani \u00e7do lojtar ndikon n\u00eb rast\u00ebsin\u00eb rezultante dhe mund t\u00eb 'fitonte' BP-in e keq, duke e mbuluar rast\u00ebsin\u00eb e tij me rast\u00ebsin\u00eb e pa njohur m\u00eb par\u00eb... Gjithashtu mund t\u00eb shtojm\u00eb mbrojtje nga sabotimi i protokollit n\u00eb faz\u00ebn e zbuluar, thjesht duke k\u00ebrkuar q\u00eb gjat\u00eb commit-it t\u00eb bashk\u00ebngjitet me transaksionin nj\u00eb shif\u00ebr \u2014 nj\u00eb depozit\u00eb sigurie, e cila do t\u00eb kthehet vet\u00ebm gjat\u00eb procedur\u00ebs s\u00eb zbuluar. N\u00eb k\u00ebt\u00eb rast, t\u00eb b\u00ebsh commit dhe t\u00eb mos b\u00ebsh reveal do t\u00eb jet\u00eb e pa avantazh.<\/p>\n<p><\/p>\n<p>Ishte nj\u00eb p\u00ebrpjekje e mir\u00eb, dhe ka skema t\u00eb tilla n\u00eb DApp-t e loj\u00ebrave, por fatkeq\u00ebsisht, edhe kjo nuk \u00ebsht\u00eb e mjaftueshme. Tani rezultati mund t\u00eb ndikoj\u00eb jo vet\u00ebm mineari, por edhe \u00e7do pjes\u00ebmarr\u00ebs tjet\u00ebr t\u00eb protokollit. Vlera e kontrolluar mund t\u00eb vazhdoj\u00eb t\u00eb jet\u00eb e mundur, me nj\u00eb shkall\u00eb m\u00eb t\u00eb ul\u00ebt variacioni dhe p\u00ebr para, por, si\u00e7 ndodh me minearin, n\u00ebse rezultatet e hedhjes jan\u00eb m\u00eb t\u00eb vlefshme se shuma p\u00ebr pjes\u00ebmarrjen n\u00eb protokollin PVRB, at\u00ebher\u00eb prodhuesi i rast\u00ebsive (RP) mund t\u00eb vendos\u00eb n\u00ebse do t\u00eb b\u00ebj\u00eb reveal dhe gjithashtu mund t\u00eb zgjedh\u00eb nga t\u00eb pakt\u00ebn dy opsione t\u00eb rast\u00ebsis\u00eb.<br \/>\nMegjithat\u00eb, tani ka mund\u00ebsi p\u00ebr t\u00eb nd\u00ebshkuar ata q\u00eb b\u00ebjn\u00eb commit dhe nuk b\u00ebjn\u00eb reveal, dhe kjo skem\u00eb do t\u00eb jet\u00eb e dobishme. Thjesht\u00ebsia e saj \u00ebsht\u00eb nj\u00eb avantazh i r\u00ebnd\u00ebsish\u00ebm \u2014 protokollet m\u00eb serioze k\u00ebrkojn\u00eb llogaritje shum\u00eb m\u00eb t\u00eb fuqishme.<\/p>\n<p><\/p>\n<h2 id=\"pvrb-i-determinirovannye-podpisi\">PVRB dhe n\u00ebnshkrime t\u00eb p\u00ebrcaktuara.<\/h2>\n<p><\/p>\n<p>Ekziston edhe nj\u00eb m\u00ebnyr\u00eb p\u00ebr ta b\u00ebr\u00eb RP t\u00eb ofroj\u00eb nj\u00eb num\u00ebr pseudorasional mbi t\u00eb cilin ai nuk mund t\u00eb ndikoj\u00eb, n\u00ebse i jepet \"prototipi\" \u2014 kjo \u00ebsht\u00eb nj\u00eb n\u00ebnshkrim deterministik. Nj\u00eb n\u00ebnshkrim i till\u00eb \u00ebsht\u00eb, p\u00ebr shembull, RSA, dhe nuk \u00ebsht\u00eb ECS. N\u00ebse RP ka nj\u00eb \u00e7ift \u00e7el\u00ebsash: RSA dhe ECC, dhe ai n\u00ebnshkruan nj\u00eb vler\u00eb me \u00e7el\u00ebsin e tij privat, at\u00ebher\u00eb n\u00eb rastin e RSA ai do t\u00eb marr\u00eb NJ\u00cb DHE VET\u00cbM NJ\u00cb n\u00ebnshkrim, nd\u00ebrsa n\u00eb rastin e ECS \u2014 ai mund t\u00eb gjeneroj\u00eb nj\u00eb num\u00ebr t\u00eb madh n\u00ebnshkrimesh t\u00eb vlefshme t\u00eb ndryshme. Kjo ndodh sepse, gjat\u00eb krijimit t\u00eb n\u00ebnshkrimit ECS, p\u00ebrdoret nj\u00eb num\u00ebr i rast\u00ebsish\u00ebm, i zgjedhur nga n\u00ebnshkruesi, dhe ai mund t\u00eb zgjidhet si t\u00eb doj\u00eb, duke i dh\u00ebn\u00eb mund\u00ebsin\u00eb n\u00ebnshkruesit t\u00eb zgjedh\u00eb nd\u00ebrmjet disa n\u00ebnshkrimesh. N\u00eb rastin e RSA: \"nj\u00eb vler\u00eb hyr\u00ebse\" + \"nj\u00eb \u00e7ift \u00e7el\u00ebsash\" = \"nj\u00eb n\u00ebnshkrim\". Nuk \u00ebsht\u00eb e mundur t\u00eb parashikohet se cili do t\u00eb jet\u00eb n\u00ebnshkrimi i nj\u00eb RP tjet\u00ebr, prandaj PVRB me n\u00ebnshkrime deterministike mund t\u00eb organizohet duke kombinuar n\u00ebnshkrimet RSA t\u00eb disa pjes\u00ebmarr\u00ebsve q\u00eb kan\u00eb n\u00ebnshkruar t\u00eb nj\u00ebjt\u00ebn vler\u00eb. P\u00ebr shembull \u2014 numri i rast\u00ebsish\u00ebm i m\u00ebparsh\u00ebm. N\u00eb nj\u00eb skem\u00eb t\u00eb till\u00eb kursehen shum\u00eb burime, sepse n\u00ebnshkrimet jan\u00eb nj\u00ebkoh\u00ebsisht edhe konfirmim t\u00eb sjelljes s\u00eb sakt\u00eb sipas protokollit, edhe burim rast\u00ebsie.<\/p>\n<p><\/p>\n<p>Megjithat\u00eb, edhe me n\u00ebnshkrime deterministike, skema mbetet e ndjeshme ndaj problemit \"aktorit t\u00eb fundit\". Pjes\u00ebmarr\u00ebsi i fundit ende mund t\u00eb vendos\u00eb n\u00ebse ta publikoj\u00eb n\u00ebnshkrimin apo jo, duke kontrolluar k\u00ebshtu rezultatin. Mund t\u00eb p\u00ebrmir\u00ebsohet skema, duke shtuar hash-e t\u00eb blloqeve, duke b\u00ebr\u00eb runda, q\u00eb rezultati t\u00eb mos parashikohet paraprakisht, por t\u00eb gjitha k\u00ebto teknik\u00eb, edhe duke marr\u00eb parasysh shum\u00eb p\u00ebrmir\u00ebsime, gjithsesi e l\u00ebn\u00eb t\u00eb pazgjidhur problemin e ndikimit t\u00eb nj\u00eb pjes\u00ebmarr\u00ebsi n\u00eb rezultatin kolektiv n\u00eb nj\u00eb ambient t\u00eb paqart\u00eb dhe mund t\u00eb funksionojn\u00eb vet\u00ebm n\u00eb kushte t\u00eb kufizimeve ekonomike dhe temporale. P\u00ebrve\u00e7 k\u00ebsaj, madh\u00ebsia e \u00e7el\u00ebsave RSA (1024 dhe 2048 bit) \u00ebsht\u00eb mjaft e madhe, dhe madh\u00ebsia p\u00ebr transaksionet n\u00eb blockchain \u00ebsht\u00eb nj\u00eb paramet\u00ebr tep\u00ebr i r\u00ebnd\u00ebsish\u00ebm. Duket se nuk do t\u00eb jet\u00eb e mundur t\u00eb zgjidhet problemi n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb thjesht\u00eb, prandaj po vazhdojm\u00eb p\u00ebrpara.<\/p>\n<p><\/p>\n<h2 id=\"pvrb-i-secret-sharing-shemy\">PVRB dhe skemat e ndarjes s\u00eb sekretit<\/h2>\n<p><\/p>\n<p>N\u00eb kriptografi, ekzistojn\u00eb skema q\u00eb mund\u00ebsojn\u00eb q\u00eb rrjeti t\u00eb arrij\u00eb nj\u00eb vler\u00eb t\u00eb vetme PVRB, nd\u00ebrsa k\u00ebto skema jan\u00eb t\u00eb q\u00ebndrueshme ndaj \u00e7do veprimi t\u00eb keq nga nj\u00eb pjes\u00eb e pjes\u00ebmarr\u00ebsve. Nj\u00eb nga protokollet e dobishme q\u00eb duhet njohur \u00ebsht\u00eb skema e ndarjes s\u00eb sekreteve t\u00eb Shamir. Ajo \u00ebsht\u00eb e destinuar p\u00ebr t\u00eb ndar\u00eb nj\u00eb sekret (p\u00ebr shembull, nj\u00eb \u00e7el\u00ebs sekret) n\u00eb disa pjes\u00eb dhe p\u00ebr ta shp\u00ebrndar\u00eb at\u00eb te N pjes\u00ebmarr\u00ebs. Sekreti shp\u00ebrndahet n\u00eb m\u00ebnyr\u00eb q\u00eb p\u00ebr t'u rikuperuar, mjafton M pjes\u00eb nga N, dhe k\u00ebto mund t\u00eb jen\u00eb \u00e7far\u00ebdo M pjes\u00ebsh. N\u00ebse e shpjegojm\u00eb thjesht, pasi t\u00eb kemi grafik\u00ebn e nj\u00eb funksioni t\u00eb panjohur, pjes\u00ebmarr\u00ebsit shk\u00ebmbejn\u00eb pika mbi grafik\u00eb, dhe pas marrjes s\u00eb M pikave, e gjith\u00eb funksioni mund t\u00eb rikuperohet.<br \/>\nNj\u00eb shpjegim i mir\u00eb \u00ebsht\u00eb dh\u00ebn\u00eb n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Shamir%27s_Secret_Sharing\">wiki<\/a><\/noindex> dhe p\u00ebr ta provuar at\u00eb n\u00eb praktik\u00eb, \u00ebsht\u00eb e dobishme t\u00eb luash protokollin n\u00eb mendje n\u00eb <noindex><a rel=\"nofollow\" href=\"http:\/\/point-at-infinity.org\/ssss\/demo.html\">demo<\/a><\/noindex> faqen.<\/p>\n<p><\/p>\n<p>N\u00ebse skema FSSS (Fiat-Shamir Secret Sharing) do t\u00eb mund t\u00eb aplikohej n\u00eb nj\u00eb form\u00eb t\u00eb past\u00ebr \u2014 do t\u00eb ishte nj\u00eb PVRB i pakapsh\u00ebm. N\u00eb variantin m\u00eb t\u00eb thjesht\u00eb, protokolli mund t\u00eb duket k\u00ebshtu:<\/p>\n<p><\/p>\n<ul>\n<li>\u00c7do pjes\u00ebmarr\u00ebs gjeneron random-in e vet dhe shp\u00ebrndan shares nga ai te pjes\u00ebmarr\u00ebsit e tjer\u00eb.<\/li>\n<li>\u00c7do pjes\u00ebmarr\u00ebs zbulohet pjes\u00ebn e sekreteve t\u00eb pjes\u00ebmarr\u00ebsve t\u00eb tjer\u00eb.<\/li>\n<li>N\u00ebse p\u00ebr nj\u00eb pjes\u00ebmarr\u00ebs jan\u00eb mbledhur m\u00eb shum\u00eb M shares, at\u00ebher\u00eb numri i atij pjes\u00ebmarr\u00ebsi mund t\u00eb llogaritet dhe do t\u00eb jet\u00eb unik, pa marr\u00eb parasysh grupin e pjes\u00ebmarr\u00ebsve q\u00eb jan\u00eb zbuluar.<\/li>\n<li>Kombinimi i random-\u00ebve t\u00eb zbuluar \u00ebsht\u00eb PVRB i k\u00ebrkuar.<\/li>\n<\/ul>\n<p><\/p>\n<p>K\u00ebtu, nj\u00eb pjes\u00ebmarr\u00ebs i ve\u00e7ant\u00eb nuk ndikon n\u00eb rezultatet e protokollit, p\u00ebrve\u00e7 rasteve kur arritja e kufirit t\u00eb zb\u00ebrthimit t\u00eb random-it varet vet\u00ebm nga ai. Prandaj, ky protokoll, n\u00ebse ka pjes\u00ebmarr\u00ebsit e nevojsh\u00ebm q\u00eb punojn\u00eb sipas protokollit dhe RP t\u00eb disponuesh\u00ebm, funksionon p\u00ebr t\u00eb p\u00ebrmbushur k\u00ebrkesat e q\u00ebndrueshm\u00ebris\u00eb kriptografike dhe \u00ebsht\u00eb i q\u00ebndruesh\u00ebm ndaj problem\u00ebs \"aktori i fundit\".<\/p>\n<p><\/p>\n<p>Kjo mund t\u00eb ishte opsioni ideal, kjo skem\u00eb PVRB mbi baz\u00ebn e ndarjes s\u00eb sekreteve t\u00eb Fiat-Shamir \u00ebsht\u00eb e p\u00ebrshkruar, p\u00ebr shembull, n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2017\/216.pdf\">k\u00ebt\u00eb<\/a><\/noindex> artikull. Por, si\u00e7 u p\u00ebrmend m\u00eb arriba, n\u00ebse p\u00ebrpiqesh ta aplikosh at\u00eb drejtp\u00ebrdrejt n\u00eb blockchain, shfaqen kufizime teknike. Ja nj\u00eb shembull i nj\u00eb realizimi testues t\u00eb protokollit n\u00eb smart contractin EOS dhe pjesa m\u00eb e r\u00ebnd\u00ebsishme e tij \u2014 verifikimi i share t\u00eb publikuar nga nj\u00eb pjes\u00ebmarr\u00ebs: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mixbytes\/eoscraper\/blob\/master\/Proof.hh#L23\">kod<\/a><\/noindex>Duke p\u00ebr kodin, verifikimi i proof-it k\u00ebrkon disa shum\u00ebzim t\u00eb skalar\u00ebve, dhe numrat p\u00ebrdoren jan\u00eb shum\u00eb t\u00eb m\u00ebdhenj. N\u00eb k\u00ebt\u00eb kontekst, duhet t\u00eb kuptohet se n\u00eb blockchain verifikimi ndodh kur block-producer p\u00ebrpunon transaksionin, dhe \u00e7do pjes\u00ebmarr\u00ebs duhet t\u00eb jet\u00eb n\u00eb gjendje ta verifikoj\u00eb leht\u00ebsisht sakt\u00ebsin\u00eb e protokollit, prandaj k\u00ebrkesat p\u00ebr shpejt\u00ebsin\u00eb e funksionit t\u00eb verifikimit jan\u00eb shum\u00eb serioze. N\u00eb k\u00ebt\u00eb variant, opsioni doli t\u00eb ishte jo-funksional, pasi verifikimi nuk p\u00ebrputhej me kufizimin mbi transaksionin (0.5 sekond\u00eb).<\/p>\n<p><\/p>\n<p>Efektiviteti i verifikimit \u00ebsht\u00eb nj\u00eb nga k\u00ebrkesat m\u00eb t\u00eb r\u00ebnd\u00ebsishme p\u00ebr p\u00ebrdorimin e \u00e7do skeme t\u00eb avancuar kriptografike n\u00eb blockchain. Krijimi i proof-ave, p\u00ebrgatitja e mesazheve - k\u00ebto procedura mund t\u00eb kryhen off-chain n\u00eb kompjuter\u00eb me performanc\u00eb t\u00eb lart\u00eb, por verifikimi nuk mund t\u00eb anashkalohet - kjo \u00ebsht\u00eb nj\u00eb k\u00ebrkes\u00eb tjet\u00ebr e r\u00ebnd\u00ebsishme p\u00ebr PVRB. <\/p>\n<p><\/p>\n<h2 id=\"pvrb-i-threshold-signatures\">PVRB dhe n\u00ebnshkrimet threshold<\/h2>\n<p><\/p>\n<p>Duke u njohur me skem\u00ebn e ndarjes s\u00eb sekretit, zbuluam nj\u00eb grup t\u00eb t\u00ebr\u00eb protokollesh t\u00eb bashkuara me fjal\u00ebn ky\u00e7e \u201cthreshold\u201d. Kur p\u00ebr t\u00eb zbuluar disa informacione k\u00ebrkohet pjes\u00ebmarrja e M pjes\u00ebmarr\u00ebsve t\u00eb ndersh\u00ebm nga N, dhe grupi i pjes\u00ebmarr\u00ebsve t\u00eb ndersh\u00ebm mund t\u00eb jet\u00eb nj\u00eb n\u00ebnset t\u00eb rast\u00ebsish\u00ebm nga N, flitet p\u00ebr skemat \u201cthreshold\u201d. Ato lejojn\u00eb t\u00eb zgjidhet problemi \u201caktorit t\u00eb fundit\u201d, tani n\u00ebse sulmuesi nuk e zbulon pjes\u00ebn e tij t\u00eb sekretit, nj\u00eb pjes\u00ebmarr\u00ebs tjet\u00ebr i ndersh\u00ebm do ta b\u00ebj\u00eb at\u00eb. K\u00ebto skema lejojn\u00eb r agreement p\u00ebr nj\u00eb vler\u00eb t\u00eb vetme, edhe n\u00eb rast t\u00eb sabotimit t\u00eb protokollit nga disa pjes\u00ebmarr\u00ebs. <\/p>\n<p><\/p>\n<p>Kombinimi i n\u00ebnshkrimeve determinuese dhe skemave threshold ka mund\u00ebsuar zhvillimin e nj\u00eb skeme shum\u00eb t\u00eb p\u00ebrshtatshme dhe premtuese p\u00ebr implementimin e PVRB - k\u00ebto jan\u00eb n\u00ebnshkrimet determinuese threshold. Ja <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2002\/081.pdf\">artikulli<\/a><\/noindex> p\u00ebr aplikime t\u00eb ndryshme t\u00eb n\u00ebnshkrimeve threshold, dhe ja nj\u00eb tjet\u00ebr i mir\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.dash.org\/secret-sharing-and-threshold-signatures-with-bls-954d1587b5f\">longread<\/a><\/noindex> nga Dash. <\/p>\n<p><\/p>\n<p>N\u00eb artikullin e fundit p\u00ebrshkruhen n\u00ebnshkrimet BLS (BLS dekodohesh si Boneh-Lynn-Shacham, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.iacr.org\/archive\/asiacrypt2001\/22480516.pdf\">ja<\/a><\/noindex> artikulli ), t\u00eb cilat kan\u00eb nj\u00eb cil\u00ebsi shum\u00eb t\u00eb r\u00ebnd\u00ebsishme dhe jasht\u00ebzakonisht t\u00eb dobishme p\u00ebr programuesit - \u00e7el\u00ebsat publik\u00eb, \u00e7el\u00ebsat sekret\u00eb dhe n\u00ebnshkrimet BLS mund t\u00eb kombinohen me nj\u00ebri-tjetrin p\u00ebrmes operacioneve t\u00eb thjeshta matematikore, duke mbajtur k\u00ebshtu kombinimet si \u00e7el\u00ebsa dhe n\u00ebnshkrime valide, duke lejuar agregimin e shum\u00eb n\u00ebnshkrimeve n\u00eb nj\u00eb dhe shum\u00eb \u00e7el\u00ebsa publik\u00eb n\u00eb nj\u00eb. Ato gjithashtu kan\u00eb nj\u00eb caktueshm\u00ebri dhe japin t\u00eb nj\u00ebjtin rezultat p\u00ebr t\u00eb nj\u00ebjtat t\u00eb dh\u00ebna hyr\u00ebse. Fal\u00eb k\u00ebsaj cil\u00ebsie, kombinimet e n\u00ebnshkrimeve BLS jan\u00eb vet\u00eb \u00e7el\u00ebsa valid\u00eb, q\u00eb lejon realizimin e nj\u00eb versioni ku M nga N pjes\u00ebmarr\u00ebs prodhojn\u00eb nj\u00eb dhe vet\u00ebm nj\u00eb n\u00ebnshkrim, i cili \u00ebsht\u00eb i caktuar, publikisht i verifikuesh\u00ebm, dhe i paparashikuesh\u00ebm deri sa t\u00eb zbulohet nga pjes\u00ebmarr\u00ebsi M.<\/p>\n<p><\/p>\n<p>N\u00eb skem\u00ebn me n\u00ebnshkrime BLS threshold, \u00e7do pjes\u00ebmarr\u00ebs n\u00ebnshkruan me BLS di\u00e7ka (p\u00ebr shembull, nj\u00eb random t\u00eb m\u00ebparsh\u00ebm), dhe n\u00ebnshkrimi total threshold \u00ebsht\u00eb random-i q\u00eb ne k\u00ebrkojm\u00eb. Vetit\u00eb kriptografike t\u00eb n\u00ebnshkrimeve BLS plot\u00ebsojn\u00eb k\u00ebrkesat p\u00ebr cil\u00ebsi t\u00eb random-it, pjesa threshold mbron nga \u201caktorin e fundit\u201d, dhe kombinueshm\u00ebria unike e \u00e7el\u00ebsave lejon realizimin e shum\u00eb algorive interesante, t\u00eb cilat leht\u00ebsojn\u00eb agregimin efikas t\u00eb mesazheve t\u00eb protokollit.<\/p>\n<p><\/p>\n<p>Pra, n\u00ebse jeni duke nd\u00ebrtuar PVRB n\u00eb blockchain-in tuaj, ka shum\u00eb gjasa t\u00eb kaloni n\u00eb skem\u00ebn e n\u00ebnshkrimeve BLS threshold, e cila tashm\u00eb po p\u00ebrdoret nga disa projekte. P\u00ebr shembull, DFinity (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/dfinity\/random-beacon\">k\u00ebtu<\/a><\/noindex> benchmark, q\u00eb implementon skem\u00ebn, dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/dfinity\/vss\/blob\/master\/docs\/index.md\">k\u00ebtu<\/a><\/noindex> shembulli i implementimit t\u00eb ndarjes sekrete verifikueshme), ose Keep.network (kjo \u00ebsht\u00eb beacon-i i tyre random <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keep-network\/random-beacon-yellowpaper\">yellowpaper<\/a><\/noindex>, dhe k\u00ebtu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keep-network\/random-beacon-box\">\u00ebsht\u00eb<\/a><\/noindex> kontrakt\u00ebs inteligjente, q\u00eb sh\u00ebrben protokollin).<\/p>\n<p><\/p>\n<h2 id=\"implementaciya-pvrb\">Implementimi i PVRB<\/h2>\n<p><\/p>\n<p>Fatkeq, ne ende nuk shohim nj\u00eb protokoll t\u00eb gatsh\u00ebm, i zbatuar n\u00eb blockchainet PVRB, q\u00eb ka provuar sigurin\u00eb dhe q\u00ebndrueshm\u00ebrin\u00eb e tij. Megjith\u00ebse protokollet vet\u00eb jan\u00eb t\u00eb gatshme, aplikimi teknik i tyre n\u00eb zgjidhjet ekzistuese \u00ebsht\u00eb i v\u00ebshtir\u00eb. P\u00ebr sistemet e centralizuara, PVRB nuk ka kuptim, nd\u00ebrsa ato t\u00eb decentralizuara jan\u00eb t\u00eb kufizuara ndjesh\u00ebm n\u00eb t\u00eb gjitha burimet kompjuterike: CPU, memorie, ruajtje, I\/O. Projektimi i PVRB \u00ebsht\u00eb nj\u00eb kombinim i protokolleve t\u00eb ndryshme p\u00ebr t\u00eb krijuar di\u00e7ka q\u00eb t\u00eb p\u00ebrmbush\u00eb t\u00eb gjitha k\u00ebrkesat p\u00ebr nj\u00eb blockchain t\u00eb jetuesh\u00ebm. Nj\u00eb protokoll llogarit m\u00eb efektivisht, por k\u00ebrkon m\u00eb shum\u00eb mesazhe midis RP, nd\u00ebrsa tjetri k\u00ebrkon shum\u00eb pak mesazhe, por krijimi i proof-it mund t\u00eb jet\u00eb nj\u00eb detyr\u00eb q\u00eb zgjat dhjet\u00ebra minuta, madje or\u00eb.<\/p>\n<p><\/p>\n<p>Do t\u00eb p\u00ebrmend faktor\u00ebt q\u00eb duhet t\u00eb keni parasysh kur zgjidhni nj\u00eb PVRB cil\u00ebsor:<\/p>\n<p><\/p>\n<ul>\n<li><em>Q\u00ebndrueshm\u00ebria kriptografike<\/em>. PVRB juaj duhet t\u00eb jet\u00eb plot\u00ebsisht unbiasable, pa mund\u00ebsi p\u00ebr t\u00eb kontrolluar asnj\u00eb bit. N\u00eb disa skema kjo nuk \u00ebsht\u00eb k\u00ebshtu, prandaj thirrni nj\u00eb kriptograf.<\/li>\n<li><em>Problemi \"aktori i fundit\"<\/em>. PVRB juaj duhet t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm ndaj sulmeve, kur sulmuesi, q\u00eb kontrollon nj\u00eb ose disa RP mund t\u00eb zgjedh\u00eb nj\u00eb nga dy mund\u00ebsit\u00eb e rezultatit.<\/li>\n<li><em>Problemi i sabotazhit t\u00eb protokollit<\/em>. PVRB juaj duhet t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm ndaj sulmeve, kur sulmuesi, q\u00eb kontrollon nj\u00eb ose disa RP vendos, n\u00ebse do t\u00eb ket\u00eb rast\u00ebsi apo jo dhe mund t\u00eb ndikoj\u00eb n\u00eb k\u00ebt\u00eb me siguri ose me nj\u00eb probabilitet t\u00eb caktuar.<\/li>\n<li><em>Problemi i numrit t\u00eb mesazheve<\/em>. RP-t\u00eb tuaja duhet t\u00eb d\u00ebrgojn\u00eb n\u00eb blockchain sa m\u00eb pak mesazhe dhe maksimalisht t\u00eb shmangin veprime sinkronike si situatat \"d\u00ebshiroj t\u00eb d\u00ebrgoj disa t\u00eb dh\u00ebna, pres p\u00ebrgjigje nga nj\u00eb pjes\u00ebmarr\u00ebs t\u00eb caktuar\". N\u00eb rrjetet p2p, ve\u00e7an\u00ebrisht ato gjeografiisht t\u00eb shp\u00ebrndara, nuk duhet t\u00eb pritet nj\u00eb p\u00ebrgjigje e shpejt\u00eb.<\/li>\n<li><em>Problemi i kompleksitetit t\u00eb llogaritjes<\/em>. Verifikimi i \u00e7do faze t\u00eb PVRB on-chain duhet t\u00eb jet\u00eb jasht\u00ebzakonisht i leht\u00eb, pasi ndodh nga t\u00eb gjith\u00eb klient\u00ebt e plot\u00eb t\u00eb rrjetit. N\u00ebse implementimi b\u00ebhet p\u00ebrmes nj\u00eb smart kontrate, k\u00ebrkesat p\u00ebr shpejt\u00ebsin\u00eb jan\u00eb shum\u00eb strikte.<\/li>\n<li><em>Problemi i \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 dhe liveness<\/em>. PVRB juaj duhet t\u00eb p\u00ebrpiqet t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm ndaj situatave kur nj\u00eb pjes\u00eb e rrjetit \u00ebsht\u00eb b\u00ebr\u00eb e paarritshme p\u00ebr nj\u00eb koh\u00eb t\u00eb caktuar dhe disa RP thjesht kan\u00eb ndaluar s\u00eb punuari.<\/li>\n<li><em>Problemi i vendosjes s\u00eb besuar dhe shp\u00ebrndarjes fillestare t\u00eb \u00e7elsave<\/em>. N\u00ebse PVRB juaj p\u00ebrdor konfigurimin fillestar t\u00eb protokolit, kjo \u00ebsht\u00eb nj\u00eb histori tjet\u00ebr e madhe dhe serioze. Ja <noindex><a rel=\"nofollow\" href=\"https:\/\/z.cash\/ru\/blog\/the-design-of-the-ceremony\/\">\u00ebsht\u00eb<\/a><\/noindex>. N\u00ebse pjes\u00ebmarr\u00ebsit duhet t\u00eb njoftojn\u00eb nj\u00ebri-tjetrin p\u00ebr \u00e7el\u00ebsat e tyre para fillimit t\u00eb protokolit, kjo \u00ebsht\u00eb gjithashtu nj\u00eb problem, n\u00ebse grupi i pjes\u00ebmarr\u00ebsve ndryshon<\/li>\n<li><em>Problemet e zhvillimit<\/em>. Prania e bibliotekave n\u00eb gjuh\u00ebt e nevojshme, siguria dhe performanca e tyre, publikimi, testet e komplikuara etj.<\/li>\n<\/ul>\n<p><\/p>\n<p>P\u00ebr shembull, n\u00eb lidhje me n\u00ebnshkrimet BLS me prag, ka nj\u00eb problem t\u00eb r\u00ebnd\u00ebsish\u00ebm - para se t\u00eb fillojn\u00eb pun\u00ebn, pjes\u00ebmarr\u00ebsit patjet\u00ebr duhet t'i shp\u00ebrndajn\u00eb nj\u00ebri-tjetrit \u00e7el\u00ebsat, duke organizuar nj\u00eb grup, n\u00eb kuad\u00ebr t\u00eb cilit do t\u00eb punoj\u00eb prag. Kjo do t\u00eb thot\u00eb se t\u00eb pakt\u00ebn nj\u00eb raund shk\u00ebmbimi n\u00eb nj\u00eb rrjet t\u00eb decentralizuar duhet t\u00eb pritet, dhe, duke marr\u00eb parasysh se rast\u00ebsia e gjeneruar, p\u00ebr shembull, \u00ebsht\u00eb e nevojshme n\u00eb loj\u00ebra, praktikisht n\u00eb koh\u00eb reale, kjo do t\u00eb thot\u00eb se sabotimi i protokollit \u00ebsht\u00eb i mundsh\u00ebm n\u00eb k\u00ebt\u00eb faz\u00eb dhe p\u00ebrfitimet e skem\u00ebs prag humbasin. Ky problem \u00ebsht\u00eb tashm\u00eb m\u00eb i leht\u00eb se t\u00eb m\u00ebparshmi, por ndalon p\u00ebr zhvillimin e nj\u00eb procedure t\u00eb ve\u00e7ant\u00eb p\u00ebr formimin e grupeve prag, t\u00eb cilat do t\u00eb duhet t\u00eb mbrohen ekonomikisht, p\u00ebrmes depozitave dhe konfiskimit t\u00eb fondeve (slashing) nga pjes\u00ebmarr\u00ebsit q\u00eb nuk ndjekin protokollin. Gjithashtu, verifikimi BLS me nj\u00eb nivel t\u00eb pranuesh\u00ebm sigurie thjesht nuk vendoset, p\u00ebr shembull, n\u00eb nj\u00eb transaksion standard EOS ose Ethereum - thjesht nuk ka mjaft koh\u00eb p\u00ebr verifikim. Kodi i kontratave \u00ebsht\u00eb WebAssembly ose EVM, ekzekutohet nga makina virtuale. Funksionet kriptografike nuk realizohen native (p\u00ebr momentin), dhe punojn\u00eb disa her\u00eb m\u00eb ngadal\u00eb se bibliotekat kriptografike standarde. Shum\u00eb protokolle nuk jan\u00eb t\u00eb p\u00ebrshtatshme n\u00eb p\u00ebrputhje me k\u00ebrkesat thjesht nga sasia e \u00e7el\u00ebsave, p\u00ebr shembull, n\u00eb 1024 dhe 2048 bit p\u00ebr RSA, 4-8 her\u00eb m\u00eb shum\u00eb se n\u00ebnshkrimi standard i transaksionit n\u00eb Bitcoin dhe Ethereum.<\/p>\n<p><\/p>\n<p>Luajn\u00eb nj\u00eb rol edhe realizimet n\u00eb gjuh\u00eb t\u00eb ndryshme programimi - t\u00eb cilat jan\u00eb t\u00eb pakta, sidomos p\u00ebr protokollet e reja. Opcioni me integrim n\u00eb konsensus k\u00ebrkon t\u00eb shkruhet protokolli n\u00eb gjuh\u00ebn e platform\u00ebs, k\u00ebshtu q\u00eb do t\u00eb duhet t\u00eb k\u00ebrkoni kod n\u00eb Go p\u00ebr geth, n\u00eb Rust p\u00ebr Parity, n\u00eb C++ p\u00ebr EOS. Kodi n\u00eb JavaScript do t\u00eb duhet t\u00eb k\u00ebrkohet nga t\u00eb gjith\u00eb, dhe p\u00ebr sa koh\u00eb q\u00eb JavaScript dhe kriptografia nuk jan\u00eb ve\u00e7an\u00ebrisht shok\u00eb t\u00eb mir\u00eb, WebAssembly do t\u00eb ndihmoj\u00eb, i cili tani \u00ebsht\u00eb p\u00ebrfundimisht duke pretenduar p\u00ebr rolin e standardit t\u00eb r\u00ebnd\u00ebsish\u00ebm t\u00eb internetit t\u00eb ardhsh\u00ebm.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">P\u00ebrfundim<\/h2>\n<p><\/p>\n<p>Shpresoj, n\u00eb t\u00eb kaluar\u00ebn <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/448330\/\">artikulli yn\u00eb<\/a><\/noindex> Un\u00eb arrita t\u00eb ju bind se gjenerimi i numrave t\u00eb rast\u00ebsish\u00ebm n\u00eb blockchain \u00ebsht\u00eb kritik p\u00ebr shum\u00eb aspekte t\u00eb jet\u00ebs s\u00eb rrjeteve t\u00eb decentralizuara, dhe me k\u00ebt\u00eb artikull tregova se kjo \u00ebsht\u00eb nj\u00eb detyr\u00eb jasht\u00ebzakonisht ambicioze dhe e v\u00ebshtir\u00eb, por zgjidhje t\u00eb mira tashm\u00eb ekzistojn\u00eb. N\u00eb p\u00ebrgjith\u00ebsi, dizajni p\u00ebrfundimtar i protokollit mund t\u00eb arrihet vet\u00ebm pas kryerjes s\u00eb testeve t\u00eb gjera q\u00eb do t\u00eb marrin parasysh t\u00eb gjitha aspektet nga konfigurimi deri te simulimi i d\u00ebshtimeve, prandaj nuk do t\u00eb gjeni receta gati n\u00eb whitepaper-t e grupeve dhe n\u00eb artikuj, as ne n\u00eb vitet e ardhshme nuk do t\u00eb guxojm\u00eb t\u00eb shkruajm\u00eb \u201cb\u00ebni k\u00ebshtu, k\u00ebshtu \u00ebsht\u00eb sakt\u00ebsisht e drejt\u00eb\u201d. <\/p>\n<p><\/p>\n<p>Derisa, p\u00ebr PVRB-n\u00eb ton\u00eb n\u00eb blockchain-in q\u00eb po zhvillohet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mixbytes\/haya\">Haya<\/a><\/noindex>, ne u ndal\u00ebm n\u00eb aplikimin e n\u00ebnshkrimeve threshold BLS, planifikojm\u00eb t\u00eb implementojm\u00eb PVRB-n\u00eb n\u00eb nivelin e konsensusit, pasi verifikimi n\u00eb smart kontrakta me nj\u00eb nivel t\u00eb pranuesh\u00ebm sigurie p\u00ebr momentin \u00ebsht\u00eb i pamundur. Mund t\u00eb ndodh\u00eb q\u00eb ne t\u00eb p\u00ebrdorim dy skema menj\u00ebher\u00eb: s\u00eb pari, nj\u00eb ndarje sekrete t\u00eb shtrenjt\u00eb p\u00ebr krijimin e random_seed t\u00eb gjat\u00eb, dhe m\u00eb pas ta p\u00ebrdorim at\u00eb si baz\u00eb p\u00ebr gjenerimin e shpesht\u00eb t\u00eb rast\u00ebsish\u00ebm duke p\u00ebrdorur n\u00ebnshkrime t\u00eb determinuara threshold BLS, ndoshta do t\u00eb kufizohemi vet\u00ebm n\u00eb nj\u00eb nga skemat. T\u00eb parashikosh se si do t\u00eb jet\u00eb protokolli, fatkeq\u00ebsisht, \u00ebsht\u00eb e pamundur, por vet\u00ebm se si n\u00eb shkenc\u00eb, edhe n\u00eb detyrat inxhinierike, rezultati negativ \u00ebsht\u00eb gjithashtu nj\u00eb rezultat, dhe \u00e7do p\u00ebrpjekje e re p\u00ebr t\u00eb zgjidhur problemin \u00ebsht\u00eb nj\u00eb shkall\u00eb tjet\u00ebr p\u00ebr hulumtimet e t\u00eb gjith\u00ebve q\u00eb merren me k\u00ebt\u00eb \u00e7\u00ebshtje. P\u00ebr t\u00eb p\u00ebrmbushur k\u00ebrkesat nga ana e biznesit, ne po zgjidhim nj\u00eb detyr\u00eb praktike specifike \u2014 sigurimin e aplikacioneve loj\u00ebre me nj\u00eb burim t\u00eb besuesh\u00ebm t\u00eb entropis\u00eb, prandaj na detyron t\u00eb kushtojm\u00eb v\u00ebmendje gjithashtu blockchain-it vet\u00eb, ve\u00e7an\u00ebrisht \u00e7\u00ebshtjeve t\u00eb p\u00ebrfundimit t\u00eb zinxhirit dhe qeverisjes s\u00eb rrjetit. <\/p>\n<p><\/p>\n<p>Edhe pse p\u00ebr momentin nuk shohim n\u00eb blockchain t\u00eb provuar PVRB q\u00eb \u00ebsht\u00eb p\u00ebrdorur mjaft gjat\u00eb p\u00ebr t\u00eb p\u00ebrballuar provat e aplikacioneve reale, auditeve t\u00eb shumta, ngarkesave, dhe sigurisht, sulmeve reale, numri i mund\u00ebsive t\u00eb rrug\u00ebve konfirmon se zgjidhja ekziston, dhe ndonj\u00eb nga k\u00ebto algoritme n\u00eb fund do ta zgjidh\u00eb problemin. Ne do t\u00eb kemos me k\u00ebnaq\u00ebsi rezultatet dhe fal\u00ebnderojm\u00eb ekipet e tjera q\u00eb gjithashtu po merren me k\u00ebt\u00eb \u00e7\u00ebshtje p\u00ebr artikujt dhe kodin q\u00eb u lejojn\u00eb inxhinier\u00ebve t\u00eb mos bien dy her\u00eb mbi t\u00eb nj\u00ebjtat gropa. <\/p>\n<p><\/p>\n<p>N\u00ebse takoni nj\u00eb programues q\u00eb projektin nj\u00eb rast\u00ebsi decentralizuar, jini t\u00eb kujdesh\u00ebm dhe t\u00eb v\u00ebmendsh\u00ebm, ofroni ndihm\u00ebn psikologjike n\u00eb rast nevoje \ud83d\ude42<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/452340\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 function getAbsolutelyRandomNumer() { return 4; \/\/ returns absolutely random number! } \u041a\u0430\u043a \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0435\u0439 \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0441\u0442\u043e\u0439\u043a\u043e\u0433\u043e \u0448\u0438\u0444\u0440\u0430 \u0438\u0437 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b \u201cPublicly Verifiable Random Beacon\u201d (\u0434\u0430\u043b\u0435\u0435 PVRB) \u043b\u0438\u0448\u044c \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u044c\u0441\u044f \u043a \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u0435, \u0442.\u043a. \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0442\u044f\u0445 \u0432 \u0447\u0438\u0441\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u043e\u043d\u0430 \u043d\u0435\u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c\u0430: \u0434\u043e\u0433\u043e\u0432\u0430\u0440\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0434\u043e \u0441\u0442\u0440\u043e\u0433\u043e \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0431\u0438\u0442\u0435, \u0440\u0430\u0443\u043d\u0434\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u043e [&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-33888","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 function getAbsolutelyRandomNumer() { return 4; \/\/ returns absolutely random number!\" \/>\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\/sluchajnye-chisla-i-detsentralizovannye-seti-implementatsii\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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\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: \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 function getAbsolutelyRandomNumer() { return 4; \/\/ returns absolutely random number!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-implementatsii\" \/>\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:55:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:55:15+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\udd47Numra t\u00eb rast\u00ebsish\u00ebm dhe rrjetet decentralizuara: implementimet | ProHoster","description":"Introduktimi function getAbsolutelyRandomNumer() { return 4; \/\/ kthen numrin t\u00ebr\u00ebsisht t\u00eb rast\u00ebsish\u00ebm!","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-implementatsii","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\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: \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 function getAbsolutelyRandomNumer() { return 4; \/\/ returns absolutely random number!","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sluchajnye-chisla-i-detsentralizovannye-seti-implementatsii","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:55:15+00:00","article:modified_time":"2019-10-31T18:55:15+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33888","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 17:06:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:31:23","updated":"2026-01-21 17:06:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/33888","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=33888"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/33888\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=33888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=33888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=33888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}