本発明の情報処理システム1の全体の処理の一例を図1に,情報処理システム1の処理機能の一例をブロック図で図2に示す。情報処理システム1は,識別子を発行するコンピュータシステムである発行システム3と,識別子を用いてブロックチェーンの処理を実行する管理システム2とを用いる。また,ユーザは,自らが利用するスマートフォンやタブレット型コンピュータなどの可搬型通信端末を含むコンピュータであるユーザ端末4を用いる。ユーザ端末4には,ゲーム機などの特定の用途に特化したコンピュータも含む。
発行システム3は,ユーザに対して識別子を発行するコンピュータシステムである。識別子としては,映画やコンサート,シンポジウムなどのイベントのチケットや,ゲームアカウント等情報などの引き継ぎなどの際に用いられる情報(ゲームアカウント等情報そのものを含む)などがある。発行システム3は,イベントの主催者やゲーム会社など,識別子を発行する者が運営するが,それらから委託を受けた者などであってもよい。
管理システム2は,発行システム3で発行した識別子を用いて,ブロックチェーンの技術を用いてトランザクションをブロックチェーンのネットワークに送るコンピュータシステムである。
ブロックチェーンとは分散型台帳技術である。たとえば,「ビザンチン障害を含む不特定多数のノードを用い,時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコルまたはその実装」や「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち,且つ,当該データをネットワーク上に分散する多数のノードに保持させることで,高可用性及びデータ同一性等を実現する技術」などが該当する。
ブロックチェーンを模式的に示すのが図8である。図8は,ブロックチェーンにおいては,ブロックが連鎖的に(時系列的に)繋がっているデータ構造であることを示している。ブロックには,ブロックチェーンのネットワーク内で発生したトランザクション(取引)の記録と,一つ前に生成したブロックの内容を示すハッシュ関数などの所定の関数による値(ハッシュ値など)と,パラメータ(ノンス)とを含む。なお,これ以外の情報,たとえばメッセージ情報を含んでいてもよい。トランザクションには少なくとも取引内容が含まれており,たとえば「A」というアドレスから「B」というアドレスへの送金(0も含む)の情報が含まれる。ブロックには,複数のトランザクションが含まれており,たとえば数十〜数千程度のトランザクションが含まれる。そして未承認のトランザクションのうち,任意のトランザクションがブロックに含められ,マイニングと呼ばれる作業を行うコンピュータ(ノード)により,所定の条件を充足するノンスが発見されると,そのブロックに含まれるトランザクションが承認される。どの未承認のトランザクションをブロックに含めるかは,マイニング作業を行うコンピュータ(ノード)が手数料などによって,適宜,選択をする。
マイニングとは,ブロックに含まれる情報,図8の場合,ブロックに含まれた複数の未承認のトランザクションと,一つ前のブロックのハッシュ値と,ノンスとに対して,ハッシュ関数などの所定の関数による計算を実行し,その計算結果が,所定条件を充足する値となるようなノンスを探索する作業である。ハッシュ関数としてたとえばSHA256を用いた場合,64桁のハッシュ値が計算されるが,その64桁のうち,たとえば先頭から15桁目までが任意の値,たとえばゼロ(0)となる条件を充足するノンスを探索する。
発行システム3,管理システム2,ユーザ端末4は,コンピュータを用いて実現される。図3にコンピュータのハードウェア構成の一例を模式的に示す。コンピュータは,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,情報を表示するディスプレイなどの表示装置72と,情報の入力が可能なキーボードやマウスなどの入力装置73と,演算装置70の処理結果や記憶装置71に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置74とを有している。
コンピュータがタッチパネルディスプレイを備えている場合には,表示装置72と入力装置73とが一体的に構成されていてもよい。タッチパネルディスプレイは,たとえばタブレット型コンピュータやスマートフォンなどの可搬型通信端末などで利用されることが多いが,それに限定するものではない。
タッチパネルディスプレイは,そのディスプレイ上で,直接,所定の入力デバイス(タッチパネル用のペンなど)や指などによって入力を行える点で,表示装置72と入力装置73の機能が一体化した装置である。
本発明における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していてもよい。本発明の各手段における処理は,その処理順序を適宜変更することもできる。また,処理の一部を省略することもできる。さらに,本発明の各システムにおける処理を他のシステムで実行したり,あるいは複数のコンピュータシステムに分散するなど,適宜,その構成を変更することも可能である。
発行システム3は,発行要求受付処理部30と禁止リスト記憶部31と発行処理部32と発行情報送信処理部33と利用受付処理部34と有効性確認処理部35と制御処理部36と通報受付処理部37とを有する。
発行要求受付処理部30は,ユーザが利用するユーザ端末4から識別子の発行要求を受け付ける。また,ユーザ端末4から,ユーザまたはユーザ端末4を特定するための特定情報の入力を受け付ける。特定情報としては,ユーザの氏名,住所,電話番号,電子メールアドレス,SNSのIDなどの,ユーザの特定につながる任意の属性情報があるが,特定の確度の高さの観点から電話番号であるとよい。発行要求受付処理部30は,当該ユーザから正当な電話番号の入力を受け付けるため,いわゆるSMS認証をおこなうとよい。SMS認証とは,ユーザ端末4から電話番号の入力を受け付けた後,その電話番号に対して,ショートメッセージによって所定の識別情報を送る。そしてユーザ端末4から識別情報の入力を受け付けることで,電話番号の正当性を確認する処理である。なお,特定情報としては,上述の属性情報に限定するものではなく,当該ユーザまたはユーザ端末4の特定につながる情報であればいかなるものでもよい。
禁止リスト記憶部31は,識別子を発行することを禁止するユーザの特定情報のリストである。後述する発行処理部32は,識別子の発行処理の際に,禁止リスト記憶部31に記憶する特定情報と,発行要求受付処理部30で受け付けた特定情報とを照合し,合致する特定情報であれば識別子の発行処理を中止させる。
発行処理部32は,発行要求受付処理部30で受け付けた識別子の発行要求に基づいて,当該ユーザに対して任意の識別子を発行する。ここで発行する識別子は,互いに衝突をしない程度の十分な長さであり,ブロックチェーンのアドレスを導出することに用いることができる程度の長さであることが好ましく,たとえば128ビットや256ビット程度の長さで発行することが一例としてある。識別子の長さは,発行システム3の運営者の要求に応じた長さであれば足り,128ビットより短くてもよく,長さに制限はない。また,発行処理部32は,発行した識別子をユーザ端末4に送る。この際に,発行した識別子そのものを送ってもよいし,識別子を1次元コード,2次元コードなどに変換をし,それを送るように構成してもよいし,両方を送るように構成してもよい。また発行した識別子やコードにアクセス可能なURLを送ってもよい。URLを送った場合には,ユーザは,ユーザ端末4からそのURLにアクセスし,識別子または識別子のコードを取得する。
発行情報送信処理部33は,発行処理部32で発行した識別子と,発行要求受付処理部30で受け付けた特定情報とを管理システム2に送る。
発行済識別子記憶部38は,発行処理部32で発行した識別子を記憶する。また,管理システム2から受け付けた後述の第1のアドレス,第2のアドレスを識別子に対応づけて記憶していてもよい。
利用受付処理部34は,ユーザ端末4に対して発行した識別子の利用を受け付ける。たとえばコード化した識別子の読み取りを受け付ける,識別子の入力を受け付けるなどが該当するが,それらに限定するものではない。
有効性確認処理部35は,利用受付処理部34で受け付けた識別子を管理システム2に送り,管理システム2から当該識別子が有効か否かの判定結果を受け付ける。
制御処理部36は,有効性確認処理部35で受け付けた当該識別子の有効性の判定結果に応じた制御処理を実行する。
すなわち制御処理部36は,識別子が有効であると判定された場合には,有効であることに対応した所定の制御処理を実行する。そして,発行システム3のアドレスまたは後述する管理システム2のアドレスから,当該識別子によって導出されたアドレスに対して所定のトランザクション(たとえば仮想通貨を「0」だけ移転するトランザクション)を送る。そしてこのトランザクションがブロックチェーンで承認されることで,当該識別子を無効化する。識別子が有効であると判定された場合の制御処理としては,たとえば識別子がチケット識別子である場合には「入場可能」に対応する制御処理を実行したり,ゲームアカウント等情報の引き継ぎを行うための制御処理を実行する。
一方,識別子が無効であると判定された場合には,無効であることに対応した所定の制御処理を実行する。識別子が無効であると判定された場合の制御処理としては,たとえば識別子がチケット識別子である場合には「入場不可」に対応する制御処理を実行したり,ゲームアカウント等情報の引き継ぎを行えない場合の制御処理を実行する。
通報受付処理部37は,任意の者,とくに識別子の二次購入者から識別子に対する転売の通報を受け付ける。通報の受付は,発行システム3で発行した識別子を少なくとも受け付ける。通報受付処理部37は,通報で受け付けた識別子を管理システム2に送り,管理システム2において,通報を受け付けた識別子に基づいてブロックチェーンのアドレスを導出させ,当該アドレスに対して所定のトランザクション(たとえば仮想通貨を「0」だけ移転するトランザクション)を送らせる。そしてこのトランザクションがブロックチェーンで承認されることで,通報を受け付けた識別子が無効化される。
通報受付処理部37は,通報者のブロックチェーンのアドレスを受け付けた場合には,通報を受けた識別子に対応づけて,管理システム2に送り,記憶させるとよい。
管理システム2は,発行情報受付処理部20とアドレス処理部21とトランザクション処理部22と有効性判定処理部23と通報処理部24とを有する。
発行情報受付処理部20は,発行システム3の発行処理部32においてユーザに対して発行した識別子と,発行システム3の発行要求受付処理部30で受け付けた特定情報とを発行システム3から受け付ける。
アドレス処理部21は,発行情報受付処理部20で受け付けた識別子に基づいて,ブロックチェーンのアドレスを導出する。導出するブロックチェーンのアドレスとしては,識別子の有効性判定のために用いるアドレス(第1のアドレス)と,一次購入者(転売者)特定のために用いるアドレス(第2のアドレス)とがある。
アドレス処理部21は,第1のアドレスを導出するためにつぎの処理を実行する。まず,アドレス処理部21は,所定のハッシュ関数に,発行情報受付処理部20で受け付けた識別子を引数として代入し,ハッシュ値(第1のハッシュ値)を導出する。そして第1のハッシュ値を引数として,さらにハッシュ関数(上記と同じでもよいし異なるものでもよい)に代入し,ハッシュ値(第2のハッシュ値)を導出する。この第2のハッシュ値を秘密鍵(第1の秘密鍵)とみなし,楕円曲線暗号などの公開鍵暗号方式を用いて公開鍵(第1の公開鍵)を導出する。そして,第1の公開鍵を用いてブロックチェーンで用いるアドレス(第1のアドレス)を導出する。
アドレス処理部21は,導出した第1のアドレスを発行システム3に返し,発行システム3の発行済識別子記憶部38において,発行した識別子に対応づけて第1のアドレスを記憶させてもよい。
アドレス処理部21は,第2のアドレスを導出するためにつぎの処理を実行する。まず,アドレス処理部21は,第1のアドレスを導出するために導出した第1のハッシュ値を秘密鍵とみなし,楕円曲線暗号などの公開鍵暗号方式を用いて公開鍵(第2の公開鍵)を導出する。そして,第2の公開鍵を用いてブロックチェーンで用いるアドレス(第2のアドレス)を導出する。
アドレス処理部21は,導出した第2のアドレスを発行システム3に返し,発行システム3の発行済識別子記憶部38において,発行した識別子に対応づけて第2のアドレスを記憶させてもよい。
公開鍵からブロックチェーンのアドレスを導出するためには,つぎの処理を実行すればよい。まず公開鍵をハッシュ関数SHA256などに代入し,ハッシュ値Aを導出する。そしてハッシュ値Aを,さらに異なるハッシュ関数RIPEMD160などに代入し,ハッシュ値Bを導出する。ハッシュ値Bの先頭にヘッダーとして所定の値,たとえば「00」を付加し,その値をハッシュ関数SHA256に代入することで,ハッシュ値Cを導出する。ハッシュ値Cを,さらにハッシュ関数SHA256に代入することでハッシュ値Dを導出する。そしてハッシュ値Dの先頭4バイトを抽出し,チェックサムブロックとして最後部に追加する(値E)。最後に,値EをBase58のフォーマットでエンコーディングすることで,ブロックチェーンで用いるアドレスが導出できる。
アドレス処理部21における識別子から公開鍵を導出する方法,公開鍵からブロックチェーンで用いるアドレスを導出する方法はこれらに限定されない。好ましくは,識別子から秘密鍵(第1の秘密鍵,第2の秘密鍵)は不可逆的に導出され,秘密鍵(第1の秘密鍵,第2の秘密鍵)から公開鍵(第1の公開鍵,第2の公開鍵)は不可逆的に導出され,公開鍵(第1の公開鍵,第2の公開鍵)からアドレス(第1のアドレス,第2のアドレス)は不可逆的に導出される。
すなわち,アドレス処理部21は,発行した識別子を用いて,ブロックチェーンの2つのアドレスを導出していれば足り,その方法はいかなる方法であってもよい。
トランザクション処理部22は,ブロックチェーンのアドレスに対して,所定のトランザクション,たとえば仮想通貨を「0」だけ移転するトランザクションをブロックチェーンのネットワークに送る。
また,トランザクション処理部22は,発行システム3から受け付けた特定情報を暗号化し,暗号化した特定情報をメッセージとして含み,仮想通貨を「0」だけ移転するトランザクションを,管理システム2のアドレスからアドレス処理部21で導出した第2のアドレスに対して,ブロックチェーンのネットワークに送る。
特定情報の暗号化にはさまざまな方法を用いることができるが,たとえば,発行システム3の運営者ごとに定めた秘密鍵(第3の秘密鍵)と,第2のアドレスの導出の際に用いた第2の公開鍵とを掛け合わせた(用いた)対称鍵を用いて,暗号化する方法がある。発行システム3の運営者ごとの秘密鍵(第3の秘密鍵)はいかなるタイミングで導出されていてもよく,また発行システム3から入力を受け付けてもよい。また発行システム3の運営者ごとの秘密鍵を管理システム2で記憶し,処理の都度に対称鍵を導出するようにしてもよいし,対称鍵を記憶していてもよい。特定情報は,ユーザを特定することにつながる情報があり守秘性が高い。一方,ブロックチェーンではすべてのトランザクションが公開される。この矛盾を解決するため,運営者ごとの秘密鍵を用いることでトランザクションの前後関係による通報の前後関係を特定できるとともに,情報の守秘性を維持することができる。
有効性判定処理部23は,発行システム3から識別子を受け付け,その識別子が有効か否かを判定し,その判定結果を発行システム3に返す。有効性判定処理部23は,発行システム3から受け付けた識別子に基づいて,アドレス処理部21においてブロックチェーンのアドレス(第1のアドレス)を導出させ,ブロックチェーンでその識別子が有効であるかを判定する。識別子が有効であるかは,上記で導出したアドレス(第1のアドレス)に対するトランザクションの有無で判定する。当該アドレスに対して何らのトランザクションも存在しなければその識別子は有効であると判定し,何らかのトランザクションがある場合にはその識別子は無効であると判定する。そして判定結果と第1のアドレスを発行システム3に返す。
通報処理部24は,通報受付処理部37から受け付けた識別子に基づいて,上述のアドレス処理部21において第1のアドレス,第2のアドレスを導出させる。そして導出した第1のアドレスに対するトランザクションをブロックチェーンのネットワークから特定し,当該第1のアドレスに対するトランザクションがない場合には最初の通報であるとする。そして導出した第2のアドレスに対するトランザクションをブロックチェーンのネットワークから特定し,当該トランザクションに含まれる暗号化された特定情報を抽出する。そして暗号化された特定情報を復号化し,その特定情報を発行システム3に送り,禁止リスト記憶部31に追加させる。また第1のアドレスに対して,所定のトランザクション,たとえば仮想通貨を「0」だけ移転するトランザクションをブロックチェーンのネットワークに送ることで,最初の通報であることを確定させる。
暗号化された特定情報の復号化は,たとえば発行システム3の運営者の秘密鍵(第3の秘密鍵)と,第2の公開鍵とを掛け合わせた対称鍵を用いて復号化する方法がある。
上記で特定した第1のアドレスに対するトランザクションがある場合には,最初の通報ではないことの通知を発行システム3に送り,発行システム3からユーザ端末4に対して,最初の通報ではないことの通知を送る。
通報処理部24は,通報者のブロックチェーンのアドレスを受け付けている場合には,通報による報酬を通報者に対して支払う処理を実行してもよい。たとえば,通報者のブロックチェーンのアドレスを受け付けた場合には,管理システム2のアドレスから通報者のブロックチェーンのアドレスに対して,報酬相当の仮想通貨を送金するトランザクションを送る。このトランザクションがブロックチェーンで承認されることで,管理システム2の運営者から通報者に対する報酬の支払いが行える。報酬相当の仮想通貨としては,通報によるトランザクションコスト以上であればよい。トランザクションコストとは,トランザクションがノードにより承認されるにあたり必要となる仮想通貨ベースの手数料である。そして,算出した報酬相当額を発行システム3の運営者に対して請求する。この請求に対して発行システム3の運営者がクレジットカードなど所定の方法で支払を行う。
また通報処理部24は,発行システム3のアドレスから通報者のブロックチェーンのアドレスに対して,報酬相当の仮想通貨を送金するトランザクションを送るようにしてもよい。
なお,発行システム3から管理システム2に対してアクセスし,通報による報酬の支払いを行う要求を送ってもよい。この場合,発行システム3から通報による報酬の支払い要求を管理システム2に送り,これを受けた管理システム2で,通報によって無効化された識別子を特定し,その通報による報酬を算出する。そして算出した報酬相当額を発行システム3の運営者に対して請求する。この請求に対して発行システム3の運営者がクレジットカードなど所定の方法で支払を行う。一方,管理システム2は,通報者のブロックチェーンのアドレスに対して,報酬相当の仮想通貨を送金するトランザクションを送る。このトランザクションがブロックチェーンで承認されることで,通報者に対する報酬の支払いが行える。
つぎに本発明の情報処理システム1の処理プロセスの一例を図4乃至図7のフローチャートを用いて説明する。
まずユーザが識別子を必要とする場合,ユーザ端末4から発行システム3に対して識別子の発行要求が送られ,それを発行システム3の発行要求受付処理部30で受け付ける(S100)。この発行要求を受け付けることで,発行システム3の発行要求受付処理部30は,当該ユーザ端末4に対して,特定情報の入力要求を送る。この入力要求に対して,ユーザ端末4は,特定情報を入力し,それを受け付ける(S110)。
そして,ユーザ端末4から電話番号などの特定情報の入力を受け付け,その特定情報に対して,所定の識別情報をショートメッセージなどの所定の方法で送り,ユーザ端末4から識別情報の入力を受け付けることで当該特定情報の正当性の確認を行う。
特定情報の入力受付後,発行処理部32は,発行要求受付処理部30で受け付けた特定情報を禁止リスト記憶部31に記憶する特定情報と照合し,合致する特定情報であれば識別子の発行処理を中止する。一方,合致する特定情報がなければ,当該ユーザに対して識別子を発行する(S120)。発行した識別子は,必要に応じてコード化してもよい。発行した識別子は,発行済識別子記憶部38に記憶させる。また,発行処理部32は,発行した識別子,コード化した識別子,これらにアクセス可能なURLのいずれか一以上をユーザ端末4に送る(S130)。
発行処理部32が識別子を発行後,発行情報送信処理部33は,発行した識別子と特定情報とを管理システム2に送信し,管理システム2でのブロックチェーンを用いた処理を実行させる(S140)。
すなわち,管理システム2の発行情報受付処理部20で,発行システム3から送られた識別子と特定情報とを受け付けると(S200),アドレス処理部21が,受け付けた識別子に基づいて,ブロックチェーンのアドレス(第1のアドレス)を導出する(S210)。そしてアドレス処理部21は,導出した第1のアドレスを発行システム3に返し,発行システム3の発行済識別子記憶部38に,識別子に対応づけて記憶させる。
また,アドレス処理部21は,受け付けた識別子に基づいて,ブロックチェーンのアドレス(第2のアドレス)を導出する(S220)。そして,トランザクション処理部22は,受け付けた特定情報を暗号化し,暗号化した特定情報をメッセージとして含み,たとえば仮想通貨を「0」だけ移転するトランザクションを,管理システム2のアドレスから第2のアドレスに対して,ブロックチェーンのネットワークに送る(S230)。そして第2のアドレスに対する各トランザクションがブロックチェーンで承認されることで,ブロックチェーンで有効なトランザクションとなる。
つぎにユーザが識別子を利用する場合,発行システム3の利用受付処理部34において識別子の入力を受け付け(S300),有効性確認処理部35が,発行済識別子記憶部38を参照し,受け付けた識別子があるかを確認する。そして識別子があることを確認すると,その識別子を管理システム2に送る。
管理システム2の有効性判定処理部23は,発行システム3から受け付けた識別子に基づいて,アドレス処理部21において第1のアドレスを導出させる(S310)。すなわち,受け付けた識別子を引数として所定のハッシュ関数に代入して第1のハッシュ値を導出する。そして第1のハッシュ値を引数として,さらにハッシュ関数に代入し,第2のハッシュ値を導出する。この第2のハッシュ値を第1の秘密鍵とみなし,公開鍵暗号方式を用いて第1の公開鍵を導出する。そして,第1の公開鍵を用いてブロックチェーンで用いる第1のアドレスを導出する。なお発行済識別子記憶部38に識別子に対応づけて第1のアドレスを記憶している場合には,アドレス処理部21において再度,第1のアドレスを導出せずとも,発行システム3から管理システム2に第1のアドレスを送るようにしてもよい。
有効性判定処理部23はこの第1のアドレスに対するトランザクションの有無をブロックチェーンのネットワークで判定する(S320)。すなわち,第1のアドレスに対して何らのトランザクションが存在しなければ,発行システム3から受け付けた識別子は有効であると判定し,第1のアドレスに対して何らかのトランザクションが存在していれば,発行システム3から受け付けた識別子は無効であると判定する。そして有効性判定処理部23は,判定結果と第1のアドレスを,発行システム3に返す。
管理システム2から識別子の有効性の判定結果と第1のアドレスを受け付けた発行システム3の有効性確認処理部35はその判定結果を制御処理部36に渡す。そして制御処理部36は,識別子が有効であるとの判定結果を受け付けた場合には,識別子を利用可能であるとして,それに対応した所定の制御処理を実行する(S330)。また,第1のアドレスに対して,所定のトランザクション,たとえば仮想通貨を「0」だけ移転するトランザクションを送る。このトランザクションがブロックチェーンで承認されることで,当該識別子が無効化される。
一方,制御処理部36は,識別子が無効であるとの判定結果を受け付けた場合には,識別子を利用不可であるとして,それに対応した所定の制御処理を実行する(S330)。
以上の処理によって,識別子の利用可能,不可能に応じた制御が可能となる。
つぎにユーザが識別子を転売し,それを第三者(二次購入者)が購入したとする。この場合,識別子を知り得る二次購入者から通報が行われることが一般的であるが,何らかの事情で識別子を知った二次購入者以外から通報が行われてもよい。
通報者(二次購入者または第三者)は,所定のフォームから転売の通報を行う。この際に,転売された識別子の入力を行うことで通報を行う。またブロックチェーンのアドレスの入力を受け付けてもよい。発行システム3の通報受付処理部37で識別子の転売の通報を受け付けると(S400),受け付けた識別子と,場合によっては通報者のブロックチェーンのアドレスとを管理システム2に送る。
そして,管理システム2の通報処理部24において通報された識別子と,通報者のブロックチェーンのアドレスとを受け付けると,発行済識別子記憶部38を参照し,受け付けた識別子があるかを確認する。そして識別子があることを確認すると,通報された識別子に対応づけて通報者のブロックチェーンのアドレスを記憶するとともに,アドレス処理部21において,受け付けた識別子に基づいて第1のアドレス,第2のアドレスを導出させる(S410)。なお発行済識別子記憶部38に識別子に対応づけて第1のアドレス,第2のアドレスを記憶している場合には,アドレス処理部21において再度,第1のアドレス,第2のアドレスを導出せずとも,発行システム3から管理システム2に第1のアドレス,第2のアドレスを送るようにしてもよい。
通報処理部24は,第1のアドレスに対するトランザクションをブロックチェーンのネットワークから特定し(S420),当該第1のアドレスに対するトランザクションの有無を判定する(S430)。当該第1のアドレスに対するトランザクションがない場合には最初の通報であるとして,第2のアドレスに対するトランザクションをブロックチェーンのネットワークから特定し,当該トランザクションに含まれる暗号化された特定情報を抽出する。そして暗号化された特定情報を復号化し(S450),その特定情報を発行システム3に送り,禁止リスト記憶部31に追加させる(S460)。また第1のアドレスに対して,所定のトランザクション,たとえば仮想通貨を「0」だけ移転するトランザクションをブロックチェーンのネットワークに送ることで,最初の通報であることを確定させる(S470)。
上記で特定した第1のアドレスに対するトランザクションがある場合には,最初の通報ではないことの通知を発行システム3に送り,発行システム3から通報者に対して,最初の通報ではないことの通知を送る(S440)。
また,通報処理部24は,受け付けた識別子に対する通報者のブロックチェーンのアドレスに対して,管理システム2のアドレスから報酬相当の仮想通貨を送金するトランザクションを送る(S480)。このトランザクションがブロックチェーンで承認されることで,管理システム2の運営者から通報者に対する報酬の支払いが行える。
以上の処理を実行することで,識別子の転売の抑止が簡便に可能となる。また,識別子の転売の通報によって,識別子の転売者であるユーザの特定情報が発行者の禁止リストに追加されるので,次回以降の識別子の購入ができなくなる。また特定情報が電話番号の場合には,身元確認が容易であることから,転売者の特定が容易となり,転売者の摘発にもつながる。これらのため識別子の転売に対する抑止となる。
つぎに本発明の情報処理システム1をチケットに用いた場合を説明する。この場合,識別子はチケットID(チケット識別子)となる。また,特定情報として電話番号を用いる場合を説明する。
本実施例における情報処理システム1の処理機能の一例をブロック図で図9に示す。本実施例における情報処理システム1は,実施例1の情報処理システム1の処理機能に加えて,チケットの販売やイベントの入場の際に用いる処理機能を備えている。
情報処理システム1における発行システム3は,チケット識別子の発行に用いる運営側システム3Aと,イベント会場などに設置されるコンピュータシステムである現場システム3Bとを有する。
運営側システム3Aは,イベント作成処理部39と発行済識別子記憶部38と発行要求受付処理部30と禁止リスト記憶部31と決済処理部40と発行処理部32と発行情報送信処理部33と通報受付処理部37とを有する。
イベント作成処理部39は,映画やコンサート,シンポジウムなどのさまざまなイベントの作成を行う。具体的には,運営側システム3Aの操作担当者が,イベント名(日時ごとにイベントがある場合,それぞれを識別可能にイベント名が設定されている),区分(学生,一般,子供,高齢者,障害者など,イベントにおけるチケットの種別を示す任意の区分),定員(チケット発行枚数の上限)の入力を受け付ける。定員は区分ごとであってもよいし,全体で設定してもよい。イベント作成処理部39は,入力を受け付けたイベントに関する情報を,後述する発行済識別子記憶部38に記憶する。またイベント作成処理部39は,イベントを識別するためのイベント識別情報を割り当て,それに対応づけて上述の情報を発行済識別子記憶部38に記憶させてもよい。イベント名をイベント識別情報として用いることもできる。
発行済識別子記憶部38は,実施例1と同様の処理機能を有しており,イベント(イベント識別情報)ごとに,少なくともチケット識別子,区分を対応づけて記憶する。図10に実施例2における発行済識別子記憶部38の一例を模式的に示す。図10では,チケット識別子,区分のほか,顧客識別情報,座席情報,チケット識別子の有効/無効の状態を示す情報,チケット識別子を無効化したアドレス(ブロックチェーンのアドレス)を対応づけて記憶している。無効化したアドレスとは,当該チケット識別子に基づくアドレスに対するトランザクションを送ったアドレスである。
発行要求受付処理部30は,実施例1と同様の処理機能を有しており,ユーザ端末4からチケット(チケット識別子)の発行要求を受け付ける。チケットの発行要求としては,少なくとも発行するチケットの枚数とそのイベントの識別情報(イベント名など)を含み,ほかに発行するチケットの区分,座席情報,顧客識別情報を受け付けてもよい。座席情報とは指定席のあるイベントの場合における座席などを示す情報であり,顧客識別情報とはイベント主催者がチケットの購入者であるユーザを管理するために用いる任意の識別情報である。発行要求受付処理部30は,チケットの発行要求で受け付けた枚数がイベントの定員に達していないか,あるいは重複した座席情報がないかを判定し,それらに該当すればエラーをユーザ端末4に返す。該当しない場合には,決済処理部40または発行処理部32による処理を実行する。
禁止リスト記憶部31は,実施例1と同様の処理機能を有しており,チケットを発行することを禁止するユーザまたはユーザ端末4の電話番号のリストである。
決済処理部40は,チケットの購入が行える場合,発行要求受付処理部30で受け付けたチケットの発行要求に基づいて,決済処理を行う。この決済処理は,通常のチケット販売などと同様に,クレジットカード決済などの任意の決済手段を用いて行える。
発行処理部32は,実施例1と同様の処理機能を有しており,発行要求受付処理部30で受け付けたチケットの発行要求に基づいて,禁止リスト記憶部31に記憶する電話番号と照合し,合致する電話番号がなければ当該ユーザに対して任意のチケット識別子を発行する。合致する電話番号がある場合にはチケット識別子の発行処理を中止する。発行したチケット識別子は,発行済識別子記憶部38に記憶させる。また,発行処理部32は,発行したチケット識別子に対応づけて,発行したチケットの区分,座席情報,顧客識別情報などを発行済識別子記憶部38に記憶させるとよい。発行処理部32は,発行した識別子をユーザ端末4に送る。この際に,発行したチケット識別子そのものを送ってもよいし,チケット識別子を1次元コード,2次元コードなどに変換をし,それを送るように構成してもよいし,両方を送るように構成してもよい。また発行したチケット識別子やコードにアクセス可能なURLを送ってもよい。URLを送った場合には,ユーザは,ユーザ端末4からそのURLにアクセスし,チケット識別子またはチケット識別子のコードを取得する。コード化したチケット識別子の一例を図11に示す。
発行処理部32がユーザに対して送る通知の一例を図12に示す。図12では,チケット識別子とチケット識別子のコードの双方をユーザに送る場合を示したが,識別子のみ,識別子のコードのみを購入者に送るようにしてもよい。
発行情報送信処理部33は,実施例1と同様の処理機能を有しており,発行処理部32で発行した識別子と,発行要求受付処理部30で受け付けた特定情報とを少なくとも管理システム2に送る。
通報受付処理部37は,実施例1と同様の処理機能を有しており,通報者,たとえば識別子の二次購入者から識別子に対する転売の通報を受け付ける。
現場システム3Bは,イベント会場などに設置されたコンピュータシステムであって,イベント会場の担当者が操作するコンピュータや,自動改札システムなどが該当する。現場システム3Bは,利用受付処理部34と有効性確認処理部35と制御処理部36とを有する。
利用受付処理部34は,実施例1と同様の処理機能を有しており,イベントへの入場の際にユーザが提示するコードを,所定のコード読取装置で読み取って,読み取ったチケット識別子を受け付ける。たとえばコードが2次元コードの場合には,ユーザ端末4の表示装置72に表示された2次元コードを,コード読取装置で読み取った情報を受け付ける。そして読み取ったコードをチケット識別子に変換する。
有効性確認処理部35は,実施例1と同様の処理機能であって,利用受付処理部34で受け付けたチケット識別子が存在するかを,運営側システム3Aにおける発行済識別子記憶部38を参照して確認する。また,チケット識別子が存在することを確認後,利用受付処理部34で読み取ったチケット識別子を管理システム2に送り,管理システム2から当該チケット識別子が有効か否かの判定結果を受け付ける。
制御処理部36は,実施例1と同様の処理機能であって,有効性確認処理部35で受け付けた当該チケット識別子の有効性の判定結果に応じた制御処理を実行する。たとえばチケット識別子が有効であると判定された場合には,現場システム3Bにおける表示装置72に対して「入場可」と表示をしたり,自動改札システムの場合にはゲートを開放し購入者がゲートを通過可能とする。また,制御処理部36は,現場システム3Bのアドレスまたは後述する管理システム2のアドレスから,当該チケット識別子によって導出されたアドレスに対して所定のトランザクション(たとえば仮想通貨を「0」だけ移転するトランザクション)を送る。そしてこのトランザクションがブロックチェーンで承認されることで,当該チケット識別子を無効化する。
一方,有効性判定処理部23で当該識別子が無効であると判定された場合には,現場システム3Bの表示装置72に対して「入場不可」と表示をしたり,自動改札システムの場合にはゲートを閉鎖し購入者がゲートを通過不可とする。また,場合によっては,警告音の出力や警告表示などを行ってもよい。
管理システム2は実施例1と同様の処理機能を有しており,発行情報受付処理部20とアドレス処理部21とトランザクション処理部22と有効性判定処理部23と通報処理部24とを有する。
発行情報受付処理部20は実施例1と同様の処理機能を有しており,発行システム3の発行処理部32においてユーザに対して発行したチケット識別子と,発行システム3の発行要求受付処理部30で受け付けた電話番号とを発行システム3から受け付ける。
アドレス処理部21は実施例1と同様の処理機能を有しており,発行情報受付処理部20で受け付けたチケット識別子に基づいて,ブロックチェーンのアドレス(第1のアドレス,第2のアドレス)を導出する。第1のアドレス,第2のアドレスを導出する方法は,実施例1と同様に行える。
トランザクション処理部22は実施例1と同様の処理機能を有しており,ブロックチェーンのアドレスに対して,所定のトランザクション,たとえば仮想通貨を「0」だけ移転するトランザクションをブロックチェーンのネットワークに送る。また,トランザクション処理部22は,発行システム3から受け付けた電話番号を暗号化し,暗号化した電話番号をメッセージとして含み,仮想通貨を「0」だけ移転するトランザクションを,管理システム2のアドレスからアドレス処理部21で導出した第2のアドレスに対して,ブロックチェーンのネットワークに送る。
有効性判定処理部23は実施例1と同様の処理機能を有しており,発行システム3からチケット識別子を受け付け,そのチケット識別子が有効か否かを判定し,その判定結果を発行システム3の運営側システム3Aおよび現場システム3Bに返す。運営側システム3Aに判定結果を返すことで,発行済識別子記憶部38に,そのチケット識別子の有効/無効の状態を更新する。
通報処理部24は実施例1と同様の処理機能を有しており,通報受付処理部37から受け付けたチケット識別子に基づいて,通報処理を実行する。また,通報受付処理部37から受け付けた通報者のブロックチェーンのアドレスを,発行済識別子記憶部38に,当該通報したチケット識別子に対応づけて記憶させる。
つぎに本実施例における情報処理システム1の処理プロセスの一例を図13乃至図17のフローチャートを用いて説明する。
まずイベントを作成する処理を説明する。
イベントの主催者は,発行システム3で所定の操作をすることで,イベント名,区分,定員などのイベントに関する情報を入力すると,その入力をイベント作成処理部39で受け付け,イベント作成処理部39は,発行済識別子記憶部38にそれらの記憶領域を確保する(S500,S510)。
この際に,イベントの主催者から管理システム2の運営者に対して,定員(チケットの発行上限)に応じた手数料が支払われてもよい。
以上のようにイベントの作成処理を行った後,チケットの販売が開始される。
チケットの購入者であるユーザはユーザ端末4で所定の操作をし,チケットを購入する要求(チケット識別子の発行要求)を送る。この要求を発行要求受付処理部30で受け付けると(S600),発行要求受付処理部30は,当該ユーザ端末4に対して,電話番号の入力要求を送り,ユーザ端末4から電話番号の入力を受け付ける。この電話番号に対して,所定の識別情報をショートメッセージによって送り,ユーザ端末4から識別情報の入力を受け付けることで,電話番号の正当性の確認を行う(S610)。
そして発行要求受付処理部30は,ユーザ端末4から,イベント名,日時,チケットの区分,枚数などの情報とチケットの購入要求を受け付ける(S620)。
発行処理部32は,チケットの枚数と定員とを比較し,定員を超過していないかを判定する(S630)。もし定員を超過していることを判定した場合には,ユーザ端末4に対して,その旨の通知する(S640)。この際に,ユーザが選択した座席情報が重複していないかを,発行済識別子記憶部38を参照してチェックしてもよい。重複していることを判定した場合には,エラーなどの所定の通知をユーザ端末4に送る。また,発行システム3で設定されている区分ごとの定員を超過していないかを判定してもよい。区分ごとの定員を超過していることを判定した場合には,同様に,エラーなどの所定の通知をユーザ端末4に送る。
一方,定員を超過などしておらず,正常にチケットの発行が可能であるかを判定した場合には,SMS認証で受け付けた電話番号を禁止リストに記憶する電話番号と照合し,合致する電話番号であるか否かの判定を行う。すなわち,合致する電話番号であればチケット識別子の発行処理を中止する。一方,合致する電話番号がなければ,チケットの発行が可能なので,発行処理部32は,当該ユーザに対するチケット識別子を発行する(S650)。また,発行処理部32は,発行したチケット識別子をコード化する(S660)。
そして,発行処理部32は,発行したチケット識別子を,発行済識別子記憶部38に,発行要求受付処理部30で受け付けた顧客識別情報,区分,座席情報などに対応づけて記憶させる。また,発行済識別子記憶部38の当該チケット識別子の状態を「有効」として記憶させる。この状態の発行済識別子記憶部38の一例が図18である。
これらの処理と並行して,決済処理部40において,通常のチケット販売など同様に,クレジットカード決済などの決済処理を実行する(S670)。
決済処理部40において決済処理が正常に完了後,発行処理部32は,発行処理部32で発行したチケット識別子,チケット識別子のコード,またはチケット識別子のコードにアクセス可能なURLなどを含む情報をユーザ端末4に送る(S680)。図12がユーザに対して送る通知の一例である。
発行処理部32がチケット識別子を発行後,発行情報送信処理部33は,発行したチケット識別子と電話番号とを管理システム2に送信し,管理システム2でのブロックチェーンを用いた処理を実行させる(S690)。
すなわち,管理システム2の発行情報受付処理部20で,発行システム3から送られたチケット識別子と電話番号とを受け付けると(S700),アドレス処理部21が,受け付けたチケット識別子に基づいて,ブロックチェーンのアドレス(第1のアドレス)を導出する(S710)。第1のアドレスは,発行システム3に返し,発行済識別子記憶部38において,チケット識別子に対応づけて記憶させてもよい。
また,アドレス処理部21は,受け付けたチケット識別子に基づいて,ブロックチェーンのアドレス(第2のアドレス)を導出する(S720)。そして,トランザクション処理部22は,受け付けた電話番号を暗号化し,暗号化した電話番号をメッセージとして含み,仮想通貨を「0」だけ移転するトランザクションを,管理システム2のアドレスから第2のアドレスに対して,ブロックチェーンのネットワークに送る(S730)。第2のアドレスに対する各トランザクションがブロックチェーンで承認されることで,ブロックチェーンで有効なトランザクションとなる。第2のアドレスは,発行システム3に返し,発行済識別子記憶部38において,チケット識別子に対応づけて記憶させてもよい。
以上の処理が実行されることで,チケットの発行処理が行える。
つぎにチケットの購入者であるユーザがチケットにより入場する場合の処理を図16のフローチャートを用いて説明する。
ユーザは,イベントの会場に入場する際に,現場システム3Bの担当者または自動改札システムに対して,コード化されたチケット識別子を提示する(S800)。そして現場システム3Bの担当者はコード読取装置で提示されたコードを読み取る。また自動改札システムの場合には,提示されたコードをコード読取装置で読み取る(S810)。そして読み取ったコードを利用受付処理部34が受け付け,コードからチケット識別子に変換する(S820)。
正常にチケット識別子に変換すると,現場システム3Bの有効性確認処理部35は,運営側システム3Aの発行済識別子記憶部38を参照し,当該変換したチケット識別子が存在するかを確認する。この確認により,発行システム3で発行したチケット識別子であるかを確認できる。
発行済識別子記憶部38に変換したチケット識別子が存在した場合,有効性確認処理部35は,当該チケット識別子を管理システム2に送る。
管理システム2の有効性判定処理部23は,発行システム3から受け付けたチケット識別子に基づいて,アドレス処理部21において第1のアドレスを導出させ(S830),第1のアドレスに対するトランザクションの有無をブロックチェーンのネットワークで判定する(S840)。有効性判定処理部23は,判定結果と第1のアドレスを発行システム3に返す。なお発行済識別子記憶部38にチケット識別子に対応づけて第1のアドレスを記憶している場合には,アドレス処理部21において再度,第1のアドレスを導出せずとも,発行システム3から管理システム2に第1のアドレスを送るようにしてもよい。この場合,判定結果のみを発行システム3に返せばよい。
発行システム3の有効性確認処理部35は判定結果と第1のアドレスを制御処理部36に渡す。そして制御処理部36は,チケット識別子が有効であるとの判定結果を受け付けた場合には,チケット識別子を利用可能であるとして(S850,S860),制御処理部36は,「有効」に対応する所定の制御処理,たとえばチケットの改札場所にいる担当者が視認するコンピュータの表示装置72に対して「入場可」と表示をしたり,自動改札システムの場合にはゲートを開放しユーザがゲートを通過可能とする(S880)。そして,制御処理部36は,現場システム3Bのブロックチェーンのアドレスから,当該チケット識別子に基づく第1のアドレスに対して所定のトランザクション(たとえば仮想通貨を「0」だけ移転するトランザクション)を送る。そしてこのトランザクションがブロックチェーンで承認されることで,当該チケット識別子が無効化される。また,制御処理部36は,発行システム3の発行済識別子記憶部38において,当該チケット識別子に対応する「有効」の情報を「無効」に変更する。この状態の発行済識別子記憶部38の一例を図19に示す。図19では,チケット識別子「NZZZZZ」のユーザが正常に入場をした場合を示している。この場合,「NBBBBBB」は現場システム3Bのブロックチェーンのアドレスである。
一方,制御処理部36は,チケット識別子が無効であるとの判定結果を受け付けた場合には,チケット識別子を利用不可であるとして(S850,S870),制御処理部36は,「無効」に対応する所定の制御処理,たとえばチケットの改札場所にいる担当者が視認するコンピュータの表示装置72に対して「入場不可」と表示をしたり,自動改札システムの場合にはゲートを閉鎖しユーザがゲートを通過不可とする。
以上のような処理を実行することで,イベントへの入場の可否を判定できる。
つぎにチケットの一次購入者であるユーザがチケットの転売をし,二次購入者を含む第三者がその通報をした場合を説明する。
ユーザがチケットの転売をした場合,そのチケットの存在を示すために,チケット識別子またはそのコードをチケットの転売サイト上で表示を行う場合がある。あるいは,転売されたチケットの二次購入者は,チケット識別子またはそのコードを知り得る。その場合,それを視認した者(通報者)は,所定のフォームで,チケット識別子またはコードの入力をして転売の通報を行う。この際に,通報者のブロックチェーンのアドレスの入力を受け付けてもよい。発行システム3の通報受付処理部37でチケット識別子の転売の通報を受け付けると(S900),受け付けたチケット識別子またはコードから変換したチケット識別子と,場合によっては通報者のブロックチェーンのアドレスとを管理システム2に送る。
通報受付処理部37は,通報者のブロックチェーンのアドレスを受け付けた場合には,通報を受けたチケット識別子に対応づけて,通報者のブロックチェーンのアドレスを,発行済識別子記憶部38に記憶させる。図20に,チケット識別子「NXXXXXX」に対する通報を,ブロックチェーンのアドレス「NAAAAAA」から受け付けた場合の発行済識別子記憶部38の一例を示す。
そして,管理システム2の通報処理部24で通報されたチケット識別子と,通報者のブロックチェーンのアドレスとを受け付けると,それらを対応づけて記憶するとともに,アドレス処理部21において,受け付けたチケット識別子に基づいて第1のアドレス,第2のアドレスを導出させる(S910)。なお発行済識別子記憶部38にチケット識別子に対応づけて第1のアドレス,第2のアドレスを記憶している場合には,アドレス処理部21において再度,第1のアドレス,第2のアドレスを導出せずとも,発行システム3から管理システム2に第1のアドレス,第2のアドレスを送るようにしてもよい。
そして通報処理部24は,第1のアドレスに対するトランザクションをブロックチェーンのネットワークから特定し(S920),当該第1のアドレスに対するトランザクションの有無を判定する(S930)。当該第1のアドレスに対するトランザクションがない場合には最初の通報であるとして,第2のアドレスに対するトランザクションをブロックチェーンのネットワークから特定し,そのトランザクションに含まれる暗号化された電話番号を抽出する。そして暗号化された電話番号を復号化し(S950),その電話番号を発行システム3に送り,禁止リスト記憶部31に追加させる(S960)。また第1のアドレスに対して,所定のトランザクション,たとえば仮想通貨を「0」だけ移転するトランザクションをブロックチェーンのネットワークに送ることで,最初の通報であることを確定させる(S970)。
上記で特定した第1のアドレスに対するトランザクションがある場合には,最初の通報ではないことの通知を発行システム3に送り,発行システム3から通報者に対して,最初の通報ではないことの通知を送る(S940)。
また,通報処理部24は,受け付けたチケット識別子に対する通報者のブロックチェーンのアドレスに対して,管理システム2のアドレスから報酬相当の仮想通貨を送金するトランザクションを送る(S980)。このトランザクションがブロックチェーンで承認されることで,管理システム2の運営者から通報者に対する報酬の支払いが行える。
なお,発行システム3から通報の報酬の支払いを行う場合には,発行済識別子記憶部38に記憶した通報者のブロックチェーンのアドレスを参照し,発行システム3のアドレスから当該アドレスに対して,報酬相当の仮想通貨を送金するトランザクションを送ればよい。
以上の処理を実行することで,チケットの転売を簡便に抑止できる。また,転売の通報によって,チケット識別子の転売者であるユーザの電話番号が発行者の禁止リストに追加されるので,次回以降のチケットの購入ができなくなる。また転売者の電話番号により身元確認が容易に行えるので,転売者の摘発にもつながる。
つぎに本発明の情報処理システム1をゲームに用いた場合を説明する。この場合,識別子はゲームアカウント等情報を引き継ぐための識別子(ゲーム用識別子)となる。また,実施例2と同様に,特定情報として電話番号を用いる場合を説明する。
本実施例における情報処理システム1の処理機能は図1と同様である。本実施例において発行システム3はゲームの運営会社が用いる。発行システム3はゲームの運営会社がゲームをユーザに対して提供するためのゲームサーバと連携している。またユーザ端末4としては,ゲーム機なども含まれる。
つぎに本実施例における情報処理システム1の処理プロセスの一例を図21乃至図24のフローチャートを用いて説明する。
まずゲームを行っているユーザがゲームアカウントの引き継ぎなどの事由からゲーム用識別子を必要とする場合,ゲーム機であるユーザ端末4からゲームサーバなどに対してゲーム用識別子の発行要求が送られる。そしてゲームサーバから発行システム3に対してゲーム用識別子の発行要求が送られ,それを発行システム3の発行要求受付処理部30で受け付ける(S900)。この発行要求を受け付けることで,発行システム3の発行要求受付処理部30は,当該ユーザ端末4に対して,電話番号の入力要求を送る。この入力要求に対して,ユーザ端末4で電話番号を入力し,その入力を受け付ける。
そして,受け付けた電話番号に対して,所定の識別情報をショートメッセージなどの所定の方法で送り,ユーザ端末4から識別情報の入力を受け付けることで当該電話番号の正当性の確認を行う(S910)。
電話番号の入力受付後,発行処理部32は,発行要求受付処理部30で受け付けた電話番号を禁止リスト記憶部31に記憶する電話番号と照合し,合致する電話番号であればゲーム用識別子の発行処理を中止する。一方,合致する電話番号がなければ,当該ユーザに対してゲーム用識別子を発行する(S920)。発行したゲーム用識別子は,必要に応じてコード化してもよい。発行した識別子は,発行済識別子記憶部38に記憶させる。また,発行処理部32は,発行した識別子,コード化した識別子,これらにアクセス可能なURLをユーザ端末4に送る(S930)。
発行処理部32がゲーム用識別子を発行後,発行情報送信処理部33は,発行したゲーム用識別子と電話番号とを管理システム2に送信し,管理システム2でのブロックチェーンを用いた処理を実行させる(S940)。
すなわち,管理システム2の発行情報受付処理部20で,発行システム3から送られたゲーム用識別子と電話番号とを受け付けると(S1000),アドレス処理部21が,受け付けたゲーム用識別子に基づいて,ブロックチェーンのアドレス(第1のアドレス)を導出する(S1010)。第1のアドレスは,発行システム3に返し,発行済識別子記憶部38において,ゲーム用識別子に対応づけて記憶させてもよい。
また,アドレス処理部21は,受け付けたゲーム用識別子に基づいて,ブロックチェーンのアドレス(第2のアドレス)を導出する(S1020)。そして,トランザクション処理部22は,受け付けた電話番号を暗号化し,暗号化した電話番号をメッセージとして含み,仮想通貨を「0」だけ移転するトランザクションを,管理システム2のアドレスから第2のアドレスに対して,ブロックチェーンのネットワークに送る(S1030)。
そして第2のアドレスに対する各トランザクションがブロックチェーンで承認されることで,ブロックチェーンで有効なトランザクションとなる。
つぎにユーザがゲーム用識別子を利用する場合,発行システム3の利用受付処理部34においてゲーム用識別子の入力を受け付け(S1100),有効性確認処理部35が,発行済識別子記憶部38を参照し,受け付けたゲーム用識別子があるかを確認する。そしてゲーム用識別子があることを確認すると,そのゲーム用識別子を管理システム2に送る。
管理システム2の有効性判定処理部23は,発行システム3から受け付けたゲーム用識別子に基づいて,アドレス処理部21において第1のアドレスを導出させる(S1110)。なお発行済識別子記憶部38にゲーム用識別子に対応づけて第1のアドレスを記憶している場合には,アドレス処理部21において再度,第1のアドレスを導出せずとも,発行システム3から管理システム2に第1のアドレスを送るようにしてもよい。
そして,この第1のアドレスに対するトランザクションの有無をブロックチェーンのネットワークで判定する(S1120)。そして有効性判定処理部23は,判定結果と第1のアドレスとを発行システム3に返す。
発行システム3の有効性確認処理部35はその判定結果と第1のアドレスとを制御処理部36に渡し,制御処理部36は,ゲーム用識別子が有効であるとの判定結果を受け付けた場合には,ゲーム用識別子を利用可能であるとして(S1130,S1140),制御処理部36は,「有効」に対応する所定の制御処理,たとえばゲーム用のアカウントの移転,アイテムの移転等を許可する指示を,ゲームサーバに送り,指示に応じた制御を実行させる(S1160)。そして,制御処理部36は,発行システム3のブロックチェーンのアドレスから,当該ゲーム用識別子に基づく第1のアドレスに対して所定のトランザクション(たとえば仮想通貨を「0」だけ移転するトランザクション)を送る。そしてこのトランザクションがブロックチェーンで承認されることで,当該ゲーム用識別子が無効化される。
一方,制御処理部36は,ゲーム用識別子が無効であるとの判定結果を受け付けた場合には,ゲーム用識別子を利用不可であるとして,制御処理部36は,「無効」に対応する所定の制御処理,たとえばエラーメッセージを表示する指示を,ゲームサーバに送り,指示に応じた制御を実行させる(S1150)。
以上の処理によって,ゲーム用識別子の利用可能,不可能の制御が可能となる。
つぎにユーザがゲーム用識別子を売買し,その売買行為を,購入者を含む第三者が通報をした場合を説明する。
ユーザがゲーム用識別子の売買をする場合,その存在を示すために,ゲーム用識別子またはそのコードをゲーム用の売買サイト上で表示を行う場合がある。あるいは,販売されたゲーム用識別子の購入者は,ゲーム用識別子またはそのコードを知り得る。その場合,それを視認した者(通報者)は,所定のフォームでゲーム用識別子またはコードの入力をして売買の通報を行う。この際に,通報者のブロックチェーンのアドレスの入力を受け付けてもよい。発行システム3の通報受付処理部37でゲーム用識別子の売買の通報を受け付けると(S1200),受け付けたゲーム用識別子またはコードから変換したゲーム用識別子と,場合によっては通報者のブロックチェーンのアドレスとを管理システム2に送る。
そして,管理システム2の通報処理部24で通報されたゲーム用識別子と,通報者のブロックチェーンのアドレスとを受け付けると,それらを対応づけて記憶するとともに,アドレス処理部21において,受け付けたゲーム用識別子に基づいて第1のアドレス,第2のアドレスを導出させる(S1210)。なお発行済識別子記憶部38にゲーム用識別子に対応づけて第1のアドレス,第2のアドレスを記憶している場合には,アドレス処理部21において再度,第1のアドレス,第2のアドレスを導出せずとも,発行システム3から管理システム2に第1のアドレス,第2のアドレスを送るようにしてもよい。
そして通報処理部24は,第1のアドレスに対するトランザクションをブロックチェーンのネットワークから特定し(S1220),当該第1のアドレスに対するトランザクションの有無を判定する(S1230)。当該第1のアドレスに対するトランザクションがない場合には最初の通報であるとして,第2のアドレスに対するトランザクションをブロックチェーンのネットワークから特定して,そのトランザクションに含まれる暗号化された電話番号を抽出する。そして暗号化された電話番号を復号化し(S1250),その電話番号を発行システム3に送り,禁止リスト記憶部31に追加させる(S1260)。また第1のアドレスに対して,所定のトランザクション,たとえば仮想通貨を「0」だけ移転するトランザクションをブロックチェーンのネットワークに送ることで,最初の通報であることを確定させる(S1270)。
上記で特定した第1のアドレスに対するほかのトランザクションがある場合には,最初の通報ではないことの通知を発行システム3に送り,発行システム3から通報者に対して,最初の通報ではないことの通知を送る(S1240)。
また,通報処理部24は,受け付けたゲーム用識別子に対する通報者のブロックチェーンのアドレスに対して,管理システム2のアドレスから報酬相当の仮想通貨を送金するトランザクションを送る(S1280)。このトランザクションがブロックチェーンで承認されることで,管理システム2の運営者から通報者に対する報酬の支払いが行える。
以上の処理を実行することで,売買の通報によって,ゲーム用識別子の販売者であるユーザの電話番号が発行者の禁止リストに追加されるので,次回以降のゲーム用識別子の発行要求ができなくなる。また販売者の電話番号により身元確認が容易に行えるので,販売者の摘発にもつながる。
上述の各実施例では,識別子から導出された第1のアドレスに対して何らかのトランザクションがあるか(当該識別子が有効であるか)を,識別子の入力を受け付けたあとにブロックチェーンで判定をしていたが,定期的にまたは不定期に任意のタイミングでブロックチェーンで判定をしておき,それを管理システム2または発行システム3に記憶させておき,その有効,無効の情報によって当該識別子の有効性の判定を行うように構成してもよい。
この場合,発行システム3では発行した識別子を記憶しておき,それを管理システム2に送り,管理システム2の有効性判定処理部23が,発行システム3から受け付けた識別子に基づいて第1のアドレスを導出することで,当該第1のアドレスに対するトランザクションの有無を,定期的にまたは不定期にブロックチェーンで判定をする。そして,管理システム2は発行システム3に返す。発行システム3では判定結果を,識別子に対応づけて記憶させておく。
このように事前に識別子の有効/無効を記憶させておくことによって,識別子の利用を受け付けた場合に,ブロックチェーンで判定をせずに,上記の対応づけを参照すれば同様の目的を達することができる。
上述の各実施例では,識別子としてイベントのチケット,ゲームアカウント等情報の場合を説明したが,たとえば電車やバスの乗車券,飛行機や船舶などの搭乗券にも適用することができる。とくに本人以外の者が利用することを制約したい場合の識別子に対して有効である。
また,本発明における識別子を,何らかのサービス(割引や宿泊など各種のサービス)を享受可能なクーポンとして用いることもできる。この場合には,当該クーポンの転売を同様に抑止することができる。この場合,実施例2における「イベントの主催者」は「店舗などのクーポンの発行者」,「イベント」は「商品および/またはサービス」と読み替えればよい。
さらに上述の各実施例でブロックチェーンのネットワークに送るトランザクションは,各実施例における記載にとどまらず,異なるシステムから送るようにその処理機能の配置や処理の順番を適宜変更することもできる。