{"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 rast\u00ebsish\u00ebm dhe rrjetet e decentralizuara: implementimet","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h1 id=\"vvedenie\">Hyrje<\/h1>\n<p><\/p>\n<pre><code class=\"plaintext\">function getAbsolutishtRast\u00ebsish\u00ebmNumer() {\n        return 4; \/\/ kthen numrin absolutisht rast\u00ebsor!\n}<\/code><\/pre>\n<p><\/p>\n<p>Ashtu si n\u00eb rastin e konceptit t\u00eb ciphrit absolutisht t\u00eb sigurt nga kriptografia, protokollet reale \"Publicly Verifiable Random Beacon\" (PVRB) p\u00ebrpiqen vet\u00ebm t\u00eb afrohen sa m\u00eb shum\u00eb me skem\u00ebn ideale, pasi n\u00eb rrjetet reale ajo nuk \u00ebsht\u00eb e zbatueshme n\u00eb form\u00ebn e saj t\u00eb past\u00ebr: duhet t\u00eb bien dakord vet\u00ebm p\u00ebr nj\u00eb bit, duhet t\u00eb ket\u00eb shum\u00eb raunde, dhe t\u00eb gjitha mesazhet duhet t\u00eb jen\u00eb t\u00eb shpejta dhe t\u00eb dor\u00ebzohen gjithmon\u00eb. Natyrisht, n\u00eb rrjetet reale kjo nuk ndodh. Prandaj, gjat\u00eb projektimit t\u00eb PVRB p\u00ebr detyra specifike n\u00eb blockchain moderne, p\u00ebrve\u00e7 pamund\u00ebsis\u00eb p\u00ebr t\u00eb kontrolluar rast\u00ebsin\u00eb e marr\u00eb dhe q\u00ebndrueshm\u00ebrin\u00eb kriptografike, paraqiten edhe shum\u00eb probleme t\u00eb tjera krejt\u00ebsisht arkitekturore dhe teknike.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Blockchain-i \u00ebsht\u00eb n\u00eb thelb nj\u00eb mjedis komunikimi p\u00ebr PVRB, ku mesazhet = transaksione. Kjo lejon q\u00eb t\u00eb b\u00ebhet nj\u00eb shk\u00ebputje nga problemet rrjetore, mosshkarkimi i mesazheve dhe problematikat e softuer\u00ebve nd\u00ebrmjet\u00ebs \u2014 t\u00eb gjitha k\u00ebto rreziqe merr n\u00eb p\u00ebrsip\u00ebr nj\u00eb rrjet t\u00eb decentralizuar, dhe vlera kryesore p\u00ebr PVRB \u00ebsht\u00eb pamund\u00ebsia p\u00ebr t\u00eb t\u00ebrhequr ose prishur nj\u00eb transaksion t\u00eb d\u00ebrguar \u2014 kjo nuk lejon pjes\u00ebmarr\u00ebsit t\u00eb heqin dor\u00eb nga pjes\u00ebmarrja n\u00eb protokoll, p\u00ebrve\u00e7 n\u00ebse ata kan\u00eb kryer nj\u00eb sulm t\u00eb suksessh\u00ebm ndaj konsensusit. Nj\u00eb nivel i till\u00eb sigurie \u00ebsht\u00eb i pranuesh\u00ebm, prandaj PVRB duhet t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm ndaj komplot\u00ebve t\u00eb pjes\u00ebmarr\u00ebsve n\u00eb t\u00eb nj\u00ebjt\u00ebn mas\u00eb si zinxhiri kryesor i blockchainit. Po ashtu, kjo sugjeron se PVRB duhet t\u00eb jet\u00eb pjes\u00eb e konsensusit, n\u00ebse rrjeti \u00ebsht\u00eb dakord\u00ebsuar p\u00ebr zinxhirin kryesor t\u00eb blloqeve, dhe po ashtu t\u00eb r\u00ebn\u00eb dakord mbi nj\u00eb rast\u00ebsi t\u00eb vetme t\u00eb ndershme si rezultat. Ose, PVRB \u00ebsht\u00eb thjesht nj\u00eb protokoll i pavarur, i realizuar me nj\u00eb smart contract, i pun\u00ebsuar asinkronisht n\u00eb lidhje me blockchainin dhe blloqet. T\u00eb dyja m\u00ebnyrat kan\u00eb p\u00ebrfitimet dhe disavantazhet e veta, dhe zgjedhja midis tyre \u00ebsht\u00eb tejet 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'i p\u00ebrshkruajm\u00eb m\u00eb n\u00eb detaje dy variante implementimi t\u00eb PVRB \u2014 versioni standalone, q\u00eb funksionon duke p\u00ebrdorur nj\u00eb smart kontrat\u00eb t\u00eb pavarur nga blloku, dhe versionin e integruar me konsensus \u2014 t\u00eb nd Build in the protocol according to which the network agrees on the blockchain and the included transactions. N\u00eb t\u00eb gjitha rastet do t\u00eb kem parasysh motor\u00ebt m\u00eb t\u00eb njohur t\u00eb blockchain: Ethereum, EOS, dhe t\u00eb gjitha ato t\u00eb ngjashme me to n\u00eb m\u00ebnyr\u00ebn e vendosjes dhe p\u00ebrpunimit t\u00eb smart kontratave. <\/p>\n<p><\/p>\n<h3 id=\"standalone-contract\">Kontrata standalone<\/h3>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb variant, PVRB p\u00ebrb\u00ebn nj\u00eb smart kontrat\u00eb q\u00eb merr transaksionet e prodhuesve t\u00eb rast\u00ebsish\u00ebm (m\u00eb pas RP), i p\u00ebrpunon ato, kombinon rezultatet dhe, si rezultat, arrin n\u00eb nj\u00eb vler\u00eb t\u00eb caktuar, e cila mund t\u00eb merret nga \u00e7dokush nga kjo kontrat\u00eb. Kjo vler\u00eb nuk mund t\u00eb ruhet drejtp\u00ebrdrejt n\u00eb kontrat\u00eb, por mund t\u00eb p\u00ebrfaq\u00ebsohet vet\u00ebm nga t\u00eb dh\u00ebnat, nga t\u00eb cilat mund t\u00eb nxirret deterministikisht nj\u00eb vler\u00eb e vetme rezultuar rast\u00ebsore. N\u00eb k\u00ebt\u00eb skem\u00eb, RP jan\u00eb p\u00ebrdoruesit e blockchain-it, dhe mund t\u00eb lejohet kushdo t\u00eb marr\u00eb pjes\u00eb n\u00eb procesin e gjenerimit.<\/p>\n<p><\/p>\n<p>Varianti me kontrat\u00ebn standalone \u00ebsht\u00eb i mir\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>portabiliteti (kontratate mund t\u00eb transferohen nga nj\u00eb blockchain n\u00eb tjetrin)<\/li>\n<li>thjesht\u00ebsis\u00eb n\u00eb zbatim dhe testim (kontratat jan\u00eb t\u00eb lehta p\u00ebr t'u shkruar dhe testuar)<\/li>\n<li>leht\u00ebsis\u00eb n\u00eb zbatimin e schemave ekonomike (\u00ebsht\u00eb e leht\u00eb t\u00eb krijosh tokenin t\u00ebnd, logjika e t\u00eb cilit sh\u00ebrben q\u00ebllimeve PVRB)<\/li>\n<li>mund\u00ebsin\u00eb p\u00ebr t\u00eb nisur n\u00eb blockchain-et ekzistuese<\/li>\n<\/ul>\n<p><\/p>\n<p>Ai gjithashtu ka disavantazhe:<\/p>\n<p><\/p>\n<ul>\n<li>kufizime t\u00eb m\u00ebdha n\u00eb burimet gjat\u00eb llogaritjeve, v\u00ebllimi i transaksioneve dhe ndarje (n\u00eb fjal\u00eb t\u00eb tjera cpu\/mem\/io)<\/li>\n<li>kufizime n\u00eb operacionet brenda kontrat\u00ebs (nuk jan\u00eb t\u00eb gjitha instrukcionet n\u00eb dispozicion, \u00ebsht\u00eb e v\u00ebshtir\u00eb t\u00eb lidh\u00ebsh bibliotekat e 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 zbatimin e PVRB, i cili duhet t\u00eb nis\u00eb n\u00eb nj\u00eb rrjet ekzistues, pa p\u00ebrfshir\u00eb kriptografi t\u00eb komplikuar dhe pa k\u00ebrkuar shum\u00eb nd\u00ebrveprime.<\/p>\n<p><\/p>\n<h3 id=\"consensus-integrated\">Integrimi i konsensusit<\/h3>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb variant, PVRB \u00ebsht\u00eb implementuar n\u00eb kodin e nodit t\u00eb blockchain, i integruar ose funksionon paralelisht me shk\u00ebmbimin e mesazheve midis nodave t\u00eb blockchain. Rezultatet e protokollit regjistrohen direkt n\u00eb blloqet e prodhuara, dhe mesazhet e protokollit d\u00ebrgohen p\u00ebrmes rrjetit p2p midis nodave. Duke qen\u00eb se protokolli ka si rezultat numra, t\u00eb cil\u00ebt duhet t\u00eb regjistrohen n\u00eb blloqe, rrjeti duhet t\u00eb arrij\u00eb konsensus n\u00eb lidhje me ta. Kjo do t\u00eb thot\u00eb se mesazhet e PVRB, ashtu si d\u00ebshirat, duhet t\u00eb validohen nga nodat dhe t\u00eb p\u00ebrfshihen n\u00eb blloqe, n\u00eb m\u00ebnyr\u00eb q\u00eb \u00e7do pjes\u00ebmarr\u00ebs i rrjetit t\u00eb mund t\u00eb verifikoj\u00eb p\u00ebrmbushjen e protokollit PVRB. Kjo automatikisht na \u00e7on n\u00eb nj\u00eb zgjidhje t\u00eb qart\u00eb \u2014 n\u00ebse rrjeti bie dakord n\u00eb konsensus p\u00ebr bllokun dhe transaksionet n\u00eb t\u00eb, PVRB duhet t\u00eb jet\u00eb nj\u00eb pjes\u00eb e konsensusit, dhe jo nj\u00eb protokoll i ve\u00e7ant\u00eb. P\u00ebrndryshe, mund t\u00eb ndodhi nj\u00eb situat\u00eb ku blloku \u00ebsht\u00eb i vlefsh\u00ebm nga k\u00ebndv\u00ebshtrimi i konsensusit, por protokolli PVRB nuk \u00ebsht\u00eb respektuar, dhe nga k\u00ebndv\u00ebshtrimi i PVRB, blloku nuk mund t\u00eb pranohet. Prandaj, n\u00ebse zgjidhet varianti 'integruar n\u00eb konsensus', PVRB b\u00ebhet nj\u00eb pjes\u00eb e r\u00ebnd\u00ebsishme e konsensusit.<\/p>\n<p><\/p>\n<p>Duke p\u00ebrshkruar implementimet PVRB n\u00eb nivelin e konsensusit n\u00eb rrjet, nuk duhet n\u00eb asnj\u00eb m\u00ebnyr\u00eb t\u00eb anashkalohet \u00e7\u00ebshtja e p\u00ebrfundimit. P\u00ebrfundimi \u00ebsht\u00eb nj\u00eb mekaniz\u00ebm q\u00eb p\u00ebrdoret n\u00eb konsensuset e caktuara, i cili fikson nj\u00eb bllok (dhe zinxhirin q\u00eb e \u00e7on atje) q\u00eb \u00ebsht\u00eb p\u00ebrfundimtar dhe kurr\u00eb nuk do t\u00eb hiqet, edhe n\u00ebse shfaqet nj\u00eb fork paralel. P\u00ebr shembull, n\u00eb Bitcoin nuk ekziston nj\u00eb mekaniz\u00ebm t\u00eb till\u00eb \u2014 n\u00ebse publikohet nj\u00eb zinxhir me nj\u00eb kompleksitet m\u00eb t\u00eb madh, ai do t\u00eb z\u00ebvend\u00ebsoj\u00eb \u00e7do zinxhir m\u00eb pak t\u00eb nd\u00ebrlikuar, pa marr\u00eb parasysh gjat\u00ebsi t\u00eb zinxhir\u00ebve. Nd\u00ebrsa n\u00eb EOS, p\u00ebr shembull, blloqet p\u00ebrfundimtare jan\u00eb t\u00eb ashtuquajtura Last Irreversible Blocks, q\u00eb shfaqen mesatarisht \u00e7do 432 blloqe (12*21 + 12*15, votimi paraprak + angazhimi paraprak). Ky proces \u00ebsht\u00eb n\u00eb thelb nj\u00eb pritje p\u00ebr 2\/3 e n\u00ebnshkrimeve t\u00eb prodhuesve t\u00eb bllokut (m\u00eb pas BP). Kur shfaqen fork-e q\u00eb jan\u00eb m\u00eb t\u00eb vjetra se LIB-i i fundit ato thjesht hidhen posht\u00eb. Ky mekaniz\u00ebm garanton q\u00eb transaksioni \u00ebsht\u00eb p\u00ebrfshir\u00eb n\u00eb bllok\u00e7ain dhe kurr\u00eb nuk do t\u00eb hiqet, pavar\u00ebsisht burimeve q\u00eb mund t\u00eb ket\u00eb 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 t\u00eb siguruar p\u00ebrfundimin ka kuptim t\u00eb b\u00ebhet nj\u00eb shtres\u00eb mbi konsensusin, pasi ai mund t\u00eb punoj\u00eb asinkronisht me prodhimin dhe publikimin e blloqeve. K\u00ebtu \u00ebsht\u00eb nj\u00eb shembull i mir\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/pdf\/1710.09437.pdf\">artikull<\/a><\/noindex> p\u00ebr finalitetin n\u00eb Ethereum.<\/p>\n<p><\/p>\n<p>Finaliteti \u00ebsht\u00eb jasht\u00ebzakonisht 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 \u201cdouble spend\u201d, kur BP \u201cmban\u201d blloqet dhe i publikojn\u00eb ato pasi rrjeti \u201cka par\u00eb\u201d nj\u00eb transaksion t\u00eb mir\u00eb. N\u00ebse nuk ka finalitet, forku i publikuar z\u00ebvend\u00ebson bllokun me transaksionin \u201ct\u00eb mir\u00eb\u201d me nj\u00eb tjet\u00ebr nga forku \u201ci keq\u201d, n\u00eb t\u00eb cilin ato t\u00eb nj\u00ebjtat fonde transferohen n\u00eb adres\u00ebn e sulmuesit. N\u00eb rastin e PVRB, k\u00ebrkesat p\u00ebr finalitet b\u00ebhen edhe m\u00eb strikte, pasi nd\u00ebrtimi i fork\u00ebve p\u00ebr PVRB n\u00ebnkupton mund\u00ebsin\u00eb q\u00eb sulmuesi t\u00eb p\u00ebrgatis\u00eb disa variante t\u00eb rast\u00ebsis\u00eb me q\u00ebllim p\u00ebr t\u00eb publikuar at\u00eb m\u00eb t\u00eb favorsh\u00ebm p\u00ebr t\u00eb dhe p\u00ebr t\u00eb kufizuar 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 kombinohen PVRB dhe finaliteti n\u00eb nj\u00eb protokoll \u2014 k\u00ebshtu blloku i finalizuar = rast\u00ebsia e finalizuar, dhe kjo \u00ebsht\u00eb pik\u00ebrisht ajo q\u00eb duhej arritur. Tani lojtar\u00ebt do t\u00eb marrin rast\u00ebsin\u00eb e garantuar pas N sekondash dhe mund t\u00eb jen\u00eb t\u00eb sigurt se rrotullimi i saj ose ri-renditja nuk \u00ebsht\u00eb e mundur.<\/p>\n<p><\/p>\n<p>Opsioni me consensus-integrated \u00ebsht\u00eb i mir\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>mund\u00ebsis\u00eb p\u00ebr realizimin asinkron n\u00eb lidhje me prodhimin e bllok\u00ebve \u2014 blloket prodhohen si zakonisht, por nj\u00ebkoh\u00ebsisht mund t\u00eb punoj\u00eb protokoli PVRB, i cili prodhon raste rast\u00ebsore p\u00ebr \u00e7do bllok.<\/li>\n<li>mund\u00ebsis\u00eb p\u00ebr t\u00eb implementuar madje kriptografi t\u00eb avancuar, pa kufizime t\u00eb vendosura ndaj kontratave inteligjente.<\/li>\n<li>mund\u00ebsis\u00eb p\u00ebr t\u00eb organizuar k\u00ebmbime mesazhi m\u00eb shpejt se transaksionet q\u00eb p\u00ebrfshihen n\u00eb bllok\u00e7en, p\u00ebr shembull, nj\u00eb pjes\u00eb e protokollit mund t\u00eb punoj\u00eb midis nodave pa shp\u00ebrndarjen e mesazheve n\u00eb rrjet.<\/li>\n<\/ul>\n<p><\/p>\n<p>Ai gjithashtu ka disavantazhe:<\/p>\n<p><\/p>\n<ul>\n<li>v\u00ebshtir\u00ebsive gjat\u00eb testeve dhe zhvillimit \u2014 do t\u00eb duhet t\u00eb imitojm\u00eb gabimet e rrjetit, nodet e humbura, hardfork-et e rrjetit.<\/li>\n<li>gabimet n\u00eb realizim k\u00ebrkojn\u00eb hardfork t\u00eb rrjetit.<\/li>\n<\/ul>\n<p><\/p>\n<p>T\u00eb dyja m\u00ebnyrat e implementimit t\u00eb PVRB kan\u00eb t\u00eb drejt\u00eb t\u00eb ekzistojn\u00eb, por realizimi n\u00eb kontratat inteligjente n\u00eb blockchainet moderne \u00ebsht\u00eb ende mjaft i kufizuar n\u00eb burimet kompjuterike, dhe \u00e7do kalim n\u00eb kriptografi serioze shpesh \u00ebsht\u00eb thjesht i pamundur. Dhe na nevojitet kriptografia serioze, si\u00e7 do t\u00eb demonstrohet m\u00eb tej. Megjithat\u00eb, ky problem \u00ebsht\u00eb duksh\u00ebm temporal, kriptografia serioze n\u00eb kontrata \u00ebsht\u00eb e nevojshme p\u00ebr t\u00eb zgjidhur nj\u00eb num\u00ebr t\u00eb madh problemesh, dhe, gradualisht po shfaqet (p.sh., kontratat sistemike p\u00ebr zkSNARKs n\u00eb Ethereum)<\/p>\n<p><\/p>\n<p>Blockchain-i, i cili ofron nj\u00eb kanal transparent dhe t\u00eb besuesh\u00ebm p\u00ebr shk\u00ebmbimin e mesazheve t\u00eb protokollit, nuk e b\u00ebn k\u00ebt\u00eb falas. \u00c7do protokoll i decentralizuar duhet t\u00eb konsideroj\u00eb mund\u00ebsin\u00eb e sulmit Sybil, \u00e7do veprim mund t\u00eb b\u00ebhet nga forca t\u00eb shumta llogarish t\u00eb bashkuara, prandaj n\u00eb dizajnimin e tij duhet marr\u00eb parasysh kapaciteti i sulmuesve p\u00ebr t\u00eb krijuar numra t\u00eb jasht\u00ebzakonsh\u00ebm pjes\u00ebmarr\u00ebsish t\u00eb protokollit q\u00eb veprojn\u00eb n\u00eb marr\u00ebveshje. <\/p>\n<p><\/p>\n<h2 id=\"pvrb-i-peremennye-bloka\">PVRB dhe variabel p\u00ebr bllokun.<\/h2>\n<p><\/p>\n<p>Nuk kam g\u00ebnjyer kur thash\u00eb se nuk ka PVRB t\u00eb mir\u00eb, t\u00eb verifikuar nga shum\u00eb aplikacione t\u00eb loj\u00ebrave, t\u00eb implementuar n\u00eb blockchain deri tani. Si ndodhi at\u00ebher\u00eb q\u00eb ka kaq shum\u00eb aplikacione loj\u00ebrash n\u00eb Ethereum dhe EOS? M\u00eb habit ashtu si\u00e7 ju habit edhe juve, si \u00ebsht\u00eb e mundur q\u00eb n\u00eb nj\u00eb mjedis t\u00ebr\u00ebsisht t\u00eb determinuesh\u00ebm t\u00eb ekzistojn\u00eb kaq shum\u00eb \u2018rast\u00ebsi\u2019 t\u00eb q\u00ebndrueshme?<\/p>\n<p><\/p>\n<p>M\u00ebnyra m\u00eb e preferuar p\u00ebr t\u00eb marr\u00eb rast\u00ebsi n\u00eb blockchain \u00ebsht\u00eb t\u00eb merret ndonj\u00eb informacion \u201ct\u00eb paparashikuesh\u00ebm\u201d nga nj\u00eb bllok, dhe mbi baz\u00ebn e tij t\u00eb krijohet rast\u00ebsi \u2014 thjesht duke kaluar nj\u00eb ose disa vlera n\u00eb hash. Nj\u00eb artikull i mir\u00eb p\u00ebr problemet e till\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.positive.com\/predicting-random-numbers-in-ethereum-smart-contracts-e5358c6b8620\">k\u00ebtu<\/a><\/noindex>Mund t\u00eb marr\u00ebni ndonj\u00eb nga vlerat \u201ct\u00eb paparashikueshme\u201d n\u00eb bllok, p\u00ebr shembull hash-in e bllokut, numrin e transaksioneve, v\u00ebshtir\u00ebsin\u00eb e rrjetit dhe vlera t\u00eb tjera, t\u00eb cilat nuk dijn\u00eb paraprakisht. M\u00eb pas sigurisht se duhet t\u00eb krijoni hash-in e tyre, nj\u00eb ose disa, dhe, teorikisht, duhet t\u00eb rezultoj\u00eb nj\u00eb rast\u00ebsi e v\u00ebrtet\u00eb. Mund ta shtoni madje n\u00eb whitepaper-in tuaj se skema juaj \u00ebsht\u00eb \u201cpost-quantum secure\u201d (sepse ekzistojn\u00eb funksione hash q\u00eb jan\u00eb t\u00eb sigurta ndaj kuantumit :)).<\/p>\n<p><\/p>\n<p>Por p\u00ebr fat t\u00eb keq, as funksionet hash post-quantum secure nuk jan\u00eb t\u00eb mjaftueshme. Sekreti q\u00ebndron n\u00eb k\u00ebrkesat p\u00ebr PVRB, le t\u00eb k\u00ebmbim n\u00eb to nga artikulli i m\u00ebparsh\u00ebm:<\/p>\n<p><\/p>\n<ol>\n<li>Rezultati duhet t\u00eb ket\u00eb nj\u00eb shp\u00ebrndarje q\u00eb provon t\u00eb jet\u00eb uniforme, pra t\u00eb bazohet n\u00eb kriptografin\u00eb e q\u00ebndrueshme q\u00eb provohet.<\/li>\n<li>Nuk \u00ebsht\u00eb e mundur t\u00eb kontrolloni asnj\u00eb nga bit\u00ebt e 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 mos pjes\u00ebmarrjes n\u00eb protokoll ose duke e ngarkuar rrjetin me mesazhe sulmuese.<\/li>\n<li>T\u00eb gjitha t\u00eb m\u00ebsip\u00ebrmet duhet t\u00eb jen\u00eb t\u00eb forta ndaj komplotit t\u00eb nj\u00eb numri t\u00eb pranuesh\u00ebm t\u00eb pjes\u00ebmarr\u00ebsve t\u00eb pandersh\u00ebm n\u00eb protokoll (p\u00ebr shembull 1\/3 e pjes\u00ebmarr\u00ebsve).<\/li>\n<\/ol>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb rast respektohet vet\u00ebm k\u00ebrkesa 1, dhe k\u00ebrkesa 2 nuk respektohet. Duke rishikuar vlera t\u00eb paparashikueshme nga bloku, ne do t\u00eb kemi nj\u00eb shp\u00ebrndarje t\u00eb barabart\u00eb dhe rast\u00ebsi t\u00eb mira. Por BP ka t\u00eb pakt\u00ebn mund\u00ebsin\u00eb \"t\u00eb publikoj\u00eb blokun ose jo\". K\u00ebshtu q\u00eb BP mund t\u00eb zgjedh\u00eb t\u00eb pakt\u00ebn nga DY variante t\u00eb rast\u00ebsis\u00eb: \"e tij\" dhe at\u00eb q\u00eb rezulton, n\u00ebse blloku e b\u00ebn dikush tjet\u00ebr. BP mund t\u00eb \"shikoj\u00eb\" paraprakisht se \u00e7far\u00eb do t\u00eb rezultoj\u00eb, n\u00ebse ai publikon bllokun, dhe thjesht merr vendimin ta b\u00ebj\u00eb ose jo. K\u00ebshtu, duke luajtur, p\u00ebr shembull, n\u00eb \"\u00e7ift-pak\" ose \"t\u00eb kuqe\/t\u00eb zeza\" n\u00eb rulet\u00eb, ai 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\" t\u00eb pap\u00ebrdorshme. N\u00eb k\u00ebt\u00eb rast thuhet se \"do t\u00eb p\u00ebrdoret rast\u00ebsia, e cila rezulton nga hashimi i t\u00eb dh\u00ebnave aktuale dhe hash-it t\u00eb bllokut t\u00eb ardhsh\u00ebm me nj\u00eb lart\u00ebsi, 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, edhe n\u00eb t\u00eb ardhmen, t\u00eb zgjedh\u00eb t\u00eb mbaj\u00eb bllokun ose ta publikoj\u00eb.<\/p>\n<p><\/p>\n<p>Soft BP n\u00eb k\u00ebt\u00eb rast komplikohet, 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 p\u00ebr t\u00eb par\u00eb n\u00ebse do t\u00eb ket\u00eb fitim, dhe ndoshta p\u00ebrcaktimi i nj\u00eb parametri t\u00eb transaksionit p\u00ebr t\u00eb arritur nj\u00eb probabilitet t\u00eb lart\u00eb fitoresh. Megjithat\u00eb, kapja e nj\u00eb BP t\u00eb zgjuar, q\u00eb b\u00ebn nj\u00eb manipulim t\u00eb till\u00eb, \u00ebsht\u00eb praktikisht e pamundur; \u00e7do her\u00eb mund t\u00eb p\u00ebrdoren adresa t\u00eb reja dhe t\u00eb fitohet pak nga pak, pa ngjallur dyshime.<\/p>\n<p><\/p>\n<p>Prandaj, metodat q\u00eb p\u00ebrdorin informacionin nga blloku nuk jan\u00eb t\u00eb p\u00ebrshtatshme si nj\u00eb zbatim universik i PVRB. N\u00eb nj\u00eb version t\u00eb kufizuar, me kufizime n\u00eb madh\u00ebsit\u00eb e basteve, kufizime mbi numrin e lojtar\u00ebve dhe\/ose regjistrimin KYC (p\u00ebr t\u00eb mos i lejuar nj\u00eb lojtari t\u00eb p\u00ebrdor\u00eb disa adresa), k\u00ebto skema mund t\u00eb funksionojn\u00eb p\u00ebr loj\u00ebra t\u00eb vogla, por jo m\u00eb shum\u00eb se kaq.<\/p>\n<p><\/p>\n<h2 id=\"pvrb-i-commit-reveal\">PVRB dhe commit-reveal.<\/h2>\n<p><\/p>\n<p>Mir\u00eb, faleminderit p\u00ebr hashing-un dhe ndonj\u00ebher\u00eb p\u00ebrpar\u00ebsin\u00eb relative t\u00eb hash-it t\u00eb blokut dhe faktor\u00ebve t\u00eb tjer\u00eb. N\u00ebse zgjidhet problemi i front-running-ut t\u00eb minator\u00ebve, duhet t\u00eb rezultoj\u00eb di\u00e7ka m\u00eb t\u00eb mir\u00eb. Le t\u00eb shtojm\u00eb p\u00ebrdoruesit n\u00eb k\u00ebt\u00eb skem\u00eb \u2014 le t\u00eb ndikojn\u00eb gjithashtu n\u00eb rast\u00ebsin\u00eb: \u00e7do punonj\u00ebs i sh\u00ebrbimit t\u00eb tregtis\u00eb do t'ju thot\u00eb se ajo q\u00eb \u00ebsht\u00eb m\u00eb e rast\u00ebsishme n\u00eb sistemet IT jan\u00eb veprimet e p\u00ebrdoruesve \ud83d\ude42<\/p>\n<p><\/p>\n<p>Nj\u00eb skem\u00eb naive, kur p\u00ebrdoruesit thjesht d\u00ebrgojn\u00eb numra rast\u00ebsor\u00eb dhe rezultati llogaritet si, p\u00ebr shembull, nj\u00eb hash nga shuma e tyre, nuk funksionon. N\u00eb k\u00ebt\u00eb rast, lojtari i fundit mund t\u00eb kontrolloj\u00eb rezultatin duke zgjedhur rast\u00ebsorin e tij. Prandaj, p\u00ebrdoret nj\u00eb model shum\u00eb t\u00eb njohur si commit-reveal. Pjes\u00ebmarr\u00ebsit s\u00eb pari d\u00ebrgojn\u00eb hash-et e rast\u00ebsor\u00ebve t\u00eb tyre (commit-e), dhe m\u00eb pas zbulojn\u00eb vet\u00eb rast\u00ebsor\u00ebt (reveal-e). Faza \u201creveal\u201d fillon vet\u00ebm pasi t\u00eb jen\u00eb mbledhur commit-et e nevojshme, k\u00ebshtu q\u00eb pjes\u00ebmarr\u00ebsit mund t\u00eb d\u00ebrgojn\u00eb sakt\u00ebsisht rast\u00ebsorin, hash-i i t\u00eb cilit u d\u00ebrgua m\u00eb par\u00eb. Tani le t\u00eb kombinojm\u00eb t\u00eb gjitha k\u00ebt\u00eb me parametrat e bllokut, dhe \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb marrim nga e ardhmja (rast\u00ebsori do t\u00eb jet\u00eb i njohur vet\u00ebm n\u00eb nj\u00eb nga blloqet e ardhshme), dhe voila \u2014 rast\u00ebsori \u00ebsht\u00eb gati! Tani \u00e7do lojtar ndikon n\u00eb rast\u00ebsorin p\u00ebrfundimtar dhe mund t\u00eb \u201cp\u00ebrfitoj\u00eb\u201d nga BP i keq, duke e bllokuar rast\u00ebsorin e tij me rast\u00ebsorin e tij, i cili nuk dihet paraprakisht... Gjithashtu, mund t\u00eb shtojm\u00eb mbrojtje nga sabotimi i protokollit p\u00ebrmes moszbulimit n\u00eb faz\u00ebn e reveal \u2014 duke k\u00ebrkuar thjesht q\u00eb me commit-in t\u00eb bashk\u00ebngjitet nj\u00eb shum\u00eb \u2014 nj\u00eb depozit\u00eb t\u00eb sigurimit, e cila do t\u00eb kthehet vet\u00ebm gjat\u00eb procedur\u00ebs reveal. N\u00eb k\u00ebt\u00eb rast, t\u00eb b\u00ebsh commit dhe t\u00eb mos b\u00ebsh reveal do t\u00eb jet\u00eb e pavarur.<\/p>\n<p><\/p>\n<p>Ishte nj\u00eb p\u00ebrpjekje e mir\u00eb, dhe skema t\u00eb tilla ekzistojn\u00eb edhe n\u00eb DApp-et e loj\u00ebrave, por fatkeq\u00ebsisht, kjo p\u00ebrs\u00ebri nuk mjafton. Tani rezultati mund t\u00eb ndikoj\u00eb jo vet\u00ebm nga miner\u00ebt, por edhe nga \u00e7do pjes\u00ebmarr\u00ebs n\u00eb protokoll. T\u00eb kontrollosh vet\u00eb vler\u00ebn \u00ebsht\u00eb ende e mundur, me nj\u00eb shkall\u00eb m\u00eb t\u00eb vog\u00ebl variabiliteti dhe me pages\u00eb, por, ashtu si n\u00eb rastin e minerit, n\u00ebse rezultatet e shortit kan\u00eb m\u00eb shum\u00eb vler\u00eb sesa paga p\u00ebr pjes\u00ebmarrje n\u00eb protokollin PVRB, at\u00ebher\u00eb random-producer (RP) mund t\u00eb vendos\u00eb n\u00ebse t\u00eb b\u00ebj\u00eb reveal dhe ende mund t\u00eb zgjedh\u00eb nga t\u00eb pakt\u00ebn dy variante randomi.<br \/>\nPor 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\u00ebnshkrimet e p\u00ebrcaktuara.<\/h2>\n<p><\/p>\n<p>Ka nj\u00eb m\u00ebnyr\u00eb tjet\u00ebr p\u00ebr ta b\u00ebr\u00eb RP t\u00eb siguroj\u00eb nj\u00eb num\u00ebr pseudo-rast\u00ebsor, n\u00eb t\u00eb cilin ai nuk mund t\u00eb ndikoj\u00eb, n\u00ebse i ofrohet \"prototipi\" \u2014 kjo \u00ebsht\u00eb nj\u00eb n\u00ebnshkrim deterministik. Nj\u00eb shembull i till\u00eb n\u00ebnshkrimi \u00ebsht\u00eb RSA, dhe nuk \u00ebsht\u00eb ECS. N\u00ebse RP ka nj\u00eb \u00e7ift \u00e7elesh: 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 ket\u00eb NJ\u00cb DHE VET\u00cbM NJ\u00cb n\u00ebnshkrim, nd\u00ebrsa n\u00eb rastin e ECS \u2014 ai mund t\u00eb gjeneroj\u00eb ndonj\u00eb num\u00ebr t\u00eb ndrysh\u00ebm n\u00ebnshkrimesh t\u00eb vlefshme. Kjo ndodh sepse gjat\u00eb krijimit t\u00eb n\u00ebnshkrimit ECS p\u00ebrdoret nj\u00eb num\u00ebr rast\u00ebsor, q\u00eb zgjidhet nga n\u00ebnshkruesi, dhe ai mund t\u00eb zgjidhet si t\u00eb dush, duke i dh\u00ebn\u00eb n\u00ebnshkruesit mund\u00ebsin\u00eb t\u00eb zgjedh\u00eb nj\u00eb nga disa n\u00ebnshkrim. N\u00eb rastin e RSA: \"nj\u00eb vler\u00eb hyr\u00ebse\" + \"nj\u00eb \u00e7ift \u00e7elesh\" = \"nj\u00eb n\u00ebnshkrim\". Nuk \u00ebsht\u00eb e mundur t\u00eb parashikosh se cila do t\u00eb jet\u00eb n\u00ebnshkrimi i nj\u00eb RP tjet\u00ebr, prandaj PVRB me n\u00ebnshkrime deterministike mund t\u00eb organizohet p\u00ebrmes kombinimit t\u00eb n\u00ebnshkrimeve RSA t\u00eb disa pjes\u00ebmarr\u00ebsve, t\u00eb cil\u00ebt kan\u00eb n\u00ebnshkruar t\u00eb nj\u00ebjt\u00ebn vler\u00eb. P\u00ebr shembull \u2014 rast\u00ebsi e m\u00ebparshme. N\u00eb nj\u00eb skem\u00eb t\u00eb till\u00eb kursehen shum\u00eb burime, pasi n\u00ebnshkrimet p\u00ebrb\u00ebjn\u00eb nj\u00ebkoh\u00ebsisht dhe nj\u00eb konfirmim t\u00eb sakt\u00ebsis\u00eb s\u00eb sjelljes sipas protokollit, dhe nj\u00eb burim rast\u00ebsor.<\/p>\n<p><\/p>\n<p>Megjithat\u00eb, edhe me n\u00ebnshkrime t\u00eb determinuara, skema vazhdon t\u00eb jet\u00eb e pambrojtur ndaj problemit t\u00eb \"aktorit t\u00eb fundit\". Pjes\u00ebmarr\u00ebsi i fundit vazhdon t\u00eb ket\u00eb mund\u00ebsin\u00eb t\u00eb vendos\u00eb n\u00ebse do t\u00eb publikohet n\u00ebnshkrimi i tij apo jo, duke kontrolluar k\u00ebshtu rezultatin. Mund t\u00eb p\u00ebrmir\u00ebsohet skema, duke shtuar hash-e t\u00eb bllokove, duke realizuar raunde, p\u00ebr t\u00eb b\u00ebr\u00eb t\u00eb pamundshme parashikimin e rezultatit t\u00eb m\u00ebparsh\u00ebm, por t\u00eb gjitha k\u00ebto teknik\u00eb, madje duke marr\u00eb parasysh shum\u00eb p\u00ebrmir\u00ebsime, s\u00ebrish 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 pa besuesh\u00ebm dhe mund t\u00eb funksionojn\u00eb vet\u00ebm n\u00eb kushte kufizimesh ekonomike dhe kohore. P\u00ebr m\u00eb tep\u00ebr, madh\u00ebsia e \u00e7el\u00ebsave RSA (1024 dhe 2048 bit) \u00ebsht\u00eb mjaft e madhe, nd\u00ebrsa madh\u00ebsia p\u00ebr transaksionet n\u00eb blockchain \u00ebsht\u00eb nj\u00eb parametr i jasht\u00ebzakonsh\u00ebm. Duksh\u00ebm, nuk do t\u00eb jet\u00eb e thjesht\u00eb t\u00eb zgjidhet problemi, le t\u00eb vazhdojm\u00eb m\u00eb tej.<\/p>\n<p><\/p>\n<h2 id=\"pvrb-i-secret-sharing-shemy\">Schemat PVRB dhe ndarjen sekrete<\/h2>\n<p><\/p>\n<p>N\u00eb kriptografi ekzistojn\u00eb skema q\u00eb mund t\u00eb lejojn\u00eb rrjetin 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 i nj\u00eb pjese t\u00eb pjes\u00ebmarr\u00ebsve. Nj\u00eb nga protokollet e dobishme, me t\u00eb cilat duhet t\u00eb njihemi, \u00ebsht\u00eb skema e ndarjes s\u00eb sekreteve t\u00eb Shamir. Ajo sh\u00ebrben p\u00ebr t\u00eb ndar\u00eb nj\u00eb sekret (p.sh., nj\u00eb \u00e7el\u00ebs sekret) n\u00eb disa pjes\u00eb dhe p\u00ebr t'i shp\u00ebrndar\u00eb k\u00ebto pjes\u00eb N pjes\u00ebmarr\u00ebsve. Sekreti shp\u00ebrndahet n\u00eb nj\u00eb m\u00ebnyr\u00eb q\u00eb p\u00ebr ta rikuperuar, mjaftojn\u00eb M pjes\u00eb nga N, dhe ato mund t\u00eb jen\u00eb \u00e7far\u00ebdo M pjes\u00ebsh. N\u00ebse e shikojm\u00eb n\u00eb nj\u00eb m\u00ebnyr\u00eb m\u00eb t\u00eb thjesht\u00eb, duke pasur nj\u00eb grafik t\u00eb nj\u00eb funksioni t\u00eb panjohur, pjes\u00ebmarr\u00ebsit ndajn\u00eb pika n\u00eb grafik, dhe pas marrjes s\u00eb M pikave, e gjith\u00eb funksioni mund t\u00eb rikuperohet.<br \/>\nNj\u00eb shpjegim i mir\u00eb jepet n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Shamir%27s_Secret_Sharing\">wiki<\/a><\/noindex> dhe p\u00ebr ta luajtur praktikisht, p\u00ebr t\u00eb luajtur protokollin n\u00eb mendje \u00ebsht\u00eb e dobishme 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 (Financi Fiat-Shamir) do t\u00eb aplikonte n\u00eb form\u00ebn e saj t\u00eb past\u00ebr \u2014 kjo do t\u00eb ishte nj\u00eb PVRB e pathyeshme. 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 randomin e tij dhe shp\u00ebrndan pjes\u00ebt nga ai tek pjes\u00ebmarr\u00ebsit e tjer\u00eb.<\/li>\n<li>\u00c7do pjes\u00ebmarr\u00ebs zbulon pjes\u00ebn e tij t\u00eb sekreteve t\u00eb pjes\u00ebmarr\u00ebsve t\u00eb tjer\u00eb<\/li>\n<li>N\u00ebse nj\u00eb pjes\u00ebmarr\u00ebs ka mbledhur m\u00eb shum\u00eb M shares, at\u00ebher\u00eb numri i k\u00ebtij pjes\u00ebmarr\u00ebsi mund t\u00eb llogaritet, dhe ai do t\u00eb jet\u00eb unik, pavar\u00ebsisht nga grupi i pjes\u00ebmarr\u00ebsve t\u00eb zbuluar<\/li>\n<li>Kombinimi i random-\u00ebve t\u00eb zbuluar \u00ebsht\u00eb PVRB q\u00eb k\u00ebrkohet<\/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 vet\u00ebm prej tij varet arritja e threshold-it t\u00eb zbules\u00ebs s\u00eb random-ave. Prandaj, ky protokoll, me prani t\u00eb shum\u00ebs s\u00eb nevojshme t\u00eb punonj\u00ebsve sipas protokollit dhe me RP t\u00eb disponuesh\u00ebm punon, duke realizuar k\u00ebrkesat p\u00ebr q\u00ebndrueshm\u00ebrin\u00eb kriptografike, dhe duke qen\u00eb i q\u00ebndruesh\u00ebm ndaj problemit \"last actor\".<\/p>\n<p><\/p>\n<p>Kjo mund t\u00eb ishte alternativa ideale, kjo skem\u00eb PVRB mbi baz\u00ebn e ndarjes s\u00eb sekreteve t\u00eb Fiat-Shamir \u00ebsht\u00eb p\u00ebrshkruar, p\u00ebr shembull, n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2017\/216.pdf\">k\u00ebt\u00eb<\/a><\/noindex> artikuj. Por, si\u00e7 u tha m\u00eb par\u00eb, n\u00ebse p\u00ebrpiqemi ta aplikojm\u00eb at\u00eb drejtp\u00ebrdrejt n\u00eb blockchain, shfaqen kufizime teknike. Ja nj\u00eb shembull i realizimit t\u00eb testit t\u00eb protokollit n\u00eb smart kontrat\u00ebn EOS dhe pjesa m\u00eb e r\u00ebnd\u00ebsishme e saj \u00ebsht\u00eb kontrolli i share t\u00eb publikuar nga pjes\u00ebmarr\u00ebsi: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mixbytes\/eoscraper\/blob\/master\/Proof.hh#L23\">kod<\/a><\/noindex>. Nga kodi duket se validimi i proof-it k\u00ebrkon disa shum\u00ebzime skalar\u00eb, dhe numrat p\u00ebrdoren shum\u00eb t\u00eb m\u00ebdha. N\u00eb k\u00ebt\u00eb rast, duhet t\u00eb kuptohet se n\u00eb blockchain verifikimi ndodh n\u00eb momentin kur block-producer proceson transaksionin, dhe \u00e7do pjes\u00ebmarr\u00ebs duhet t\u00eb jet\u00eb n\u00eb gjendje t\u00eb 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 t\u00eb r\u00ebnda. N\u00eb k\u00ebt\u00eb variant, zgjidhja rezultoi e papranueshme, pasi verifikimi nuk p\u00ebrputhej me kufizimin p\u00ebr transaksionin (0.5 sek).<\/p>\n<p><\/p>\n<p>Efikasiteti i verifikimit \u00ebsht\u00eb nj\u00eb nga k\u00ebrkesat kryesore p\u00ebr p\u00ebrdorimin e \u00e7do skemash t\u00eb avancuara kriptografike n\u00eb blockchain. Krijimi i proof-eve, p\u00ebrgatitja e mesazheve \u2014 k\u00ebto procedura mund t\u00eb kryhen off-chain dhe t\u00eb realizohen n\u00eb kompjuter\u00eb me performanc\u00eb t\u00eb lart\u00eb, por nuk do t\u00eb jet\u00eb e mundur t\u00eb anashkalohet verifikimi \u2014 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>Pas ndihm\u00ebs me skem\u00ebn e ndarjes s\u00eb sekreteve, ne zbuluam nj\u00eb klas t\u00eb t\u00ebr\u00eb protokollesh t\u00eb lidhura 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\u00ebnmjesht\u00ebr i \u00e7far\u00ebdosh\u00ebm i N, flitet p\u00ebr skemat \u201cthreshold\u201d. K\u00ebto skema lejojn\u00eb t\u00eb merren me problemin e \u201caktorit t\u00eb fundit\u201d, tani n\u00ebse sulmuesi nuk hap pjes\u00ebn e tij t\u00eb sekreti, nj\u00eb pjes\u00ebmarr\u00ebs tjet\u00ebr i ndersh\u00ebm do ta b\u00ebj\u00eb at\u00eb. K\u00ebto skema lejojn\u00eb t\u00eb r\u00ebmbehet nj\u00eb vler\u00eb t\u00eb vetme, edhe n\u00eb rastin e sabotazhit t\u00eb protokollit nga nj\u00eb pjes\u00eb e pjes\u00ebmarr\u00ebsve. <\/p>\n<p><\/p>\n<p>Kombinimi i n\u00ebnshkrimeve deterministe dhe skemave threshold ka lejuar zhvillimin e nj\u00eb skeme shum\u00eb t\u00eb p\u00ebrshtatshme dhe premtuese p\u00ebr realizimin e PVRB \u2014 k\u00ebto jan\u00eb n\u00ebnshkrime deterministe threshold. Ja <noindex><a rel=\"nofollow\" href=\"https:\/\/eprint.iacr.org\/2002\/081.pdf\">artikull<\/a><\/noindex> p\u00ebr aplikime t\u00eb ndryshme t\u00eb n\u00ebnshkrimeve threshold, dhe ja nj\u00eb tjet\u00ebr e 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 sh\u00ebnohet si Boneh-Lynn-Shacham, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.iacr.org\/archive\/asiacrypt2001\/22480516.pdf\">k\u00ebtu<\/a><\/noindex> artikuj, t\u00eb cil\u00ebt kan\u00eb nj\u00eb cil\u00ebsi shum\u00eb t\u00eb r\u00ebnd\u00ebsishme dhe jasht\u00ebzakonisht t\u00eb p\u00ebrshtatshme p\u00ebr programuesit \u2014 \u00e7el\u00ebsat publik\u00eb, sekret\u00eb, \u00e7el\u00ebsat dhe n\u00ebnshkrimet BLS mund t\u00eb kombinohen me nj\u00ebri-tjetrin me ndihm\u00ebn e operacioneve matematikore t\u00eb thjeshta, nd\u00ebrsa kombinimet e tyre mbeten \u00e7el\u00ebsa dhe n\u00ebnshkrime t\u00eb vlefshme, duke lejuar agregimin e leht\u00eb t\u00eb shum\u00eb n\u00ebnshkrimeve n\u00eb nj\u00eb dhe shum\u00eb \u00e7el\u00ebsa publik\u00eb n\u00eb nj\u00eb. Ato gjithashtu kan\u00eb deterministik\u00eb dhe p\u00ebr t\u00eb nj\u00ebjtat t\u00eb dh\u00ebna hyrese japin t\u00eb nj\u00ebjtin rezultat. Fal\u00eb k\u00ebsaj cil\u00ebsie, kombinimet e n\u00ebnshkrimeve BLS jan\u00eb vet\u00eb \u00e7el\u00ebsa t\u00eb vlefsh\u00ebm, \u00e7ka lejon realizimin e nj\u00eb varianti, n\u00eb t\u00eb cilin M nga N pjes\u00ebmarr\u00ebsit prodhojn\u00eb nj\u00eb dhe vet\u00ebm nj\u00eb n\u00ebnshkrim, i cili \u00ebsht\u00eb i determinuesh\u00ebm, i verifikuesh\u00ebm publikisht dhe i paparashikuesh\u00ebm deri sa t\u00eb zhbllokohet nga pjes\u00ebmarr\u00ebsi i M-t\u00eb.<\/p>\n<p><\/p>\n<p>N\u00eb skem\u00ebn me n\u00ebnshkrime BLS threshold, \u00e7do pjes\u00ebmarr\u00ebs n\u00ebnshkruan me ndihm\u00ebn e BLS di\u00e7ka (p\u00ebr shembull, rastin e m\u00ebparsh\u00ebm), dhe n\u00ebnshkrimi i p\u00ebrbashk\u00ebt threshold \u00ebsht\u00eb rastin q\u00eb k\u00ebrkohet. Vetit\u00eb kriptografike t\u00eb n\u00ebnshkrimeve BLS i p\u00ebrmbushin k\u00ebrkesat p\u00ebr cil\u00ebsin\u00eb e rastit, pjesa threshold mbron nga \"aktorin e fundit\", dhe kombinueshm\u00ebria unike e \u00e7el\u00ebsave lejon realizimin e shum\u00eb algoritmeve interesante, t\u00eb cilat lejojn\u00eb, p\u00ebr shembull, agregimin efikas t\u00eb mesazheve t\u00eb protokollit.<\/p>\n<p><\/p>\n<p>Pra, n\u00ebse po nd\u00ebrtoni PVRB n\u00eb bllokun tuaj, ka nj\u00eb probabilitet t\u00eb madh q\u00eb do t\u00eb arrini n\u00eb skem\u00ebn BLS threshold signatures, e cila p\u00ebrdoret tashm\u00eb nga disa projekte. P\u00ebr shembull, DFinity (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/dfinity\/random-beacon\">k\u00ebtu<\/a><\/noindex> benchmarku 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 realizimit t\u00eb ndarjes sekrete t\u00eb verifikueshme), ose Keep.network (ja, ndodhet random beacon <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keep-network\/random-beacon-yellowpaper\">yellowpaper<\/a><\/noindex>, k\u00ebshtu q\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/keep-network\/random-beacon-box\">shembull<\/a><\/noindex> kontraktit inteligjent q\u00eb sh\u00ebrben protokollin).<\/p>\n<p><\/p>\n<h2 id=\"implementaciya-pvrb\">Implementimi i PVRB<\/h2>\n<p><\/p>\n<p>Fatkeq, ende nuk shohim nj\u00eb protokoll t\u00eb gatsh\u00ebm, i zbatuar n\u00eb bllokadat PVRB, q\u00eb ka d\u00ebshmuar sigurin\u00eb dhe q\u00ebndrueshm\u00ebrin\u00eb e tij. Edhe pse protokollet jan\u00eb gati, \u00ebsht\u00eb e v\u00ebshtir\u00eb t'i aplikosh ato n\u00eb zgjidhjet ekzistuese nga ana teknike. P\u00ebr sistemet e centralizuara, PVRB nuk ka kuptim, nd\u00ebrsa ato t\u00eb decentralizuara jan\u00eb t\u00eb kufizuara n\u00eb t\u00eb gjitha burimet llogarit\u00ebse: CPU, memorie, ruajtje, I\/O. Projektimi i PVRB \u00ebsht\u00eb kombinimi i protokolleve t\u00eb ndryshme, p\u00ebr t\u00eb krijuar di\u00e7ka q\u00eb p\u00ebrmbush t\u00eb gjitha k\u00ebrkesat, p\u00ebr t\u00eb arritur t\u00eb pakt\u00ebn ndonj\u00eb bllokad\u00eb funksionale. Nj\u00eb protokoll llogarit m\u00eb efikas, por k\u00ebrkon m\u00eb shum\u00eb mesazhe nd\u00ebrmjet RP, nd\u00ebrsa tjetri k\u00ebrkon shum\u00eb pak mesazhe, por krijimi i prova mund t\u00eb jet\u00eb nj\u00eb detyr\u00eb q\u00eb zgjat disa minuta, madje edhe or\u00eb.<\/p>\n<p><\/p>\n<p>Do t\u00eb rendis faktor\u00ebt q\u00eb duhet t\u00eb merrni parasysh kur zgjidhni nj\u00eb PVRB t\u00eb cil\u00ebsis\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li><em>Q\u00ebndrueshm\u00ebria kriptografike<\/em>. PVRB juaj duhet t\u00eb jet\u00eb strikte unbiasable, pa mund\u00ebsi p\u00ebr t\u00eb kontrolluar nj\u00eb bit t\u00eb vet\u00ebm. N\u00eb disa skema kjo nuk \u00ebsht\u00eb k\u00ebshtu, prandaj th\u00ebrrisni nj\u00eb kriptograf.<\/li>\n<li><em>Problemi \u201clast actor\u201d<\/em>. PVRB juaj duhet t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm ndaj sulmeve, kur sulmuesi, q\u00eb kontrollon nj\u00eb ose m\u00eb shum\u00eb 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 m\u00eb shum\u00eb RP, vendos n\u00ebse do t\u00eb jet\u00eb rast\u00ebsor apo jo dhe mund t\u00eb ndikoj\u00eb me siguri, ose me nj\u00eb mund\u00ebsi t\u00eb caktuar mbi k\u00ebt\u00eb.<\/li>\n<li><em>Problemi i numrit t\u00eb mesazheve<\/em>. RP-t\u00eb tuaja duhet t\u00eb d\u00ebrgojn\u00eb n\u00eb blockchain minimumin e mesazheve dhe t\u00eb shmangin sa m\u00eb shum\u00eb veprimet sinkronike si situatat \"d\u00ebrgova disa informacione, po pres p\u00ebrgjigje nga nj\u00eb pjes\u00ebmarr\u00ebs i caktuar\". N\u00eb rrjetet p2p, sidomos ato gjeografikisht t\u00eb shp\u00ebrndara, nuk duhet t\u00eb llogaritni n\u00eb p\u00ebrgjigje t\u00eb shpejt\u00eb.<\/li>\n<li><em>Problemi i kompleksitetit t\u00eb llogaritjes<\/em>. Verifikimi i \u00e7do faze t\u00eb PVRB n\u00eb zinxhir duhet t\u00eb jet\u00eb extremisht i leht\u00eb, pasi e kryejn\u00eb t\u00eb gjith\u00eb klient\u00ebt e plot\u00eb t\u00eb rrjetit. N\u00ebse realizimi b\u00ebhet me an\u00eb t\u00eb kontrat\u00ebs inteligjente, k\u00ebrkesat p\u00ebr shpejt\u00ebsi jan\u00eb shum\u00eb t\u00eb forta.<\/li>\n<li><em>Problemi i aksesueshm\u00ebris\u00eb dhe liveness<\/em>. PVRB juaj duhet t\u00eb p\u00ebrpiqet t\u00eb jet\u00eb i q\u00ebndruesh\u00ebm ndaj situatave kur pjesa e rrjetit \u00ebsht\u00eb b\u00ebr\u00eb e paarritshme p\u00ebr nj\u00eb koh\u00eb dhe disa RP thjesht kan\u00eb ndaluar s\u00eb funksionuari.<\/li>\n<li><em>Problemi i konfigurimit t\u00eb besuesh\u00ebm dhe shp\u00ebrndarjes fillestare t\u00eb \u00e7el\u00ebsave<\/em>. N\u00ebse PVRB juaj p\u00ebrdor konfigurimin primar t\u00eb protokollit, at\u00ebher\u00eb 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\/\">shembull<\/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 protokollit \u2014 kjo \u00ebsht\u00eb gjithashtu nj\u00eb problem, n\u00ebse p\u00ebrb\u00ebrja e pjes\u00ebmarr\u00ebsve ndryshon<\/li>\n<li><em>Problemet e zhvillimit<\/em>. Prania e bibliotekave n\u00eb gjuh\u00ebt p\u00ebrkat\u00ebse, siguria dhe performanca e tyre, publikimi, testet e komplikuara etj.<\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00eb threshold BLS ka nj\u00eb problem t\u00eb r\u00ebnd\u00ebsish\u00ebm \u2014 p\u00ebrpara se t\u00eb fillojn\u00eb pun\u00ebn, pjes\u00ebmarr\u00ebsit duhet patjet\u00ebr t\u00eb ndajn\u00eb \u00e7el\u00ebsat me nj\u00ebri-tjetrin, duke organizuar nj\u00eb grup brenda krijohet nj\u00eb threshold. Kjo do t\u00eb thot\u00eb q\u00eb, si nj\u00eb minimum, do t\u00eb duhet t\u00eb pritet nj\u00eb rreth shk\u00ebmbimi n\u00eb nj\u00eb rrjet t\u00eb decentralizuar, dhe duke e marr\u00eb parasysh q\u00eb gjenerimi i rast\u00ebsish\u00ebm, p\u00ebr shembull, \u00ebsht\u00eb i nevojsh\u00ebm n\u00eb loj\u00ebra, praktikisht n\u00eb koh\u00eb reale, kjo do t\u00eb thot\u00eb q\u00eb sabotimi i protokollit \u00ebsht\u00eb i mundsh\u00ebm n\u00eb k\u00ebt\u00eb faz\u00eb, dhe p\u00ebrfitimet e skem\u00ebs s\u00eb threshold humbasin. Ky problem \u00ebsht\u00eb m\u00eb i leht\u00eb se i m\u00ebparshmi, por prap\u00ebseprap\u00eb k\u00ebrkon zhvillimin e nj\u00eb procedure t\u00eb ve\u00e7ant\u00eb p\u00ebr formimin e grupeve threshold, e cila do t\u00eb duhet t\u00eb mbrohet ekonomikisht, p\u00ebrmes depozitave dhe konfiskimit (slashing) t\u00eb fondeve nga pjes\u00ebmarr\u00ebsit q\u00eb nuk ndjekin protokollin. Po ashtu, verifikimi i BLS me nj\u00eb nivel t\u00eb pranuesh\u00ebm sigurie thjesht nuk kapet, p\u00ebr shembull, brenda nj\u00eb transaksioni standard t\u00eb EOS ose Ethereum \u2014 thjesht nuk ka mjaft koh\u00eb p\u00ebr verifikim. Kodi i kontratave \u00ebsht\u00eb WebAssembly ose EVM, i ekzekutuar nga nj\u00eb makin\u00eb virtuale. Funksionet kriptografike nuk jan\u00eb t\u00eb realizuara 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 sipas k\u00ebrkesave vet\u00ebm duke u bazuar n\u00eb volumin e \u00e7el\u00ebsave, p\u00ebr shembull, 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>Luan nj\u00eb rol dhe ka nj\u00eb num\u00ebr implementation n\u00eb gjuh\u00eb t\u00eb ndryshme programimi \u2014 t\u00eb cilat jan\u00eb pak, sidomos p\u00ebr protokollet e reja. Opcioni i integrimit n\u00eb konsensus k\u00ebrkon q\u00eb protokolli t\u00eb shkruhet n\u00eb gjuh\u00ebn e platform\u00ebs, prandaj do t\u00eb duhet t\u00eb k\u00ebrkoni kod n\u00eb Go p\u00ebr geth, n\u00eb Rust p\u00ebr Parity, dhe n\u00eb C++ p\u00ebr EOS. Kodin n\u00eb JavaScript do t\u00eb duhet t\u00eb k\u00ebrkojn\u00eb t\u00eb gjith\u00eb, dhe pasi JavaScript dhe kriptografia nuk jan\u00eb miq t\u00eb ngusht\u00eb, WebAssembly do t\u00eb ndihmoj\u00eb, i cili tani me siguri pretendohet si standardi i ardhsh\u00ebm i r\u00ebnd\u00ebsish\u00ebm n\u00eb internet.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">P\u00ebrfundimi<\/h2>\n<p><\/p>\n<p>Shpresoj q\u00eb n\u00eb t\u00eb kaluar\u00ebn <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/448330\/\">artikullin<\/a><\/noindex> jam munduar t'ju bind se gjenerimi i numrave t\u00eb rast\u00ebsish\u00ebm n\u00eb bllokchain \u00ebsht\u00eb kritikisht i r\u00ebnd\u00ebsish\u00ebm p\u00ebr shum\u00eb aspekte t\u00eb jet\u00ebs s\u00eb rrjeteve t\u00eb decentralizuara, dhe me k\u00ebt\u00eb artikull tregova se ky detyr\u00eb \u00ebsht\u00eb jasht\u00ebzakonisht ambicioze dhe e v\u00ebshtir\u00eb, por zgjidhje t\u00eb mira tashm\u00eb ekzistojn\u00eb. N\u00eb t\u00eb v\u00ebrtet\u00eb, dizajni p\u00ebrfundimtar i protokollit \u00ebsht\u00eb i mundur vet\u00ebm pas kryerjes s\u00eb testeve masive q\u00eb marrin parasysh t\u00eb gjitha aspektet nga setup-i deri te simulimi i d\u00ebshtimeve, prandaj \u00ebsht\u00eb e v\u00ebshtir\u00eb q\u00eb t\u00eb gjeni receta t\u00eb gatshme n\u00eb whitepaper-at e ekipeve dhe n\u00eb artikuj, dhe ne p\u00ebr nj\u00eb vit apo dy t\u00eb ardhsh\u00ebm sigurisht se nuk do t\u00eb guxojm\u00eb t\u00eb shkruajm\u00eb \u201cb\u00ebni ashtu, ashtu do t\u00eb jet\u00eb e sakt\u00eb\u201d. <\/p>\n<p><\/p>\n<p>P\u00ebr momentin, p\u00ebr PVRB-n\u00eb ton\u00eb n\u00eb bllokchain-in n\u00eb zhvillim <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mixbytes\/haya\">Haya<\/a><\/noindex>, jemi ndalur n\u00eb p\u00ebrdorimin e n\u00ebnshkrimeve BLS me prag, kemi n\u00eb plan t\u00eb implementojm\u00eb PVRB n\u00eb nivelin e konsensusit, pasi verifikimi n\u00eb kontrata inteligjente me nj\u00eb nivel t\u00eb pranuesh\u00ebm sigurie p\u00ebr momentin nuk \u00ebsht\u00eb i mundur. Mund\u00ebsisht, do t\u00eb p\u00ebrdorim dy skema: fillimisht nj\u00eb ndarje sekrete t\u00eb shtrenjt\u00eb p\u00ebr krijimin e nj\u00eb random_seed afatgjat\u00eb, dhe m\u00eb pas do ta p\u00ebrdorim si baz\u00eb p\u00ebr gjenerimin me frekuenc\u00eb t\u00eb lart\u00eb t\u00eb rast\u00ebsish\u00ebm duke p\u00ebrdorur n\u00ebnshkrime BLS me prag t\u00eb determinuara, ndoshta do t\u00eb kufizohemi vet\u00ebm n\u00eb nj\u00eb nga skemat. Nuk \u00ebsht\u00eb e mundur t\u00eb thuhet paraprakisht se \u00e7far\u00eb do t\u00eb jet\u00eb protokolli, p\u00ebr fat t\u00eb keq, vet\u00ebm ajo q\u00eb na jep pozitiviz\u00ebm \u00ebsht\u00eb se si n\u00eb shkenc\u00eb, n\u00eb detyrat inxhinierike, nj\u00eb rezultat negativ \u00ebsht\u00eb gjithashtu nj\u00eb rezultat, dhe \u00e7do p\u00ebrpjekje e re p\u00ebr t\u00eb zgjidhur nj\u00eb problem \u00ebsht\u00eb nj\u00eb shkall\u00eb tjet\u00ebr p\u00ebr k\u00ebrkimet e t\u00eb gjith\u00ebve q\u00eb jan\u00eb t\u00eb angazhuar me k\u00ebt\u00eb \u00e7\u00ebshtje. P\u00ebr t\u00eb siguruar k\u00ebrkesat nga ana e biznesit, ne po zgjidhim nj\u00eb problem praktik specifik \u2014 sigurimin e aplikacioneve t\u00eb lojrave me nj\u00eb burim t\u00eb besuesh\u00ebm t\u00eb entropis\u00eb, prandaj na duhet t\u00eb kushtojm\u00eb gjithashtu v\u00ebmendje vet\u00eb blo\u00e7heinu, ve\u00e7an\u00ebrisht \u00e7\u00ebshtjeve t\u00eb p\u00ebrfundimit t\u00eb zinxhirit dhe qeverisjes s\u00eb rrjetit. <\/p>\n<p><\/p>\n<p>Dhe ndon\u00ebse p\u00ebr momentin nuk shohim n\u00eb blockchain nj\u00eb PVRB t\u00eb provuar dhe t\u00eb q\u00ebndruesh\u00ebm, i cili do t\u00eb ishte p\u00ebrdorur p\u00ebr nj\u00eb koh\u00eb t\u00eb mjaftueshme p\u00ebr t'u testuar nga aplikacione reale, auditime t\u00eb shumta, ngarkesa dhe sigurisht, sulme reale, numri i mund\u00ebsive t\u00eb verifikimit konfirmon se nj\u00eb zgjidhje ekziston, dhe nj\u00eb nga k\u00ebto algoritme n\u00eb fund do t\u00eb zgjidh\u00eb problematik\u00ebn. Ne do t\u00eb jemi t\u00eb lumtur t\u00eb ndajn\u00eb rezultatet dhe fal\u00ebnderojm\u00eb ekipet e tjera q\u00eb po punojn\u00eb n\u00eb k\u00ebt\u00eb \u00e7\u00ebshtje p\u00ebr artikujt dhe kodin q\u00eb lejojn\u00eb inxhinier\u00ebt t\u00eb mos bien dy her\u00eb n\u00eb t\u00eb nj\u00ebjtat kurthe. <\/p>\n<p><\/p>\n<p>Prandaj, kur t\u00eb takoni nj\u00eb programues q\u00eb projekton nj\u00eb rast\u00ebsi t\u00eb decentralizuar, jini t\u00eb kujdessh\u00ebm dhe t\u00eb kujdessh\u00ebm, ofroni ndihm\u00ebn psikologjike n\u00ebse \u00ebsht\u00eb e nevojshme \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.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\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\" \/>\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.0.1\" \/>\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! } \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\" \/>\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 rastit dhe rrjete t\u00eb decentralizuara: implementimet | ProHoster","description":"Hyrja function getAbsolutelyRandomNumer() { return 4; \/\/ kthen numrin e rast\u00ebsish\u00ebm absolut! } Ashtu si\u00e7 ndodh me konceptin e enkriptimit t\u00eb q\u00ebndruesh\u00ebm absolut, protokollet reale \u201cPublicly Verifiable Random Beacon\u201d (PVRB) vet\u00ebm p\u00ebrpiqen t\u00eb afrohen sa m\u00eb shum\u00eb drejt skem\u00ebs ideale, pasi n\u00eb rrjetet reale nuk \u00ebsht\u00eb e aplikueshme n\u00eb form\u00ebn e saj t\u00eb past\u00ebr: duhet t\u00eb bien dakord p\u00ebr nj\u00eb bit t\u00eb vet\u00ebm, t\u00eb ket\u00eb raunde.","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! } \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","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}]}}