WAX Mainnet: Erhalte die neuesten Updates zum WAX Token Swap und zur WAX Blockchain Mainnet Veröffentlichtung

Wie der WAX RNG Native Blockchain Service allgemeine Probleme für dApp-Entwickler löst

Mai 24, 2019
Facebook Twitter Email Linked In

Mit dem Start der WAX Blockchain am 30. Juni 2019 erhalten dApp-Entwickler Zugriff auf eine Vielzahl neuer Funktionen. Heute möchten wir euch Details über eine unserer kommenden WAX Blockchain Funktionen, dem WAX RNG (Zufallszahlengenerator), mitteilen.

Was ist ein RNG?

Ein Zufallszahlengenerator ist ein Algorithmus, der auf unvorhersehbare Weise Werte generiert. Entwickler verwenden RNGs, wenn sie zufällige Ergebnisse in ihre dApps einfügen müssen, z. B. die Erstellung eines digitalen sammelbaren oder nicht fungiblen Tokens (NFT). Die derzeitige Methode zur Integration von Zufallswerten in smart contracts weist jedoch zahlreiche Fehler auf. Diese Mängel erzeugen potenzielle Ursachen für unfaire oder nicht zufällige Ergebnisse und untergraben das Vertrauen der Kunden in dApps.

Heutige Probleme mit RNGs:

Entwickler haben drei Hauptprobleme, wenn sie versuchen, zufällige Werte in ihren dApp Services zu generieren:

  1. Es gibt keine blockchain-nativen RNG Service. Entwickler müssen ihre eigene, replizierende Arbeit erstellen, die besser auf andere Bereiche ihrer dApp ausgerichtet ist, wie z. B. Designs und Funktionen, die das Kundenerlebnis verbessern.
  2. Da die meisten dApp-Entwickler keine Experten für RNG Prozesse sind, weisen die meisten dApp-spezifischen RNG Services erhebliche Schwächen auf.
  3. dApp Nutzer haben Schwierigkeiten festzustellen, ob ein dApp smart contract tatsächlich ein zufälliges Ergebnis generiert. Dies verringert das Vertrauen der Nutzer.

Wie der WAX RNG Native Blockchain Service diese Probleme löst:

Der WAX RNG Native Blockchain Service:

  1. ist Open Source und ein Blockchain-nativer Service, den Entwickler problemlos in ihre dApps integrieren können.
  2. basiert auf dem Signidice-Algorithmus und der RSA-Überprüfung. Signidice wurde aufgrund seiner hervorragenden Zufälligkeits- und Nicht-Gameablity-Eigenschaften ausgewählt. Außerdem wurde ein sauberer Workflow für dApp-Entwickler erzielt und es wurde nachgewiesen, dass er fair ist. Die RSA-Überprüfung stellt die Eindeutigkeit der Signatur sicher und verhindert, dass die Ergebnisse manipuliert werden können (wenn ein anderer Signaturalgorithmus verwendet würde, würden viele gültige Signaturen für denselben signing_value zugelassen, was zu Manipulationen führen könnte).
  3. kann leicht als nachweislich gerecht festgestellt werden. Der sich selbst verifizierende WAX RNG Native Blockchain Service bestätigt, dass die vom WAX RNG Orakel zurückgesendete RSA-Signatur gültig und authentisch ist, bevor sie von der dApp verwendet wird. Wenn dApp Nutzer auf einfache Weise Fairness feststellen können, haben sie ein höheres Maß an Vertrauen in die Verwendung der dApp.

Wie einfach ist es zu nutzen? Siehe dir die einfache API unten an:

So funktioniert der WAX RNG Native Blockchain Service:

Wenn sich ein Nutzer in diesem Szenario dazu entscheidet, eine Videospiel dApp auf der WAX Blockchain zu spielen, die ein zufälliges Ergebnis enthält, fordert der dApp Service den Nutzer auf, einen Startwert anzugeben. Der Startwert des Nutzers wird verwendet, um einen Zufallswert zu generieren, der im Spiel des Nutzers wie folgt verwendet wird:

Klicken zum vergrößern

Hinweis: Der WAX RNG Native Blockchain Service ist nachweislich fair, sodass Nutzer den generierten Zufallswert überprüfen können (Siehe „Vereinfachter Entwicklerfluss für WAX RNG-Smart-Verträge“ für Einzelheitenweiter unten).

Unten siehst du ein Sequenzdiagramm des oben beschriebenen Szenarios. Es zeigt die Interaktionen zwischen dem Nutzer, der dApp, dem WAX RNG Native Blockchain Service und dem WAX RNG Orakel:

Beispielimplementierung eines smart contract welcher WAX RNG abruft:

#include <eosio eosio.hpp="">
 
#include <string>
#include <tuple>
 
using namespace eosio;
 
