Zastanawiam się - czy kiedykolwiek powstały jakieś gry:
- peer-to-peer bez jednego peera wyznaczonego jako host
- konkurencyjny (brak współpracy, gracze grają przeciwko sobie)
- możliwe do udowodnienia (nie ma możliwości oszukiwania żadnego gracza)
- Nie udzielaj graczom więcej informacji niż potrzebują (na przykład nie ujawniaj tajemnic innych graczy nawet działającym aplikacjom)
Przykładem takiej gry może być gra w pokera, w której każdy gracz i jego gry będą mogli poznać tylko swoją rękę, ale nie ręce innych graczy bez polegania na tym, że którykolwiek z nich jest gospodarzem gry. Wiem, że istnieje kilka gier, które są możliwe do udowodnienia, ale wszystko, co wiem, istnieje w konfiguracji serwer-klient.
game-mechanics
peer-to-peer
ThePiachu
źródło
źródło
Odpowiedzi:
Nie wiem, czy takie gry zostały utworzone, ale na pewno zostały teoretyczne. Opublikowano kilka artykułów na ten temat. Możesz zbadać schematy zobowiązań, które wyjaśniają, w jaki sposób dwie niezgadzające się ze sobą strony mogą rzucić monetą, będąc fizycznie oddalone (patrz także ten artykuł z 1981 r .: Przerzucanie monet przez telefon ).
Jednym z bardzo dokładnych artykułów jest na przykład Cheat-Proof Peer-to-Peer Trading Card Games :
Również Cheat-Proof Playout dla scentralizowanej i peer-to-peer gier :
źródło
Chociaż nie jest to gra losowa, tworzę grę AIR, która jest zbliżona do twoich wymagań.
Należy jednak pamiętać ...
Uważam „brak możliwości ... oszukiwania” za fałszywe oświadczenie. Jeśli nie kontrolujesz wszystkich aspektów (sprzętu i oprogramowania), oszustwo jest możliwe.
Chociaż nie jest to gra, myślę, że sieć Bitcoin jest doskonałym przykładem tego, czego szukasz.
Edytować
Rozbuduję trochę twoje główne pytanie.
Po pierwsze, nie widzę żadnej gry wymagającej „możliwych do udowodnienia” warunków bez pewnego poziomu autorytatywnych wymagań. Od tablic wyników po mikropłatności, scentralizowane systemy i uprawnienia idą w parze.
Po drugie, najlepszą przykładową grą, jaką mogę wymyślić, są wczesne gry Pokemon. Chociaż logistyka wewnętrznej sieci mogła nie być peer-to-peer, jest zgodna z tą samą zasadą.
Wreszcie, platformy mobilne są specjalnie przystosowane do gier peer-to-peer. Uważam, że w tej dziedzinie bardzo brakuje, dlatego właśnie opracowuję linię gier peer-to-peer.
źródło
Kilka elementów, które mogą pomóc, w zależności od przypadków użycia:
Jeśli potrzebujesz uzyskać równoczesny wkład od użytkowników bez możliwości przedwczesnego wykorzystania informacji na ich korzyść, możesz skorzystać ze schematu zobowiązań. Zasadniczo jest to:
Można to wykorzystać do różnych rzeczy, w tym do wspólnej liczby losowej (obie zapewniają liczbę całkowitą poprzez zobowiązania i xor razem po udostępnieniu, aby uzyskać wspólną wartość).
Nie jest to jednak wystarczające w przypadku gry takiej jak poker, ponieważ wymaga, aby karty były znane tylko jednej osobie, przy jednoczesnym dalszym losowaniu ze wspólnej talii. Wikipedia ma dość dobry algorytm wspólnego tasowania za pomocą schematu, w którym obaj gracze szyfrują każdą kartę indywidualnie wiele razy. To powoduje sytuację, w której do odszyfrowania dowolnej karty wymagane są 2 klucze, a obaj gracze mają 1. W artykule wspomniano o problemach z wydajnością, ale nie sądzę, aby AES lub podobny był zbyt drogi w skali wymaganej dla pokera 2-osobowego.
Gdybym projektował algorytm, kazałbym graczom obliczyć losową wartość na początku gry, aby użyć jej jako zalążka dla wszystkich pozostałych operacji i udostępnić skrót tej wartości. W ten sposób mogą dzielić się tą wartością po grze i możesz sprawdzić, czy postępowali zgodnie z protokołem, bez shenaniganów.
źródło