{"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 basierend auf digitaler Signatur in der Blockchain","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Von der Idee zur Umsetzung: Modifizieren des bestehenden Schemas der digitalen Signatur auf einer elliptischen Kurve, um es deterministisch zu gestalten, und Bereitstellung von Funktionen zum Erhalt \u00fcberpr\u00fcfbarer pseudozuf\u00e4lliger Zahlen auf dieser Grundlage.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Zuf\u00e4lliger Oracle basierend auf digitaler Signatur 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\">Idee<\/h1>\n<p><\/p>\n<p>Im Herbst 2018 wurden in der Blockchain Waves <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.wavesplatform.com\/smart-accounts-finally-activated-on-waves-mainnet-8bb7c7b67beb\">die ersten Smart Contracts aktiviert<\/a><\/noindex>, sofort stellte sich die Frage nach der M\u00f6glichkeit, <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\">pseudozuf\u00e4llige Zahlen<\/a><\/noindex>, denen man vertrauen kann.<\/p>\n<p><\/p>\n<p>Nach intensiven \u00dcberlegungen kam ich zu dem Schluss: Jede Blockchain ist eine Zelle, einen vertrauensw\u00fcrdigen Entropiequelle in einem geschlossenen System zu erhalten, ist unm\u00f6glich.<\/p>\n<p><\/p>\n<p>Aber eine Idee gefiel mir dennoch: 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\">zuf\u00e4lliges Oracle<\/a><\/noindex> die Signatur der Benutzerdaten mit einem deterministischen Algorithmus erstellt, kann der Benutzer immer diese Signatur mit dem \u00f6ffentlichen Schl\u00fcssel pr\u00fcfen und wird sicher sein, dass der erhaltene Wert einzigartig ist. Das Oracle ist bei allem Wunsch nicht in der Lage, etwas zu \u00e4ndern, der Algorithmus liefert ein eindeutiges Ergebnis. Im Wesentlichen fixiert der Benutzer das Ergebnis, wei\u00df es jedoch nicht, bis das Oracle es ver\u00f6ffentlicht. So kann man dem Oracle grunds\u00e4tzlich nicht vertrauen, aber das Ergebnis seiner Arbeit pr\u00fcfen. In diesem Fall kann, wenn die Pr\u00fcfung erfolgreich ist, eine solche Signatur als Entropiequelle f\u00fcr eine pseudozuf\u00e4llige Zahl gelten.<\/p>\n<p><\/p>\n<p>In der Blockchain-Plattform Waves wird das Signaturschema <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/EdDSA\">EdDSA<\/a><\/noindex> Variante <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 der Basis der zu signierenden Nachricht, des geheimen Schl\u00fcssels und der gleichen Zufallszahl wie R berechnet wird. Es ergibt sich, dass es keine eindeutige Abh\u00e4ngigkeit gibt; f\u00fcr dasselbe Benutzermeldung existieren viele g\u00fcltige Signaturen.<\/p>\n<p><\/p>\n<p>Es ist offensichtlich, dass eine solche Signatur im reinen Zustand nicht als Quelle f\u00fcr pseudozuf\u00e4llige Zahlen verwendet werden kann, da sie nicht deterministisch ist und daher leicht Manipulationen durch das Oracle ausgesetzt sein 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\">pr\u00fcfbare Zufallsfunktion (VRF)<\/a><\/noindex>, aber nach dem Studium des Materials musste ich auf diese Variante verzichten. Obwohl VRF eine deterministische Signatur und deren Beweis anbietet, gibt es im Algorithmus einen seltsamen Punkt, der ein schwarzes Loch f\u00fcr Manipulationen durch den Orakel er\u00f6ffnet. Insbesondere wird 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>) ein geheimer Schl\u00fcssel verwendet, der dem Benutzer unbekannt bleibt. Das bedeutet, der Benutzer kann die Korrektheit der Berechnung von k nicht \u00fcberpr\u00fcfen, sodass das Orakel jeden f\u00fcr es notwendigen Wert k verwenden kann und gleichzeitig eine Datenbank von Zuordnungen zwischen k und den zu signierenden Daten f\u00fchrt, um immer in der Lage zu sein, das VRF-konforme Ergebnis erneut zu berechnen. Wenn Sie eine Verlosung auf der Grundlage von VRF ohne Offenlegung des geheimen Schl\u00fcssels sehen, k\u00f6nnen Sie sich dar\u00fcber auslassen: auf die Notwendigkeit hinweisen, entweder den Schl\u00fcssel preiszugeben oder ihn aus der Berechnung von k auszuschlie\u00dfen. Dann w\u00fcrde der geheime Schl\u00fcssel automatisch bei der ersten Unterschrift selbst offengelegt. Insgesamt, wie bereits erw\u00e4hnt, eine seltsame Methode f\u00fcr ein zuf\u00e4lliges Orakel.<\/p>\n<p><\/p>\n<p>Nachdem ich etwas nachgedacht und Unterst\u00fctzung von lokalen Analysten erhalten hatte, entstand das Konzept der Funktionsweise von VECRO.<\/p>\n<p><\/p>\n<p>VECRO ist ein Akronym f\u00fcr Verifiable Elliptic Curve Random Oracle, was auf Deutsch \u00fcberpr\u00fcfbarer Zufallsorakel auf elliptischen Kurven bedeutet.<\/p>\n<p><\/p>\n<p>Es stellte sich als ziemlich einfach heraus. Um Determiniertheit zu erreichen, muss der Wert R vor dem Erscheinen der zu signierenden Nachricht festgelegt werden. Wenn R festgelegt ist und Teil der zu signierenden Nachricht wird, was zus\u00e4tzlich die Festlegung von R in der zu signierenden Nachricht garantiert, wird der Wert S eindeutig durch die Benutzer-Nachricht bestimmt und kann somit als Quelle f\u00fcr pseudorandomisierte Zahlen verwendet werden.<\/p>\n<p><\/p>\n<p>In einem solchen Schema ist es unwichtig, wie R festgelegt wird; das bleibt in der Verantwortung des Orakels. Wichtig ist, dass S eindeutig durch den Benutzer bestimmt wird, aber dessen Wert unbekannt bleibt, bis das Orakel ihn ver\u00f6ffentlicht. Alles genau so, wie wir es wollten!<\/p>\n<p><\/p>\n<p>Wenn wir \u00fcber das feste R sprechen, beachten Sie, dass <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jedisct1\/libsodium\/issues\/170\">ein wiederverwendetes R<\/a><\/noindex> Die Unterzeichnung verschiedener Nachrichten entschl\u00fcsselt eindeutig den privaten Schl\u00fcssel im EdDSA-Schema. F\u00fcr den Besitzer des Orakels ist es \u00e4u\u00dferst wichtig, die M\u00f6glichkeit der Wiederverwendung von R f\u00fcr die Signierung verschiedener Nachrichten des Benutzers auszuschlie\u00dfen. Das hei\u00dft, bei jeglichen Manipulationen oder Absprachen riskierte das Orakel immer den Verlust seines privaten Schl\u00fcssels.<\/p>\n<p><\/p>\n<p>Insgesamt muss das Orakel den Benutzern zwei Funktionen bereitstellen: eine Initialisierung, die den Wert von R festh\u00e4lt, und eine Signatur, die den Wert von S zur\u00fcckgibt. Dabei ist das Paar R, S eine gew\u00f6hnliche \u00fcberpr\u00fcfbare Signatur der Benutzer-Nachricht, die den festen Wert R und willk\u00fcrliche Benutzerdaten enth\u00e4lt.<\/p>\n<p><\/p>\n<p>Man k\u00f6nnte einwenden, 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-Entschl\u00fcsselungsschema<\/a><\/noindex>. Im Grunde genommen, ja, das ist es. Aber es gibt einige Nuancen. Erstens arbeitet das Orakel immer mit demselben Schl\u00fcssel in allen Operationen, beispielsweise ist dies praktisch f\u00fcr Vertr\u00e4ge. Zweitens besteht das Risiko, dass das Orakel den privaten Schl\u00fcssel bei unsachgem\u00e4\u00dfem Verhalten verliert, z. B. wenn das Orakel erlaubt, Ergebnisse zu \u00fcberpr\u00fcfen; dann reichen zwei \u00dcberpr\u00fcfungen aus, um den privaten Schl\u00fcssel zu erfahren und vollen Zugriff auf das Wallet zu erhalten. Drittens ist die nativ \u00fcberpr\u00fcfbare Signatur in der Blockchain, die die Quelle der Zuf\u00e4lligkeit ist \u2014 das ist sch\u00f6n.<\/p>\n<p><\/p>\n<p>Sechs Monate lang reifte die Idee der Umsetzung im Kopf, bis schlie\u00dflich die Motivation in Form von <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/waves-lab\/waves-labs-announces-first-grant-recipients-7568f01fec22\">einem Zuschuss von Waves Labs<\/a><\/noindex>kam. Mit einem gro\u00dfen Zuschuss kommt gro\u00dfe Verantwortung, also wird es das Projekt geben!<\/p>\n<p><\/p>\n<h1 id=\"realizaciya\">Implementierung<\/h1>\n<p><\/p>\n<p>So wurde in diesem Projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\">VECRO implementiert<\/a><\/noindex> auf der Blockchain von Waves im Anfrage-Antwort-Modus mithilfe von \u00dcberweisungs-Transaktionen zwischen Benutzer und Orakel. Dabei wurde im Konto des Orakels ein Skript eingerichtet, das die Arbeit streng gem\u00e4\u00df der oben beschriebenen Logik \u00fcberwacht. Die Transaktionen des Orakels durchlaufen eine \u00dcberpr\u00fcfung, bei der die gesamte Interaktionskette mit dem Benutzer wiederhergestellt wird. An der \u00dcberpr\u00fcfung des Endwertes sind alle vier Transaktionen beteiligt, und der Smart Contract f\u00fcgt sie an einen strengen \u00dcberpr\u00fcfungsfaden an, der Schritt f\u00fcr Schritt alle Werte pr\u00fcft und keinen Platz f\u00fcr irgendwelche Manipulationen l\u00e4sst.<\/p>\n<p><\/p>\n<p>Noch einmal, damit es klar ist. Das Orakel arbeitet nicht nur nach dem vorgeschlagenen Schema. Seine Arbeit wird vollst\u00e4ndig auf der Ebene der Blockchain kontrolliert. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/master\/vecro.ride\">mit einem Smart Contract fest verbunden<\/a><\/noindex>. Ein Schritt nach links, und die Transaktion wird einfach nicht verarbeitet. Wenn die Transaktion also in der Blockchain gelandet ist, muss der Benutzer nicht einmal etwas \u00fcberpr\u00fcfen, denn das haben bereits Hunderte von Knoten im Netzwerk erledigt.<\/p>\n<p><\/p>\n<p>Aktuell ist im Waves-Hauptnetz ein VECRO gestartet (Sie k\u00f6nnen Ihr eigenes starten, es ist nicht schwer, schauen Sie einfach in das Beispiel f\u00fcr die Konfiguration <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/master\/config.sample.php\">). Der aktuelle Code l\u00e4uft auf PHP (auf<\/a><\/noindex>WavesKit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\">, \u00fcber das<\/a><\/noindex>ich fr\u00fcher berichtet habe <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446110\/\">Um den Oracle-Service zu nutzen, muss man:<\/a><\/noindex>).<\/p>\n<p><\/p>\n<p>R festlegen;<\/p>\n<p><\/p>\n<ul>\n<li>Mindestens 0,005 Waves an den Alias des Orakels init@vecr senden;\n<ul>\n<li>Den R-Code im Feld der Anh\u00e4nge bei der \u00dcbertragung von 1 R-vecr Token vom Orakel an den Benutzer erhalten;<\/li>\n<li>Die Signatur erhalten;<\/li>\n<\/ul>\n<\/li>\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 Feld der Anh\u00e4nge angeben;\n<ul>\n<li>Den S-Code im Feld der Anh\u00e4nge bei der \u00dcbertragung von 1 S-vecr Token vom Orakel an den Benutzer erhalten;<\/li>\n<li>Den S-Code als Quelle f\u00fcr eine pseudo-zuf\u00e4llige Zahl verwenden.<\/li>\n<\/ul>\n<\/li>\n<li>Details zur aktuellen Implementierung:<\/li>\n<\/ul>\n<p><\/p>\n<p>Die an das Orakel gesendeten Waves werden als Geb\u00fchr f\u00fcr die R\u00fcck\u00fcberweisung an den Benutzer verwendet, bis zu maximal 1 Waves;<\/p>\n<p><\/p>\n<ul>\n<li>R-Code ist die Verkettung des Bytes des Zeichens 'R' und des 32-Byte Wertes R in der base58-Kodierung;<\/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 des Bytes des Zeichens 'S' und des 32-Byte Wertes S in der base58-Kodierung;<\/li>\n<li>S ist das Ergebnis der Modulo-Division, daher kann S nicht als vollwertige 256-Bit pseudo-zuf\u00e4llige Zahl verwendet werden (diese Zahl kann als maximal 252-Bit pseudo-zuf\u00e4llige Zahl angesehen werden);<\/li>\n<li>Die einfachste Variante ist, den Hash des S-Codes als pseudo-zuf\u00e4llige Zahl zu verwenden.<\/li>\n<li>Beispiel f\u00fcr den Erhalt des S-Codes:<\/li>\n<\/ul>\n<p><\/p>\n<p>Initialisierung:<\/p>\n<p><\/p>\n<ul>\n<li>Erhalt des R-Codes: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6\">https:\/\/wavesexplorer.com\/tx\/8gc8jwM7JrPNehoDs7NVyos7BsufYktvkwVW1B6FAY6<\/a><\/noindex><\/li>\n<li>Anfrage nach dem Signaturresultat des R-Codes und der Benutzerdaten \u201erandom\u201c: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd\">https:\/\/wavesexplorer.com\/tx\/9eB25SbzEwvHEbm8pcKj7MGDrYv1u3Fxpj696FkJ96hd<\/a><\/noindex><\/li>\n<li>Erhalt des S-Codes: <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesexplorer.com\/tx\/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz\">https:\/\/wavesexplorer.com\/tx\/6faoFJobEsugDFYmYmfsbtQYABmckNuE2kevaLh7ifzz<\/a><\/noindex><\/li>\n<li>Technisch gesehen ist das Orakel vollst\u00e4ndig betriebsbereit, Sie k\u00f6nnen es bedenkenlos verwenden. Aus der Sicht eines normalen Benutzers fehlt jedoch eine benutzerfreundliche grafische Schnittstelle, auf die m\u00fcssen wir warten. <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>Ich freue mich auf Fragen und Anregungen, danke.<\/p>\n<p><\/p>\n<p>Release von OpenBSD 6.5<\/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 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\/de\/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=\"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.\" \/>\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\u00e4lliger Oracle basierend auf digitaler Signatur in der Blockchain | ProHoster","description":"Von der Idee zur Umsetzung: Wir modifizieren das bestehende Schema der digitalen Signatur auf elliptischen Kurven, um es deterministisch zu machen, und bieten auf dieser Basis Funktionen zur Erzeugung von \u00fcberpr\u00fcfbaren Daten im Blockchain-Rahmen an.","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}