Przewodnik 5

Sprawdź uczciwość samodzielnie

Wszystko, co strona mówi o kontrakcie, można zweryfikować w otwartych danych sieci. Niżej weryfikacje od najprostszej (dwie minuty) do najgłębszej (kompilacja kodu). Większości programowanie nie jest potrzebne.

Jak działa weryfikacja

Stronę można podrobić albo może się mylić, a zapisu w blockchainie nie. Dlatego sprawdzaj nie na stronie projektu, lecz w eksploratorze sieci: niezależnej stronie pokazującej zawartość blockchaina (Solscan, Solana Explorer, SolanaFM i podobne). Otwórz dowolny z nich samodzielnie, nie z linków z cudzych wiadomości.

Do weryfikacji potrzebne są dwa adresy: program (kontrakt) i token. Pokazuje je strona „Bezpieczeństwo”. Porównaj je jeszcze w co najmniej dwóch niezależnych miejscach (repozytorium, oficjalne kanały): jeśli adresy się różnią, ktoś próbuje Cię oszukać.

Szybkie weryfikacje (2–10 minut)

Co sprawdzićGdzie patrzećJak ma byćJeśli inaczej
1. Czy nie da się dodrukować tokenówStrona tokena w eksploratorze, pole Mint AuthorityPuste (odwołane)Ten, czyj adres widnieje, może wyemitować dowolną liczbę tokenów i zdewaluować Twoje.
2. Czy nie da się zamrozić tokenówTa sama strona, pole Freeze AuthorityPustoWłaściciel może zamrozić każdy portfel, w tym Twój.
3. Kto może zmienić kodStrona programu, pole Upgrade AuthorityPuste (kod zamrożony) albo adres multisiga z opóźnieniem aktualizacjiJeden zwykły adres oznacza, że właściciel może w każdej chwili wgrać inne zasady.
4. Łączna emisja tokenaStrona tokena: SupplyNie więcej niż 100 000 000 000 i tylko maleje przez spalanieWięcej znaczy, że emisję zwiększono.
5. Czy token się zgadzaAdres tokena w Twoim portfelu kontra strona „Bezpieczeństwo”Adresy identyczne co do znakuTo nie jest prawdziwy FAIRDRUM. Nie kupuj i nie wpłacaj.
6. Czy w skarbcu starcza tokenówAdres skarbca ze strony „Bezpieczeństwo”, saldo tokena; sumy skarbonek na „Ekonomii”Saldo skarbca nie mniejsze niż suma skarbonek (plus salda gry graczy)Kontrakt zawsze musi być pokryty tokenami. Rozbieżność to poważny sygnał.

Górna tabela na stronie „Bezpieczeństwo” czyta te same pola prosto z sieci i stawia ✔ albo ⚠, ale nie polegaj tylko na niej: raz porównaj sam.

Sprawdź własne zakręcenie

Każde zakręcenie zostawia zapis w sieci, a wynik na ekranie można z nim porównać.

  1. Znajdź transakcję

    Po zakręceniu pod przyciskiem pojawia się link „Transakcja”. Otwiera zapis w eksploratorze. Albo otwórz historię swojego portfela w eksploratorze i wybierz transakcję z programem FAIRDRUM.

    Ma być: status Success i lista instrukcji.

  2. Znajdź dwa wywołania

    W pierwszej transakcji — wywołanie programu FAIRDRUM spin_commit (zakład), wewnątrz którego widać zagnieżdżone wywołanie programu ORAO (zapytanie o losowość). W drugiej — spin_settle (rozliczenie). Nazwa w eksploratorach wygląda nieco różnie (SpinCommit, spinCommit).

  3. Porównaj kolejność

    Zakład zapisano wcześniej, niż ujawniono liczbę: pierwsza transakcja ma mniejszy numer bloku (Slot) niż druga. To znaczy, że ani Ty, ani projekt nie znaliście wyniku w chwili zakładu.

  4. Zajrzyj do dziennika (Logs) drugiej transakcji

    Zapisano tam zdarzenie SpinSettled z liczbą zakręceń, nagrodami, trafieniami w mini-jackpot, jackpot i superjackpot. To te same liczby, które pokazał bęben.

  5. Sprawdź właściciela losowości

    Konto losowości wskazane w transakcji musi należeć do programu ORAO (VRFzZoJd…). Kontrakt sam odrzuca każde inne, ale warto się upewnić: otwórz konto i sprawdź pole Owner.

