Je pensais aux jeux peer-to-peer en envisageant un simple jeu de lancer de pièces.
Vous ouvrez votre version de P2PCoinFlipping Beta 2.3 et il affiche une liste de serveurs de noms de joueurs. Après avoir choisi le serveur le plus proche, un tableau de bord des joueurs les plus chanceux apparaît. Vous choisissez le joueur le mieux classé et le jeu commence. Depuis que vous avez commencé la bataille, le joueur adverse choisit le côté de la pièce, les têtes et vous êtes affecté à la queue. Un joli petit graphique apparaît, montrant une pièce tombante qui finit par atterrir sur les têtes. Dommage, vous perdez.
Mais comment savez-vous que le résultat est juste?
Si le résultat est choisi sur votre ordinateur, vous pouvez modifier le programme pour choisir de gagner et la même chose s'applique à l'adversaire. Le jeu n'est pas déterministe, vous ne pouvez donc pas sembler valider le résultat.
Est-il possible que plusieurs agents contradictoires indépendants s'entendent sur un événement non déterministe?
la source
Réponses:
Cette procédure fera le travail:
le résultat du lancer de pièce est le OU exclusif du bit le moins significatif de chaque nombre, c'est-à-dire
(a & 1) ^ (b & 1)
Une solution alternative:
J'ai posé cette question sur le site de cryptographie et j'ai établi qu'il est assez sécurisé. Apparemment, il s'agit d'une variante du plan d'engagement .
la source
Il s'avère que non seulement les agents adversaires peuvent lancer des pièces, mais que les agents adversaires peuvent jouer au poker .
Cela dit, cela a tendance à être extrêmement coûteux en calcul et assez difficile à bien faire. Cela ne vaut probablement pas l'effort de mise en œuvre. Regardez combien de protocoles multijoueurs sont hilarement vulnérables à un serveur malveillant (à savoir: tous ceux que je connais), et leur popularité, et cela ne semble tout simplement pas être une utilisation pratique du temps.
StarCraft II en est un bon exemple. C'est un jeu où le dépistage est essentiel, et savoir ce que fait l'ennemi peut donner un avantage phénoménal, et des prix à cinq chiffres ou plus reposent régulièrement sur les résultats. . . et pourtant, les deux ordinateurs ont la totalité de l'état du jeu stockée à tout moment! Il est trivial d'écrire un programme qui vous permet de regarder directement l'adversaire et de vous énerver.
Il s'avère qu'aucun des concurrents sérieux n'utilise ces programmes. C'est trop facile à détecter ("hé, Jim, comment savez-vous toujours ce que je construis au moment où je le construis?") Et ça ne vaut pas la peine.
Cela dit, si vous voulez plus d'informations, vous voudrez vous pencher sur la cryptographie en détail - ce n'est pas vraiment dans le domaine du développement de jeux.
la source