ピアツーピアのホストレス競争力のあるゲーム?[閉まっている]


15

私は疑問に思っています-これまでに作成されたゲームはありますか?

  • 1つのピアがホストとして指定されていないピアツーピア
  • 競争力のある(協力的ではない、プレイヤー同士が対戦する)
  • 証明可能(プレーヤーが不正行為をする可能性はありません)
  • プレーヤーに必要以上の情報を提供しないでください(たとえば、実行中のアプリケーションにも他のプレーヤーの秘密を明かさない)

そのようなゲームの例は、各プレイヤーとそのゲームが自分の手しか知ることができず、ゲームのホストであることに依存することなく他のプレイヤーの手ではないポーカーゲームです。確かに公平なゲームがいくつかあることは知っていますが、私が知っていることはすべてサーバーとクライアントの構成に存在します。


1
「ピアツーピア」および「プレーヤーが不正行為をする可能性はありません」-それは不可能です。
鬼丸

7
@キカイマルあなたは間違っています。
サムホセバー

@Kikaimaru実際、私はこれがどのように機能するかについていくつかの概念を持っていますが、ホイールを再発明しようとする前にまず尋ねてみたいと思います(この場合は飛行機かもしれません)。
ThePiachu

2
サーバークライアントがそれを行うレベルで不正行為を防ぐ方法があることは非常に疑わしい。たとえば、プレーヤーは他のプレーヤーが不正行為をしていることを知り、コードを一切必要とせずに(またはゲームを停止するだけで)プレイを停止できますが、それは「不正行為の可能性がない」のでしょうか?
きかい丸

@Kikaimaruプロトコルが正当性を強制している場合、チートを試みることはまったくプレイしないことと同じです-プレイヤーが3人以上いる場合、他のプレイヤーは引き続きプレイを続けることができ、不正なIPパケットとは異なり、不正行為の試みは無視されますである。
サムホセバル

回答:


19

そのようなゲームが作成されたかどうかはわかりませんが、それらは確かに理論化されています。このトピックに関していくつかの論文が発表されています。物理的に離れている間に2人の意見の異なる当事者がコインをどのように反転できるかについての説明を提供するコミットメントスキームを調査することができます(この1981年の論文:Coin Flipping by Telephoneを参照)。

非常に徹底した論文の1つは、たとえば、チートプルーフのピアツーピアトレーディングカードゲームです。

オンライントレーディングカードゲームを実装するための、チートプルーフピアツーピアプロトコルを提案し ます。すべてのTCGに共通するアクションを分類し、サードパーティの審判(通常は公平なサーバーが必要)を必要とせずに2人のプレーヤー間で実行する方法を説明します。各アクションで、プレイヤーは不正行為を防ぐか、不正行為を行った場合、対戦相手は不正行為を行ったことを証明できます。最後に、これらの方法がどのように安全であり、他のスタイルのTCGや他のピアツーピアゲームでどのように混合できるかを示します。

また、集中管理とピア・ツー・ピアゲームのためのチートプルーフプレイアウト

証明可能な不正防止の保証があり、証明可能で安全でライブなプロトコルを提案しますが、パフォーマンスが低下します。次に、非同期同期と呼ばれるこのプロトコルの拡張バージョンを開発します。これは、ペナルティを回避し、サーバーレスで、裏付けのない裏付け保証を提供し、パケット損失が存在する場合に堅牢で、通信パフォーマンスを大幅に向上させます。この手法は、一般的なゲーム機能に適用できるだけでなく、大規模マルチプレイヤーゲームのクラスタリングおよびセルベースの手法にも適用できます。。具体的には、プレイヤーが互いの特定の範囲内にあり、そうでなければ距離の概念がないように、ゼロ知識証明プロトコルを提供します。私たちのパフォーマンスの主張は、実際のゲームのトレースに基づいたシミュレーションを使用した分析によって裏付けられています。


1
ウィキペディアのメンタルポーカーページ-en.wikipedia.org/wiki/Mental_pokerも参照してください。このbitcointalk.org/index.php?topic=1487.0-liamzebedee
1

素晴らしいリンク@liamzebedee。その記事には、ポーカーをピアツーピアでうまく機能させる正確なアルゴリズムがほとんど含まれています。
captncraig

4

偶然のゲームではありませんが、私はあなたの要件に近いAIRゲームを開発しています。

  1. FlashのRTMFPマルチキャストプロトコルを使用して開発されました。どちらのクライアントもホストと見なされません。
  2. 物理ベースの競争システム。
  3. 相手の入力を検証し、無効なデータでゲームを失格にします。
  4. 帯域幅/待機時間の理由で特定の物理情報を送信しません(これにより特定の不正行為方法も無効になりました)。

ただし、注意してください...

「...不正行為の可能性がない」ことは虚偽の陳述だと考えます。すべての側面(ハードウェアとソフトウェア)を制御しない場合、不正行為が可能です。

ゲームではありませんが、ビットコインネットワークはあなたが探しているものの代表例だと思います。

編集

あなたの主な質問について少し詳しく説明します。

まず、ある程度の信頼できる要件がなければ、「証明可能な公正な」条件を必要とするゲームを見ることはできません。リーダーボードからマイクロペイメントまで、一元化されたシステムと権限が一緒になります。

第二に、私が考えることができる最高のサンプルゲームは、初期のポケモンゲームです。内部ネットワークのロジスティクスはピアツーピアではなかったかもしれませんが、同じ原則に従います。

最後に、モバイルプラットフォームは、特にピアツーピアゲームに適しています。私はこの分野が非常に不足していると考えています。それが現在私がピアツーピアゲームのラインを開発している理由です。


うん、私はビットコインといくつかの経験を持っているかもしれません... bitcoin.stackexchange.com/users/323/thepiachuを ;)
ThePiachu

1

ユースケースに応じて役立つ可能性のあるいくつかのピース:

情報を時期尚早に利用できる可能性なしに、ユーザーから同時に入力を取得する必要がある場合は、コミットメントスキームを使用できます基本的にこれは:

  1. 両方のプレーヤーは、実行したいアクションのハッシュを提供します。
  2. 両方がコミットメントを提供した後、どちらもプレーンテキストアクションを提供できます。
  3. 平文をハッシュと比較して、他の人のアクションを学習した後に誰も回答を変更していないことを確認できます。

これは、共有乱数を含むさまざまなものに使用できます(両方ともコミットメントを介して整数を提供し、共有後に共有値を取得するためにxorします)。

ただし、ポーカーのようなゲームには不十分です。カードは1人だけが知っている必要があり、共有デッキから引き出せるようにするためです。ウィキペディアには、両方のプレイヤーが各カードを個別に複数回暗号化するスキームを使用した、共有シャッフル用のかなり良いアルゴリズムがあります。これにより、特定のカードを復号化するために2つのキーが必要であり、両方のプレーヤーが1を持っているという状況が設定されます。

アルゴリズムを設計する場合、ゲームの開始時にプレイヤーにランダムな値を計算させ、残りのすべての操作のシードとして使用し、その値のハッシュを共有します。そうすれば、彼らはゲーム後にその価値を共有することができ、あなたは彼らがプロトコルに従ったことを、シェナンガンなしで正しく検証することができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.