{"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\/de\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne","title":{"rendered":"Zuf\u00e4lliger Oracle auf Basis digitaler Signaturen in der Blockchain","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Von der Idee zur Umsetzung: Wir passen das bestehende Schema der digitalen Signatur auf elliptischen Kurven an, um es deterministisch zu gestalten, und bieten auf dieser Basis Funktionen zur Erzeugung von pr\u00fcfbaren blockchain-basierten Pseudo-Zufallszahlen an.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Zuf\u00e4lliger Oracle auf Basis digitaler Signaturen in der 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\">Die Idee<\/h1>\n<p><\/p>\n<p>Im Herbst 2018 wurden im Waves-Blockchain <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.wavesplatform.com\/smart-accounts-finally-activated-on-waves-mainnet-8bb7c7b67beb\">die ersten Smart Contracts aktiviert<\/a><\/noindex>, worauf sofort die Frage aufkam, ob es m\u00f6glich sei, <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\">Pseudo-Zufallszahlen<\/a><\/noindex>zu erhalten, denen man vertrauen kann.<\/p>\n<p><\/p>\n<p>Nach intensiven \u00dcberlegungen kam ich schlie\u00dflich zu dem Schluss: Jede Blockchain ist ein geschlossenes System; es ist unm\u00f6glich, eine vertrauensw\u00fcrdige Quelle f\u00fcr Entropie in einem abgeschlossenen System zu erhalten.<\/p>\n<p><\/p>\n<p>Aber eine Idee hat mir dennoch gefallen: Wenn <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\">ein zuf\u00e4lliger Oracle<\/a><\/noindex> Wenn die Benutzerdaten mit einem deterministischen Algorithmus signiert werden, kann der Benutzer stets diese Signatur mit dem \u00f6ffentlichen Schl\u00fcssel \u00fcberpr\u00fcfen und ist sich sicher, dass der erhaltene Wert einzigartig ist. Ein Oracle ist nicht in der Lage, etwas zu \u00e4ndern, denn der Algorithmus liefert ein eindeutiges Ergebnis. Im Grunde fixiert der Benutzer das Ergebnis, kennt es jedoch nicht, bis das Oracle es ver\u00f6ffentlicht. Es ist also m\u00f6glich, dem Oracle nicht zu vertrauen, aber das Ergebnis seiner Arbeit zu \u00fcberpr\u00fcfen. In diesem Fall kann eine solche Signatur als Quelle von Entropie f\u00fcr eine pseudorandomisierte Zahl angesehen werden.<\/p>\n<p><\/p>\n<p>Auf der Blockchain-Plattform Waves wird ein Signaturschema verwendet <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/EdDSA\">EdDSA<\/a><\/noindex> Variante ist gut gelungen. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/EdDSA#Ed25519\">Ed25519<\/a><\/noindex>. In diesem Schema besteht die Signatur aus den Werten R und S, wobei R von einem zuf\u00e4lligen Wert abh\u00e4ngt, und S auf Basis der zu signierenden Nachricht, des privaten Schl\u00fcssels und desselben Zufallswerts berechnet wird, der auch f\u00fcr R verwendet wird. Das bedeutet, dass es keine eindeutige Abh\u00e4ngigkeit gibt; f\u00fcr die gleiche Benutzer-Nachricht existieren viele g\u00fcltige Signaturen.<\/p>\n<p><\/p>\n<p>Offensichtlich kann eine solche Signatur in reiner Form nicht als Quelle f\u00fcr pseudorandomisierte Zahlen verwendet werden, da sie unbestimmt ist und daher leicht von einem Oracle manipuliert werden kann.<\/p>\n<p><\/p>\n<p>Aber wie sich herausstellte, ist es tats\u00e4chlich m\u00f6glich, sie deterministisch zu machen.<\/p>\n<p><\/p>\n<p>Ich hatte gro\u00dfe Hoffnungen auf <noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/draft-irtf-cfrg-vrf-04\">eine verifizierbare Zufallsfunktion (VRF)<\/a><\/noindex>, aber nach dem Studium der Materie musste ich von dieser Variante Abstand nehmen. Obwohl die VRF eine deterministische Option f\u00fcr die Signatur und deren Beweis bietet, gibt es im Algorithmus einen merkw\u00fcrdigen Punkt, der ein Schlupfloch f\u00fcr Manipulationen durch das Oracle \u00f6ffnet. Genauer gesagt, bei der Berechnung des Wertes k (<noindex><a rel=\"nofollow\" href=\"https:\/\/tools.ietf.org\/html\/draft-irtf-cfrg-vrf-04#section-5.1\">Abschnitt 5.1<\/a><\/noindex>) wird ein geheimer Schl\u00fcssel verwendet, der dem Benutzer unbekannt bleibt. Das bedeutet, dass der Benutzer die Richtigkeit der Berechnung von k nicht \u00fcberpr\u00fcfen kann. Daher kann der Oracle einen beliebigen Wert f\u00fcr k verwenden und gleichzeitig eine Datenbank mit den Entsprechungen von k und den signierten Daten f\u00fchren, um immer das korrekte Ergebnis aus der Sicht des VRF neu berechnen zu k\u00f6nnen. Wenn Sie eine VRF-basierte Auslosung ohne Offenlegung des geheimen Schl\u00fcssels sehen, k\u00f6nnen Sie klug anmerken: Sie m\u00fcssten entweder den Schl\u00fcssel offenlegen oder ihn aus der Berechnung von k ausschlie\u00dfen, sodass der geheime Schl\u00fcssel automatisch bei der ersten Signatur offengelegt wird. Insgesamt, wie bereits erw\u00e4hnt, ist dies ein seltsames Schema f\u00fcr einen zuf\u00e4lligen Oracle.<\/p>\n<p><\/p>\n<p>Nach einigem Nachdenken und mit Unterst\u00fctzung lokaler Analysten wurde das VECRO-Arbeitsmodell entwickelt.<\/p>\n<p><\/p>\n<p>VECRO steht f\u00fcr Verifiable Elliptic Curve Random Oracle, was auf Deutsch \u00fcberpr\u00fcfbarer zuf\u00e4lliger Oracle auf elliptischen Kurven bedeutet.<\/p>\n<p><\/p>\n<p>Es stellte sich als recht einfach heraus; um Determiniertheit zu erreichen, muss der Wert R vor dem Erscheinen der signierten Nachricht fixiert werden. Wenn R fixiert ist und Teil der signierten Nachricht wird, was zus\u00e4tzlich R in der selbst signierten Nachricht garantiert, wird der Wert S eindeutig durch die Benutzer-Nachricht bestimmt und kann daher als Quelle f\u00fcr pseudorandomisierte Zahlen verwendet werden.<\/p>\n<p><\/p>\n<p>In einem solchen Schema ist es egal, wie R fixiert wird, das bleibt in der Verantwortung des Orakels. Wichtig ist, dass S eindeutig vom Benutzer definiert wird, aber sein Wert unbekannt bleibt, bis das Orakel ihn ver\u00f6ffentlicht. Genau wie wir es wollten!<\/p>\n<p><\/p>\n<p>Wenn wir von fixiertem R sprechen, beachten Sie, dass <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jedisct1\/libsodium\/issues\/170\">wiederverwendetes R<\/a><\/noindex> bei der Signierung verschiedener Nachrichten eindeutig den privaten Schl\u00fcssel im EdDSA-Schema offenbart. F\u00fcr den Eigent\u00fcmer des Orakels ist es von gr\u00f6\u00dfter Bedeutung, die M\u00f6glichkeit der Wiederverwendung von R zur Signierung verschiedener Benutzer-Nachrichten auszuschlie\u00dfen. Das hei\u00dft, bei allen Manipulationen oder Verschw\u00f6rungen wird das Orakel immer das Risiko eingehen, seinen privaten Schl\u00fcssel zu verlieren.<\/p>\n<p><\/p>\n<p>Insgesamt sollte der Oracle den Nutzern zwei Funktionen bereitstellen: eine Initialisierung, die den Wert R festlegt, und eine Signatur, die den Wert S zur\u00fcckgibt. Dabei ist das Paar R, S eine standardm\u00e4\u00dfige \u00fcberpr\u00fcfbare Signatur der Nutzer-Nachricht, die einen festgelegten Wert R und beliebige Nutzerdaten enth\u00e4lt.<\/p>\n<p><\/p>\n<p>Es k\u00f6nnte argumentiert werden, dass dieses Schema f\u00fcr die Blockchain nichts anderes ist als ein gew\u00f6hnliches <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/348838\/\">Commit-Reveal-Schema<\/a><\/noindex>. Im Wesentlichen ist das korrekt, aber es gibt einige Nuancen. Erstens arbeitet der Oracle bei allen Operationen immer mit demselben Schl\u00fcssel, was beispielsweise in Vertr\u00e4gen praktisch ist. Zweitens besteht das Risiko, dass der Oracle seinen privaten Schl\u00fcssel bei fehlerhaftem Verhalten verliert, beispielsweise wenn der Oracle die Resultate testet; in diesem Fall reichen zwei Proben aus, um den privaten Schl\u00fcssel zu ermitteln und vollen Zugriff auf das Wallet zu erhalten. Drittens ist die nativ \u00fcberpr\u00fcfbare Signatur in der Blockchain, die als Quelle der Zuf\u00e4lligkeit dient \u2013 das ist eine elegante L\u00f6sung.<\/p>\n<p><\/p>\n<p>Sechs Monate lang reifte die Idee zur Umsetzung in meinem Kopf, bis schlie\u00dflich die Motivation in Form eines <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/waves-lab\/waves-labs-announces-first-grant-recipients-7568f01fec22\">Stipendiums von Waves Labs kam.<\/a><\/noindex>. Mit einem gro\u00dfen Zuschuss kommt gro\u00dfe Verantwortung, was bedeutet, dass das Projekt realisiert werden muss!<\/p>\n<p><\/p>\n<h1 id=\"realizaciya\">Implementierung<\/h1>\n<p><\/p>\n<p>In diesem Projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\">wurde VECRO<\/a><\/noindex> auf der Waves-Blockchain im Anfrage-Antwort-Modus durch Transfertransaktionen zwischen dem Benutzer und dem Oracle implementiert. Dabei ist auf dem Oracle-Konto ein Skript eingerichtet, das die Funktionalit\u00e4t strikt gem\u00e4\u00df der oben beschriebenen Logik \u00fcberwacht. Die Transaktionen des Oracles werden \u00fcberpr\u00fcft, indem die gesamte Interaktionskette mit dem Benutzer wiederhergestellt wird. Bei der \u00dcberpr\u00fcfung des Endwerts spielen alle vier Transaktionen eine Rolle; der Smart Contract reiht sie auf eine strenge Pr\u00fcfungsleine und \u00fcberpr\u00fcft Schritt f\u00fcr Schritt alle Werte, ohne Spielraum f\u00fcr Manipulationen zu lassen.<\/p>\n<p><\/p>\n<p>Noch einmal, damit es klarer ist. Das Oracle arbeitet nicht nur nach dem vorgeschlagenen Schema. Seine Funktionalit\u00e4t wird vollst\u00e4ndig auf Blockchain-Ebene durch den implementierten <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/master\/vecro.ride\">festgelegten Smart Contract<\/a><\/noindex>. Ein Schritt zur Seite und die Transaktion wird einfach nicht genehmigt. Wenn also eine Transaktion in die Blockchain gelangt, braucht der Benutzer nichts mehr zu pr\u00fcfen, denn alles wurde bereits von hunderten Knoten im Netzwerk \u00fcberpr\u00fcft.<\/p>\n<p><\/p>\n<p>Aktuell ist ein VECRO im Hauptnetz von Waves aktiv (Sie k\u00f6nnen Ihren eigenen starten, es ist ganz einfach, schauen Sie einfach <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/master\/config.sample.php\">in das Beispiel der Konfiguration<\/a><\/noindex>). Der aktuelle Code basiert auf PHP (auf <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\">WavesKit<\/a><\/noindex>, \u00fcber das <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446110\/\">ich zuvor gesprochen habe.<\/a><\/noindex>).<\/p>\n<p><\/p>\n<p>Um den Oracle-Service zu nutzen, m\u00fcssen Sie:<\/p>\n<p><\/p>\n<ul>\n<li>R sichern;\n<ul>\n<li>Mindestens 0,005 Waves an den Alias des Orakels init@vecr senden;<\/li>\n<li>Den R-Code im Attachments-Feld der \u00dcbertragung von 1 R-vecr-Token vom Orakel an den Benutzer erhalten;<\/li>\n<\/ul>\n<\/li>\n<li>Die Signatur erhalten;\n<ul>\n<li>Mindestens 0,005 Waves an den Alias des Orakels random@vecr senden und unbedingt den zuvor erhaltenen R-Code sowie zus\u00e4tzliche Benutzerdaten im Attachments-Feld angeben;<\/li>\n<li>Den S-Code im Attachments-Feld der \u00dcbertragung von 1 S-vecr-Token vom Orakel an den Benutzer erhalten;<\/li>\n<\/ul>\n<\/li>\n<li>Den S-Code als Quelle f\u00fcr eine pseudozuf\u00e4llige Zahl verwenden.<\/li>\n<\/ul>\n<p><\/p>\n<p>Details zur aktuellen Implementierung:<\/p>\n<p><\/p>\n<ul>\n<li>Die an das Orakel gesendeten Waves dienen als Geb\u00fchr f\u00fcr die R\u00fcck\u00fcberweisung an den Benutzer, mit einem Maximum von 1 Waves;<\/li>\n<li>Der R-Code ist eine Verkettung des Bytes des Zeichens 'R' und des 32-Byte R-Wertes in Base58-Codierung;<\/li>\n<li>Der R-Code im Anhang muss zuerst stehen, die Benutzerdaten folgen nach dem R-Code.<\/li>\n<li>S-Code ist die Verkettung eines Bytes des Zeichens 'S' und eines 32-Byte-Wertes S in der Base58-Codierung;<\/li>\n<li>S ist das Ergebnis einer modulo-Operation, daher kann S nicht als vollst\u00e4ndige 256-Bit Pseudorandomzahl verwendet werden (diese Zahl kann maximal als 252-Bit Pseudorandomzahl betrachtet werden);<\/li>\n<li>Die einfachste M\u00f6glichkeit besteht darin, den Hash von S-Code als Pseudorandomzahl zu verwenden.<\/li>\n<\/ul>\n<p><\/p>\n<p>Beispiel zur Erzeugung von S-Code:<\/p>\n<p><\/p>\n<ul>\n<li>Initialisierung: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6\">https:\/\/wavesexplorer.com\/tx\/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6<\/a><\/noindex><\/li>\n<li>Erhalt von R-Code: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd\">https:\/\/wavesexplorer.com\/tx\/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd<\/a><\/noindex><\/li>\n<li>Abfrage des Signaturresultats von R-Code und Benutzerdaten 'random': <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz\">https:\/\/wavesexplorer.com\/tx\/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz<\/a><\/noindex><\/li>\n<li>Erhalt von S-Code: <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>Aus technischer Sicht ist das Oracle vollst\u00e4ndig betriebsbereit, Sie k\u00f6nnen es bedenkenlos verwenden. Aus Sicht der allgemeinen Benutzer fehlt jedoch eine benutzerfreundliche grafische Benutzeroberfl\u00e4che, auf die wir warten m\u00fcssen.<\/p>\n<p><\/p>\n<p>Ich freue mich, Fragen zu beantworten und Anregungen entgegenzunehmen, danke.<\/p>\n<p>Quelle: <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 4.9.10 - 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 \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,\" \/>\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\/de\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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 \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,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/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\udd47Zuf\u00e4lliges Oracle basierend auf digitaler Signatur in der Blockchain | ProHoster","description":"Von der Idee zur Umsetzung: Wir modifizieren das bestehende Schema der digitalen Signatur auf einer elliptischen Kurve, um es deterministisch zu gestalten, und bieten darauf basierend Funktionen zur Generierung von \u00fcberpr\u00fcfbaren pseudo-zuf\u00e4lligen Zahlen im Blockchain-Kontext an. Die Idee: Im Herbst 2018 wurden die ersten Smart Contracts auf der Waves-Blockchain aktiviert, und sofort entstand die Frage nach der M\u00f6glichkeit, vertrauensw\u00fcrdige pseudo-zuf\u00e4llige Zahlen zu erhalten. Auf der Suche nach einer L\u00f6sung f\u00fcr dieses Problem,","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/cluchajnyj-orakul-na-osnove-tsifrovoj-podpisi-v-blokchejne","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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 \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,","og:url":"https:\/\/prohoster.info\/de\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/32343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=32343"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/32343\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/24158"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=32343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=32343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=32343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}