Tu as exactement le même problème avec le logiciel propriétaire, même si tu peux essayer de compliquer un maximum les choses, au final c'est toujours possible de tricher par reverse engineering.
Quoi qu'il en soit, ça se rapproche du problème qu'a eu le SETI@Home, puis les autres projets de calcul distribué. Ils ont opté pour la fermeture du code en prétendant que c'était pour s'assurer de la qualité des résultats, mais malgré tout, ils ont compris que la sécurité ne reposait pas sur l'obscurité, et ils ont choisi la seule véritable solution: faire les calculs plusieurs fois.
Dans le cas d'un jeu en P2P, tu peux faire en sorte qu'un joueur calcule une partie du jeu "éloignée" de lui, ce qui diminue son intention de fausser les résultats. En misant sur le fait que:
- il y a beaucoup de joueurs, donc il est difficile de rendre négligeable leur part de calcul avec de la force brute
- il est difficile de trouver qui calcule quoi
- tous les calculs sont fait plusieurs fois par des joueurs différents
On obtient un truc relativement sûr.
Maintenant si tu veux un système encore plus sûr, tu peux calculer la confiance que tu as en chaque joueur, qui dépend du nombre d'unités de calcul en "conflit" avec le résultat communément admis.
Solution parfaite ? Non, car sans serveur centralisé c'est très compliqué à mettre en place.
# C'est pas lié au libre
Posté par Yusei (Mastodon) . En réponse au journal Faille de l'open-source ?. Évalué à 3.
Quoi qu'il en soit, ça se rapproche du problème qu'a eu le SETI@Home, puis les autres projets de calcul distribué. Ils ont opté pour la fermeture du code en prétendant que c'était pour s'assurer de la qualité des résultats, mais malgré tout, ils ont compris que la sécurité ne reposait pas sur l'obscurité, et ils ont choisi la seule véritable solution: faire les calculs plusieurs fois.
Dans le cas d'un jeu en P2P, tu peux faire en sorte qu'un joueur calcule une partie du jeu "éloignée" de lui, ce qui diminue son intention de fausser les résultats. En misant sur le fait que:
- il y a beaucoup de joueurs, donc il est difficile de rendre négligeable leur part de calcul avec de la force brute
- il est difficile de trouver qui calcule quoi
- tous les calculs sont fait plusieurs fois par des joueurs différents
On obtient un truc relativement sûr.
Maintenant si tu veux un système encore plus sûr, tu peux calculer la confiance que tu as en chaque joueur, qui dépend du nombre d'unités de calcul en "conflit" avec le résultat communément admis.
Solution parfaite ? Non, car sans serveur centralisé c'est très compliqué à mettre en place.