前提
- 山を生成するプログラムが公開されていること(再現性があればこの限りでない)
- 各プレイヤーが山を混ぜるためのシード値を事前に持っていること(これは局開始時に決定される。ただし、プレイヤーが任意に指定することもできる)
アルゴリズム
- 局開始する前に山を生成するシード値Aを公開する
- 局開始でシード値Aで山を生成、その後各プレイヤー4人のシード値Bで山を混ぜる(※)
- 局終了後、各プレイヤーのシード値Bが公開される
※ 要するに山が生成された後、各プレイヤーによって計4回シャッフルが行われる
牌操作が否定される理由
ツモ牌が操作されている!
↓
山生成プログラムで山が局開始と同時に固定されるのでツモ牌をイカサマすることができない
固定されていることの証明は公開されている山生成プログラムと各シード値で再現することで可能
配牌が仕組まれている!
↓
自分を含む各プレイヤーが設定したシード値Bによって山がシャッフルされているので特定のプレイヤーを優遇・不遇にする配牌にすることができない
事前にシード値Aが公開されているためシード値Bから逆算してイカサマな山を生成することも不可能
懸念点
各プレイヤーのシード値Bが正しく公開されていることの証明が難しいかもしれない
何故ならプレイヤーHOGEのシード値Bが使われずに(運営により)シード値Cが使われた後
シード値Cをシード値Bとして偽って公開された場合、HOGEが指摘しない限りこの不正に他3人は気づけないため
追記
プレイヤー4人が手を組めば任意の山を生成できなくもないが、不特定多数との対戦を目的としたゲームなら問題ではないと考える