本日、NEMブロックチェーンを使ったチケット管理システム「ちけっとピアツーピア」を公開しました。
これはもともとBlockChainJam2018のためにサイト埋め込み型のチケットシステムを作る目的で始まったのですが、アイデアがよさげだったので一般化しました。
これの仕組みを少し詳しく解説しておきます。
2/11追記
チケットだけでなく課金ゲームアカウントの転売防止にも応用できる改良版の説明に対応し、編集しました。
ちけっとピアツーピアは今後、サービスではなくソフトウェアライブラリとして提供される予定です。
現在、特許申請中です。
出願手続きが終わり、先願のキリがついたので、編集して公開します。
システムの意義
経済学的に、このシステムは経済厚生を高める意義があると考えられます。
「法規制より技術で対処」を実現できるものと考えられます。
準備
- チケット管理システムにおいて、チケット固有のIDを割り振っておく。
- 256bit暗号学的ハッシュ関数をH256(x)として、 以下を求める。
- Hash1:=H256(ID)
- Hash2:=H256(Hash1)
- それらの256bitハッシュ値を秘密鍵とみなす。つまり
- PrivateKey1:=Hash1
- PrivateKey2:=Hash2
- 各プライベートキーから、パブリックキーとアドレスを導出する。つまり
- PublicKey1=PublicKey(PrivateKey1)
- Address1=Address(PublicKey1)
- PublicKey2=PublicKey(PrivateKey2)
- Address2=Address(PublicKey2)
- PublicKey1=PublicKey(PrivateKey1)
- チケットシステム(ゲームシステム)がトランザクションを発行するのに使用する秘密鍵をPrivateKeyS、公開鍵をPublicKeyS、アドレスをAddressSとする。
上記の情報を説明に使います。
販売時
チケット販売時の説明をします。課金ゲームアカウントでは、「アカウント引き継ぎ手続き開始時」にあたります。
まず、チケット販売者もしくは課金ゲーム運営は、SMS認証などを利用して、ユーザーの電話番号を取得します。
そして
CommonKey=f(PrivateKeyS,PublicKey1)=f(PublicKeyS,PrivateKey1)
となるような共通鍵AES暗号CBCモードで、電話番号を暗号化します。暗号化した電話番号をEncrypt(Phone)とします。
そして、Encrypt(Phone)をメッセージとして含むトランザクションTx1を送信します。Tx1の送信者はAddressS、受信者はAddress1です。
わかりやすくいうと…
わかりやすくいうと、チケット(ゲーム)システムは、NEMブロックチェーン上で、 電話番号を暗号化メッセージにしてAddress1に送ります。
転売時
ここに、
- チケット販売者(課金ゲーム運営者)
- 転売者
- 二次購入者
の二人のプレイヤーがいるとします。
転売されると、二次購入者はチケット(ゲームアカウント)IDを知ることができます。
そこで、二次購入者はチケット販売者(課金ゲーム運営者)に対し、「転売で購入したID」を通報します。
通報時
通報されると、運営はIDからPrivateKey1を導出し、f(PublicKeyS,PrivateKey1)を利用することで暗号メッセージを復号して、電話番号を読み取ります。
そして、AddressSはAddress1に対して、0XEM送信のトランザクションを送ります。
加えて、その電話番号に対して然るべき対処をすればよいのです。
簡単なものであれば、その電話番号で二度とチケット購入やアカウント登録ができないようにする(BAN)が考えられます。
ほかにも、利用規約にて、その電話番号の契約者に対する罰金を定めるなどが考えられます。
入場時
チケット入場時の話に移ります。課金ゲームでは、「アカウント引き継ぎ手続きにおいて引き継ぎIDを入力したとき」にあたります。
入場時に、IDを読み取ってAddress2を導出します。
そして、AddressSはAddress2に対して、0XEM送信のトランザクションを送ります。
全体像
あらかじめ、通報した二次購入者には報酬が与えられるとの宣言をしておきます。
この宣言をしておくと、BANされて割に合わなくなると考え、転売者が発生しなくなります。つまり、宣言をしておくと、宣言した状況が現実になるフェーズに突入することは部分ゲームの解ではないことになります。
ゲーム理論でいう、コミットメントです。
1.転売 | 2.通報 | |
する | ① | |
する | しない | ② |
しない | ③ |
ゲームツリーにすると、上記のようになります。
後方機能法で後ろから均衡を求めます。
まず、2.通報するかしないかでは、二次購入者は①を選びます。報酬によってインセンティブがあるためです。通報するかしないかの部分ゲーム解は①、とも言い換えられます。
次に、1.転売するかしないかですが、2.の部分ゲーム解は①なので、①と③の比較をすることになります。
ここで、①となると、電話番号に対して然るべき対処がなされます。
チケット購入や課金ゲームアカウント登録が二度とその電話番号ではできないとなると、個人レベルの転売には十分に、③のほうが①より利得がマシだと考えて③が解になることが考えられます。
プレミア的チケットに組織ぐるみの転売がなされている場合は、電話番号の契約者にしかるべき対処をするなどすることで、①の利得を③よりも小さくすることができます。
(根本的に、プレミア的チケットには電話番号よりも精度の高い個人情報を利用することも考えられます。)
つまり、部分ゲーム完全均衡を③とすることができ、転売を防止することができます。
ブロックチェーンを使う意味
通報済かどうかをAddress1のトランザクション履歴で判別し、入場済かどうかをAddress2のトランザクションで判別します。
ブロックチェーン上に、改ざんが(極めてほぼ)不可能な状態で通報済か入場済かの証拠を持つことができるため、報酬に対するインセンティブ構造が明確化されます。
つまり、運営に対する疑念によってインセンティブ構造が阻害されることを、ブロックチェーンにより防ぎます。これが、ブロックチェーンを使う最大の理由となります。
以上、ブロックチェーンを使ったチケット・課金ゲームアカウント転売防止システム「ちけっとピアツーピア」の解説でした。