Как заверить своих друзей, что я не вмешиваюсь в игру в покер, которую я внедрил и принимаю на хостинге?
Рассмотрим следующий сценарий: я реализовал игру в покер (с открытым исходным кодом), которая работает на сервере, который я контролирую. Я и мои друзья хотим играть на указанном сервере.
В: Как я могу заверить своих друзей, что я не вмешиваюсь в игру? То есть, есть ли какой-то способ для меня, например, запретить мне подключать отладчик и посмотреть, какие карты они получают?
Допустим, игра была написана на Java и развернута как приложение Jar на сервере, которым я управляю.
Я определил два возможных сценария, которые могут сработать:
Найдите способ подписать приложение, разместите его у другого доверенного поставщика, определите способ проверки подлинности работающего приложения (помните, что оно с открытым исходным кодом).
- Есть ли способ, например, реализовать какой-то протокол запроса-ответа, на который только приложение с действительной подписью могло бы ответить правильно?
Зашифруйте данные, с которыми работает приложение (то есть раздали карты), используя, например, ключи GPG от каждого игрока.
- Проблема этого подхода заключается в том, что контроль над приложением предоставляется внешнему участнику, что было бы очень нежелательно.