CONTRACT sample: public contract {
public:
 WAX_CONTRACT_NAME(name receiver, name code, datastream<const char*=""> ds)
 : contract(receiver, code, ds) {
 }
 
 ACTION printrand(uint64_t assoc_id, uint64_t signing_value) {
 action(
 { get_self(), "active"_n },
 "orng.wax"_n,
 "requestrand"_n,
 std::tuple{ assoc_id, signing_value, get_self() })
 .send();
 }
 
 /// Called automatically by 'orng.wax' smart contract when the RNG Oracle
 /// has generated the random value. wax.orng, before calling this action,
 /// verifies that the generated random value was signed with the
 /// provided "signing_value"
 ACTION receiverand(uint64_t assoc_id, const std::string& random_value) {
 print_f("Assoc ID = %, Random value = %\n", assoc_id, random_value);
 }
 
}; // CONTRACT sample
 
EOSIO_DISPATCH(WAX_CONTRACT_NAME, (printrand)(receiverand))
</const></tuple></string></eosio>

Der WAX RNG Native Blockchain Service vereinfacht den Entwicklungsablauf:

Das folgende Diagramm zeigt den Unterschied in der Anzahl der erforderlichen Schritte bei Verwendung eines dApp-spezifischen RNG (links) gegenüber dem WAX RNG (rechts). Der WAX RNG Native Blockchain Service vereinfacht den Entwicklungsablauf, indem er die Anzahl der Transaktionen reduziert und das Hashen von Startwerten überflüssig macht. Das Ergebnis ist eine Transaktionszeit von nur 1-2 Sekunden.


Wie in der obigen Abbildung dargestellt, kann ein dApp Nutzer überprüfen, ob sein Startwert, der an den WAX RNG Native Blockchain Service gesendet wird, derselbe Startwert ist, der vom WAX RNG Orakel zum Generieren eines Zufallswerts verwendet wird. Dies liegt daran, dass jeder Wert, den der WAX RNG Native Blockchain Service erhält, und jeder Wert, den das WAX RNG Orakel generiert, in der WAX Blockchain aufgezeichnet wird, was es für dApp Nutzer und -Entwickler vollständig transparent macht. Die WAX Blockchain speichert permanent eine überprüfbare Multi-Index-Tabelle, die Folgendes enthält:

  • Jeden WAX RNG Signatur Wert
  • Jedes WAX RNG Orakel Signatur Ergebnis

Wie bereits erwähnt, lässt sich die Richtigkeit dieser Ergebnisse überprüfen, indem eine RSA-Signaturüberprüfung anhand der Signaturwerte und Signaturergebnisse durchgeführt wird.

Zwei erfolgreiche dApps verwenden bereits den WAX RNG smart vertrag:

Zwei erfolgreiche dApps, VGO und vIRL, verwenden seit vielen Monaten den WAX RNG Native Blockchain Service auf der Beta WAX Blockchain. Beide dApps verwenden den WAX RNG Native Blockchain Service, um täglich Tausende von zufällig generierten NFTs zu erstellen. Hier erfährst du mehr über VGO und vIRL:

Fazit:

Der Open Source WAX RNG smart vertrag bietet WAX Blockchain basierten dApps eine einfache Möglichkeit, zufällige Werte zu erfassen. Angesichts der Vielzahl von dApps mit RNG spart der WAX RNG Native Blockchain Service Entwicklern viel Zeit und gibt WAX Blockchain dApp Nutzern gleichzeitig mehr Vertrauen in die Ergebnisse zufälliger Ergebnisse. Wir laden dApp-Entwickler ein, mit unserem einfach zu integrierenden und nachweislich fairen WAX RNG smart vertrag zu experimentieren, wenn er zum Start des mainnets am 30. Juni 2019 als Open Source Version zur Verfügung steht. Melde dich für unseren Newsletter auf wax.io an, um über zukünftige Updates und Releases informiert zu werden.

---

Lass uns wissen was du über diese Neuigkeiten denkst und trete der WAX Community bei:

Twitter

Telegram

Reddit

Disclaimer: WAX behält sich das Recht vor, die Bedingungen für den Start des WAX Mainnets und andere Informationen im Bezug auf das WAX Mainnet, die in diesem Beitrag beschrieben werden, jederzeit und nach eigenem Ermessen zu ändern, zu löschen und / oder zu ersetzen. Die neuesten Informationen zum Start des WAX Mainnet finden Sie auf der WAX-Website unter https://wax.io/.


Facebook Twitter Email Linked In

Verwandte Artikel

Blog Image

All 21 WAX Guilds recommended by the Inspector General are now producing blocks on the WAX Blockchain

The WAX Blockchain reached a major milestone today by fully decentralizing block production. The top 21 guilds as determined by the Independent Office of the Inspector General, per its WAX Guild Ratings Report are now producing blocks on the WAX Blockchain

Weiterlesen
Blog Image

Warum WAX REX nicht implementiert hat

We didn’t implement REX because we believed that doing so would disincentivize people from staking their WAX Tokens since they could simply rent resources cheaper instead.

Weiterlesen
Blog Image

WAX ON: Sind große Videospielunternehmen bereit für die Blockchain?

Abonniere den YouTube-Kanal von WAX, um jede Woche weitere Folgen von WAX ON mit William Quigley zu sehen.

Weiterlesen

Thank you for subscribing to WAX updates!

Melde dich an, um Neuigkeiten des WAX Teams zu erhalten

I want the latest in: