Anleitung 5

Fairness selbst prüfen

Alles, was die Website über den Smart Contract sagt, lässt sich in den offenen Netzwerkdaten abgleichen. Unten stehen Prüfungen von der einfachsten (zwei Minuten) bis zur tiefsten (den Code bauen). Für die meisten ist kein Programmieren nötig.

So funktioniert die Prüfung

Eine Website kann gefälscht sein oder sich irren, ein Eintrag in der Blockchain nicht. Prüfen Sie deshalb nicht auf der Projekt-Website, sondern in einem Netzwerk-Explorer: einer unabhängigen Website, die den Inhalt der Blockchain anzeigt (Solscan, Solana Explorer, SolanaFM und ähnliche). Öffnen Sie einen davon selbst, nicht über Links aus fremden Nachrichten.

Für die Prüfungen brauchen Sie zwei Adressen: das Programm (den Smart Contract) und den Token. Sie stehen auf der Seite „Sicherheit“. Gleichen Sie sie zusätzlich an mindestens zwei unabhängigen Stellen ab (Repository, offizielle Kanäle): Weichen die Adressen voneinander ab, versucht jemand, Sie zu täuschen.

Schnelle Prüfungen (2–10 Minuten)

Was zu prüfen istWo Sie nachsehenWie es sein mussWenn es anders ist
1. Können neue Token gedruckt werden?Die Token-Seite im Explorer, Feld Mint AuthorityLeer (widerrufen)Wer dort mit seiner Adresse steht, kann beliebig viele Token ausgeben und Ihre entwerten.
2. Können Token eingefroren werden?Dieselbe Seite, Feld Freeze AuthorityLeerDer Inhaber kann jedes Wallet einfrieren, auch Ihres.
3. Wer kann den Code ändern?Die Programm-Seite, Feld Upgrade AuthorityLeer (Code eingefroren) oder die Adresse eines Multisigs mit Zeitverzögerung für UpdatesEine einzelne gewöhnliche Adresse bedeutet, dass der Inhaber jederzeit andere Regeln laden kann.
4. Gesamtausgabe des TokensToken-Seite: SupplyNicht mehr als 100.000.000.000, und sie sinkt nur durch die VerbrennungMehr bedeutet, dass die Ausgabe erhöht wurde.
5. Stimmt der Token überein?Die Token-Adresse in Ihrem Wallet gegen die Seite „Sicherheit“Die Adressen sind Zeichen für Zeichen identischDas ist nicht der echte FAIRDRUM. Nicht kaufen und nicht einzahlen.
6. Reichen die Token im Vault?Die Vault-Adresse von der Seite „Sicherheit“, Token-Guthaben; die Summen der Töpfe auf der Seite „Ökonomie“Das Guthaben des Vaults ist nicht kleiner als die Summe der Töpfe (plus die Spielguthaben der Spieler)Der Smart Contract muss immer durch Token gedeckt sein. Eine Abweichung ist ein ernstes Signal.

Die obere Tabelle auf der Seite „Sicherheit“ liest dieselben Felder direkt aus dem Netzwerk und markiert ✔ oder ⚠; verlassen Sie sich aber nicht allein darauf: Gleichen Sie einmal selbst ab.

Den eigenen Spin prüfen

Jeder Spin hinterlässt einen Eintrag im Netzwerk, und das Ergebnis auf dem Bildschirm lässt sich damit abgleichen.

  1. Finden Sie die Transaktion

    Nach einem Spin erscheint unter der Schaltfläche der Link „Transaktion“. Er öffnet den Eintrag im Explorer. Oder öffnen Sie den Verlauf Ihres Wallets im Explorer und wählen Sie die Transaktion mit dem FAIRDRUM-Programm.

    So muss es sein: Status Success und eine Liste von Instruktionen.

  2. Finden Sie die zwei Aufrufpaare

    In der ersten Transaktion gibt es einen Switchboard-Aufruf (Zufallsanfrage, commit) und den Aufruf des FAIRDRUM-Programms spin_commit (Einsatz). In der zweiten: einen Switchboard-Aufruf (Offenlegung, reveal) und spin_settle (Berechnung). Der Name sieht in den Explorern etwas unterschiedlich aus (SpinCommit, spinCommit).

  3. Vergleichen Sie die Reihenfolge

    Der Einsatz wurde früher festgehalten, als die Zahl offengelegt wurde: Die erste Transaktion hat eine kleinere Blocknummer (Slot) als die zweite. Das bedeutet, dass weder Sie noch das Projekt das Ergebnis im Moment des Einsatzes kannten.

  4. Sehen Sie das Protokoll (Logs) der zweiten Transaktion an

    Dort steht das Ereignis SpinSettled mit der Zahl der Spins, den Preisen und den Treffern bei Mini-Jackpot, Jackpot und Super-Jackpot. Es sind dieselben Zahlen, die das Rad gezeigt hat.

  5. Prüfen Sie den Eigentümer des Zufalls

    Das in der Transaktion angegebene Zufallskonto muss dem Switchboard-Programm gehören. Der Smart Contract weist jedes andere selbst ab, aber eine Kontrolle lohnt sich: Öffnen Sie das Konto und sehen Sie das Feld Owner an.