Głębokie weryfikacje

Zbudować kod i porównać hasz

Weź repozytorium projektu na GitHubie (link pojawi się po publikacji), zbuduj program w trybie odtwarzalnym (anchor build --verifiable) i porównaj hasz z tym w sieci (solana-verify). Zgodność znaczy, że w sieci leży dokładnie ten otwarty kod.

Przeczytać stałe

Wszystkie liczby gry zebrano w jednym pliku consts.rs: udziały, szanse, drabinka nagród, prowizje, terminy. Strona rysuje swoje tabele właśnie z niego i rozbieżności między stroną a kontraktem być nie powinno.

Uruchomić testy

W repozytorium są testy zasad i obliczeń (cargo test) oraz klienta (npm test). Sprawdzają np., że suma wszystkich pul i sald nie przekracza tokenów w skarbcu.

Rozebrać, jak wybierany jest wynik

Z 32 bajtów ujawnionej losowości kontrakt uzyskuje liczby przez SHA-256. Dla głównego bębna to bloki SHA-256("FDRM-M" + losowość + numer bloku), z których po 4 bajty (little-endian) bierze się po liczbie na każde wykonane zakręcenie. Dla złotego bębna: SHA-256("FDRM-G" + losowość + numer wykonanego zakręcenia). Liczba porównywana jest z progami w ułamkach 232; same progi zależą od tygodniowego wolumenu i wielkości skarbonek w chwili rozliczenia, więc przeliczyć stare zakręcenie w całości można tylko razem ze stanem programu na tamten slot. Wzory leżą w math.rs i engine.rs.

Przeczytać dziennik za okres

Każdy może pobrać z sieci wszystkie zdarzenia SpinSettled za okres i sam policzyć częstość złota i wielkość skarbonek. Porównaj ze „Szansami”. Przy małej liczbie zakręceń rozrzut jest ogromny: żeby zobaczyć szansę 1%, trzeba tysięcy zakręceń.

Czego nie da się sprawdzić

  • Uczciwości wyroczni. Losowość przychodzi od węzłów ORAO. Kontrakt sprawdza, że liczba jest z właściwego konta, zapisana przez ich program i pojawiła się po zakładzie, ale nie może sprawdzić, że węzły wyroczni się nie zmówiły. To zależność zewnętrzna.
  • Braku błędów w kodzie. Testy i otwarty kod zwiększają pewność, ale nie zastąpią niezależnego audytu. Dopóki link do audytu nie jest wskazany, audytu nie ma.
  • Przyszłości. Dopóki prawo do aktualizacji nie zostało odwołane, zasady mogą się zmienić nową wersją. Śledź transakcje aktualizacji programu.
  • Co robi administrator poza kontraktem. Sprzedaży jego tokenów, marketingu, decyzji o listingach kontrakt nie kontroluje. Wypłaty z funduszu promocji są publiczne, ale „na co” kontrakt nie sprawdza.

Czerwone flagi

Adres w wiadomości nie zgadza się ze stronąPodmiana tokena albo programu.
Mint albo Freeze Authority wypełnioneEmisja albo zamrożenie zostają u kogoś.
Prawo do aktualizacji u jednego adresu bez opóźnieniaZasady można zmienić w każdej chwili.
„Gwarantowana wygrana”, „system”, „program partnerski”W grze nie ma poleceń ani gwarancji, średni zwrot to około 81–83%.
Proszą o tajną frazę albo „potwierdzenie portfela”To kradzież. Zamknij stronę.
Transakcja prosi o więcej, niż oczekiwałeśPrzeczytaj okno portfela. Nie masz pewności: odmów.