Saya bertanya-tanya - apakah ada game yang pernah dibuat yaitu:
- peer-to-peer tanpa satu rekan ditunjuk sebagai tuan rumah
- kompetitif (tidak kooperatif, pemain bermain melawan satu sama lain)
- terbukti adil (tidak ada kemungkinan pemain selingkuh)
- Jangan memberi pemain lain informasi lebih dari yang mereka butuhkan (misalnya, tidak mengungkapkan rahasia pemain lain bahkan untuk aplikasi yang sedang berjalan)
Contoh dari permainan seperti itu adalah permainan poker di mana setiap pemain dan permainan mereka hanya bisa mengetahui tangan mereka sendiri, tetapi bukan tangan pemain lain tanpa mengandalkan siapa pun dari mereka yang menjadi tuan rumah permainan. Saya tahu ada beberapa permainan di luar sana yang terbukti adil, tetapi semua yang saya tahu ada dalam konfigurasi server-klien.
game-mechanics
peer-to-peer
ThePiachu
sumber
sumber
Jawaban:
Saya tidak tahu apakah game seperti itu telah dibuat, tetapi mereka memang berteori. Beberapa makalah telah dipublikasikan tentang topik ini. Anda mungkin ingin meneliti skema komitmen yang menawarkan penjelasan tentang bagaimana dua pihak yang tidak setuju dapat membalik koin sementara secara fisik jauh (lihat juga makalah 1981 ini: Coin Flipping by Telephone ).
Salah satu makalah yang sangat teliti adalah misalnya Permainan Kartu Perdagangan Peer-to-Peer yang Cheat-Proof :
Juga Main Curang-Bukti Bermain untuk Gaming Terpusat dan Peer-to-Peer :
sumber
Meskipun bukan game kebetulan, saya mengembangkan game AIR yang dekat dengan kebutuhan Anda.
Namun, harap diperhatikan ...
Saya menganggap "tidak ada kemungkinan ... menipu" pernyataan yang salah. Jika Anda tidak mengontrol semua aspek (perangkat keras & perangkat lunak), maka curang dimungkinkan.
Meskipun bukan permainan, saya pikir jaringan Bitcoin adalah contoh utama dari apa yang Anda cari.
Edit
Saya akan sedikit memperluas pertanyaan utama Anda.
Pertama, saya tidak bisa melihat permainan yang membutuhkan kondisi "terbukti adil" tanpa beberapa tingkat persyaratan otoritatif. Dari papan peringkat hingga pembayaran mikro, sistem dan otoritas terpusat berjalan bersama.
Kedua, game contoh terbaik yang bisa saya pikirkan adalah game Pokemon awal. Meskipun logistik jaringan dalam mungkin bukan peer-to-peer, itu mengikuti prinsip yang sama.
Akhirnya, platform seluler khusus dipasang untuk game peer-to-peer. Saya menganggap bidang ini sangat kurang, itulah sebabnya saya saat ini mengembangkan lini permainan peer-to-peer.
sumber
Beberapa potong yang mungkin membantu, tergantung pada kasus penggunaan:
Jika Anda perlu mendapatkan input simultan dari pengguna tanpa kemungkinan seseorang dapat menggunakan informasi untuk keuntungan mereka sebelum waktunya, Anda dapat menggunakan skema komitmen. Pada dasarnya ini adalah:
Ini dapat digunakan untuk berbagai hal, termasuk nomor acak bersama (keduanya memberikan bilangan bulat melalui komitmen dan menggabungkannya setelah berbagi untuk mendapatkan nilai bersama.)
Namun itu tidak cukup untuk permainan seperti poker, karena ini membutuhkan kartu untuk diketahui hanya oleh satu orang, sambil terus dapat menggambar dari dek bersama. Wikipedia memiliki algoritma yang cukup baik untuk pengacakan bersama menggunakan skema di mana kedua pemain mengenkripsi setiap kartu secara terpisah beberapa kali. Ini mengatur situasi di mana 2 kunci diperlukan untuk mendekripsi kartu yang diberikan, dan kedua pemain memiliki 1. Artikel ini menyebutkan masalah kinerja, tapi saya tidak berpikir AES atau sejenisnya sangat mahal pada skala yang diperlukan untuk 2 pemain poker.
Jika saya mendesain algoritma saya akan meminta pemain menghitung nilai acak di awal permainan untuk digunakan sebagai seed untuk semua sisa operasi dan berbagi hash dari nilai itu. Dengan begitu mereka dapat membagikan nilai itu setelah pertandingan, dan Anda dapat memverifikasi bahwa mereka mengikuti protokol dengan benar, tanpa gangguan.
sumber