※本サイトは、サイト運営費用の為、広告による収益を得ています。
「Maru-Jan」麻雀対局中に牌操作が行われていないことの証明を公開 ハッシュ値を活用
投稿2025年12月18日(木)19時39分
蒼井呉人
2025年12月18日(木)に、麻雀対局中に牌操作が行われていないことの証明を公開した。
また、牌操作の疑念に対して、代表(栢)が正面から答えたコラムページも公式サイト内に公開した。コラムでは、課題への向き合い方や、複雑な証明を噛み砕いて解説している。
「牌操作」とは、ゲーム中に牌山を意図的に変更し特定のプレイヤーが有利(または不利)になるよう操作すること。Maru-Janは「ハッシュ値」を活用し、牌操作がないことの証明方法を導入した。
ハッシュ値とは簡単に言うと、元データを別の不規則な文字列に変換したものとなる。

以下の性質を持つため、データの「指紋」のようなものとも言われる。
・元データが同じなら、ハッシュ値も必ず同じ
・元データが少しでも違えば、ハッシュ値は全く異なる
・ハッシュ値から元データは特定できない

■ハッシュ値を使った「牌操作がないこと」の証明方法
牌山が対局前から決まっており、対局中に改ざんされていないことを、ハッシュ値の性質を利用して証明を行う。
牌山の順を表す「牌山データ※」をハッシュ値に変換し、対局開始時から対局者に公開する。
対局が終わったあと、牌山データを公開する。
その牌山データを変換ツールなどでハッシュ値に変換すると、対局開始時に公開されたハッシュ値と一致する。
これは、対局開始時に公開した牌山データが途中で変わっていないことを意味するので、対局開始時点で牌山は決まっており、牌操作はないことが証明される。
※牌山データ:牌山を配牌取り出し開始位置から順に文字列で表したもの。
萬子⇒1m2m3m4m5m6m7m8m9m
筒子⇒1p2p3p4p5p5p6p7p8p9p
索子⇒1s2s3s4s5s6s7s8s9s
字牌⇒1z2z3z4z5z6z7z(東南西北白發中の順)
※赤牌は0で表す(0m,0p,0s)

■「Maru-Jan」では牌操作がないことの確認方法
(1) 対局開始時から、局の牌山データを変換したハッシュ値が表示できるので、手元に記録する。
(2) 対局終了後、牌譜にて牌山データを表示できるのでコピーする。

(3) 任意のハッシュ変換ツールで、手順(2)にてコピーした牌山データをハッシュ値(SHA-1)に変換する。
手順(1)で記録したハッシュ値と一致していれば、牌山データは局の開始時と終了後で変わっておらず、牌操作はないことが証明される。
プレイヤーの方は、早速新コンテンツをプレイしてみては如何だろうか-。
Copyright (C) 2004 SignalTalk All Rights Reserved.
- 関連ゲーム
- Maru-Jan