Tiefe Prüfungen

Den Code bauen und den Hash vergleichen

Nehmen Sie das Projekt-Repository auf GitHub (Link erscheint nach der Veröffentlichung), bauen Sie das Programm im reproduzierbaren Modus (anchor build --verifiable) und vergleichen Sie den Hash mit dem im Netzwerk (solana-verify). Eine Übereinstimmung bedeutet, dass im Netzwerk genau dieser offene Code liegt.

Die Konstanten lesen

Alle Zahlen des Spiels stehen in einer einzigen Datei consts.rs: Anteile, Chancen, Preisleiter, Gebühren, Fristen. Die Website zeichnet ihre Tabellen genau daraus, und zwischen Website und Smart Contract darf es keine Abweichungen geben.

Die Tests laufen lassen

Im Repository gibt es Tests für Regeln und Berechnungen (cargo test) und für den Client (npm test). Sie prüfen zum Beispiel, dass die Summe aller Pools und Guthaben die Token im Vault nicht übersteigt.

Nachvollziehen, wie das Ergebnis gewählt wird

Aus den 32 Byte des offengelegten Zufalls gewinnt der Smart Contract Zahlen über SHA-256. Für das Hauptrad sind das Blöcke SHA-256("FDRM-M" + Zufall + Blocknummer), aus denen je 4 Byte (little-endian) eine Zahl pro ausgeführtem Spin liefern. Für das Goldrad: SHA-256("FDRM-G" + Zufall + Nummer des ausgeführten Spins). Die Zahl wird mit Schwellen in Anteilen von 232 verglichen; die Schwellen selbst hängen vom Wochenvolumen und der Größe der Töpfe im Moment der Berechnung ab, ein alter Spin lässt sich deshalb nur zusammen mit dem Programmzustand jenes Slots vollständig nachrechnen. Die Formeln stehen in math.rs und engine.rs.

Das Protokoll eines Zeitraums lesen

Jeder kann alle SpinSettled-Ereignisse eines Zeitraums aus dem Netzwerk exportieren und die Häufigkeit von Gold und die Größe der Töpfe selbst nachzählen. Vergleichen Sie mit den „Chancen“. Bei einer kleinen Zahl von Spins ist die Streuung enorm: Um eine Chance von 1 % zu sehen, braucht es Tausende Spins.

Was sich nicht prüfen lässt

  • Die Ehrlichkeit des Orakels. Der Zufall kommt vom Switchboard-Netzwerk. Der Smart Contract prüft, dass die Zahl aus dem richtigen Konto stammt und nach dem Einsatz offengelegt wurde, kann aber nicht prüfen, dass sich die Orakel-Knoten nicht abgesprochen haben. Das ist eine externe Abhängigkeit.
  • Die Fehlerfreiheit des Codes. Tests und offener Code erhöhen das Vertrauen, können aber ein unabhängiges Audit nicht ersetzen. Solange kein Link zu einem Audit angegeben ist, gibt es keines.
  • Die Zukunft. Solange die Upgrade-Berechtigung nicht widerrufen ist, können sich die Regeln durch eine neue Version ändern. Beobachten Sie die Update-Transaktionen des Programms.
  • Was der Administrator außerhalb des Smart Contracts tut. Verkäufe seiner Token, Marketing und Entscheidungen über Listings kontrolliert der Smart Contract nicht. Zahlungen aus dem Marketingfonds sind öffentlich, aber „wofür“ prüft der Smart Contract nicht.

Warnsignale

Die Adresse in einer Nachricht stimmt nicht mit der Website übereinEin untergeschobener Token oder ein untergeschobenes Programm.
Mint oder Freeze Authority sind gesetztAusgabe oder Einfrieren liegt weiter bei jemandem.
Die Upgrade-Berechtigung liegt bei einer einzelnen Adresse ohne ZeitverzögerungDie Regeln können jederzeit geändert werden.
„Garantierter Gewinn“, „System“, „Partnerprogramm“Im Spiel gibt es weder Referrals noch Garantien, der durchschnittliche Rückfluss liegt bei etwa 73–74 %.
Jemand verlangt die Wiederherstellungsphrase oder ein „Wallet-Bestätigen“Das ist Diebstahl. Schließen Sie die Seite.
Die Transaktion verlangt mehr, als Sie erwartet habenLesen Sie das Wallet-Fenster. Im Zweifel: ablehnen.