{"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\/sv\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne","title":{"rendered":"Slumptals-Oracle baserat p\u00e5 digital signatur i blockchain","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Fr\u00e5n id\u00e9 till genomf\u00f6rande: vi modifierar det befintliga systemet f\u00f6r digitala signaturer baserat p\u00e5 elliptiska kurvor s\u00e5 att det blir deterministic, och erbjuder funktioner f\u00f6r att generera verifierbara pseudorandomnummer baserade p\u00e5 detta.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Slumptals-Oracle baserat p\u00e5 digital signatur i blockchain\" 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\">Tanken<\/h1>\n<p><\/p>\n<p>H\u00f6sten 2018 aktiverades de f\u00f6rsta smarta kontrakten i blockchainen Waves, <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.wavesplatform.com\/smart-accounts-finally-activated-on-waves-mainnet-8bb7c7b67beb\">och omedelbart uppstod fr\u00e5gan om m\u00f6jligheten att f\u00e5 tag p\u00e5<\/a><\/noindex>pseudorandomnummer <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\">, som man kan lita p\u00e5.<\/a><\/noindex>N\u00e4r jag funderade p\u00e5 denna fr\u00e5ga kom jag slutligen fram till slutsatsen: varje blockchain \u00e4r en cell, det \u00e4r om\u00f6jligt att f\u00e5 en betrodd k\u00e4lla till entropi i ett slutet system.<\/p>\n<p><\/p>\n<p>Men en id\u00e9 gillade jag \u00e4nd\u00e5: om en<\/p>\n<p><\/p>\n<p>slumptalsorekel <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\">anv\u00e4nder en deterministisk algoritm f\u00f6r att signera anv\u00e4ndardata, kan anv\u00e4ndaren alltid verifiera en s\u00e5dan signatur med hj\u00e4lp av den offentliga nyckeln och vara s\u00e4ker p\u00e5 att det erh\u00e5llna v\u00e4rdet \u00e4r unikt. Orokeln kan mycket v\u00e4l inte \u00e4ndra n\u00e5gonting, algoritmen ger ett entydigt resultat. I sj\u00e4lva verket registrerar anv\u00e4ndaren resultatet, men k\u00e4nner inte till det f\u00f6rr\u00e4n orakeln publicerar det. Det visar sig att man i sj\u00e4lva verket inte beh\u00f6ver lita p\u00e5 orakeln, utan ist\u00e4llet kan verifiera resultatet av dess arbete. Vid framg\u00e5ngsrik verifiering kan en s\u00e5dan signatur betraktas som en k\u00e4lla till entropi f\u00f6r ett pseudorandomnummer.<\/a><\/noindex> I blockchain-plattformen Waves anv\u00e4nds en signaturordning<\/p>\n<p><\/p>\n<p>EdDSA <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/EdDSA\">. I detta system best\u00e5r signaturen av v\u00e4rdena R och S, d\u00e4r R beror p\u00e5 ett slumpm\u00e4ssigt v\u00e4rde, medan S ber\u00e4knas utifr\u00e5n det signerade meddelandet, den privata nyckeln och samma slumpm\u00e4ssiga nummer som R. Det visar sig att det inte finns n\u00e5gon entydig beroende; f\u00f6r samma anv\u00e4ndarmeddelande finns det m\u00e5nga giltiga signaturer.<\/a><\/noindex> en variant <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/EdDSA#Ed25519\">Ed25519<\/a><\/noindex>Det \u00e4r uppenbart att en s\u00e5dan signatur i sin rena form inte kan anv\u00e4ndas som en k\u00e4lla till pseudorandomnummer, eftersom den \u00e4r icke-deterministisk och d\u00e4rf\u00f6r l\u00e4tt kan manipuleras av orakeln.<\/p>\n<p><\/p>\n<p>Men det visade sig att det faktiskt \u00e4r m\u00f6jligt att g\u00f6ra den determinant.<\/p>\n<p><\/p>\n<p>Jag hade stora f\u00f6rhoppningar p\u00e5<\/p>\n<p><\/p>\n<p>verifierbar slumpfunktion (VRF) <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/draft-irtf-cfrg-vrf-04\">\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u0443\u044e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e (VRF)<\/a><\/noindex>, men efter att ha studerat materien var det n\u00f6dv\u00e4ndigt att ge upp denna variant. \u00c4ven om VRF erbjuder en deterministisk variant av signaturen och dess bevis, finns det en konstig del i algoritmen som \u00f6ppnar en svart mal f\u00f6r manipulationer av oraklet. Det vill s\u00e4ga, vid ber\u00e4kningen av v\u00e4rdet k (<noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/draft-irtf-cfrg-vrf-04#section-5.1\">avsnitt 5.1<\/a><\/noindex>) anv\u00e4nds en privat nyckel som f\u00f6rblir ok\u00e4nd f\u00f6r anv\u00e4ndaren, vilket inneb\u00e4r att anv\u00e4ndaren inte kan verifiera korrektheten i ber\u00e4kningen av k, vilket g\u00f6r att oraklet kan anv\u00e4nda vilket v\u00e4rde k som helst och samtidigt f\u00f6ra en databas med \u00f6verensst\u00e4mmelser mellan k och de signerade uppgifterna, s\u00e5 att de alltid kan \u00e5terber\u00e4kna ett korrekt resultat ur VRF:s perspektiv. Ser ni en dragning baserad p\u00e5 VRF utan att avsl\u00f6ja den privata nyckeln, kan ni g\u00e4rna p\u00e5peka: antingen m\u00e5ste nyckeln avsl\u00f6jas, eller s\u00e5 m\u00e5ste den uteslutas fr\u00e5n ber\u00e4kningen av k, d\u00e5 kommer den privata nyckeln automatiskt att avsl\u00f6jas vid den f\u00f6rsta signaturen. Sammanfattningsvis, som redan sagts, en underlig schema f\u00f6r ett slumpm\u00e4ssigt orakel.<\/p>\n<p><\/p>\n<p>Efter lite \u00f6verl\u00e4ggningar och med st\u00f6d fr\u00e5n lokala analytiker f\u00f6ddes ett arbetsschema f\u00f6r VECRO.<\/p>\n<p><\/p>\n<p>VECRO \u00e4r en f\u00f6rkortning av Verifiable Elliptic Curve Random Oracle, vilket p\u00e5 ryska betyder verifierbart slumpm\u00e4ssigt orakel baserat p\u00e5 elliptiska kurvor.<\/p>\n<p><\/p>\n<p>Det visade sig vara ganska enkelt, f\u00f6r att uppn\u00e5 determinism m\u00e5ste v\u00e4rdet R fastst\u00e4llas innan det signerade meddelandet upptr\u00e4der. Om R \u00e4r fastst\u00e4llt och \u00e4r en del av det signerade meddelandet, vilket dessutom garanterar att R \u00e4r fastst\u00e4llt i sj\u00e4lva det signerade meddelandet, s\u00e5 best\u00e4ms v\u00e4rdet S entydigt av anv\u00e4ndarens meddelande och kan d\u00e4rf\u00f6r anv\u00e4ndas som en k\u00e4lla f\u00f6r pseudorandomnummer.<\/p>\n<p><\/p>\n<p>I ett s\u00e5dant schema \u00e4r det oviktigt hur R fastst\u00e4lls, det ligger inom oraklets ansvar. Viktigt \u00e4r att S entydigt definieras av anv\u00e4ndaren, men dess v\u00e4rde \u00e4r ok\u00e4nt tills oraklet publicerar det. Precis som vi ville!<\/p>\n<p><\/p>\n<p>N\u00e4r man talar om det fastst\u00e4llda R, observera att <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jedisct1\/libsodium\/issues\/170\">\u00e5teranv\u00e4nda R<\/a><\/noindex> Att skriva under olika meddelanden avsl\u00f6jar entydigt den privata nyckeln i EdDSA-schemat. F\u00f6r \u00e4garen av oraklet blir det extremt viktigt att utesluta m\u00f6jligheten till \u00e5teranv\u00e4ndning av R f\u00f6r att signera olika anv\u00e4ndarmeddelanden. Det vill s\u00e4ga, vid alla manipulationer eller samverkan riskerar oraklet alltid att f\u00f6rlora sin privata nyckel.<\/p>\n<p><\/p>\n<p>Sammanfattningsvis m\u00e5ste oraklet erbjuda anv\u00e4ndarna tv\u00e5 funktioner: initialisering, som fastst\u00e4ller v\u00e4rdet R, och signatur, som returnerar v\u00e4rdet S. Paret R, S utg\u00f6r en vanlig verifierbar signatur av anv\u00e4ndarens meddelande som inneh\u00e5ller det fasta v\u00e4rdet R och slumpm\u00e4ssiga anv\u00e4ndardata.<\/p>\n<p><\/p>\n<p>Man kan inv\u00e4nda att detta schema f\u00f6r blockchain inte \u00e4r annat \u00e4n en vanlig <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/348838\/\">commit-reveal-schema.<\/a><\/noindex>. I stort sett, ja, det \u00e4r det. Men det finns n\u00e5gra nyanser. F\u00f6r det f\u00f6rsta arbetar oraklet alltid med samma nyckel i alla operationer, vilket \u00e4r praktiskt att anv\u00e4nda i kontrakt. F\u00f6r det andra finns det en risk att oraklet f\u00f6rlorar sin privata nyckel vid felaktigt beteende, till exempel om oraklet till\u00e5ter resultatprovtagning, d\u00e5 r\u00e4cker det med att g\u00f6ra tv\u00e5 prover f\u00f6r att ta reda p\u00e5 den privata nyckeln och f\u00e5 fullst\u00e4ndig tillg\u00e5ng till pl\u00e5nboken. F\u00f6r det tredje \u00e4r den natively verifierbara signaturen i blockchain, som \u00e4r k\u00e4llan till slumpm\u00e4ssighet - det \u00e4r vackert.<\/p>\n<p><\/p>\n<p>I ett halv\u00e5r har id\u00e9n om implementering mognat i huvudet, tills motivationen slutligen kom i form av <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/waves-lab\/waves-labs-announces-first-grant-recipients-7568f01fec22\">en stipendium fr\u00e5n Waves Labs.<\/a><\/noindex>. Med ett stort stipendium kommer ett stort ansvar, vilket inneb\u00e4r att projektet m\u00e5ste bli av!<\/p>\n<p><\/p>\n<h1 id=\"realizaciya\">Implementering<\/h1>\n<p><\/p>\n<p>S\u00e5, i detta projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\">genomf\u00f6rdes VECRO<\/a><\/noindex> p\u00e5 blockchain Waves i f\u00f6rfr\u00e5gan-svar-l\u00e4ge genom \u00f6verf\u00f6ringstransaktioner mellan anv\u00e4ndaren och oraklet. Samtidigt har oraklets konto ett skript som strikt reglerar arbetet i enlighet med den beskrivna logiken. Oraklets transaktioner genomg\u00e5r en kontroll som \u00e5terst\u00e4ller hela kedjan av interaktioner med anv\u00e4ndaren. Vid kontroll av det slutliga v\u00e4rdet deltar alla fyra transaktioner, smarta kontraktet tr\u00e4r dem p\u00e5 en strikt verifierande tr\u00e5d, steg f\u00f6r steg kontrollerar alla v\u00e4rden och l\u00e4mnar inte utrymme f\u00f6r n\u00e5gra manipulationer.<\/p>\n<p><\/p>\n<p>\u00c4n en g\u00e5ng, f\u00f6r att det ska fastna och bli tydligare. Oraklet arbetar inte bara enligt det f\u00f6reslagna schemat. Dess arbete kontrolleras helt p\u00e5 blockchain-niv\u00e5 av det installerade. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/master\/vecro.ride\">fast med smartkontrakt<\/a><\/noindex>. Ett steg \u00e5t sidan och transaktionen g\u00e5r helt enkelt inte igenom. S\u00e5 om transaktionen har kommit in i blockkedjan beh\u00f6ver anv\u00e4ndaren inte ens kontrollera n\u00e5got, det har redan granskats av hundratals noder i n\u00e4tverket.<\/p>\n<p><\/p>\n<p>F\u00f6r n\u00e4rvarande \u00e4r en VECRO lanserad i Waves huvudn\u00e4t (du kan ocks\u00e5 lansera din egen, det \u00e4r inte sv\u00e5rt, bara <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/master\/config.sample.php\">kolla in exempelkonfigurationen<\/a><\/noindex>). Nuvarande kod k\u00f6rs p\u00e5 PHP (p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\">WavesKit<\/a><\/noindex>, som jag n\u00e4mnde tidigare <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446110\/\">F\u00f6r att anv\u00e4nda oracle-tj\u00e4nsten kr\u00e4vs:<\/a><\/noindex>).<\/p>\n<p><\/p>\n<p>Att fastst\u00e4lla R;<\/p>\n<p><\/p>\n<ul>\n<li>Skicka minst 0.005 Waves till orakels alias init@vecr;\n<ul>\n<li>Mottaga R-kod i f\u00e4ltet bilaga i \u00f6verf\u00f6ringen av 1 R-vecr-token fr\u00e5n orakeln till anv\u00e4ndaren;<\/li>\n<li>F\u00e5 en signatur;<\/li>\n<\/ul>\n<\/li>\n<li>Skicka minst 0.005 Waves till orakels alias random@vecr och vara \u00c5TAGANDE att ange den tidigare mottagna R-koden och ytterligare anv\u00e4ndardata i bilagef\u00e4ltet;\n<ul>\n<li>Mottaga S-kod i bilagef\u00e4ltet i \u00f6verf\u00f6ringen av 1 S-vecr-token fr\u00e5n orakeln till anv\u00e4ndaren;<\/li>\n<li>Anv\u00e4nd S-koden som en k\u00e4lla f\u00f6r pseudo-slumptal.<\/li>\n<\/ul>\n<\/li>\n<li>Nyckelpunkter om den aktuella implementationen:<\/li>\n<\/ul>\n<p><\/p>\n<p>Skickade Waves till orakeln anv\u00e4nds som avgift f\u00f6r \u00e5tertransaktionen till anv\u00e4ndaren, upp till maximala 1 Waves;<\/p>\n<p><\/p>\n<ul>\n<li>R-koden \u00e4r en konkatenering av byte f\u00f6r symbolen 'R' och 32-byte v\u00e4rdet R i base58 kodning;<\/li>\n<li>R-koden i bilagan ska vara f\u00f6rst, anv\u00e4ndardata kommer efter R-koden;<\/li>\n<li>S-koden \u00e4r en konkatenering av byte f\u00f6r symbolen 'S' och 32-byte v\u00e4rdet S i base58 kodning;<\/li>\n<li>S \u00e4r resultatet av moddivision, och d\u00e4rf\u00f6r kan S inte anv\u00e4ndas som ett fullt 256-bit pseudo-slumptal (detta tal kan anses vara maximalt ett 252-bit pseudo-slumptal);<\/li>\n<li>Det enklaste alternativet \u00e4r att anv\u00e4nda hash fr\u00e5n S-koden som pseudo-slumptal.<\/li>\n<li>Exempel p\u00e5 hur man f\u00e5r S-koden:<\/li>\n<\/ul>\n<p><\/p>\n<p>Initiering:<\/p>\n<p><\/p>\n<ul>\n<li>Mottagning av R-koden: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6\">https:\/\/wavesexplorer.com\/tx\/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6<\/a><\/noindex><\/li>\n<li>Beg\u00e4ran om resultatet av signaturen av R-koden och anv\u00e4ndardata 'random': <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd\">https:\/\/wavesexplorer.com\/tx\/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd<\/a><\/noindex><\/li>\n<li>Mottagning av S-koden: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz\">https:\/\/wavesexplorer.com\/tx\/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz<\/a><\/noindex><\/li>\n<li>Ur ett tekniskt perspektiv \u00e4r orakeln helt redo att anv\u00e4ndas, du kan tryggt anv\u00e4nda den. Fr\u00e5n anv\u00e4ndarens perspektiv saknas ett bekv\u00e4mt grafiskt gr\u00e4nssnitt, vilket vi f\u00e5r v\u00e4nta p\u00e5. <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>Jag ser fram emot att svara p\u00e5 fr\u00e5gor och ta emot synpunkter, tack.<\/p>\n<p><\/p>\n<p>\u0411\u0443\u0434\u0443 \u0440\u0430\u0434 \u043e\u0442\u0432\u0435\u0442\u0438\u0442\u044c \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u044f, \u0441\u043f\u0430\u0441\u0438\u0431\u043e.<\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Slumpt\u00e4nkande orakel baserat p\u00e5 digital signatur i blockkedjan | ProHoster","description":"Fr\u00e5n id\u00e9 till genomf\u00f6rande: vi modifierar det befintliga schemat f\u00f6r digitala signaturer baserat p\u00e5 elliptiska kurvor f\u00f6r att g\u00f6ra det deterministiskt och erbjuder funktioner f\u00f6r verifiering inom blockkedjan.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/32343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=32343"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/32343\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/24158"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=32343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=32343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=32343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}