{"id":32343,"date":"2019-10-31T21:46:27","date_gmt":"2019-10-31T18:46:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne\/"},"modified":"2019-10-31T21:46:27","modified_gmt":"2019-10-31T18:46:27","slug":"cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne","title":{"rendered":"Juhuslik orakel, mis p\u00f5hineb plokiahela digitaalallkirjal","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ideest reaalsuseni: muuda olemasolevat digitaalset allkirjastamise skeemi elliptilisel k\u00f5veral, et see oleks m\u00e4\u00e4ratletud, ning pakume selle alusel funktsioone usaldusv\u00e4\u00e4rsete plokiahela raames genereeritud pseudojuhtumiste arvude hankimiseks.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Juhuslik orakel, mis p\u00f5hineb plokiahela digitaalallkirjal\" src=\"\/wp-content\/uploads\/2019\/04\/91c321aa895498263f80f586aa336956.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h1 id=\"ideya\">Idee<\/h1>\n<p><\/p>\n<p>2018. aasta s\u00fcgisel aktiveeriti Waves'i plokiahas <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.wavesplatform.com\/smart-accounts-finally-activated-on-waves-mainnet-8bb7c7b67beb\">esimesed nutilepingud<\/a><\/noindex>, kohe kerkis k\u00fcsimus, kas on v\u00f5imalik saada <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB\">pseudojuhtumisi<\/a><\/noindex>, millele saab usaldada.<\/p>\n<p><\/p>\n<p>M\u00f5eldes selle k\u00fcsimuse \u00fcle, j\u00f5udsin l\u00f5puks j\u00e4reldusele: iga plokiahel on rakk, usaldusv\u00e4\u00e4rse entropia allika saamine suletud s\u00fcsteemis on v\u00f5imatu.<\/p>\n<p><\/p>\n<p>Aga \u00fcks idee meeldis mulle siiski: kui <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BE%D1%80%D0%B0%D0%BA%D1%83%D0%BB\">juhuslik oraakel<\/a><\/noindex> allkirjastab kasutajaandmed m\u00e4\u00e4ratletud algoritmiga, siis saab kasutaja alati kontrollida sellist allkirja avaliku v\u00f5tme kaudu ja on kindel, et saadud v\u00e4\u00e4rtus on ainulaadne. Oraakel ei suuda midagi muuta, algoritm annab \u00fcheselt m\u00f5istetava tulemuse. Sisuliselt kinnitab kasutaja tulemuse, kuid ei tea seda kuni oraakel selle avalikustab. Selgub, et oraakel ei pruugi \u00fcldse olla usaldusv\u00e4\u00e4rne, kuid saab kontrollida selle t\u00f6\u00f6 tulemust. Seega, edu korral sellise kontrollimise juures v\u00f5ib sellist allkirja pidada usaldusv\u00e4\u00e4rseks entropia allikaks pseudojuhtumiste arvu jaoks.<\/p>\n<p><\/p>\n<p>Waves'i plokiahelas kasutatakse allkirjastamise skeemi <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/EdDSA\">EdDSA<\/a><\/noindex> variant <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/EdDSA#Ed25519\">PerformanceResourceTiming<\/a><\/noindex>. Antud skeemis koosneb allkiri R ja S v\u00e4\u00e4rtustest, kus R s\u00f5ltub juhuslikust v\u00e4\u00e4rtusest ja S arvutatakse allkirjastatava s\u00f5numi, privaatv\u00f5tme ja sama juhusliku arvu p\u00f5hjal, mis on R. Selgub, et \u00fcheselt m\u00e4\u00e4ratletud s\u00f5ltuvust ei ole, sama kasutaja s\u00f5numi puhul eksisteerib mitu kehtivat allkirja.<\/p>\n<p><\/p>\n<p>On ilmselge, et puhtal kujul ei saa sellist allkirja kasutada pseudojuhtumiste arvu allikana, kuna see on m\u00e4\u00e4ratlemata ja seega v\u00f5ib see olla h\u00f5lpsasti oraakli manipulatsioonide objektiks.<\/p>\n<p><\/p>\n<p>Aga nagu selgus, on v\u00f5imalik muuta see tegelikult m\u00e4\u00e4ratletuks.<\/p>\n<p><\/p>\n<p>Mul olid suured lootused <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/draft-irtf-cfrg-vrf-04\">kontrollitava juhusliku funktsiooni (VRF) osas<\/a><\/noindex>, kuid p\u00e4rast materjali p\u00f5hjalikku uurimist pidin sellest variandist loobuma. Kuigi VRF pakub deterministlikku allkirjastamise ja selle t\u00f5estamise varianti, sisaldab algoritm kummalist kohta, mis avab orakli manipuleerimise jaoks musta augu. Nimelt, k v\u00e4\u00e4rtuse arvutamisel (<noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/draft-irtf-cfrg-vrf-04#section-5.1\">jaotis 5.1<\/a><\/noindex>) kasutatakse salajast v\u00f5tit, mis j\u00e4\u00e4b kasutajale teadmata, seega ei saa kasutaja k arvutamise \u00f5igsust kontrollida, mis t\u00e4hendab, et orakel v\u00f5ib kasutada mis tahes vajalikku k v\u00e4\u00e4rtust ja samal ajal pidada k ja allkirjastatavate andmete vastavuste andmebaasi, et alati saaks uuesti arvutada VRF-i seisukohalt \u00f5ige tulemuse. Kui n\u00e4ete VRF-i p\u00f5hjal korraldatud loosimist ilma salajase v\u00f5tme avalikustamiseta, v\u00f5ite targutada: osutada vajadusele kas avada v\u00f5tme v\u00f5i j\u00e4tta see k arvutamisest v\u00e4lja, siis salajane v\u00f5ti avaldub automaatselt, kui ilmub esimene allkiri. \u00dches\u00f5naga, nagu juba \u00f6eldud, on see kummaline skeem juhuslikule oraklile.<\/p>\n<p><\/p>\n<p>Veidi m\u00f5tlemini ja kohalike anal\u00fc\u00fctikute toetuse saades s\u00fcndis VECRO t\u00f6\u00f6 skeem.<\/p>\n<p><\/p>\n<p>VECRO on l\u00fchend Verifiable Elliptic Curve Random Oracle, mis t\u00e4hendab eesti keeles kontrollitavat juhuslikku oraklit elliptiliste k\u00f5verate p\u00f5hjal.<\/p>\n<p><\/p>\n<p>K\u00f5ik osutus \u00fcsna lihtsaks, et saavutada deterministlikkust, tuleb fikseerida R v\u00e4\u00e4rtus enne allkirjastatava s\u00f5numi ilmumist. Kui R on fikseeritud ja see on osa allkirjastatavast s\u00f5numist, mis lisaks tagab R fikseerimise allkirjastatavas s\u00f5numis, m\u00e4\u00e4ratakse S v\u00e4\u00e4rtus ainulaadselt kasutaja s\u00f5numi p\u00f5hjal ja seega saab seda kasutada pseudo-juhuslike numbrite allikana.<\/p>\n<p><\/p>\n<p>Sellises skeemis pole oluline, kuidas R fikseeritakse, see j\u00e4\u00e4b orakli kohustuseks. Oluline on, et S m\u00e4\u00e4ratakse ainulaadselt kasutaja poolt, kuid selle v\u00e4\u00e4rtus on teadmata, kuni orakel selle avalikustab. Just nagu me soovisime!<\/p>\n<p><\/p>\n<p>R fikseerimise kohta r\u00e4\u00e4kides, p\u00f6\u00f6rake t\u00e4helepanu sellele, et <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jedisct1\/libsodium\/issues\/170\">taaskasutatud R<\/a><\/noindex> Erinevate s\u00f5numite allkirjastamisel toob EdDSA skeem kindlasti v\u00e4lja privaatv\u00f5tme. Oraakli omaniku jaoks on \u00e4\u00e4rmiselt oluline v\u00e4listada R-i taaskasutamise v\u00f5imalus erinevate kasutaja s\u00f5numite allkirjastamiseks. See t\u00e4hendab, et igasuguste manipulatsioonide v\u00f5i kokkulepete korral riskib oraakel alati oma privaatv\u00f5tme kaotamisega.<\/p>\n<p><\/p>\n<p>Kokkuv\u00f5ttes peab oraakel kasutajatele pakkuma kahte funktsiooni: initsialiseerimist, mis fikseerib R v\u00e4\u00e4rtuse, ja allkirjastamist, mis tagastab S v\u00e4\u00e4rtuse. Siinkohal on R, S paar tavaline kontrollitav allkiri kasutaja s\u00f5numist, mis sisaldab fikseeritud R v\u00e4\u00e4rtust ja kasutaja suvalisi andmeid.<\/p>\n<p><\/p>\n<p>V\u00f5ib vaielda, et see skeem blockchain'ile on mitte midagi muud kui tavaline <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/348838\/\">commit-reveal skeem.<\/a><\/noindex>Sisuliselt on see t\u00f5si. Kuid siin on m\u00f5ned n\u00fcansid. Esiteks, oraakel t\u00f6\u00f6tab alati k\u00f5igis toimingutes \u00fche ja sama v\u00f5tmega, n\u00e4iteks on see mugav lepingutes. Teiseks, oraakli privaatv\u00f5tme kaotamise risk on olemas vale k\u00e4itumise korral, n\u00e4iteks, kui oraakel lubab tulemust proovima, piisab vaid kahest proovist, et teada saada privaatv\u00f5ti ja saada t\u00e4ielik juurdep\u00e4\u00e4s rahakotile. Kolmandaks, blockchain'is natiivset kontrollitav allkiri, mis on juhuslikkuse allikas - see on ilus.<\/p>\n<p><\/p>\n<p>Pool aastat k\u00fcpses idee teostamine peas, kuni l\u00f5puks tuli motivatsioonina <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/waves-lab\/waves-labs-announces-first-grant-recipients-7568f01fec22\">Waves Labs'i grant.<\/a><\/noindex>Suure grantiga kaasnevad suured vastutused, seega on projekt teoks saamas!<\/p>\n<p><\/p>\n<h1 id=\"realizaciya\">Rakendamine<\/h1>\n<p><\/p>\n<p>Nii et selles projektis <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\">VECRO teostati<\/a><\/noindex> Waves blockchain'is p\u00e4ring-vastus re\u017eiimis kasutaja ja oraakli vahel \u00fclekannete abil. Selle k\u00e4igus on oraakli kontol skript, mis kontrollib t\u00f6\u00f6de teostamist rangelt eelnevalt kirjeldatud loogika j\u00e4rgi. Oraakli tehingud l\u00e4bivad kontrollimise, taastades kogu suhtlusahela kasutajaga. L\u00f5ppv\u00e4\u00e4rtuse kontrollimisel osaleb k\u00f5ikides neljas tehingus, nutileping liidab need rangelt kontrolliva niidi k\u00fclge, kontrollides samm-sammu haaval k\u00f5iki v\u00e4\u00e4rtusi ja j\u00e4ttes kohtadele manipulatsioonide jaoks.<\/p>\n<p><\/p>\n<p>Korduseks, et j\u00e4\u00e4ks selgeks. Oraakel ei t\u00f6\u00f6ta lihtsalt ettepanekud skeemi j\u00e4rgi. Tema t\u00f6\u00f6 on t\u00e4ielikult kontrollitud blockchain'i tasandil. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/master\/vecro.ride\">surmatu nutilepinguga<\/a><\/noindex>. Samm vasakule ja tehing lihtsalt ei toimu. Seega, kui tehing on plokiahelasse j\u00f5udnud, ei pea kasutaja isegi midagi kontrollima, k\u00f5ik on juba kontrollitud sadade v\u00f5rgu s\u00f5lmede poolt.<\/p>\n<p><\/p>\n<p>Praegu on Wavesi peav\u00f5rgus k\u00e4ivitatud \u00fcks VECRO (sa saad ka oma k\u00e4ivitada, see ei ole keeruline, lihtsalt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/master\/config.sample.php\">vaata konfiguratsiooni n\u00e4idet<\/a><\/noindex>). Praegune kood t\u00f6\u00f6tab PHP-s (sid <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\">WavesKit<\/a><\/noindex>, millest <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446110\/\">ma r\u00e4\u00e4kisin varem<\/a><\/noindex>).<\/p>\n<p><\/p>\n<p>Oraakelteenuse kasutamiseks tuleb:<\/p>\n<p><\/p>\n<ul>\n<li>Kinni panna R;\n<ul>\n<li>Saada v\u00e4hemalt 0.005 Waves orakli aliasele init@vecr;<\/li>\n<li>Saada R-kood manuses \u00fclekandel 1 R-vecr tokeni oraklilt kasutajale;<\/li>\n<\/ul>\n<\/li>\n<li>Saada allkiri;\n<ul>\n<li>Saada v\u00e4hemalt 0.005 Waves orakli aliasele random@vecr ja kindlasti m\u00e4rkida manuses varasem R-kood ning lisainformatsioon kasutajalt;<\/li>\n<li>Saada S-kood manuses \u00fclekandel 1 S-vecr tokeni oraklilt kasutajale;<\/li>\n<\/ul>\n<\/li>\n<li>Kasuta S-koodi pseudo-juhusliku numbri allikana.<\/li>\n<\/ul>\n<p><\/p>\n<p>Praeguse teostuse n\u00fcansid:<\/p>\n<p><\/p>\n<ul>\n<li>Oraklile saadetud Wavesi kasutatakse kasutajale tagasitehingu tasuna, kuni maksimaalselt 1 Waves;<\/li>\n<li>R-kood on s\u00fcmboli 'R' ja 32-baidise R v\u00e4\u00e4rtuse konkateneerimine base58 kodeeringus;<\/li>\n<li>R-kood manuses peab olema esimesena, kasutajate andmed tulevad p\u00e4rast R-koodi;<\/li>\n<li>S-kood on s\u00fcmboli 'S' ja 32-baidise S v\u00e4\u00e4rtuse konkateneerimine base58 kodeeringus;<\/li>\n<li>S on j\u00e4\u00e4gi mooduli jagamise tulemus, seet\u00f5ttu ei saa S-d kasutada t\u00e4is 256-bitise pseudo-juhusliku numbrina (seda numbrit v\u00f5ib pidada maksimaalselt 252-bitiseks pseudo-juhuslikuks numbriks);<\/li>\n<li>Lihtsaim variant on kasutada S-koodi hash'i pseudo-juhusliku numbrina.<\/li>\n<\/ul>\n<p><\/p>\n<p>S-koodi saamise n\u00e4ide:<\/p>\n<p><\/p>\n<ul>\n<li>Algatamine: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6\">https:\/\/wavesexplorer.com\/tx\/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6<\/a><\/noindex><\/li>\n<li>R-koodi saamine: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd\">https:\/\/wavesexplorer.com\/tx\/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd<\/a><\/noindex><\/li>\n<li>R-koodi ja kasutajandmete 'random' allkirja tulemuse p\u00e4rimine: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz\">https:\/\/wavesexplorer.com\/tx\/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz<\/a><\/noindex><\/li>\n<li>S-koodi saamine: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/C5VrFLQcprbA1KXAToaNvMP4Kg2rq43NkwWuADAA7wXX\">https:\/\/wavesexplorer.com\/tx\/C5VrFLQcprbA1KXAToaNvMP4Kg2rq43NkwWuADAA7wXX<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Tehniliselt on oraakel t\u00e4ielikult t\u00f6\u00f6valmis, v\u00f5id julgelt seda kasutada. Tavaolekuses kasutaja jaoks puudub mugav graafiline liides, seda tuleb veel oodata.<\/p>\n<p><\/p>\n<p>Olen valmis vastama k\u00fcsimustele ja v\u00f5tma vastu m\u00e4rkuseid, ait\u00e4h.<\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/449340\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438: \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439, \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430 \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b. \u0418\u0434\u0435\u044f \u041e\u0441\u0435\u043d\u044c\u044e 2018 \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 Waves \u0431\u044b\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043f\u0435\u0440\u0432\u044b\u0435 \u0441\u043c\u0430\u0440\u0442-\u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u044b, \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0441\u0435\u0432\u0434\u043e\u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c. \u041b\u043e\u043c\u0430\u044f \u0433\u043e\u043b\u043e\u0432\u0443 \u043d\u0430\u0434 \u044d\u0442\u0438\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24158,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32343","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438: \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439, \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430.\" \/>\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\/et\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\udd47C\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u043e\u0440\u0430\u043a\u0443\u043b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438: \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439, \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne\" \/>\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:46:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:46:27+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\udd47Juhuslik oraakel p\u00f5hineb digitaalallkirjal plokiahelas | ProHoster","description":"Ideest rakendamiseni: kohandame olemasolevat digitaalallkirja skeemi elliptilisel k\u00f5veral, et see oleks deterministlik, ja pakume selle p\u00f5hjal kontrollitavaid funktsioone plokiahelas.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\udd47C\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u043e\u0440\u0430\u043a\u0443\u043b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435 | ProHoster","og:description":"\u041e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438: \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043d\u0430 \u044d\u043b\u043b\u0438\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439, \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u0435\u0451 \u043e\u0441\u043d\u043e\u0432\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0430.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne","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:46:27+00:00","article:modified_time":"2019-10-31T18:46:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32343","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 10:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:00:23","updated":"2026-01-21 10:26:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/32343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=32343"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/32343\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/24158"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=32343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=32343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=32343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}