fairnessprovably fairexplainer
Certyfikowany generator znaczy, że niezależne laboratorium zbadało w pewnym momencie generator liczb losowych i uznało jego wyjście za statystycznie zdrowe. Dowodliwa uczciwość znaczy, że gra wręcza każdemu graczowi kryptograficzny paragon z jego własnego meczu, tak by każdy rzut dało się sprawdzić bez ufania komukolwiek. Jeden model audytuje maszynę. Drugi dowodzi twojej partii.
Oba zwroty pojawiają się na stronach o zaufaniu w grach online, które rzucają za ciebie kośćmi, i brzmią wymiennie. Nie są. Odpowiadają na różne pytania, psują się na różne sposoby, a ta różnica przesądza, w co masz uwierzyć, siadając do gry.
Co właściwie certyfikuje certyfikowany generator?
Laboratorium certyfikujące bierze generator, przepuszcza jego wyjście przez baterie testów statystycznych i poluje na obciążenie: liczby pojawiające się zbyt często, powtarzające się wzory, dryfujące ciągi. Jeśli miliony próbek wyglądają nieodróżnialnie od przypadku, laboratorium podpisuje certyfikat. Ta praca jest prawdziwa i wymaga umiejętności. Ustala, że generator, w takiej postaci, w jakiej go badano, tamtego dnia produkował zdrową losowość.
Zwróć uwagę, czego certyfikat nie widzi. Wystawiono go w laboratorium, a twoje kości rzucane są na serwerze.
- Czy testowany kod to kod wdrożony, wiele miesięcy i wiele aktualizacji później.
- Okablowanie między generatorem a twoją partią: kod, który zamienia surową liczbę losową w twoje 6 i 4.
- Jakikolwiek pojedynczy rzut w jakimkolwiek pojedynczym meczu. Certyfikacja mówi o generatorze w ogóle, nigdy o twojej wtorkowej partii.
Certyfikacja niesie więc cichą drugą klauzulę: zaufaj, że od czasu testu nic się nie zmieniło, i zaufaj, że certyfikowana ścieżka to ta, którą naprawdę poszła twoja partia. Większość studiów tego dotrzymuje. Rzecz w tym, że nie możesz tego sprawdzić. Model to inspekcja maszyny w jednej chwili, a potem wiara we wdrożenie w każdej następnej.
Co znaczy dowodliwa uczciwość?
Dowodliwa uczciwość to inna umowa. Zamiast wskazywać audyt, którego nigdy nie widziałeś, gra zobowiązuje się co do swojej losowości przed rozpoczęciem, a potem ujawnia dość, byś sam przeliczył każdy rzut. Dowód podróżuje razem z meczem. W praktyce działa jak zapieczętowana koperta.
Zobowiązanie. Przed pierwszym ruchem serwer generuje tajne ziarno i publikuje jego odcisk SHA-256. Odcisk nie zdradza niczego o nadchodzących rzutach, ale przyszpila ziarno na miejscu. Zmień potem choć jeden bit ziarna, a odcisk przestaje pasować.
Rzut. W trakcie gry każdy rzut wyprowadzany jest z ziarna przez HMAC-SHA256, jedno obliczenie na rzut. Kości zostały przesądzone w chwili zapieczętowania koperty. Milszej liczby nie da się wsunąć w środku partii bez złamania już opublikowanego zobowiązania.
Ujawnienie. Po partii ziarno zostaje ujawnione. Każdy może je zahaszować, porównać z zobowiązaniem, przeliczyć każdy rzut i położyć wyniki obok kości, które pojawiły się na planszy. Jeśli wszystko się układa, partii nie dało się sterować. Jeśli czegoś tknięto, matematyka to powie.
Zaufanie przenosi się z firmy na arytmetykę. Nie musisz już wierzyć, że audyt był rzetelny ani że wdrożenie było wierne. Potrzebujesz, żeby SHA-256 się trzymał, a to ta sama przesłanka, na której cała reszta internetu opiera się każdego dnia.
Certyfikat mówi, że moneta była uczciwa w dniu, w którym patrzyliśmy. Paragon mówi, że twój rzut był uczciwy, i pokazuje rachunek.
Czy certyfikacja nadal ma znaczenie?
Ma. Commit-reveal dowodzi, że otrzymałeś dokładnie tę losowość, do której się zobowiązano. Nie dowodzi, że to, do czego się zobowiązano, było dobre na starcie. Słabe albo przewidywalne źródło ziarna nadal produkowałoby paragony przechodzące weryfikację bez zarzutu: dowodliwa dostawa kiepskich kości. Ocenianie jakości źródła to właśnie zadanie audytów i testów statystycznych, a w branżach regulowanych certyfikat jest po prostu wymagany.
Oba modele odpowiadają na różne pytania. Audyt pyta: czy ta losowość jest dobra? Paragon pyta: czy moja partia naprawdę jej użyła? System z samym pierwszym żyje wieczną wiarą we wdrożenie. System z samym drugim mógłby wiernie dostarczać kiepskie kości i to udowadniać. Najmocniejsze systemy zamykają obie furtki.
Dlaczego publiczny weryfikator ma znaczenie?
Bo paragon, którego nikt nie umie odczytać, nikogo nie chroni. Niektóre gry publikują zobowiązania, ale nie dają graczom praktycznego sposobu ich sprawdzenia, albo chowają weryfikację wewnątrz tej samej aplikacji, o którą chodzi. To nie zamyka żadnego obiegu. Jeśli jedyne narzędzie, które może poręczyć za system, należy do tego systemu, wracasz do wiary, tylko z dodatkowymi krokami.
Najmocniejsze rozwiązania publikują trzy rzeczy. Zobowiązanie, przed partią. Ziarno, po niej. I niezależny, publiczny sposób przeliczenia rzutów, działający poza aplikacją. Dlatego weryfikator Oriona mieszka w przeglądarce, pod orion.arthea.ai/verify: bez konta, bez instalacji, a nasze słowo nie bierze udziału w sprawdzeniu.