(57)【要約】【課題】所定の対価を支払った場合にトークンを入手できる権利を付与することが可能な技術を提供すること。【解決手段】分散コンピューティングネットワークに参加するコンピュータに、第１トークンを第２トークンに交換するために必要なコインの数量を算出するための交換レートを取得する取得ステップと、第１アドレスから第２アドレスに数量Ｎの第１トークンが送信されたことと、第１アドレスから第２アドレスに数量Ｍのコインが送信されたこととの送信確認を行う確認ステップと、送信確認が行われた場合に、交換レートと、コインの数量Ｍと、第１トークンの数量Ｎとに基づいて、第１アドレスに送信可能な第２トークンの数量を算出し、算出した数量の第２トークンを第１アドレスに送信する送信ステップと、を実行させるためのプログラムを提供する。【選択図】図１０
2020087102.tif 000002
【特許請求の範囲】
【請求項１】
分散コンピューティングネットワークに参加するコンピュータに、
第１トークンを第２トークンに交換するために必要なコインの数量を算出するための交換レートを取得する取得ステップと、
第１アドレスから第２アドレスに数量Ｎの前記第１トークンが送信されたことと、前記第１アドレスから前記第２アドレスに数量Ｍの前記コインが送信されたこととの送信確認を行う確認ステップと、
前記送信確認が行われた場合に、前記交換レートと、前記コインの数量Ｍと、前記第１トークンの数量Ｎとに基づいて、前記第１アドレスに送信可能な前記第２トークンの数量を算出し、算出した数量の前記第２トークンを前記第１アドレスに送信する送信ステップと、
を実行させるためのプログラム。
【請求項２】
前記送信ステップは、前記交換レートを用いて、前記数量Ｎの前記第１トークンを前記第２トークンに交換するために必要な前記コインの数量を算出し、
算出した前記コインの数量が前記数量Ｍと同一又は前記数量Ｍ以下である場合に、前記第１トークンと前記第２トークンとの交換比率に基づいて算出される、前記数量Ｎの前記第１トークンに対応する枚数の前記第２トークンを前記第１アドレスに送信する、
請求項１に記載のプログラム。
【請求項３】
前記送信ステップは、算出した前記コインの数量が前記数量Ｍを超える場合に、前記第１トークンと前記第２トークンとの交換比率に基づいて算出される、前記数量Ｍの基軸コインにて交換可能な上限の枚数の第２トークンを前記第１アドレスに送信する、
請求項１又は２に記載のプログラム。
【請求項４】
前記交換レートは、所定通貨と前記第２トークンとを交換する際のレートを示す第１交換レートと、前記所定通貨と前記コインとを交換する際のレートを示す第２交換レートと、を含み、
前記送信ステップは、
前記第１交換レートに基づいて、前記数量Ｎの前記第２トークンを得るために必要な前記所定通貨の額を算出し、更に、
前記第２交換レートに基づいて、前記算出した額の前記所定通貨から交換可能な前記コインの数量を算出し、
算出した前記コインの数量を、前記数量Ｎの前記第１トークンを前記第２トークンに交換するために必要な前記コインの数量とする、
請求項２又は３に記載のプログラム。
【請求項５】
前記第１交換レートは、更新不可である状態で記憶され、
前記第２交換レートの更新を受け付けた場合に、前記第２交換レートを、受け付けた交換レートに更新する更新ステップ、を更に有する。
請求項４に記載のプログラム。
【請求項６】
前記確認ステップは、前記送信確認として、前記第１トークンが前記第１アドレスから前記第２アドレス向けに前記数量Ｎ送信されたことの通知と、前記コインが前記第１アドレスから前記第２アドレス向けに前記数量Ｍ送信されたことの通知とを受けた場合に、前記第１トークンが前記第１アドレスから前記第２アドレスに前記数量Ｎ送信されたことの承認がなされていることと、前記コインが前記第１アドレスから前記第２アドレスに前記数量Ｍ送信されたことの承認がなされていることと、を確認する、
請求項１乃至５のいずれか一項に記載のプログラム。
【請求項７】
前記分散コンピューティングネットワークは、ブロックチェーンネットワークであり、
前記コンピュータは、前記ブロックチェーンネットワークに参加するコンピュータである、
請求項１乃至６のいずれか一項に記載のプログラム。
【請求項８】
第１トークンを第２トークンに交換するために必要なコインの数量を算出するための交換レートをユーザから受け付ける受付部と、
前記受付部により受け付けた前記交換レートを含む、分散コンピューティングネットワークに参加するコンピュータに実行させるプログラムを生成する生成部と、
を有し、
前記プログラムは、更に、
第１アドレスから第２アドレスに数量Ｎの前記第１トークンが送信されたことと、前記第１アドレスから前記第２アドレスに数量Ｍの前記コインが送信されたこととの送信確認を行う確認ステップと、
前記送信確認が行われた場合に、前記交換レートと、前記コインの数量Ｍと、前記第１トークンの数量Ｎとに基づいて、前記第１アドレスに送信可能な前記第２トークンの数量を算出し、算出した数量の前記第２トークンを前記第１アドレスに送信する送信ステップと、
を含む、生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及び生成装置に関する。
【背景技術】
【０００２】
現在、資金調達手段の１つであるＩＣＯ（Initial coin offering）が広く行われている（例えば非特許文献１参照）。ＩＣＯでは、ＩＣＯ実施者（資金調達者）が、独自のトークン（仮想通貨）を発行し、法定通貨や他の仮想通貨と引き換えに当該独自のトークンを投資家等に配布することで資金調達を行う手段である。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】"Initial coin offering"，［online］，［平成30 年11 月28 日検索］，インターネット＜URL：https://en.wikipedia.org/wiki/Initial＿coin＿offering＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＩＣＯに参加する投資家は、ＩＣＯ時の公募価格を上回る価格でトークンを売却することで得られるキャピタルゲインを狙って投資を行うことが一般的である。しかしながら、ＩＣＯでは、ＩＣＯ実施者等が、発行したトークンの一部を無料で取得していることが多い。そのため、ＩＣＯにより販売されたトークンは、取引所への上場後、トークンを無料で取得した者が公募価格未満の価格で売却することにより価格が下落することが多いという問題がある。
【０００５】
従って、トークンの価格が下落することを抑制するためには、ＩＣＯ実施者等であっても、トークンを取得する場合には所定の対価の支払いを必要とする仕組みが必要になると考えられる。なお、同様の問題は、ＩＣＯにより発行されたトークンに限定されず、市場で取引が行われるトークンであれば、どのようなトークンに対しても生じ得る。
【０００６】
そこで、本発明は、所定の対価を支払った場合にトークンを入手できる権利を付与することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るプログラムは、分散コンピューティングネットワークに参加するコンピュータに、第１トークンを第２トークンに交換するために必要なコインの数量を算出するための交換レートを記憶する記憶ステップと、第１アドレスから第２アドレスに数量Ｎの第１トークンが送信されたことと、第１アドレスから第２アドレスに数量Ｍのコインが送信されたこととの送信確認を行う確認ステップと、送信確認が行われた場合に、交換レートと、コインの数量Ｍと、第１トークンの数量Ｎとに基づいて、第１アドレスに送信可能な第２トークンの数量を算出し、算出した数量の第２トークンを第１アドレスに送信する送信ステップと、を実行させる。
【発明の効果】
【０００８】
本発明によれば、所定の対価を支払った場合にトークンを入手できる権利を付与することが可能な技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】従来のＩＣＯ及び本実施形態に係るＩＣＯの仕組みを説明するための図である。
【図２】本実施形態に係るＩＣＯシステムのシステム構成例を示す図である。
【図３】本実施形態に係るＩＣＯが実行される際の手順の一例を説明するためのフローチャートである。
【図４】端末及びＩＣＯ管理サーバのハードウェア構成例を示す図である。
【図５】端末の機能ブロック構成例を示す図である。
【図６】ＩＣＯ管理サーバの機能ブロック構成例を示す図である。
【図７】交換コントラクトの構成例を示す図である。
【図８】ＩＣＯシステムが行う処理手順の一例を示すシーケンス図である。
【図９】ＩＣＯシステムが行う処理手順の一例を示すシーケンス図である。
【図１０】ＩＣＯシステムが行う処理手順の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００１１】
＜ＩＣＯ概要＞
図１は、従来のＩＣＯ及び本実施形態に係るＩＣＯの仕組みを説明するための図である。図１の上段は、従来から行われているＩＣＯの仕組みを示す。例えば、企業ＡＢＣが、資金調達を目的として１５０，０００，０００枚のトークンを発行したとする。一般的なＩＣＯでは、ＩＣＯ実施者は、発行したトークンのうち一部（ここでは３０，０００，０００枚とする）を予め保有しておき、残りのトークン（ここでは１２０，０００，０００枚とする）を、公募価格で投資家向けに販売する。この販売行為はＩＣＯと呼ばれ、ＩＣＯ実施者は、トークンの対価（例：所定の仮想通貨等）を投資家から得ることで、資金調達を行う。
【００１２】
なお、ＩＣＯ実施者とは、ＩＣＯを通じて資金調達を希望する者又は企業であり、例えば、ＣＥＯ等のボードメンバーや、ＩＣＯの協力者等が含まれる。また、投資家は、ＩＣＯにより発行されたトークンを購入する者である。
【００１３】
このとき、株式におけるＩＰＯ（Initial Public Offering）とは異なり、トークンを購入した投資家に対して、早期購入特典としてトークンが多めに配布されることが多い。例えば、公募価格を、１通貨あたり１００トークンだと仮定すると、第１期で購入した投資家に対しては、１通貨あたり１５０枚のトークンが付与（５０枚が早期購入特典に相当）され、第２期で購入した投資家に対しては、１通貨あたり１３０枚のトークンが付与（３０枚が早期購入特典に相当）され、第３期で購入した投資家に対しては、１通貨あたり１００枚のトークンが付与（早期購入特典は無し）されるといったように、早期にトークンを購入するほど多くのトークンが配布される。
【００１４】
ＩＣＯが終了し、その後取引所にトークンが上場されると、購入希望者と売却希望者との間でトークンの相対取引が開始される。このとき、ＩＣＯにてトークンを公募価格で購入した投資家は、キャピタルゲインを狙うために、売却価格を公募価格以上に設定することが通常である。しかしながら、ＩＣＯで発行されたトークンの場合、無料でトークンを取得したＩＣＯ実施者が、公募価格未満の価格でトークンを売却してしまうことが多い。そのため、ＩＣＯにより発行されたトークンは、上場されるとすぐに公募価格未満に下落してしまうという問題が生じている。
【００１５】
続いて、図１の下段は、本実施形態に係るＩＣＯの仕組みを示している。本実施形態に係るＩＣＯでは、発行するトークンとは別に、所定の行使条件を満たす場合に当該トークンと交換することが可能なトークン（以下、「交換用トークン」と言う。）を発行し、従来のＩＣＯでは無料でトークンを取得していたＩＣＯ実施者等に配布する。
【００１６】
具体的には、図１下段に示すように、トークンを１５０，０００，０００枚発行すると共に、交換用トークンを５０，０００，０００枚発行し、そのうちＩＣＯ実施者には、トークンに代えて交換用トークン３０，０００，０００枚を配布する。
【００１７】
ＩＣＯが開始されると、トークンのうち、交換用トークンと交換するために確保すべき５０，０００，０００枚のトークンを除く１００，０００，０００トークンを投資家向けに販売すると共に、早期購入者に対しては、早期購入特典として交換用トークンを配布する。例えば、公募価格を、１通貨あたり１００トークンだと仮定すると、第１期で購入した投資家に対しては、１通貨あたり１００枚のトークンと５０枚の交換用トークンが付与され、第２期で購入した投資家に対しては、１通貨あたり１００枚のトークンと３０枚の交換用トークンが付与され、第３期で購入した投資家に対しては、１通貨あたり１００枚のトークンが付与（交換用トークンは無し）されるといったように、早期にトークンを購入するほど多くの交換用トークンが配布される。
【００１８】
本実施形態に係るＩＣＯでは、ＩＣＯ実施者は、行使条件（基本的に公募価格と同一が望ましい）を満たさないとトークンを入手することができない。そのため、ＩＣＯ実施者は、取引所で売却益を得るためには、公募価格以上の価格でトークンを売却せざるを得ないことになる。市場（取引所）でトークンが公募価格以上で取引されるためには事業の成功が不可欠であることから、本実施形態により提供する仕組みを用いることで、健全なＩＣＯ市場を形成することが可能になると考えらえる。
【００１９】
＜システム構成＞
図２は、本実施形態に係るＩＣＯシステムのシステム構成例を示す図である。ＩＣＯシステム１は、端末１０と、ブロックチェーンネットワーク２０と、ＩＣＯ管理サーバ３０（生成装置）とを含む。
【００２０】
端末１０は、ユーザ（ＩＣＯ実施者及び投資家等）が、ブロックチェーンネットワーク２０にアクセスして取引を行うために利用する端末１０である。端末１０には、スマートフォン、タブレット端末、携帯電話機、パーソナルコンピュータ（ＰＣ）、ノートＰＣ、携帯情報端末（ＰＤＡ）、家庭用ゲーム機器など、通信機能を備えた端末であればあらゆる端末を用いることができる。
【００２１】
ブロックチェーンネットワーク２０は、複数の情報処理装置がＰ２Ｐ（Peer to Peer）で接続されており、トランザクション（取引データ）を受け付けた複数の情報処理装置の各々がトランザクションの正当性を検証し、正当なトランザクションのみをブロックと呼ばれる単位で台帳に記録していく仕組みを備えた分散コンピューティングネットワークである。
【００２２】
ＩＣＯ管理サーバ３０は、トークン及び交換用トークンの発行など、ＩＣＯを実行するために必要な各種の処理を行うサーバである。ＩＣＯ管理サーバ３０は、１又は複数の情報処理装置から構成されていてもよいし、クラウドサーバを利用して構成されていてもよい。なお、ＩＣＯ管理サーバ３０は、ＩＣＯ実施者からの依頼を受けてＩＣＯの実施を代行する者又は企業（以下、「ＩＣＯ運営者」と言う。）が利用することを想定しているが、これに限定されるものではない。例えば、ＩＣＯ実施者がＩＣＯ運営者となることで、自らトークンの発行等を行うことも可能である。
【００２３】
また、ＩＣＯ管理サーバ３０は、交換用トークンをトークンに交換する処理を行うスマートコントラクト（以下、「交換コントラクト４０」と言う。）をブロックチェーンネットワーク２０にデプロイ（deploy）する。交換コントラクト４０には、交換用トークンをトークンに交換する際の行使条件が書き込まれており、交換コントラクト４０は、行使条件を満たす場合に、交換用トークンをトークンに交換する処理を行う。本実施形態での行使条件とは、具体的には、行使価格（権利行使価格）に相当するコイン（仮想通貨）を支払うことである。
【００２４】
ここで、スマートコントラクトとは、ブロックチェーンネットワーク２０に参加するコンピュータにより実行されるプログラムである。ブロックチェーンネットワーク２０にデプロイされたスマートコントラクトには、コントラクトアドレスが付与される。端末１０は、スマートコントラクトに含まれるメソッドを呼び出すためのトランザクションを発行することで、指定したメソッドを実行することができる。なお、ブロックチェーンネットワーク２０上で当該メソッドを実際に実行するのは、採掘者（マイナー）と呼ばれる、トランザクションを検証してブロックを生成する情報処理装置である。
【００２５】
図３は、本実施形態に係るＩＣＯが実行される際の手順の一例を説明するためのフローチャートである。まず、ＩＣＯ運営者は、ＩＣＯ実施者の本人確認や法律家を交えた実体調査等を行うことで、ＩＣＯ実施者がＩＣＯによる資金調達にふさわしいか否かを審査する。審査に通過したＩＣＯ実施者は、ＩＣＯ管理サーバ３０に登録される（Ｓ１０）。ＩＣＯ管理サーバ３０は、ＩＣＯ運営者から指示された枚数のトークンと交換用トークンとをブロックチェーンネットワーク２０上に作成する（Ｓ１１）。
【００２６】
続いて、ＩＣＯ運営者が行使条件をＩＣＯ管理サーバ３０に入力すると、ＩＣＯ管理サーバ３０は、行使条件が書き込まれた交換コントラクト４０を生成し、ブロックチェーンネットワーク２０にデプロイする（Ｓ１２）。続いて、ＩＣＯ管理サーバ３０は、ＩＣＯ運営者から入力された枚数の交換用トークンを、ＩＣＯ運営者から指定されたＩＣＯ実施者に送信する（Ｓ１３）。続いて、ＩＣＯ運営者はＩＣＯを実施する。ＩＣＯ管理サーバ３０は、ＩＣＯにおいて投資家が支払った額に応じた枚数のトークンを投資家に送信する。また、早期にトークンを購入した投資家に対しては早期購入特典として、トークン枚数に応じた交換用トークンを送信する（Ｓ１４）。
【００２７】
続いて、ＩＣＯ管理サーバ３０は、ＩＣＯを実施したことで、調達目標額分のトークンが投資家に販売されたか否かを確認する。調達目標額分のトークンが販売されなかった場合（すなわちＩＣＯ失敗）はステップＳ１６に進み、調達目標額分のトークンが販売された場合（すなわちＩＣＯ成功）はステップＳ１７に進む。一方、ＩＣＯ運営者は、調達目標額分のトークンが販売されなかった場合、既にトークンを購入した投資家に返金処理を行う。これにより、ＩＣＯにおける一連の手順は終了する（Ｓ１６）。ＩＣＯ運営者は、調達目標額分のトークンが販売された場合、トークンの取引開始（例えば取引所での取引開始）及び、交換用トークンをトークンに交換する処理の受付を開始する（Ｓ１７）。
【００２８】
以上説明した手順において、ＩＣＯ実施者が自らトークンを発行する場合（つまり、ＩＣＯ実施者がＩＣＯ運営者でもある場合）、ステップＳ１０の手順は省略される。また、以上説明した手順は矛盾しない範囲で任意に入れ替えてもよい。
【００２９】
例えば、ステップＳ１２の手順は、ステップＳ１１の手順より前であってもよいし、ステップＳ１３の手順とステップＳ１４の手順との間であってもよいし、ステップＳ１４の手順とステップＳ１５の手順との間であってもよいし、ステップＳ１５（ＹＥＳ）の手順とステップＳ１７の手順との間であってもよい。同様に、ステップＳ１３の手順は、ステップＳ１４の手順とステップＳ１５の手順との間であってもよいし、ステップＳ１５（ＹＥＳ）の手順とステップＳ１７の手順との間であってもよい。また、交換用トークンをトークンに交換する処理の受付を、トークンの取引開始前に開始するようにしてもよい。例えば、ＩＣＯ実施者に交換用トークンが渡された後（Ｓ１３の手順の後）、交換用トークンをトークンに交換する処理の受付を開始するようにしてもよい。
【００３０】
なお、ＩＣＯには、目標調達額を決めておらず（つまり、ＩＣＯ成功、ＩＣＯ失敗の基準がない）、単にトークンを売ることで調達できた資金の範囲内で事業を行うといったＩＣＯ実施者も存在する。その場合、ステップＳ１５及びステップＳ１６は省略される。
【００３１】
以上説明した手順は、ＩＣＯが行われる度に繰り返し行われる。つまり、ＩＣＯごとに、各々のＩＣＯに対応するトークン、交換用トークン及び交換コントラクト４０がブロックチェーンネットワーク２０上に生成される。
【００３２】
＜ハードウェア構成＞
図４は、端末１０及びＩＣＯ管理サーバ３０のハードウェア構成例を示す図である。端末１０及びＩＣＯ管理サーバ３０は、ＣＰＵ（Central Processing Unit）１１、メモリ、ＨＤＤ（Hard Disk Drive）及び／又はＳＳＤ（Solid State Drive）等の記憶装置１２、有線又は無線通信を行う通信ＩＦ（Interface）１３、入力操作を受け付ける入力デバイス１４、及び情報の出力を行う出力デバイス１５を有する。入力デバイス１４は、例えば、キーボード、タッチパネル、マウス及び／又はマイク等である。出力デバイス１５は、例えば、ディスプレイ及び／又はスピーカ等である。
【００３３】
＜機能ブロック構成＞
図５は、端末１０の機能ブロック構成例を示す図である。端末１０は、ＵＩ（UserInterface）部１００と、取得部１０１と、送信部１０２と、処理部１０３とを含む。ＵＩ部１００と、取得部１０１と、送信部１０２と、処理部１０３とは、端末１０のＣＰＵ１１が、記憶装置１２に記憶されたプログラムを実行することにより実現することができる。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体（Non-transitory computer readable medium）であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、ＵＳＢメモリ又はＣＤ−ＲＯＭ等の記憶媒体であってもよい。
【００３４】
ＵＩ部１００は、端末１０の利用者（ＩＣＯ実施者又は投資家）から各種の入力を受け付ける機能と、端末１０のディスプレイに各種の画面を表示させる機能とを有する。
【００３５】
取得部１０１は、ブロックチェーンネットワーク２０にアクセスすることで、ブロックに記録されている各種データ（トランザクションデータ、トランザクションの実行結果、スマートコントラクトの変数の値等）を取得する機能を有する。なお、端末１０自身が採掘者（マイナー）となり、自身が記憶するブロックの中から各種データを取得することとしてもよい。
【００３６】
送信部１０２は、ブロックチェーンネットワーク２０に対して各種のトランザクションを送信する機能を有する。
【００３７】
処理部１０３は、トークン及び交換用トークンに関して端末１０が実行すべき各種の処理を行う機能を有する。処理部１０３は、例えば、交換用トークンをトークンに交換する際に必要な基軸コインの数を算出する処理等を行う。なお、基軸コインについては後述する。
【００３８】
図６は、ＩＣＯ管理サーバ３０の機能ブロック構成例を示す図である。ＩＣＯ管理サーバ３０は、受付部３００と、トークン発行部３０１と、トークン送信部３０２と、交換コントラクト生成部３０３と、交換コントラクト送信部３０４と、更新部３０５とを含む。受付部３００と、トークン発行部３０１と、トークン送信部３０２と、交換コントラクト生成部３０３と、交換コントラクト送信部３０４と、更新部３０５とは、ＩＣＯ管理サーバ３０のＣＰＵ１１が、記憶装置１２に記憶されたプログラムを実行することにより実現することができる。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、ＵＳＢメモリ又はＣＤ−ＲＯＭ等の記憶媒体であってもよい。
【００３９】
受付部３００は、交換用トークン（第１トークン）をトークン（第２トークン）に交換するために必要な基軸コイン（コイン）の数量を算出するための交換レートを、ＩＣＯ運営者（ユーザ）から受け付ける機能を有する。また、受付部３００は、交換用トークンの発行枚数と、トークンの発行枚数とをＩＣＯ運営者（ユーザ）から受け付ける機能を有する。
【００４０】
トークン発行部３０１は、受付部３００で受け付けた発行枚数のトークンと交換用トークンとを発行する機能を有する。トークン送信部３０２は、ＩＣＯ実施者や投資家のアカウントに対して、トークンや交換用トークンを送信する機能を有する。なお、トークンや交換用トークンを送信するとは、トークンや交換用トークンを送信元アカウントから送信先アカウントに移動することを指示するトランザクションを、ブロックチェーンネットワーク２０に送信することを言う。
【００４１】
交換コントラクト生成部３０３は、受付部３００により受け付けた交換レートを含む交換コントラクト４０を生成する機能を有する。交換コントラクト送信部３０４は、交換コントラクト生成部３０３により生成された交換コントラクト４０をブロックチェーンネットワーク２０に送信する（デプロイする）機能を有する。
【００４２】
図７は、交換コントラクトの構成例を示す図である。図７を用いて、交換コントラクト生成部３０３が生成する交換コントラクト４０の構成について説明する。
【００４３】
交換コントラクト４０は、交換用トークンをトークンに交換するために必要な基軸コインの数量を算出するための交換レートを記憶する変数を有する。当該変数には、「法定通貨−トークン交換レート４００」（第１交換レート）と、「法定通貨−基軸コイン交換レート４０１」（第２交換レート）とが含まれる。
【００４４】
ここで、基軸コインとは、交換用トークンをトークンに交換する際に、行使価格に相当する額を支払うために用いられるコインである。本実施形態では、当該コインとして、イーサリアム（ethereum）で用いられる仮想通貨である（Ether）を利用する想定であるが、本実施形態がこれに限定されるものではない。また、法定通貨（所定通貨）とは、交換用トークンをトークンに交換する際の行使価格を規定するために用いられる通貨（例えば円やドルなど）である。例えば、行使価格が、“１トークンあたり１０円”と規定された場合、法定通貨は「円」であり、“１トークンあたり０．１ドル”と規定された場合、法定通貨は「ドル」である。
【００４５】
「法定通貨−トークン交換レート４００」には、行使価格が格納される。例えば、行使価格が、１トークンあたり１０円と規定された場合、「法定通貨−トークン交換レート４００」には、１トークンあたり１０円であることを示す情報が格納される。
【００４６】
「法定通貨−トークン交換レート４００」は行使価格であることから、後日変更されることは望ましくない。従って、「法定通貨−トークン交換レート」４０１は、更新不可能である固定値（例えば定数として定義される等）で交換コントラクト４０に格納されることとしてもよい。しかしながら、これに限定されず、「法定通貨−トークン交換レート」４０１は更新可能としてもよい。
【００４７】
「法定通貨−トークン交換レート４００」は、基軸コインを利用して定義するようにしてもよい。行使価格が、１トークンあたり１０円と規定された場合において、基軸コインがＥＴＨ（Ether）であり、かつ、ＥＴＨのレートが１ＥＴＨあたり２０，０００円である場合、「法定通貨−トークン交換レート４００」には、１トークンあたり０．０００５ＥＴＨであることを示す情報が格納されてもよい。ただし、法定通貨と基軸コインの交換レートは変動することから、後述する「法定通貨−基軸コイン交換レート４０１」の値に合わせて、「法定通貨−トークン交換レート４００」の値が行使価格に該当する値になるように書き換える必要がある。
【００４８】
一方、法定通貨と基軸コインの交換レートは、取引所での取引により常時変動することから、「法定通貨−基軸コイン交換レート４０１」は、更新可能な変数として交換コントラクト４０に格納される。「法定通貨−基軸コイン交換レート４０１」の更新履歴は、ブロックチェーンにおける過去のブロックを辿ることで取得することができるが、これに加えて、本実施形態に係る交換コントラクト４０がデプロイされた以降の「法定通貨−基軸コイン交換レート４０１」の更新履歴を全て格納する変数（配列）を交換コントラクト４０に設けることとしてもよい。
【００４９】
「基軸コイン受取量（アドレス別）４０２」は、交換用トークンをトークンに交換する際に支払われた基軸コインの総数を、ユーザのブロックチェーンアドレスごとに格納するための変数である。
【００５０】
「交換用トークン受取量（アドレス別）４０３」は、交換用トークンをトークンに交換する際に交換コントラクト４０宛に送信された交換用トークンの総数を、ユーザのブロックチェーンアドレスごとに格納するための変数である。
【００５１】
「トークン送信量（アドレス別）４０４」は、交換用トークンと引き換えに交換用トークン所持者に送信されたトークンの数量を、ユーザのブロックチェーンアドレスごとに格納するための変数である。
【００５２】
メソッド４０５には、交換コントラクト４０の実行コードが格納される。当該実行コードが、ブロックチェーンネットワーク２０に参加する情報処理装置により実行されることで、以下に示す更新処理手段４１０、確認処理手段４２０、送信処理手段４３０及び取得手段４４０がブロックチェーンネットワーク２０上で実現される。
【００５３】
更新処理手段４１０は、「法定通貨−基軸コイン交換レート４０１」の更新指示を受け付けた場合に、「法定通貨−基軸コイン交換レート４０１」の変数の値を、受け付けた交換レートの値に更新する機能を有する。なお、「法定通貨（所定通貨）−基軸コイン交換レート」の更新指示は、ＩＣＯ管理サーバ３０の更新部３０５が行うこととしてもよいし、ＩＣＯ管理サーバ３０とは異なる他の装置により行われることとしてもよい。
【００５４】
確認処理手段４２０は、ユーザ（交換用トークン所持者）のアドレス（第１アドレス）から交換コントラクトアドレス（第２アドレス）に数量Ｎの交換用トークンが送信されたことと、当該ユーザのアドレスから交換コントラクトアドレスに数量Ｍの基軸コインが送信されたことを含む送信確認を行う。
【００５５】
また、確認処理手段４２０は、送信確認として、交換用トークンがユーザ（交換用トークン所持者）のアドレスから交換コントラクトアドレス向けに数量Ｎ送信されたことの通知と、基軸コインが当該ユーザのアドレスから交換コントラクトアドレス向けに数量Ｍ送信されたことの通知とを受けた場合に、交換用トークンが当該ユーザのアドレスから交換コントラクトアドレスに数量Ｎ送信されたことの承認がなされていることと（数量Ｎ送信されたことのトランザクションがブロックに記載されたこと）、基軸コインが当該ユーザのアドレスから交換コントラクトアドレスに数量Ｍ送信されたことの承認がなされていることと（数量Ｍ送信されたことのトランザクションがブロックに記載されたこと）、を確認するようにしてもよい。
【００５６】
送信処理手段４３０は、確認処理により送信確認が行われた場合に、交換用トークン（第１トークン）をトークン（第２トークン）に交換するために必要な基軸コイン（コイン）の数量を算出するための交換レートと、ユーザのアドレスから交換コントラクトアドレス向けに送信された基軸コインの数量Ｍと、ユーザのアドレスから交換コントラクトアドレス向けに送信された交換用トークンの数量Ｎとに基づいて、ユーザのアドレスに送信可能なトークンの数量を算出し、算出した数量のトークンをユーザのアドレスに送信する。
【００５７】
より具体的には、送信処理手段４３０は、確認処理により送信確認が行われた場合に、交換用トークンをトークンに交換するために必要な基軸コインの数量を算出するための交換レートを用いて、数量Ｎの交換用トークンをトークンに交換するために必要な基軸コインの数量を算出し、算出した基軸コインの数量が数量Ｍと同一又は数量Ｍ以下である場合に、数量Ｎのトークンをユーザ（交換用トークン所持者）のアドレスに送信する。また、送信処理手段４３０は、算出した基軸コインの数量が数量Ｍを超える場合（つまり、ユーザから送信された基軸コインの数量が、交換用トークンをトークンに交換するために必要な基軸コインの数量に満たない場合）に、送信された基軸コインの数量Ｍにて交換可能な上限の枚数のトークンをユーザ（交換用トークン所持者）のアドレスに送信するようにしてもよい。
【００５８】
なお、交換用トークンとトークンとの交換比率は１対１に限定されない。例えば、１０対１であってもよいし、１対２であってもよい。この場合、送信処理手段４３０は、算出した基軸コインの数量が数量Ｍと同一又は数量Ｍ以下である場合に、交換用トークンとトークンとの交換比率に基づいて算出される、数量Ｎの交換用トークンに対応する枚数のトークン（又は送信された基軸コインの数量Ｍにて交換用トークンから交換可能な上限の枚数のトークン）をユーザ（交換用トークン所持者）のアドレスに送信する。例えば交換比率が１０対１である場合、数量Ｎの交換用トークンに対応する枚数のトークンは、Ｎ÷１０枚である。
【００５９】
なお、送信処理手段４３０は、より詳細には、「法定通貨−トークン交換レート４００」に基づいて、数量Ｎのトークンに交換するために必要な所定通貨の額Ｘを算出し、更に、「法定通貨−基軸コイン交換レート４０１」に基づいて、算出した額Ｘの所定通貨から交換可能な基軸コインの数量Ｙを算出するようにしてもよい。このように算出された基軸コインの数量Ｙは、数量Ｎの交換用トークンをトークンに交換するために必要な基軸コインの数量に該当する。
【００６０】
取得手段４４０は、「法定通貨−トークン交換レート４００」及び「法定通貨−基軸コイン交換レート４０１」を交換コントラクト４０内の変数又は定数から読み出すことでこれらの交換レートの値を取得し、送信処理手段４３０に渡す。
【００６１】
＜処理手順＞
続いて、ＩＣＯシステム１が行う具体的な処理手順について説明する。以下の説明では、説明の便宜上、企業ＡＢＣがＩＣＯを実施すると仮定する。企業ＡＢＣが発行するトークンを「ＡＢＣトークン」と呼び、ＡＢＣトークンに交換するための交換用トークンを、「交換ＡＢＣトークン」と呼ぶ。また、ＩＣＯ管理サーバ３０は、ＩＣＯ運営者により操作される前提とする。また、ブロックチェーンネットワーク２０においてＩＣＯ運営者が有するアカウントのアドレス（ブロックチェーンアドレス）を、ＩＣＯ運営者アドレスと呼ぶ。また、交換用ＡＢＣトークンとＡＢＣトークンとの交換比率は１対１である前提とする。
【００６２】
（トークン、交換用トークン、交換コントラクトのデプロイ）
図８は、ＩＣＯシステム１が行う処理手順の一例を示すシーケンス図である。まず、ＩＣＯ管理サーバ３０は、ＩＣＯ運営者から受け付けた発行枚数のＡＢＣトークンを、ＩＣＯ運営者アドレスが保有しているとの情報を含むＡＢＣトークンコントラクトを生成し、生成したＡＢＣトークンコントラクトを含むトランザクションをブロックチェーンネットワーク２０に送信する（Ｓ１００）。送信されたＡＢＣトークンコントラクトが承認されると（ブロックに登録されると）、ＡＢＣトークンコントラクトのコントラクトアドレスがＩＣＯ管理サーバ３０に通知される（Ｓ１０１）。
【００６３】
続いて、ＩＣＯ管理サーバ３０は、ＩＣＯ運営者から受け付けた発行枚数の交換用ＡＢＣトークンをＩＣＯ運営者アドレスが保有しているとの情報を含む交換用ＡＢＣトークンコントラクトを生成し、生成した交換用ＡＢＣトークンコントラクトを含むトランザクションをブロックチェーンネットワーク２０に送信する（Ｓ１０２）。送信された交換用ＡＢＣトークンコントラクトが承認されると、交換用ＡＢＣトークンコントラクトのコントラクトアドレスがＩＣＯ管理サーバ３０に通知される（Ｓ１０３）。
【００６４】
続いて、ＩＣＯ管理サーバ３０は、ＩＣＯ運営者から受け付けた「法定通貨−トークン交換レート４００」を書き込んだ交換コントラクトを生成し、生成した交換コントラクトを含むトランザクションをブロックチェーンネットワーク２０に送信する（Ｓ１０４）。送信された交換コントラクトが承認されると、交換コントラクトのアドレス（以下、「交換コントラクトアドレス」と言う。）がＩＣＯ管理サーバ３０に通知される（Ｓ１０５）。
【００６５】
以上説明した処理手順において、ＡＢＣトークン生成（Ｓ１００、Ｓ１０１）、交換用ＡＢＣトークン生成（Ｓ１０２、Ｓ１０３）、及び交換コントラクト４０生成（Ｓ１０４、Ｓ１０５）の順序は図８の例に限定されず、どのような順序であってもよい。
【００６６】
また、「法定通貨−トークン交換レート４００」の書き込みは必ずしもステップＳ１０５の時点に限定されず、どのようなタイミングであってもよい。例えば、（Ａ）ＩＣＯ管理サーバ３０が交換用ＡＢＣトークンを新規に発行した時、（Ｂ）ＩＣＯ管理サーバ３０が投資家に交換用ＡＢＣトークンを付与した時、（Ｃ）投資家がＡＢＣトークンを購入するためにＥＴＨを支払った時、（Ｄ）交換用ＡＢＣトークンを受領した時、（Ｅ）公募（ＩＣＯ）を開始した時、（Ｆ）それ以外であってもよい。
【００６７】
なお、以上説明した処理手順において、ＩＣＯ管理サーバ３０は複数のサーバから構成されており、ＡＢＣトークンの生成と、交換用ＡＢＣトークンの生成と、交換コントラクト４０の生成とが、それぞれ異なるサーバで実行されることとしてもよい。
【００６８】
（ＩＣＯ実施者への交換用ＡＢＣトークン付与）
図９は、ＩＣＯシステム１が行う処理手順の一例を示すシーケンス図である。図９を用いて、ＩＣＯ実施者に交換用ＡＢＣトークンを付与する際の処理手順を説明する。
【００６９】
ＩＣＯ管理サーバ３０は、ＩＣＯ運営者から指示された枚数の交換用ＡＢＣトークンを、ＩＣＯ運営者アドレスからＩＣＯ実施者アドレスに向けて送信する（Ｓ１１０）。交換用ＡＢＣトークンを付与すべきＩＣＯ実施者が複数存在する場合、ＩＣＯ実施者ごとにステップＳ１１０の処理手順が繰り返される。
【００７０】
（ＩＣＯによる投資家へのＡＢＣトークン販売及び交換用ＡＢＣトークン付与）
続いて、ＩＣＯが実行され、投資家にＡＢＣトークンが販売される際の処理手順を説明する。なお、ＡＢＣトークンの販売には、所定の仮想通貨（以下、「支払いコイン」と言う。）が用いられるものとする。支払いコインは、どのような仮想通貨であってもよい。例えば、基軸コインと同一であってもよいし、基軸コインとは異なる仮想通貨であってもよい。
【００７１】
ＡＢＣトークンを購入するユーザ（投資家）は、自身の端末１０を操作することで、購入したいＡＢＣトークン枚数に公募価格を乗算した額に相当する支払いコインを、当該ユーザのアドレス（ブロックチェーンアドレス）からＩＣＯ運営者アドレスに送信する（Ｓ１２０）。
【００７２】
続いて、ＩＣＯ管理サーバ３０は、ブロックチェーンネットワーク２０にて、ユーザのアドレスからＩＣＯ運営者アドレスに支払いコインが送信されたとの承認がなされたこと（トランザクションがブロックに登録されたこと）を確認する（Ｓ１２１）。続いて、ＩＣＯ管理サーバ３０は、支払われた支払いコインで購入可能な枚数のＡＢＣトークンをＩＣＯ運営者アドレスからユーザのアドレスに送信する（Ｓ１２２）。続いて、ＩＣＯ管理サーバ３０は、早期購入特典に相当する枚数の交換用ＡＢＣトークンをＩＣＯ運営者アドレスからユーザのアドレスに送信する（Ｓ１２３）。なお、投資家に早期購入特定が与えられない場合はステップＳ１２３の処理手順は省略される。
【００７３】
（法定通貨−基軸コイン交換レート更新処理）
続いて、交換コントラクト４０の「法定通貨−基軸コイン交換レート４０１」を更新する際の処理手順を説明する。ＩＣＯ管理サーバ３０は、法定通貨と基軸コインとの間の交換レートを、例えば、取引所が開示している交換レートや、交換レートを公開しているスマートコントラクト等を参照することで取得する（Ｓ１３０）。続いて、ＩＣＯ管理サーバ３０は、「法定通貨−基軸コイン交換レート４０１」を取得した交換レートに更新するメソッドを呼び出すトランザクションを送信する（Ｓ１３１）。
【００７４】
ＩＣＯ管理サーバ３０は、ステップＳ１３０及びステップＳ１３１の処理手順を所定の周期で繰り返し実行することで、「法定通貨−基軸コイン交換レート４０１」を最新の交換レートに更新する。なお、ステップＳ１３０及びステップＳ１３１の処理手順は、ＩＣＯ管理サーバ３０以外の情報処理装置により実行されることとしてもよい。また、「法定通貨−基軸コイン交換レート４０１」が、第三者により不正なレートに更新されることを抑止するため、交換コントラクト４０のメソッドには、トランザクションの送信元アドレスが、交換レートの更新が許可されたアドレス（例えばＩＣＯ運営者アドレス）である場合にのみ交換レートを更新するように処理手順が記述されていてもよい。
【００７５】
（交換用ＡＢＣトークンからＡＢＣトークンへの交換）
図１０は、ＩＣＯシステム１が行う処理手順の一例を示すシーケンス図である。図１０を用いて、交換用ＡＢＣトークンを所有しているユーザ（ＩＣＯ実施者及び投資家）が、端末１０を用いて、交換用ＡＢＣトークンをＡＢＣトークンに交換する際の処理手順を説明する。
【００７６】
まず、端末１０は、交換コントラクト４０の「法定通貨−基軸コイン交換レート４０１」を参照することで、当該交換レートが正しい交換レートに更新されているか否かを判定する（Ｓ１４０）。確認方法はどのような方法であってもよいが、例えば、端末１０は、「法定通貨−基軸コイン交換レート４０１」に格納されている交換レートと取引所が開示している交換レートとを比較し、交換レートの差分が所定の値以内である場合に、交換コントラクト４０に格納されている当該交換レートが正しいと判定するようにしてもよい。若しくは、端末１０は、両方の交換レートを画面に表示することでユーザから判定結果を受け付けるようにしてもよい。
【００７７】
交換レートが正しいと判定された場合、端末１０は、ユーザから、交換用ＡＢＣトークンの交換枚数の入力を受け付ける。続いて、端末１０の送信部１０２は、入力された枚数の交換用ＡＢＣトークンを、ユーザアドレス（ユーザのアカウントに割り当てられているブロックチェーンアドレス）から交換コントラクトアドレスに送信する（Ｓ１４１）。続いて、端末１０の送信部１０２は、ステップＳ１４１で送信したトランザクションがブロックチェーンネットワーク２０で承認されたことを確認した後、交換用ＡＢＣトークンの受け取り確認を指示するメソッドを呼び出すトランザクションを送信する（Ｓ１４２）。
【００７８】
続いて、ブロックチェーンネットワーク２０に参加する情報処理装置は、交換用ＡＢＣトークンの受け取り確認を指示するメソッドに格納されているコードを実行する。情報処理装置は、当該コードを実行することで、ユーザアドレスから交換コントラクトアドレスに交換用ＡＢＣトークンが送信されたとの承認がなされていることを確認し（Ｓ１４３）、確認ができた場合に、ユーザアドレスの「交換用トークン受取量（アドレス別）４０３」に、送信された交換用ＡＢＣトークンの枚数を加算する（Ｓ１４４）。
【００７９】
続いて、端末１０は、交換コントラクト４０の変数である「法定通貨−トークン交換レート４００」及び「法定通貨−基軸コイン交換レート４０１」の値を取得し、取得したこれらの交換レートを用いて、ステップＳ１４１の処理手順で送信した枚数の交換用ＡＢＣトークンをＡＢＣトークンに交換するために必要な基軸コインの枚数を算出する。また、端末１０は、算出した枚数の基軸コインを、ユーザアドレスから交換コントラクトアドレスに送信する（Ｓ１４５）。なお、基軸コインを交換コントラクトアドレス宛に送信する際、当該ユーザアドレスが設定された任意のウォレットを利用して送信することも可能である。
【００８０】
交換用ＡＢＣトークンをＡＢＣトークンに交換するために必要な基軸コインの枚数は、例えば、交換用ＡＢＣトークンの枚数×「法定通貨−トークン交換レート」×「法定通貨−基軸コイン交換レート」で算出することができる。例えば、「法定通貨−トークン交換レート」が１トークンあたり１０円であり、「法定通貨−基軸コイン交換レート」が、１基軸コインあたり１００円である場合、１０枚の交換用ＡＢＣトークンをＡＢＣトークンに交換にするために必要な基軸コインの枚数は、１０枚×１０円×１／１００＝基軸コイン１枚になる。
【００８１】
続いて、端末１０は、ステップＳ１４５で送信したトランザクションがブロックチェーンネットワーク２０で承認されたことを確認した後、基軸コインの受け取り確認を指示するメソッドを呼び出すトランザクションを送信する（Ｓ１４６）。
【００８２】
続いて、ブロックチェーンネットワーク２０に参加する情報処理装置は、基軸コインの受け取り確認を指示するメソッドに格納されているコードを実行する。情報処理装置は、当該コードを実行することで、ユーザアドレスから交換コントラクトアドレスに基軸コインが送信されたとの承認がなされていることを確認し（Ｓ１４７）、確認ができた場合に、ユーザアドレスの「基軸コイン受取量（アドレス別）４０２」に、送信された基軸コインの枚数を加算する（Ｓ１４８）。
【００８３】
また、情報処理装置は、送信された基軸コインの枚数が、交換用ＡＢＣトークンをＡＢＣトークンに交換するために必要な基軸コインの枚数と同一又は当該枚数以上であることを確認する（Ｓ１４９）。確認ができた場合、情報処理装置は、交換コントラクトアドレスからユーザアドレスに対して、受け取った交換用ＡＢＣトークンと同数のＡＢＣトークンを送信することを指示するトランザクションを送信すると共に（Ｓ１５０）、ユーザアドレスの「トークン送信量（アドレス別）４０４」に、送信したＡＢＣトークンの枚数を加算する（Ｓ１５１）。なお、情報処理装置が、交換用ＡＢＣトークンをＡＢＣトークンに交換するために必要な基軸コインの枚数を算出する方法は、ステップＳ１４５の処理手順で説明した算出方法と同一でよい。
【００８４】
なお、ステップＳ１４９の処理手順において、ステップＳ１４５の処理手順で送信された基軸コインの枚数が、交換用ＡＢＣトークンをＡＢＣトークンに交換するために必要な基軸コインの枚数未満であった場合（つまり、ユーザから送信された基軸コインの数量不足している場合）、情報処理装置は、交換コントラクトアドレスからユーザアドレスに対して、送信された基軸コインの枚数で送信可能な上限の枚数のＡＢＣトークンを送信することを指示するトランザクションを送信すると共に（Ｓ１５０）、ユーザアドレスの「トークン送信量（アドレス別）４０４」に、送信したＡＢＣトークンの枚数を加算する（Ｓ１５１）ようにしてもよい。
【００８５】
送信された基軸コインの枚数で送信可能なＡＢＣトークンの枚数の上限は、例えば、送信された基軸コインの枚数÷（「法定通貨−トークン交換レート」×「法定通貨−基軸コイン交換レート」）で算出することができる。例えば、「法定通貨−トークン交換レート」が１トークンあたり１０円であり、「法定通貨−基軸コイン交換レート」が、１基軸コインあたり１００円である場合、０．５枚の基軸コインで送信可能なＡＢＣトークンの枚数は、０．５÷（１０×１／１００）＝ＡＢＣトークン５枚になる。例えば、ユーザアドレスから交換コントラクトアドレスに送信された交換用ＡＢＣトークンが１０枚であるにも関わらず、ユーザアドレスから交換コントラクトアドレスに送信された基軸コインが０．５枚であったとする。この場合、情報処理装置は、交換コントラクトアドレスからユーザアドレスに対して５枚のＡＢＣトークンを送信する。
【００８６】
続いて、端末１０は、ブロックチェーンネットワーク２０にて、交換コントラクトアドレスからユーザアドレスに対してＡＢＣトークンが送信されたとの承認がなされたことを確認する（Ｓ１５２）。
【００８７】
以上説明した処理手順において、交換用ＡＢＣトークンの送信タイミングと基軸コインの送信タイミングは逆であってもよい。具体的には、ステップＳ１４５乃至ステップＳ１４８の処理手順が実行された後で、ステップＳ１４１乃至ステップＳ１４４の処理手順が実行されることとしてもよい。この処理順序は、”交換用ＡＢＣトークンの受け取り確認を指示するメソッド”に、ステップＳ１４３及びステップＳ１４４の処理手順の後にステップＳ１４９乃至ステップＳ１５１の処理手順を実行するコードを記述し、”基軸コインの受け取り確認を指示するメソッド”から、ステップＳ１４９乃至ステップＳ１５１の処理手順を実行するコードを取り除くことで実現することができる。
【００８８】
また、ステップＳ１４７及びステップＳ１４８の処理手順は、ステップＳ１４６で端末２０から送信されるトランザクションがトリガとなって実行され、ステップＳ１４９乃至ステップＳ１５１の処理手順は、端末１０から送信される、トークンの交換を指示するメソッドを呼び出すトランザクションがトリガとなって実行されるようにしてもよい。
【００８９】
＜変形例１＞
本実施形態では、交換コントラクト４０に、「法定通貨−基軸コイン交換レート４０１」が含まれない構成としてもよい。この場合、図１０において、端末１０は、ステップＳ１４０の処理手順を省略するとともに、ステップＳ１４５の処理手順において、「法定通貨−基軸コイン交換レート４０１」に相当する交換レートを、取引所が開示している交換レートや、交換レートを公開しているスマートコントラクト等を参照することで取得するようにしてもよい。
【００９０】
また、交換コントラクト４０を実行する情報処理装置は、ステップＳ１４９の処理手順において、取引所が開示している交換レートや、交換レートを公開しているスマートコントラクト等を参照することで、「法定通貨−基軸コイン交換レート４０１」に相当する交換レートを取得し、取得した交換レートを用いて、ステップＳ１４９の処理手順を実行するようにしてもよい。すなわち、交換コントラクト４０の取得手段４４０は、取引所が開示している交換レートや、交換レートを公開しているスマートコントラクトから、法定通貨と基軸コインと間の交換レートを取得するようにしてもよい。
【００９１】
＜変形例２＞
本実施形態では、法定通貨に代えて、所定数の基軸コインが支払われた場合に、交換用トークンをトークンに交換可能としてもよい。
【００９２】
この場合、図７において「法定通貨−トークン交換レート４００」を、「基軸コイン−トークン交換レート」に置き換えると共に、「法定通貨−基軸コイン交換レート４０１」を削除する。
【００９３】
また、図１０のステップＳ１４５の処理手順において、端末１０は、交換コントラクト４０の変数である「基軸コイン−トークン交換レート」の値を取得し、取得した交換レートを用いて、ステップＳ１４１の処理手順で送信した枚数の交換用ＡＢＣトークンをＡＢＣトークンに交換するために必要な基軸コインの枚数を算出する。また、端末１０は、算出した枚数の基軸コインを、ユーザアドレスから交換コントラクトアドレスに送信する。
【００９４】
また、交換コントラクト４０を実行する情報処理装置は、送信された基軸コインの枚数が、交換用ＡＢＣトークンをＡＢＣトークンに交換するために必要な基軸コインの枚数と同一又は当該枚数以上であることを確認する（Ｓ１４９）。このとき、情報処理装置が、交換用ＡＢＣトークンをＡＢＣトークンに交換するために必要な基軸コインの枚数を算出する方法は、変形例２に対応するステップＳ１４５の処理手順で説明した算出方法と同一でよい。
【００９５】
＜変形例３＞
本実施形態は、様々なＩＣＯのケースに対応可能である。例えば、図１下段の例において、交換用ＡＢＣトークンの配布タイミングを、最初のＩＣＯ実施時には１０，０００，０００枚のみを配布し、１年後のＩＣＯ時に５，０００枚を配布し、３年後のＩＣＯ時に５，０００枚を配布するといったケースにも対応可能である。この場合、１年後又は３年後のＩＣＯ実施時に配布する交換用ＡＢＣトークンをＡＢＣトークンに交換する際の行使条件は、最初に実施したＩＣＯにおける行使条件とは異なるようにすることも可能である。この場合、行使条件ごとに交換コントラクトを生成してブロックチェーンネットワークにデプロイすることで対応可能である。
【００９６】
また、例えば、ＡＢＣトークン及び交換用ＡＢＣトークンの発行枚数を事後的に増やすことも可能である。この場合、ＡＢＣトークンコントラクト及び交換用ＡＢＣトークンコントラクトに格納されている発行枚数を書き換えることで対応可能である。追加発行した交換用ＡＢＣトークンをＡＢＣトークンに交換する際の行使条件を、最初に発行した交換用ＡＢＣトークンをＡＢＣトークンに交換する際の行使条件とは異なる行使条件にする場合、行使条件ごとに交換コントラクトを生成してブロックチェーンネットワークにデプロイすることで対応可能である。
【００９７】
＜まとめ＞
本実施形態によれば、交換用トークンを所持しているユーザは、行使価格で規定された額を支払った場合に、交換用トークンをトークンに交換することができる。つまり、交換用トークンを配布することで、ユーザに対して、行使価格で規定された額を支払った場合にトークンを入手できる権利を付与することが可能になる。また、交換用トークンをトークンに交換する処理をスマートコントラクトで実現することで、ブロックチェーンの特性である高い信頼性を確保できると共に、改ざん等の不正行為を抑制することが可能になる。
【００９８】
また、本実施形態では、交換用トークンからトークンに交換する際に必要な基軸コイン量を計算するための交換レートを、法定通貨及び基軸コイン間の交換レートと、行使価格（法定通貨及びトークン間の交換レート）で規定するようにした。これにより、投資家であるユーザが、行使価格が公募価格よりも低い価格に設定されていないかを監視することができることから、ＩＣＯ運営者が、行使価格を意図的に公募価格よりも低い価格に設定するといった行為を行うことを抑制することが可能になる。
【００９９】
また、本実施形態では、法定通貨及びトークン間の交換レートを変更できない態様で交換コントラクト４０に格納されるようにしてもよい。これにより、ＩＣＯ運営者が行使価格を意図的に低くするといった行為を行うことを抑制することが可能になる。
【０１００】
なお、本実施形態で説明した交換コントラクト４０は、ＩＣＯを実施する場合に限らず利用することが可能である。例えば、トークンをチケットとみなすことも可能である。この場合、交換用トークンは、所定の金額を支払うことでチケットを入手できる権利であると言うことができる。これにより、予めチケット当選者に交換用トークンを配布しておくだけで、後日、交換用トークン及び所定の金額との引き換えにチケットを渡すという運用を、改ざん等の不正行為が困難な環境下で実施することが可能になる。
【０１０１】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態で説明したフローチャート、シーケンス、実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【０１０２】
１…ＩＣＯシステム、１０…端末、１１…ＣＰＵ、１２…記憶装置、１３…通信ＩＦ、１４…入力デバイス、１５…出力デバイス、２０…ブロックチェーンネットワーク、３０…管理サーバ、４０…交換コントラクト、１００…ＵＩ部、１０１…取得部、１０２…送信部、１０３…処理部、３００…受付部、３０１…トークン発行部、３０２…トークン送信部、３０３…交換コントラクト生成部、３０４…交換コントラクト送信部、３０５…更新部、４１０…更新処理手段、４２０…確認処理手段、４３０…送信処理手段
【図１】
2020087102.tif 000003
【図２】
2020087102.tif 000004
【図３】
2020087102.tif 000005
【図４】
2020087102.tif 000006
【図５】
2020087102.tif 000007
【図６】
2020087102.tif 000008
【図７】
2020087102.tif 000009
【図８】
2020087102.tif 000010
【図９】
2020087102.tif 000011
【図１０】
2020087102.tif 000012