JP6500158B1 - Program and generating device - Google Patents

Program and generating device Download PDF

Info

Publication number
JP6500158B1
JP6500158B1 JP2018222283A JP2018222283A JP6500158B1 JP 6500158 B1 JP6500158 B1 JP 6500158B1 JP 2018222283 A JP2018222283 A JP 2018222283A JP 2018222283 A JP2018222283 A JP 2018222283A JP 6500158 B1 JP6500158 B1 JP 6500158B1
Authority
JP
Japan
Prior art keywords
token
address
exchange
ico
tokens
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018222283A
Other languages
Japanese (ja)
Other versions
JP2020087102A (en
Inventor
太郎 西村
太郎 西村
翼 高橋
翼 高橋
和貴 浅
和貴 浅
Original Assignee
太郎 西村
太郎 西村
翼 高橋
翼 高橋
和貴 浅
和貴 浅
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 太郎 西村, 太郎 西村, 翼 高橋, 翼 高橋, 和貴 浅, 和貴 浅 filed Critical 太郎 西村
Priority to JP2018222283A priority Critical patent/JP6500158B1/en
Application granted granted Critical
Publication of JP6500158B1 publication Critical patent/JP6500158B1/en
Publication of JP2020087102A publication Critical patent/JP2020087102A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】所定の対価を支払った場合にトークンを入手できる権利を付与することが可能な技術を提供すること。【解決手段】分散コンピューティングネットワークに参加するコンピュータに、第1トークンを第2トークンに交換するために必要なコインの数量を算出するための交換レートを取得する取得ステップと、第1アドレスから第2アドレスに数量Nの第1トークンが送信されたことと、第1アドレスから第2アドレスに数量Mのコインが送信されたこととの送信確認を行う確認ステップと、送信確認が行われた場合に、交換レートと、コインの数量Mと、第1トークンの数量Nとに基づいて、第1アドレスに送信可能な第2トークンの数量を算出し、算出した数量の第2トークンを第1アドレスに送信する送信ステップと、を実行させるためのプログラムを提供する。【選択図】図10To provide a technology capable of granting a right to obtain a token when a predetermined consideration is paid. An acquisition step of acquiring an exchange rate for calculating a quantity of coins necessary for exchanging a first token for a second token to a computer participating in a distributed computing network; Confirmation step for confirming that the first token of quantity N has been transmitted to two addresses and that the coin of quantity M has been transmitted from the first address to the second address, and when transmission confirmation has been performed In addition, the number of second tokens that can be transmitted to the first address is calculated based on the exchange rate, the number M of coins, and the number N of first tokens, and the second token of the calculated amount is assigned to the first address. And a transmission step for transmitting to the program. [Selection] Figure 10

Description

本発明は、プログラム及び生成装置に関する。   The present invention relates to a program and a generation apparatus.

現在、資金調達手段の1つであるICO(Initial coin offering)が広く行われている(例えば非特許文献1参照)。ICOでは、ICO実施者(資金調達者)が、独自のトークン(仮想通貨)を発行し、法定通貨や他の仮想通貨と引き換えに当該独自のトークンを投資家等に配布することで資金調達を行う手段である。   At present, ICO (Initial coin offering), which is one of fund raising means, is widely performed (for example, see Non-Patent Document 1). In ICO, an ICO implementer (financial provider) issues a unique token (virtual currency) and distributes the original token to investors in exchange for legal currency or other virtual currency. Means to do.

"Initial coin offering",[online],[平成30 年11 月28 日検索],インターネット<URL:https://en.wikipedia.org/wiki/Initial_coin_offering>"Initial coin offering", [online], [searched on November 28, 2018], Internet <URL: https://en.wikipedia.org/wiki/Initial_coin_offering>

ICOに参加する投資家は、ICO時の公募価格を上回る価格でトークンを売却することで得られるキャピタルゲインを狙って投資を行うことが一般的である。しかしながら、ICOでは、ICO実施者等が、発行したトークンの一部を無料で取得していることが多い。そのため、ICOにより販売されたトークンは、取引所への上場後、トークンを無料で取得した者が公募価格未満の価格で売却することにより価格が下落することが多いという問題がある。   Investors participating in the ICO generally make an investment aiming at a capital gain obtained by selling tokens at a price exceeding the public offering price at the time of the ICO. However, in ICO, ICO implementers often obtain a part of issued tokens free of charge. For this reason, there is a problem in that tokens sold by ICO often drop in price after being listed on an exchange and sold by a person who acquired the token for free at a price lower than the public offering price.

従って、トークンの価格が下落することを抑制するためには、ICO実施者等であっても、トークンを取得する場合には所定の対価の支払いを必要とする仕組みが必要になると考えられる。なお、同様の問題は、ICOにより発行されたトークンに限定されず、市場で取引が行われるトークンであれば、どのようなトークンに対しても生じ得る。   Therefore, in order to prevent the token price from falling, it is considered that even a ICO practitioner or the like needs a mechanism that requires payment of a predetermined price when acquiring a token. Note that the same problem is not limited to tokens issued by the ICO, and can occur for any token that is traded in the market.

そこで、本発明は、所定の対価を支払った場合にトークンを入手できる権利を付与することが可能な技術を提供することを目的とする。   Therefore, an object of the present invention is to provide a technique capable of granting a right to obtain a token when a predetermined consideration is paid.

本発明の一態様に係るプログラムは、分散コンピューティングネットワークに参加するコンピュータに、第1トークンを第2トークンに交換するために必要なコインの数量を算出するための交換レートを記憶する記憶ステップと、第1アドレスから第2アドレスに数量Nの第1トークンが送信されたことと、第1アドレスから第2アドレスに数量Mのコインが送信されたこととの送信確認を行う確認ステップと、送信確認が行われた場合に、交換レートと、コインの数量Mと、第1トークンの数量Nとに基づいて、第1アドレスに送信可能な第2トークンの数量を算出し、算出した数量の第2トークンを第1アドレスに送信する送信ステップと、を実行させる。   A program according to an aspect of the present invention stores a exchange rate for calculating a quantity of coins necessary for exchanging a first token for a second token in a computer participating in a distributed computing network; A confirmation step for confirming transmission that the first token of the quantity N is transmitted from the first address to the second address and that the coin of the quantity M is transmitted from the first address to the second address; When the confirmation is performed, the number of second tokens that can be transmitted to the first address is calculated based on the exchange rate, the number M of coins, and the number N of first tokens. A transmission step of transmitting two tokens to the first address.

本発明によれば、所定の対価を支払った場合にトークンを入手できる権利を付与することが可能な技術を提供することができる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which can provide the right which can obtain a token when predetermined | prescribed consideration is paid can be provided.

従来のICO及び本実施形態に係るICOの仕組みを説明するための図である。It is a figure for demonstrating the structure of the conventional ICO and ICO which concerns on this embodiment. 本実施形態に係るICOシステムのシステム構成例を示す図である。It is a figure which shows the system configuration example of the ICO system which concerns on this embodiment. 本実施形態に係るICOが実行される際の手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the procedure at the time of ICO which concerns on this embodiment being performed. 端末及びICO管理サーバのハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of a terminal and an ICO management server. 端末の機能ブロック構成例を示す図である。It is a figure which shows the functional block structural example of a terminal. ICO管理サーバの機能ブロック構成例を示す図である。It is a figure which shows the functional block structural example of an ICO management server. 交換コントラクトの構成例を示す図である。It is a figure which shows the structural example of an exchange contract. ICOシステムが行う処理手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the process sequence which an ICO system performs. ICOシステムが行う処理手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the process sequence which an ICO system performs. ICOシステムが行う処理手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the process sequence which an ICO system performs.

添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。   A preferred embodiment of the present invention will be described with reference to the accompanying drawings. In addition, in each figure, what attached | subjected the same code | symbol has the same or similar structure.

<ICO概要>
図1は、従来のICO及び本実施形態に係るICOの仕組みを説明するための図である。図1の上段は、従来から行われているICOの仕組みを示す。例えば、企業ABCが、資金調達を目的として150,000,000枚のトークンを発行したとする。一般的なICOでは、ICO実施者は、発行したトークンのうち一部(ここでは30,000,000枚とする)を予め保有しておき、残りのトークン(ここでは120,000,000枚とする)を、公募価格で投資家向けに販売する。この販売行為はICOと呼ばれ、ICO実施者は、トークンの対価(例:所定の仮想通貨等)を投資家から得ることで、資金調達を行う。
<Overview of ICO>
FIG. 1 is a diagram for explaining the mechanism of a conventional ICO and the ICO according to the present embodiment. The upper part of FIG. 1 shows a conventional ICO mechanism. For example, assume that company ABC has issued 150,000,000 tokens for the purpose of raising funds. In a general ICO, the ICO implementer holds some of the issued tokens (here, 30,000,000) in advance, and the remaining tokens (here, 120,000,000). Is sold to investors at a public offering price. This sales act is called ICO, and the ICO implementer raises funds by obtaining token consideration (eg, predetermined virtual currency) from the investor.

なお、ICO実施者とは、ICOを通じて資金調達を希望する者又は企業であり、例えば、CEO等のボードメンバーや、ICOの協力者等が含まれる。また、投資家は、ICOにより発行されたトークンを購入する者である。   The ICO practitioner is a person or a company that wants to raise funds through the ICO, and includes, for example, a board member such as a CEO or a cooperator of the ICO. An investor is a person who purchases a token issued by the ICO.

このとき、株式におけるIPO(Initial Public Offering)とは異なり、トークンを購入した投資家に対して、早期購入特典としてトークンが多めに配布されることが多い。例えば、公募価格を、1通貨あたり100トークンだと仮定すると、第1期で購入した投資家に対しては、1通貨あたり150枚のトークンが付与(50枚が早期購入特典に相当)され、第2期で購入した投資家に対しては、1通貨あたり130枚のトークンが付与(30枚が早期購入特典に相当)され、第3期で購入した投資家に対しては、1通貨あたり100枚のトークンが付与(早期購入特典は無し)されるといったように、早期にトークンを購入するほど多くのトークンが配布される。   At this time, unlike IPO (Initial Public Offering) in stocks, many tokens are often distributed to investors who have purchased tokens as early purchase benefits. For example, assuming that the public offering price is 100 tokens per currency, 150 tokens per currency are granted to investors who purchased in the first period (50 equivalent to early purchase benefits) Investors purchased in the second period are granted 130 tokens per currency (30 are equivalent to early purchase benefits), and investors purchased in the third period are charged per currency. The more tokens are purchased, the more tokens are distributed, such as 100 tokens are granted (there is no early purchase privilege).

ICOが終了し、その後取引所にトークンが上場されると、購入希望者と売却希望者との間でトークンの相対取引が開始される。このとき、ICOにてトークンを公募価格で購入した投資家は、キャピタルゲインを狙うために、売却価格を公募価格以上に設定することが通常である。しかしながら、ICOで発行されたトークンの場合、無料でトークンを取得したICO実施者が、公募価格未満の価格でトークンを売却してしまうことが多い。そのため、ICOにより発行されたトークンは、上場されるとすぐに公募価格未満に下落してしまうという問題が生じている。   When the ICO ends and the token is subsequently listed on the exchange, a token transaction is started between the buyer and seller. At this time, an investor who purchased a token at the ICO at a public offering price usually sets the selling price to be higher than the public offering price in order to aim for a capital gain. However, in the case of tokens issued by ICO, an ICO implementer who has acquired a token for free often sells the token at a price lower than the public offering price. For this reason, the token issued by the ICO has fallen below the public offering price as soon as it is listed.

続いて、図1の下段は、本実施形態に係るICOの仕組みを示している。本実施形態に係るICOでは、発行するトークンとは別に、所定の行使条件を満たす場合に当該トークンと交換することが可能なトークン(以下、「交換用トークン」と言う。)を発行し、従来のICOでは無料でトークンを取得していたICO実施者等に配布する。   Subsequently, the lower part of FIG. 1 shows the mechanism of the ICO according to the present embodiment. In the ICO according to the present embodiment, a token that can be exchanged for a token (hereinafter referred to as “exchange token”) when a predetermined exercising condition is satisfied is issued separately from the token to be issued. The ICO will distribute it to ICO implementers who have acquired tokens for free.

具体的には、図1下段に示すように、トークンを150,000,000枚発行すると共に、交換用トークンを50,000,000枚発行し、そのうちICO実施者には、トークンに代えて交換用トークン30,000,000枚を配布する。   Specifically, as shown in the lower part of FIG. 1, 150,000,000 tokens are issued and 50,000,000 exchange tokens are issued. Distribute 30,000,000 tokens.

ICOが開始されると、トークンのうち、交換用トークンと交換するために確保すべき50,000,000枚のトークンを除く100,000,000トークンを投資家向けに販売すると共に、早期購入者に対しては、早期購入特典として交換用トークンを配布する。例えば、公募価格を、1通貨あたり100トークンだと仮定すると、第1期で購入した投資家に対しては、1通貨あたり100枚のトークンと50枚の交換用トークンが付与され、第2期で購入した投資家に対しては、1通貨あたり100枚のトークンと30枚の交換用トークンが付与され、第3期で購入した投資家に対しては、1通貨あたり100枚のトークンが付与(交換用トークンは無し)されるといったように、早期にトークンを購入するほど多くの交換用トークンが配布される。   When the ICO is started, it sells 100,000,000 tokens to investors except for 50,000,000 tokens to be reserved for exchange tokens. Will receive a replacement token as an early purchase benefit. For example, assuming that the public offering price is 100 tokens per currency, 100 tokens and 50 replacement tokens will be granted per investor in the first period, 100 tokens and 30 exchange tokens per currency will be awarded to investors who purchased in Japan, and 100 tokens will be awarded per currency to investors who purchased in the third term. (There are no replacement tokens), and so many replacement tokens are distributed that the tokens are purchased early.

本実施形態に係るICOでは、ICO実施者は、行使条件(基本的に公募価格と同一が望ましい)を満たさないとトークンを入手することができない。そのため、ICO実施者は、取引所で売却益を得るためには、公募価格以上の価格でトークンを売却せざるを得ないことになる。市場(取引所)でトークンが公募価格以上で取引されるためには事業の成功が不可欠であることから、本実施形態により提供する仕組みを用いることで、健全なICO市場を形成することが可能になると考えらえる。   In the ICO according to the present embodiment, the ICO practitioner cannot obtain the token unless the exercise condition (basically the same as the public offering price is desirable) is not satisfied. Therefore, the ICO implementer is forced to sell the token at a price higher than the public offering price in order to obtain the gain on sale at the exchange. Successful business is indispensable in order for tokens to be traded at a price higher than the public offering price on the market (exchange), so it is possible to form a healthy ICO market by using the mechanism provided by this embodiment. Can be thought of as

<システム構成>
図2は、本実施形態に係るICOシステムのシステム構成例を示す図である。ICOシステム1は、端末10と、ブロックチェーンネットワーク20と、ICO管理サーバ30(生成装置)とを含む。
<System configuration>
FIG. 2 is a diagram illustrating a system configuration example of the ICO system according to the present embodiment. The ICO system 1 includes a terminal 10, a block chain network 20, and an ICO management server 30 (generation device).

端末10は、ユーザ(ICO実施者及び投資家等)が、ブロックチェーンネットワーク20にアクセスして取引を行うために利用する端末10である。端末10には、スマートフォン、タブレット端末、携帯電話機、パーソナルコンピュータ(PC)、ノートPC、携帯情報端末(PDA)、家庭用ゲーム機器など、通信機能を備えた端末であればあらゆる端末を用いることができる。   The terminal 10 is a terminal 10 used by a user (ICO implementer, investor, etc.) to access the blockchain network 20 and perform a transaction. The terminal 10 may be any terminal that has a communication function, such as a smartphone, a tablet terminal, a mobile phone, a personal computer (PC), a notebook PC, a personal digital assistant (PDA), and a home game machine. it can.

ブロックチェーンネットワーク20は、複数の情報処理装置がP2P(Peer to Peer)で接続されており、トランザクション(取引データ)を受け付けた複数の情報処理装置の各々がトランザクションの正当性を検証し、正当なトランザクションのみをブロックと呼ばれる単位で台帳に記録していく仕組みを備えた分散コンピューティングネットワークである。   In the block chain network 20, a plurality of information processing devices are connected by P2P (Peer to Peer), and each of the plurality of information processing devices that accept a transaction (transaction data) verifies the validity of the transaction. This is a distributed computing network having a mechanism for recording only transactions in a ledger in units called blocks.

ICO管理サーバ30は、トークン及び交換用トークンの発行など、ICOを実行するために必要な各種の処理を行うサーバである。ICO管理サーバ30は、1又は複数の情報処理装置から構成されていてもよいし、クラウドサーバを利用して構成されていてもよい。なお、ICO管理サーバ30は、ICO実施者からの依頼を受けてICOの実施を代行する者又は企業(以下、「ICO運営者」と言う。)が利用することを想定しているが、これに限定されるものではない。例えば、ICO実施者がICO運営者となることで、自らトークンの発行等を行うことも可能である。   The ICO management server 30 is a server that performs various processes necessary for executing ICO, such as issuance of tokens and exchange tokens. The ICO management server 30 may be configured from one or a plurality of information processing apparatuses, or may be configured using a cloud server. It is assumed that the ICO management server 30 is used by a person or company (hereinafter referred to as “ICO operator”) who acts on behalf of the ICO upon receiving a request from the ICO implementer. It is not limited to. For example, it is possible for the ICO implementer to issue an token or the like by becoming an ICO operator.

また、ICO管理サーバ30は、交換用トークンをトークンに交換する処理を行うスマートコントラクト(以下、「交換コントラクト40」と言う。)をブロックチェーンネットワーク20にデプロイ(deploy)する。交換コントラクト40には、交換用トークンをトークンに交換する際の行使条件が書き込まれており、交換コントラクト40は、行使条件を満たす場合に、交換用トークンをトークンに交換する処理を行う。本実施形態での行使条件とは、具体的には、行使価格(権利行使価格)に相当するコイン(仮想通貨)を支払うことである。   In addition, the ICO management server 30 deploys a smart contract (hereinafter referred to as “exchange contract 40”) that performs processing for exchanging a replacement token for a token to the blockchain network 20. In the exchange contract 40, an exercise condition for exchanging the exchange token for the token is written, and the exchange contract 40 performs processing for exchanging the exchange token for the token when the exercise condition is satisfied. The exercise condition in the present embodiment is specifically to pay a coin (virtual currency) corresponding to the exercise price (right exercise price).

ここで、スマートコントラクトとは、ブロックチェーンネットワーク20に参加するコンピュータにより実行されるプログラムである。ブロックチェーンネットワーク20にデプロイされたスマートコントラクトには、コントラクトアドレスが付与される。端末10は、スマートコントラクトに含まれるメソッドを呼び出すためのトランザクションを発行することで、指定したメソッドを実行することができる。なお、ブロックチェーンネットワーク20上で当該メソッドを実際に実行するのは、採掘者(マイナー)と呼ばれる、トランザクションを検証してブロックを生成する情報処理装置である。   Here, the smart contract is a program executed by a computer participating in the block chain network 20. A contract address is given to the smart contract deployed in the blockchain network 20. The terminal 10 can execute the specified method by issuing a transaction for calling a method included in the smart contract. The method that is actually executed on the block chain network 20 is an information processing apparatus called a miner (minor) that verifies a transaction and generates a block.

図3は、本実施形態に係るICOが実行される際の手順の一例を説明するためのフローチャートである。まず、ICO運営者は、ICO実施者の本人確認や法律家を交えた実体調査等を行うことで、ICO実施者がICOによる資金調達にふさわしいか否かを審査する。審査に通過したICO実施者は、ICO管理サーバ30に登録される(S10)。ICO管理サーバ30は、ICO運営者から指示された枚数のトークンと交換用トークンとをブロックチェーンネットワーク20上に作成する(S11)。   FIG. 3 is a flowchart for explaining an example of a procedure when the ICO according to the present embodiment is executed. First, the ICO operator examines whether or not the ICO practitioner is appropriate for funding by the ICO by performing identity verification of the ICO practitioner and substantive investigation with lawyers. The ICO implementer who has passed the examination is registered in the ICO management server 30 (S10). The ICO management server 30 creates the number of tokens and replacement tokens instructed by the ICO operator on the block chain network 20 (S11).

続いて、ICO運営者が行使条件をICO管理サーバ30に入力すると、ICO管理サーバ30は、行使条件が書き込まれた交換コントラクト40を生成し、ブロックチェーンネットワーク20にデプロイする(S12)。続いて、ICO管理サーバ30は、ICO運営者から入力された枚数の交換用トークンを、ICO運営者から指定されたICO実施者に送信する(S13)。続いて、ICO運営者はICOを実施する。ICO管理サーバ30は、ICOにおいて投資家が支払った額に応じた枚数のトークンを投資家に送信する。また、早期にトークンを購入した投資家に対しては早期購入特典として、トークン枚数に応じた交換用トークンを送信する(S14)。   Subsequently, when the ICO operator inputs the exercise conditions to the ICO management server 30, the ICO management server 30 generates an exchange contract 40 in which the exercise conditions are written, and deploys it on the blockchain network 20 (S12). Subsequently, the ICO management server 30 transmits the number of exchange tokens input from the ICO operator to the ICO operator designated by the ICO operator (S13). Subsequently, the ICO operator implements the ICO. The ICO management server 30 transmits the number of tokens corresponding to the amount paid by the investor in the ICO to the investor. Further, an exchange token corresponding to the number of tokens is transmitted as an early purchase privilege to an investor who has purchased tokens at an early stage (S14).

続いて、ICO管理サーバ30は、ICOを実施したことで、調達目標額分のトークンが投資家に販売されたか否かを確認する。調達目標額分のトークンが販売されなかった場合(すなわちICO失敗)はステップS16に進み、調達目標額分のトークンが販売された場合(すなわちICO成功)はステップS17に進む。一方、ICO運営者は、調達目標額分のトークンが販売されなかった場合、既にトークンを購入した投資家に返金処理を行う。これにより、ICOにおける一連の手順は終了する(S16)。ICO運営者は、調達目標額分のトークンが販売された場合、トークンの取引開始(例えば取引所での取引開始)及び、交換用トークンをトークンに交換する処理の受付を開始する(S17)。   Subsequently, the ICO management server 30 confirms whether or not a token for the procurement target amount has been sold to the investor by performing the ICO. If tokens for the procurement target amount are not sold (that is, ICO failure), the process proceeds to step S16. If tokens for the procurement target amount are sold (that is, ICO is successful), the process proceeds to step S17. On the other hand, if the token for the procurement target amount is not sold, the ICO operator performs a refund process for the investor who has already purchased the token. Thereby, a series of procedures in the ICO is completed (S16). When tokens for the procurement target amount are sold, the ICO operator starts accepting a token transaction start (for example, a transaction start at an exchange) and processing for exchanging a replacement token for a token (S17).

以上説明した手順において、ICO実施者が自らトークンを発行する場合(つまり、ICO実施者がICO運営者でもある場合)、ステップS10の手順は省略される。また、以上説明した手順は矛盾しない範囲で任意に入れ替えてもよい。   In the procedure described above, when the ICO implementer issues a token himself (that is, when the ICO implementer is also the ICO operator), the procedure of step S10 is omitted. Further, the procedures described above may be arbitrarily replaced within a range that does not contradict each other.

例えば、ステップS12の手順は、ステップS11の手順より前であってもよいし、ステップS13の手順とステップS14の手順との間であってもよいし、ステップS14の手順とステップS15の手順との間であってもよいし、ステップS15(YES)の手順とステップS17の手順との間であってもよい。同様に、ステップS13の手順は、ステップS14の手順とステップS15の手順との間であってもよいし、ステップS15(YES)の手順とステップS17の手順との間であってもよい。また、交換用トークンをトークンに交換する処理の受付を、トークンの取引開始前に開始するようにしてもよい。例えば、ICO実施者に交換用トークンが渡された後(S13の手順の後)、交換用トークンをトークンに交換する処理の受付を開始するようにしてもよい。   For example, the procedure of step S12 may be before the procedure of step S11, may be between the procedure of step S13 and the procedure of step S14, or may be the procedure of step S14 and the procedure of step S15. Or between step S15 (YES) and step S17. Similarly, the procedure of step S13 may be between the procedure of step S14 and the procedure of step S15, or may be between the procedure of step S15 (YES) and the procedure of step S17. Further, the reception of the processing for exchanging the exchange token for the token may be started before the token transaction is started. For example, after a replacement token is handed over to the ICO operator (after the procedure of S13), reception of processing for exchanging the replacement token for a token may be started.

なお、ICOには、目標調達額を決めておらず(つまり、ICO成功、ICO失敗の基準がない)、単にトークンを売ることで調達できた資金の範囲内で事業を行うといったICO実施者も存在する。その場合、ステップS15及びステップS16は省略される。   In addition, ICO practitioners who do not set a target procurement amount (that is, there is no standard for ICO success and ICO failure) and operate within the scope of funds procured by simply selling tokens. Exists. In that case, step S15 and step S16 are omitted.

以上説明した手順は、ICOが行われる度に繰り返し行われる。つまり、ICOごとに、各々のICOに対応するトークン、交換用トークン及び交換コントラクト40がブロックチェーンネットワーク20上に生成される。   The procedure described above is repeated every time an ICO is performed. That is, for each ICO, a token, an exchange token, and an exchange contract 40 corresponding to each ICO are generated on the block chain network 20.

<ハードウェア構成>
図4は、端末10及びICO管理サーバ30のハードウェア構成例を示す図である。端末10及びICO管理サーバ30は、CPU(Central Processing Unit)11、メモリ、HDD(Hard Disk Drive)及び/又はSSD(Solid State Drive)等の記憶装置12、有線又は無線通信を行う通信IF(Interface)13、入力操作を受け付ける入力デバイス14、及び情報の出力を行う出力デバイス15を有する。入力デバイス14は、例えば、キーボード、タッチパネル、マウス及び/又はマイク等である。出力デバイス15は、例えば、ディスプレイ及び/又はスピーカ等である。
<Hardware configuration>
FIG. 4 is a diagram illustrating a hardware configuration example of the terminal 10 and the ICO management server 30. The terminal 10 and the ICO management server 30 include a CPU (Central Processing Unit) 11, a memory, a storage device 12 such as an HDD (Hard Disk Drive) and / or an SSD (Solid State Drive), and a communication IF (Interface) that performs wired or wireless communication. ) 13, an input device 14 that receives an input operation, and an output device 15 that outputs information. The input device 14 is, for example, a keyboard, a touch panel, a mouse, and / or a microphone. The output device 15 is, for example, a display and / or a speaker.

<機能ブロック構成>
図5は、端末10の機能ブロック構成例を示す図である。端末10は、UI(UserInterface)部100と、取得部101と、送信部102と、処理部103とを含む。UI部100と、取得部101と、送信部102と、処理部103とは、端末10のCPU11が、記憶装置12に記憶されたプログラムを実行することにより実現することができる。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体(Non-transitory computer readable medium)であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、USBメモリ又はCD−ROM等の記憶媒体であってもよい。
<Functional block configuration>
FIG. 5 is a diagram illustrating a functional block configuration example of the terminal 10. The terminal 10 includes a UI (UserInterface) unit 100, an acquisition unit 101, a transmission unit 102, and a processing unit 103. The UI unit 100, the acquisition unit 101, the transmission unit 102, and the processing unit 103 can be realized by the CPU 11 of the terminal 10 executing a program stored in the storage device 12. Further, the program can be stored in a storage medium. The storage medium storing the program may be a computer-readable non-transitory storage medium (Non-transitory computer readable medium). The non-transitory storage medium is not particularly limited, but may be a storage medium such as a USB memory or a CD-ROM.

UI部100は、端末10の利用者(ICO実施者又は投資家)から各種の入力を受け付ける機能と、端末10のディスプレイに各種の画面を表示させる機能とを有する。   The UI unit 100 has a function of receiving various inputs from a user (ICO implementer or investor) of the terminal 10 and a function of displaying various screens on the display of the terminal 10.

取得部101は、ブロックチェーンネットワーク20にアクセスすることで、ブロックに記録されている各種データ(トランザクションデータ、トランザクションの実行結果、スマートコントラクトの変数の値等)を取得する機能を有する。なお、端末10自身が採掘者(マイナー)となり、自身が記憶するブロックの中から各種データを取得することとしてもよい。   The acquisition unit 101 has a function of acquiring various data (transaction data, transaction execution results, smart contract variable values, etc.) recorded in the block by accessing the block chain network 20. In addition, it is good also as terminal 10 itself becoming a miner (minor) and acquiring various data from the block which self memorize | stores.

送信部102は、ブロックチェーンネットワーク20に対して各種のトランザクションを送信する機能を有する。   The transmission unit 102 has a function of transmitting various transactions to the block chain network 20.

処理部103は、トークン及び交換用トークンに関して端末10が実行すべき各種の処理を行う機能を有する。処理部103は、例えば、交換用トークンをトークンに交換する際に必要な基軸コインの数を算出する処理等を行う。なお、基軸コインについては後述する。   The processing unit 103 has a function of performing various processes to be executed by the terminal 10 regarding the token and the exchange token. The processing unit 103 performs, for example, a process of calculating the number of basic coins necessary when exchanging a replacement token for a token. The basic coin will be described later.

図6は、ICO管理サーバ30の機能ブロック構成例を示す図である。ICO管理サーバ30は、受付部300と、トークン発行部301と、トークン送信部302と、交換コントラクト生成部303と、交換コントラクト送信部304と、更新部305とを含む。受付部300と、トークン発行部301と、トークン送信部302と、交換コントラクト生成部303と、交換コントラクト送信部304と、更新部305とは、ICO管理サーバ30のCPU11が、記憶装置12に記憶されたプログラムを実行することにより実現することができる。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、USBメモリ又はCD−ROM等の記憶媒体であってもよい。   FIG. 6 is a diagram illustrating a functional block configuration example of the ICO management server 30. The ICO management server 30 includes a receiving unit 300, a token issuing unit 301, a token transmitting unit 302, an exchange contract generating unit 303, an exchange contract transmitting unit 304, and an updating unit 305. The accepting unit 300, the token issuing unit 301, the token transmitting unit 302, the exchange contract generating unit 303, the exchange contract transmitting unit 304, and the updating unit 305 are stored in the storage device 12 by the CPU 11 of the ICO management server 30. This can be realized by executing the programmed program. Further, the program can be stored in a storage medium. The storage medium storing the program may be a computer-readable non-transitory storage medium. The non-transitory storage medium is not particularly limited, but may be a storage medium such as a USB memory or a CD-ROM.

受付部300は、交換用トークン(第1トークン)をトークン(第2トークン)に交換するために必要な基軸コイン(コイン)の数量を算出するための交換レートを、ICO運営者(ユーザ)から受け付ける機能を有する。また、受付部300は、交換用トークンの発行枚数と、トークンの発行枚数とをICO運営者(ユーザ)から受け付ける機能を有する。   The accepting unit 300 receives an exchange rate for calculating the quantity of basic coins (coins) necessary for exchanging the exchange token (first token) for a token (second token) from the ICO operator (user). Has a function to accept. The accepting unit 300 has a function of accepting the number of exchange tokens issued and the number of tokens issued from the ICO operator (user).

トークン発行部301は、受付部300で受け付けた発行枚数のトークンと交換用トークンとを発行する機能を有する。トークン送信部302は、ICO実施者や投資家のアカウントに対して、トークンや交換用トークンを送信する機能を有する。なお、トークンや交換用トークンを送信するとは、トークンや交換用トークンを送信元アカウントから送信先アカウントに移動することを指示するトランザクションを、ブロックチェーンネットワーク20に送信することを言う。   The token issuing unit 301 has a function of issuing the issued number of tokens received by the receiving unit 300 and a replacement token. The token transmission unit 302 has a function of transmitting a token or a replacement token to an account of an ICO operator or an investor. Note that sending a token or exchange token means sending a transaction instructing to move the token or exchange token from the transmission source account to the transmission destination account to the block chain network 20.

交換コントラクト生成部303は、受付部300により受け付けた交換レートを含む交換コントラクト40を生成する機能を有する。交換コントラクト送信部304は、交換コントラクト生成部303により生成された交換コントラクト40をブロックチェーンネットワーク20に送信する(デプロイする)機能を有する。   The exchange contract generation unit 303 has a function of generating the exchange contract 40 including the exchange rate received by the reception unit 300. The exchange contract transmission unit 304 has a function of transmitting (deploying) the exchange contract 40 generated by the exchange contract generation unit 303 to the block chain network 20.

図7は、交換コントラクトの構成例を示す図である。図7を用いて、交換コントラクト生成部303が生成する交換コントラクト40の構成について説明する。   FIG. 7 is a diagram illustrating a configuration example of an exchange contract. The structure of the exchange contract 40 which the exchange contract production | generation part 303 produces | generates is demonstrated using FIG.

交換コントラクト40は、交換用トークンをトークンに交換するために必要な基軸コインの数量を算出するための交換レートを記憶する変数を有する。当該変数には、「法定通貨−トークン交換レート400」(第1交換レート)と、「法定通貨−基軸コイン交換レート401」(第2交換レート)とが含まれる。   The exchange contract 40 has a variable for storing an exchange rate for calculating the number of basic coins necessary to exchange an exchange token for a token. The variables include “statutory currency-token exchange rate 400” (first exchange rate) and “statutory currency—base coin exchange rate 401” (second exchange rate).

ここで、基軸コインとは、交換用トークンをトークンに交換する際に、行使価格に相当する額を支払うために用いられるコインである。本実施形態では、当該コインとして、イーサリアム(ethereum)で用いられる仮想通貨である(Ether)を利用する想定であるが、本実施形態がこれに限定されるものではない。また、法定通貨(所定通貨)とは、交換用トークンをトークンに交換する際の行使価格を規定するために用いられる通貨(例えば円やドルなど)である。例えば、行使価格が、“1トークンあたり10円”と規定された場合、法定通貨は「円」であり、“1トークンあたり0.1ドル”と規定された場合、法定通貨は「ドル」である。   Here, the basic coin is a coin used to pay an amount corresponding to the exercise price when exchanging a token for exchange with a token. In this embodiment, it is assumed that (Ether), which is a virtual currency used in ethereum, is used as the coin, but this embodiment is not limited to this. The legal currency (predetermined currency) is a currency (for example, yen or dollar) used to define an exercise price when exchanging tokens for exchange. For example, if the exercise price is defined as “10 yen per token”, the legal currency is “Yen”, and if the exercise price is defined as “$ 0.1 per token”, the legal currency is “$”. is there.

「法定通貨−トークン交換レート400」には、行使価格が格納される。例えば、行使価格が、1トークンあたり10円と規定された場合、「法定通貨−トークン交換レート400」には、1トークンあたり10円であることを示す情報が格納される。   The exercise price is stored in “statutory currency-token exchange rate 400”. For example, when the exercise price is defined as 10 yen per token, “statutory currency-token exchange rate 400” stores information indicating 10 yen per token.

「法定通貨−トークン交換レート400」は行使価格であることから、後日変更されることは望ましくない。従って、「法定通貨−トークン交換レート」401は、更新不可能である固定値(例えば定数として定義される等)で交換コントラクト40に格納されることとしてもよい。しかしながら、これに限定されず、「法定通貨−トークン交換レート」401は更新可能としてもよい。   Since “statutory currency-token exchange rate 400” is an exercise price, it is not desirable to change it later. Therefore, the “statutory currency-token exchange rate” 401 may be stored in the exchange contract 40 as a fixed value that cannot be updated (for example, defined as a constant). However, the present invention is not limited to this, and the “statutory currency-token exchange rate” 401 may be updatable.

「法定通貨−トークン交換レート400」は、基軸コインを利用して定義するようにしてもよい。行使価格が、1トークンあたり10円と規定された場合において、基軸コインがETH(Ether)であり、かつ、ETHのレートが1ETHあたり20,000円である場合、「法定通貨−トークン交換レート400」には、1トークンあたり0.0005ETHであることを示す情報が格納されてもよい。ただし、法定通貨と基軸コインの交換レートは変動することから、後述する「法定通貨−基軸コイン交換レート401」の値に合わせて、「法定通貨−トークン交換レート400」の値が行使価格に該当する値になるように書き換える必要がある。   The “statutory currency-token exchange rate 400” may be defined using a base coin. When the strike price is defined as 10 yen per token, if the basic coin is ETH (Ether) and the ETH rate is 20,000 yen per ETH, the legal currency-token exchange rate 400 "May store information indicating 0.0005 ETH per token. However, since the exchange rate between the legal currency and the base coin fluctuates, the value of the “statutory currency-token exchange rate 400” corresponds to the strike price in accordance with the value of the “statutory currency—base coin exchange rate 401” described later. It is necessary to rewrite so that it becomes the value to be.

一方、法定通貨と基軸コインの交換レートは、取引所での取引により常時変動することから、「法定通貨−基軸コイン交換レート401」は、更新可能な変数として交換コントラクト40に格納される。「法定通貨−基軸コイン交換レート401」の更新履歴は、ブロックチェーンにおける過去のブロックを辿ることで取得することができるが、これに加えて、本実施形態に係る交換コントラクト40がデプロイされた以降の「法定通貨−基軸コイン交換レート401」の更新履歴を全て格納する変数(配列)を交換コントラクト40に設けることとしてもよい。   On the other hand, since the exchange rate between the legal currency and the base coin constantly varies depending on the transaction at the exchange, the “statutory currency-base coin exchange rate 401” is stored in the exchange contract 40 as an updatable variable. The update history of “statutory currency-base coin exchange rate 401” can be acquired by tracing past blocks in the block chain. In addition to this, after the exchange contract 40 according to the present embodiment is deployed. A variable (array) for storing all the update histories of “legal currency-base coin exchange rate 401” may be provided in the exchange contract 40.

「基軸コイン受取量(アドレス別)402」は、交換用トークンをトークンに交換する際に支払われた基軸コインの総数を、ユーザのブロックチェーンアドレスごとに格納するための変数である。   “Base coin received amount (by address) 402” is a variable for storing the total number of basic coins paid for exchanging the exchange token for a token for each block chain address of the user.

「交換用トークン受取量(アドレス別)403」は、交換用トークンをトークンに交換する際に交換コントラクト40宛に送信された交換用トークンの総数を、ユーザのブロックチェーンアドレスごとに格納するための変数である。   “Exchange token received amount (by address) 403” is for storing the total number of exchange tokens sent to the exchange contract 40 when exchanging exchange tokens for tokens, for each block chain address of the user. It is a variable.

「トークン送信量(アドレス別)404」は、交換用トークンと引き換えに交換用トークン所持者に送信されたトークンの数量を、ユーザのブロックチェーンアドレスごとに格納するための変数である。   “Token transmission amount (by address) 404” is a variable for storing the number of tokens transmitted to the exchange token holder in exchange for the exchange token for each block chain address of the user.

メソッド405には、交換コントラクト40の実行コードが格納される。当該実行コードが、ブロックチェーンネットワーク20に参加する情報処理装置により実行されることで、以下に示す更新処理手段410、確認処理手段420、送信処理手段430及び取得手段440がブロックチェーンネットワーク20上で実現される。   The method 405 stores the execution code of the exchange contract 40. The execution code is executed by an information processing apparatus participating in the block chain network 20, so that the update processing unit 410, the confirmation processing unit 420, the transmission processing unit 430, and the acquisition unit 440 described below are executed on the block chain network 20. Realized.

更新処理手段410は、「法定通貨−基軸コイン交換レート401」の更新指示を受け付けた場合に、「法定通貨−基軸コイン交換レート401」の変数の値を、受け付けた交換レートの値に更新する機能を有する。なお、「法定通貨(所定通貨)−基軸コイン交換レート」の更新指示は、ICO管理サーバ30の更新部305が行うこととしてもよいし、ICO管理サーバ30とは異なる他の装置により行われることとしてもよい。   When the update processing unit 410 receives an instruction to update “statutory currency-base coin exchange rate 401”, the update processing unit 410 updates the value of the variable “statutory currency—base coin exchange rate 401” to the value of the accepted exchange rate. It has a function. It should be noted that the update instruction of “legal currency (predetermined currency) —base coin exchange rate” may be issued by the update unit 305 of the ICO management server 30 or by another device different from the ICO management server 30. It is good.

確認処理手段420は、ユーザ(交換用トークン所持者)のアドレス(第1アドレス)から交換コントラクトアドレス(第2アドレス)に数量Nの交換用トークンが送信されたことと、当該ユーザのアドレスから交換コントラクトアドレスに数量Mの基軸コインが送信されたことを含む送信確認を行う。   The confirmation processing means 420 sends the exchange token of the quantity N from the address (first address) of the user (exchange token holder) to the exchange contract address (second address), and exchanges from the address of the user. A transmission confirmation including the fact that a quantity M of basic coins has been transmitted to the contract address is performed.

また、確認処理手段420は、送信確認として、交換用トークンがユーザ(交換用トークン所持者)のアドレスから交換コントラクトアドレス向けに数量N送信されたことの通知と、基軸コインが当該ユーザのアドレスから交換コントラクトアドレス向けに数量M送信されたことの通知とを受けた場合に、交換用トークンが当該ユーザのアドレスから交換コントラクトアドレスに数量N送信されたことの承認がなされていることと(数量N送信されたことのトランザクションがブロックに記載されたこと)、基軸コインが当該ユーザのアドレスから交換コントラクトアドレスに数量M送信されたことの承認がなされていることと(数量M送信されたことのトランザクションがブロックに記載されたこと)、を確認するようにしてもよい。   Further, the confirmation processing unit 420 confirms that the exchange token has been sent in a quantity N from the user (exchange token holder) address to the exchange contract address, and the basic coin is received from the user address. When the notification that the quantity M is transmitted to the exchange contract address is received, the approval that the quantity N is sent from the user's address to the exchange contract address is confirmed (quantity N That the transaction that has been sent is described in the block), that the basic coin has been acknowledged that the quantity M has been sent from the user's address to the exchange contract address, and that the transaction that the quantity M has been sent May be confirmed).

送信処理手段430は、確認処理により送信確認が行われた場合に、交換用トークン(第1トークン)をトークン(第2トークン)に交換するために必要な基軸コイン(コイン)の数量を算出するための交換レートと、ユーザのアドレスから交換コントラクトアドレス向けに送信された基軸コインの数量Mと、ユーザのアドレスから交換コントラクトアドレス向けに送信された交換用トークンの数量Nとに基づいて、ユーザのアドレスに送信可能なトークンの数量を算出し、算出した数量のトークンをユーザのアドレスに送信する。   The transmission processing unit 430 calculates the number of basic coins (coins) necessary for exchanging the exchange token (first token) for a token (second token) when transmission confirmation is performed by the confirmation processing. Based on the exchange rate, the number M of basic coins transmitted from the user address to the exchange contract address, and the number N of exchange tokens transmitted from the user address to the exchange contract address. The number of tokens that can be sent to the address is calculated, and the calculated number of tokens is sent to the user's address.

より具体的には、送信処理手段430は、確認処理により送信確認が行われた場合に、交換用トークンをトークンに交換するために必要な基軸コインの数量を算出するための交換レートを用いて、数量Nの交換用トークンをトークンに交換するために必要な基軸コインの数量を算出し、算出した基軸コインの数量が数量Mと同一又は数量M以下である場合に、数量Nのトークンをユーザ(交換用トークン所持者)のアドレスに送信する。また、送信処理手段430は、算出した基軸コインの数量が数量Mを超える場合(つまり、ユーザから送信された基軸コインの数量が、交換用トークンをトークンに交換するために必要な基軸コインの数量に満たない場合)に、送信された基軸コインの数量Mにて交換可能な上限の枚数のトークンをユーザ(交換用トークン所持者)のアドレスに送信するようにしてもよい。   More specifically, the transmission processing unit 430 uses the exchange rate for calculating the number of basic coins necessary for exchanging the exchange token for the token when the transmission confirmation is performed by the confirmation process. , The quantity of the basic coin necessary for exchanging the exchange token of the quantity N with the token is calculated, and when the quantity of the basic coin calculated is equal to or less than the quantity M, the token of the quantity N is Sent to the address of the holder of the exchange token. In addition, the transmission processing unit 430 determines that the calculated number of basic coins exceeds the number M (that is, the number of basic coins transmitted from the user is necessary to exchange the exchange token for a token). In such a case, the maximum number of tokens that can be exchanged with the number M of basic coins that have been sent may be sent to the address of the user (exchange token holder).

なお、交換用トークンとトークンとの交換比率は1対1に限定されない。例えば、10対1であってもよいし、1対2であってもよい。この場合、送信処理手段430は、算出した基軸コインの数量が数量Mと同一又は数量M以下である場合に、交換用トークンとトークンとの交換比率に基づいて算出される、数量Nの交換用トークンに対応する枚数のトークン(又は送信された基軸コインの数量Mにて交換用トークンから交換可能な上限の枚数のトークン)をユーザ(交換用トークン所持者)のアドレスに送信する。例えば交換比率が10対1である場合、数量Nの交換用トークンに対応する枚数のトークンは、N÷10枚である。   The exchange ratio between exchange tokens and tokens is not limited to 1: 1. For example, it may be 10 to 1 or 1 to 2. In this case, the transmission processing unit 430 uses the exchange amount of the quantity N calculated based on the exchange ratio between the exchange token and the token when the calculated quantity of the basic coin is equal to or less than the quantity M. The number of tokens corresponding to the token (or the maximum number of tokens that can be exchanged from the exchange token with the number M of the basic coins transmitted) is transmitted to the address of the user (exchange token holder). For example, when the exchange ratio is 10 to 1, the number of tokens corresponding to the number N of exchange tokens is N ÷ 10.

なお、送信処理手段430は、より詳細には、「法定通貨−トークン交換レート400」に基づいて、数量Nのトークンに交換するために必要な所定通貨の額Xを算出し、更に、「法定通貨−基軸コイン交換レート401」に基づいて、算出した額Xの所定通貨から交換可能な基軸コインの数量Yを算出するようにしてもよい。このように算出された基軸コインの数量Yは、数量Nの交換用トークンをトークンに交換するために必要な基軸コインの数量に該当する。   In more detail, the transmission processing means 430 calculates the amount X of a predetermined currency necessary for exchanging for the token of the quantity N based on the “statutory currency-token exchange rate 400”. Based on the “currency-base coin exchange rate 401”, the quantity Y of base coins that can be exchanged from a predetermined currency of the calculated amount X may be calculated. The quantity Y of the basic coin calculated in this way corresponds to the quantity of the basic coin necessary for exchanging the exchange token of the quantity N with the token.

取得手段440は、「法定通貨−トークン交換レート400」及び「法定通貨−基軸コイン交換レート401」を交換コントラクト40内の変数又は定数から読み出すことでこれらの交換レートの値を取得し、送信処理手段430に渡す。   The acquisition unit 440 acquires values of these exchange rates by reading “statutory currency-token exchange rate 400” and “statutory currency-base coin exchange rate 401” from variables or constants in the exchange contract 40, and performs transmission processing. Pass to means 430.

<処理手順>
続いて、ICOシステム1が行う具体的な処理手順について説明する。以下の説明では、説明の便宜上、企業ABCがICOを実施すると仮定する。企業ABCが発行するトークンを「ABCトークン」と呼び、ABCトークンに交換するための交換用トークンを、「交換ABCトークン」と呼ぶ。また、ICO管理サーバ30は、ICO運営者により操作される前提とする。また、ブロックチェーンネットワーク20においてICO運営者が有するアカウントのアドレス(ブロックチェーンアドレス)を、ICO運営者アドレスと呼ぶ。また、交換用ABCトークンとABCトークンとの交換比率は1対1である前提とする。
<Processing procedure>
Next, a specific processing procedure performed by the ICO system 1 will be described. In the following description, for convenience of explanation, it is assumed that company ABC implements ICO. The token issued by the company ABC is called “ABC token”, and the exchange token for exchanging for the ABC token is called “exchange ABC token”. Further, it is assumed that the ICO management server 30 is operated by the ICO operator. Further, an account address (block chain address) owned by an ICO operator in the block chain network 20 is referred to as an ICO operator address. Further, it is assumed that the exchange ratio between the exchange ABC token and the ABC token is 1: 1.

(トークン、交換用トークン、交換コントラクトのデプロイ)
図8は、ICOシステム1が行う処理手順の一例を示すシーケンス図である。まず、ICO管理サーバ30は、ICO運営者から受け付けた発行枚数のABCトークンを、ICO運営者アドレスが保有しているとの情報を含むABCトークンコントラクトを生成し、生成したABCトークンコントラクトを含むトランザクションをブロックチェーンネットワーク20に送信する(S100)。送信されたABCトークンコントラクトが承認されると(ブロックに登録されると)、ABCトークンコントラクトのコントラクトアドレスがICO管理サーバ30に通知される(S101)。
(Deploy token, exchange token, exchange contract)
FIG. 8 is a sequence diagram illustrating an example of a processing procedure performed by the ICO system 1. First, the ICO management server 30 generates an ABC token contract including information that the ICO operator address holds the number of issued ABC tokens received from the ICO operator, and a transaction including the generated ABC token contract. Is transmitted to the block chain network 20 (S100). When the transmitted ABC token contract is approved (registered in the block), the contract address of the ABC token contract is notified to the ICO management server 30 (S101).

続いて、ICO管理サーバ30は、ICO運営者から受け付けた発行枚数の交換用ABCトークンをICO運営者アドレスが保有しているとの情報を含む交換用ABCトークンコントラクトを生成し、生成した交換用ABCトークンコントラクトを含むトランザクションをブロックチェーンネットワーク20に送信する(S102)。送信された交換用ABCトークンコントラクトが承認されると、交換用ABCトークンコントラクトのコントラクトアドレスがICO管理サーバ30に通知される(S103)。   Subsequently, the ICO management server 30 generates an exchange ABC token contract including information that the ICO operator address holds the exchange ABC tokens issued from the ICO operator and generates the exchange A transaction including the ABC token contract is transmitted to the block chain network 20 (S102). When the transmitted exchange ABC token contract is approved, the contract address of the exchange ABC token contract is notified to the ICO management server 30 (S103).

続いて、ICO管理サーバ30は、ICO運営者から受け付けた「法定通貨−トークン交換レート400」を書き込んだ交換コントラクトを生成し、生成した交換コントラクトを含むトランザクションをブロックチェーンネットワーク20に送信する(S104)。送信された交換コントラクトが承認されると、交換コントラクトのアドレス(以下、「交換コントラクトアドレス」と言う。)がICO管理サーバ30に通知される(S105)。   Subsequently, the ICO management server 30 generates an exchange contract in which the “legal currency-token exchange rate 400” received from the ICO operator is written, and transmits a transaction including the generated exchange contract to the block chain network 20 (S104). ). When the transmitted exchange contract is approved, the address of the exchange contract (hereinafter referred to as “exchange contract address”) is notified to the ICO management server 30 (S105).

以上説明した処理手順において、ABCトークン生成(S100、S101)、交換用ABCトークン生成(S102、S103)、及び交換コントラクト40生成(S104、S105)の順序は図8の例に限定されず、どのような順序であってもよい。   In the processing procedure described above, the order of ABC token generation (S100, S101), exchange ABC token generation (S102, S103), and exchange contract 40 generation (S104, S105) is not limited to the example of FIG. Such an order may be used.

また、「法定通貨−トークン交換レート400」の書き込みは必ずしもステップS105の時点に限定されず、どのようなタイミングであってもよい。例えば、(A)ICO管理サーバ30が交換用ABCトークンを新規に発行した時、(B)ICO管理サーバ30が投資家に交換用ABCトークンを付与した時、(C)投資家がABCトークンを購入するためにETHを支払った時、(D)交換用ABCトークンを受領した時、(E)公募(ICO)を開始した時、(F)それ以外であってもよい。   Further, the writing of “statutory currency-token exchange rate 400” is not necessarily limited to the time of step S105, and any timing may be used. For example, when (A) the ICO management server 30 newly issues a replacement ABC token, (B) when the ICO management server 30 grants an exchange ABC token to the investor, (C) the investor gives an ABC token. When ETH is paid for purchase, (D) when an exchange ABC token is received, (E) when a public offering (ICO) is started, (F) other than that.

なお、以上説明した処理手順において、ICO管理サーバ30は複数のサーバから構成されており、ABCトークンの生成と、交換用ABCトークンの生成と、交換コントラクト40の生成とが、それぞれ異なるサーバで実行されることとしてもよい。   In the processing procedure described above, the ICO management server 30 includes a plurality of servers, and the generation of the ABC token, the generation of the exchange ABC token, and the generation of the exchange contract 40 are executed on different servers. It may be done.

(ICO実施者への交換用ABCトークン付与)
図9は、ICOシステム1が行う処理手順の一例を示すシーケンス図である。図9を用いて、ICO実施者に交換用ABCトークンを付与する際の処理手順を説明する。
(Granting an exchange ABC token to the ICO operator)
FIG. 9 is a sequence diagram illustrating an example of a processing procedure performed by the ICO system 1. With reference to FIG. 9, a processing procedure when an exchange ABC token is given to an ICO operator will be described.

ICO管理サーバ30は、ICO運営者から指示された枚数の交換用ABCトークンを、ICO運営者アドレスからICO実施者アドレスに向けて送信する(S110)。交換用ABCトークンを付与すべきICO実施者が複数存在する場合、ICO実施者ごとにステップS110の処理手順が繰り返される。   The ICO management server 30 transmits the number of exchange ABC tokens instructed by the ICO operator from the ICO operator address to the ICO operator address (S110). When there are a plurality of ICO performers to which a replacement ABC token is to be assigned, the processing procedure of step S110 is repeated for each ICO performer.

(ICOによる投資家へのABCトークン販売及び交換用ABCトークン付与)
続いて、ICOが実行され、投資家にABCトークンが販売される際の処理手順を説明する。なお、ABCトークンの販売には、所定の仮想通貨(以下、「支払いコイン」と言う。)が用いられるものとする。支払いコインは、どのような仮想通貨であってもよい。例えば、基軸コインと同一であってもよいし、基軸コインとは異なる仮想通貨であってもよい。
(ICO sells ABC tokens to investors and grants exchange ABC tokens)
Next, a processing procedure when ICO is executed and ABC tokens are sold to investors will be described. It is assumed that a predetermined virtual currency (hereinafter referred to as “payment coin”) is used for selling the ABC token. The payment coin may be any virtual currency. For example, it may be the same as the base coin or a virtual currency different from the base coin.

ABCトークンを購入するユーザ(投資家)は、自身の端末10を操作することで、購入したいABCトークン枚数に公募価格を乗算した額に相当する支払いコインを、当該ユーザのアドレス(ブロックチェーンアドレス)からICO運営者アドレスに送信する(S120)。   A user (investor) who purchases an ABC token operates his / her own terminal 10 to pay a payment coin corresponding to an amount obtained by multiplying the number of ABC tokens to be purchased by a public offering price to the user's address (block chain address). To the ICO operator address (S120).

続いて、ICO管理サーバ30は、ブロックチェーンネットワーク20にて、ユーザのアドレスからICO運営者アドレスに支払いコインが送信されたとの承認がなされたこと(トランザクションがブロックに登録されたこと)を確認する(S121)。続いて、ICO管理サーバ30は、支払われた支払いコインで購入可能な枚数のABCトークンをICO運営者アドレスからユーザのアドレスに送信する(S122)。続いて、ICO管理サーバ30は、早期購入特典に相当する枚数の交換用ABCトークンをICO運営者アドレスからユーザのアドレスに送信する(S123)。なお、投資家に早期購入特定が与えられない場合はステップS123の処理手順は省略される。   Subsequently, the ICO management server 30 confirms in the block chain network 20 that the payment has been approved from the user's address to the ICO operator address (transaction registered in the block). (S121). Subsequently, the ICO management server 30 transmits the number of ABC tokens that can be purchased with the paid payment coins from the ICO operator address to the user's address (S122). Subsequently, the ICO management server 30 transmits the number of exchange ABC tokens corresponding to the early purchase privilege from the ICO operator address to the user's address (S123). If the early purchase specification is not given to the investor, the processing procedure of step S123 is omitted.

(法定通貨−基軸コイン交換レート更新処理)
続いて、交換コントラクト40の「法定通貨−基軸コイン交換レート401」を更新する際の処理手順を説明する。ICO管理サーバ30は、法定通貨と基軸コインとの間の交換レートを、例えば、取引所が開示している交換レートや、交換レートを公開しているスマートコントラクト等を参照することで取得する(S130)。続いて、ICO管理サーバ30は、「法定通貨−基軸コイン交換レート401」を取得した交換レートに更新するメソッドを呼び出すトランザクションを送信する(S131)。
(Legal currency-basic coin exchange rate update process)
Next, a processing procedure when updating the “legal currency-base coin exchange rate 401” of the exchange contract 40 will be described. The ICO management server 30 acquires the exchange rate between the legal currency and the base coin by referring to, for example, the exchange rate disclosed by the exchange or the smart contract that discloses the exchange rate ( S130). Subsequently, the ICO management server 30 transmits a transaction for calling a method for updating the “legal currency—base coin exchange rate 401” to the acquired exchange rate (S131).

ICO管理サーバ30は、ステップS130及びステップS131の処理手順を所定の周期で繰り返し実行することで、「法定通貨−基軸コイン交換レート401」を最新の交換レートに更新する。なお、ステップS130及びステップS131の処理手順は、ICO管理サーバ30以外の情報処理装置により実行されることとしてもよい。また、「法定通貨−基軸コイン交換レート401」が、第三者により不正なレートに更新されることを抑止するため、交換コントラクト40のメソッドには、トランザクションの送信元アドレスが、交換レートの更新が許可されたアドレス(例えばICO運営者アドレス)である場合にのみ交換レートを更新するように処理手順が記述されていてもよい。   The ICO management server 30 updates the “statutory currency-base coin exchange rate 401” to the latest exchange rate by repeatedly executing the processing procedure of step S130 and step S131 at a predetermined cycle. Note that the processing procedures of step S130 and step S131 may be executed by an information processing apparatus other than the ICO management server 30. In addition, in order to prevent the “legal currency-base coin exchange rate 401” from being updated to an unauthorized rate by a third party, the method of the exchange contract 40 includes a transaction source address as an exchange rate update. The processing procedure may be described so that the exchange rate is updated only when is a permitted address (for example, an ICO operator address).

(交換用ABCトークンからABCトークンへの交換)
図10は、ICOシステム1が行う処理手順の一例を示すシーケンス図である。図10を用いて、交換用ABCトークンを所有しているユーザ(ICO実施者及び投資家)が、端末10を用いて、交換用ABCトークンをABCトークンに交換する際の処理手順を説明する。
(Exchange from exchange ABC token to ABC token)
FIG. 10 is a sequence diagram illustrating an example of a processing procedure performed by the ICO system 1. With reference to FIG. 10, a processing procedure when a user (ICO implementer and investor) who owns an exchange ABC token exchanges an exchange ABC token for an ABC token using the terminal 10 will be described.

まず、端末10は、交換コントラクト40の「法定通貨−基軸コイン交換レート401」を参照することで、当該交換レートが正しい交換レートに更新されているか否かを判定する(S140)。確認方法はどのような方法であってもよいが、例えば、端末10は、「法定通貨−基軸コイン交換レート401」に格納されている交換レートと取引所が開示している交換レートとを比較し、交換レートの差分が所定の値以内である場合に、交換コントラクト40に格納されている当該交換レートが正しいと判定するようにしてもよい。若しくは、端末10は、両方の交換レートを画面に表示することでユーザから判定結果を受け付けるようにしてもよい。   First, the terminal 10 refers to the “legal currency-base coin exchange rate 401” of the exchange contract 40 to determine whether or not the exchange rate has been updated to the correct exchange rate (S140). Any confirmation method may be used. For example, the terminal 10 compares the exchange rate stored in the “statutory currency-base coin exchange rate 401” with the exchange rate disclosed by the exchange. When the exchange rate difference is within a predetermined value, it may be determined that the exchange rate stored in the exchange contract 40 is correct. Alternatively, the terminal 10 may receive the determination result from the user by displaying both exchange rates on the screen.

交換レートが正しいと判定された場合、端末10は、ユーザから、交換用ABCトークンの交換枚数の入力を受け付ける。続いて、端末10の送信部102は、入力された枚数の交換用ABCトークンを、ユーザアドレス(ユーザのアカウントに割り当てられているブロックチェーンアドレス)から交換コントラクトアドレスに送信する(S141)。続いて、端末10の送信部102は、ステップS141で送信したトランザクションがブロックチェーンネットワーク20で承認されたことを確認した後、交換用ABCトークンの受け取り確認を指示するメソッドを呼び出すトランザクションを送信する(S142)。   When it is determined that the exchange rate is correct, the terminal 10 receives an input of the number of exchanged ABC tokens from the user. Subsequently, the transmitting unit 102 of the terminal 10 transmits the input number of exchange ABC tokens from the user address (block chain address assigned to the user's account) to the exchange contract address (S141). Subsequently, after confirming that the transaction transmitted in step S141 has been approved by the blockchain network 20, the transmission unit 102 of the terminal 10 transmits a transaction for calling a method for instructing reception confirmation of the exchange ABC token ( S142).

続いて、ブロックチェーンネットワーク20に参加する情報処理装置は、交換用ABCトークンの受け取り確認を指示するメソッドに格納されているコードを実行する。情報処理装置は、当該コードを実行することで、ユーザアドレスから交換コントラクトアドレスに交換用ABCトークンが送信されたとの承認がなされていることを確認し(S143)、確認ができた場合に、ユーザアドレスの「交換用トークン受取量(アドレス別)403」に、送信された交換用ABCトークンの枚数を加算する(S144)。   Subsequently, the information processing apparatus participating in the block chain network 20 executes the code stored in the method for instructing the receipt confirmation of the exchange ABC token. The information processing apparatus confirms that the exchange ABC token is transmitted from the user address to the exchange contract address by executing the code (S143). The number of exchange ABC tokens sent is added to the “exchange token received amount (by address) 403” of the address (S144).

続いて、端末10は、交換コントラクト40の変数である「法定通貨−トークン交換レート400」及び「法定通貨−基軸コイン交換レート401」の値を取得し、取得したこれらの交換レートを用いて、ステップS141の処理手順で送信した枚数の交換用ABCトークンをABCトークンに交換するために必要な基軸コインの枚数を算出する。また、端末10は、算出した枚数の基軸コインを、ユーザアドレスから交換コントラクトアドレスに送信する(S145)。なお、基軸コインを交換コントラクトアドレス宛に送信する際、当該ユーザアドレスが設定された任意のウォレットを利用して送信することも可能である。   Subsequently, the terminal 10 acquires values of “statutory currency-token exchange rate 400” and “statutory currency-base coin exchange rate 401”, which are variables of the exchange contract 40, and uses these acquired exchange rates, The number of basic coins necessary for exchanging the number of exchange ABC tokens transmitted in the processing procedure of step S141 for ABC tokens is calculated. Further, the terminal 10 transmits the calculated number of basic coins from the user address to the exchange contract address (S145). In addition, when transmitting the base coin to the exchange contract address, it is also possible to transmit using an arbitrary wallet in which the user address is set.

交換用ABCトークンをABCトークンに交換するために必要な基軸コインの枚数は、例えば、交換用ABCトークンの枚数×「法定通貨−トークン交換レート」×「法定通貨−基軸コイン交換レート」で算出することができる。例えば、「法定通貨−トークン交換レート」が1トークンあたり10円であり、「法定通貨−基軸コイン交換レート」が、1基軸コインあたり100円である場合、10枚の交換用ABCトークンをABCトークンに交換にするために必要な基軸コインの枚数は、10枚×10円×1/100=基軸コイン1枚になる。   The number of basic coins necessary for exchanging the exchange ABC token for the ABC token is calculated by, for example, the number of exchange ABC tokens × “statutory currency−token exchange rate” × “statutory currency−base coin exchange rate”. be able to. For example, if the “statutory currency-token exchange rate” is 10 yen per token and the “statutory currency—base coin exchange rate” is 100 yen per coin, 10 exchange ABC tokens are used as ABC tokens. The number of basic coins required for the exchange is 10 × 10 yen × 1/100 = one basic coin.

続いて、端末10は、ステップS145で送信したトランザクションがブロックチェーンネットワーク20で承認されたことを確認した後、基軸コインの受け取り確認を指示するメソッドを呼び出すトランザクションを送信する(S146)。   Subsequently, after confirming that the transaction transmitted in step S145 has been approved by the blockchain network 20, the terminal 10 transmits a transaction for calling a method instructing the receipt confirmation of the basic coin (S146).

続いて、ブロックチェーンネットワーク20に参加する情報処理装置は、基軸コインの受け取り確認を指示するメソッドに格納されているコードを実行する。情報処理装置は、当該コードを実行することで、ユーザアドレスから交換コントラクトアドレスに基軸コインが送信されたとの承認がなされていることを確認し(S147)、確認ができた場合に、ユーザアドレスの「基軸コイン受取量(アドレス別)402」に、送信された基軸コインの枚数を加算する(S148)。   Subsequently, the information processing apparatus participating in the block chain network 20 executes the code stored in the method for instructing the receipt confirmation of the basic coin. By executing the code, the information processing apparatus confirms that the basic coin has been transmitted from the user address to the exchange contract address (S147). The number of transmitted basic coins is added to “base coin received amount (by address) 402” (S148).

また、情報処理装置は、送信された基軸コインの枚数が、交換用ABCトークンをABCトークンに交換するために必要な基軸コインの枚数と同一又は当該枚数以上であることを確認する(S149)。確認ができた場合、情報処理装置は、交換コントラクトアドレスからユーザアドレスに対して、受け取った交換用ABCトークンと同数のABCトークンを送信することを指示するトランザクションを送信すると共に(S150)、ユーザアドレスの「トークン送信量(アドレス別)404」に、送信したABCトークンの枚数を加算する(S151)。なお、情報処理装置が、交換用ABCトークンをABCトークンに交換するために必要な基軸コインの枚数を算出する方法は、ステップS145の処理手順で説明した算出方法と同一でよい。   Further, the information processing apparatus confirms that the number of transmitted basic coins is the same as or more than the number of basic coins necessary for exchanging the exchange ABC token for the ABC token (S149). If the confirmation can be made, the information processing apparatus transmits a transaction instructing to transmit the same number of ABC tokens as the received exchange ABC token from the exchange contract address to the user address (S150), and the user address Is added to the “token transmission amount (by address) 404” (S151). Note that the method of calculating the number of basic coins necessary for the information processing apparatus to exchange the exchange ABC token for the ABC token may be the same as the calculation method described in the processing procedure of step S145.

なお、ステップS149の処理手順において、ステップS145の処理手順で送信された基軸コインの枚数が、交換用ABCトークンをABCトークンに交換するために必要な基軸コインの枚数未満であった場合(つまり、ユーザから送信された基軸コインの数量不足している場合)、情報処理装置は、交換コントラクトアドレスからユーザアドレスに対して、送信された基軸コインの枚数で送信可能な上限の枚数のABCトークンを送信することを指示するトランザクションを送信すると共に(S150)、ユーザアドレスの「トークン送信量(アドレス別)404」に、送信したABCトークンの枚数を加算する(S151)ようにしてもよい。   In the processing procedure of step S149, when the number of basic coins transmitted in the processing procedure of step S145 is less than the number of basic coins necessary for exchanging an exchange ABC token for an ABC token (that is, When the number of basic coins transmitted from the user is insufficient), the information processing apparatus transmits an upper limit number of ABC tokens that can be transmitted by the number of basic coins transmitted from the exchange contract address to the user address. It is also possible to send a transaction instructing to do this (S150), and add the number of ABC tokens sent to the “token transmission amount (by address) 404” of the user address (S151).

送信された基軸コインの枚数で送信可能なABCトークンの枚数の上限は、例えば、送信された基軸コインの枚数÷(「法定通貨−トークン交換レート」×「法定通貨−基軸コイン交換レート」)で算出することができる。例えば、「法定通貨−トークン交換レート」が1トークンあたり10円であり、「法定通貨−基軸コイン交換レート」が、1基軸コインあたり100円である場合、0.5枚の基軸コインで送信可能なABCトークンの枚数は、0.5÷(10×1/100)=ABCトークン5枚になる。例えば、ユーザアドレスから交換コントラクトアドレスに送信された交換用ABCトークンが10枚であるにも関わらず、ユーザアドレスから交換コントラクトアドレスに送信された基軸コインが0.5枚であったとする。この場合、情報処理装置は、交換コントラクトアドレスからユーザアドレスに対して5枚のABCトークンを送信する。   The upper limit of the number of ABC tokens that can be transmitted by the number of transmitted basic coins is, for example, the number of transmitted basic coins ÷ (“statutory currency−token exchange rate” × “statutory currency−base coin exchange rate”). Can be calculated. For example, if the “statutory currency-token exchange rate” is 10 yen per token and the “statutory currency-to-base coin exchange rate” is 100 yen per base coin, transmission can be made with 0.5 base coins. The number of ABC tokens is 0.5 ÷ (10 × 1/100) = 5 ABC tokens. For example, it is assumed that the number of basic coins transmitted from the user address to the exchange contract address is 0.5 even though the number of exchange ABC tokens transmitted from the user address to the exchange contract address is ten. In this case, the information processing apparatus transmits five ABC tokens from the exchange contract address to the user address.

続いて、端末10は、ブロックチェーンネットワーク20にて、交換コントラクトアドレスからユーザアドレスに対してABCトークンが送信されたとの承認がなされたことを確認する(S152)。   Subsequently, the terminal 10 confirms that the block chain network 20 has approved that the ABC token has been transmitted from the exchange contract address to the user address (S152).

以上説明した処理手順において、交換用ABCトークンの送信タイミングと基軸コインの送信タイミングは逆であってもよい。具体的には、ステップS145乃至ステップS148の処理手順が実行された後で、ステップS141乃至ステップS144の処理手順が実行されることとしてもよい。この処理順序は、”交換用ABCトークンの受け取り確認を指示するメソッド”に、ステップS143及びステップS144の処理手順の後にステップS149乃至ステップS151の処理手順を実行するコードを記述し、”基軸コインの受け取り確認を指示するメソッド”から、ステップS149乃至ステップS151の処理手順を実行するコードを取り除くことで実現することができる。   In the processing procedure described above, the transmission timing of the exchange ABC token and the transmission timing of the base coin may be reversed. Specifically, after the processing procedure from step S145 to step S148 is executed, the processing procedure from step S141 to step S144 may be executed. This processing order is described in “Method for Instructing Receipt Confirmation of Exchange ABC Token” as a code for executing the processing procedure of steps S149 to S151 after the processing procedure of steps S143 and S144. This can be realized by removing the code for executing the processing procedure of steps S149 to S151 from the “method for instructing reception confirmation”.

また、ステップS147及びステップS148の処理手順は、ステップS146で端末20から送信されるトランザクションがトリガとなって実行され、ステップS149乃至ステップS151の処理手順は、端末10から送信される、トークンの交換を指示するメソッドを呼び出すトランザクションがトリガとなって実行されるようにしてもよい。   In addition, the processing procedures of step S147 and step S148 are executed with the transaction transmitted from the terminal 20 in step S146 as a trigger, and the processing procedures of step S149 to step S151 are the token exchanges transmitted from the terminal 10. A transaction that calls a method instructing may be executed as a trigger.

<変形例1>
本実施形態では、交換コントラクト40に、「法定通貨−基軸コイン交換レート401」が含まれない構成としてもよい。この場合、図10において、端末10は、ステップS140の処理手順を省略するとともに、ステップS145の処理手順において、「法定通貨−基軸コイン交換レート401」に相当する交換レートを、取引所が開示している交換レートや、交換レートを公開しているスマートコントラクト等を参照することで取得するようにしてもよい。
<Modification 1>
In the present embodiment, the exchange contract 40 may not include the “statutory currency-base coin exchange rate 401”. In this case, in FIG. 10, the terminal 10 omits the processing procedure of step S140, and the exchange discloses the exchange rate corresponding to “statutory currency-base coin exchange rate 401” in the processing procedure of step S145. The exchange rate may be obtained by referring to the exchange rate or the smart contract that discloses the exchange rate.

また、交換コントラクト40を実行する情報処理装置は、ステップS149の処理手順において、取引所が開示している交換レートや、交換レートを公開しているスマートコントラクト等を参照することで、「法定通貨−基軸コイン交換レート401」に相当する交換レートを取得し、取得した交換レートを用いて、ステップS149の処理手順を実行するようにしてもよい。すなわち、交換コントラクト40の取得手段440は、取引所が開示している交換レートや、交換レートを公開しているスマートコントラクトから、法定通貨と基軸コインと間の交換レートを取得するようにしてもよい。   In addition, the information processing apparatus that executes the exchange contract 40 refers to the exchange rate disclosed by the exchange, the smart contract that discloses the exchange rate, or the like in the processing procedure of step S149. -An exchange rate corresponding to the “base coin exchange rate 401” may be acquired, and the processing procedure of step S149 may be executed using the acquired exchange rate. That is, the acquisition means 440 of the exchange contract 40 may acquire the exchange rate between the legal currency and the base coin from the exchange rate disclosed by the exchange or the smart contract that discloses the exchange rate. Good.

<変形例2>
本実施形態では、法定通貨に代えて、所定数の基軸コインが支払われた場合に、交換用トークンをトークンに交換可能としてもよい。
<Modification 2>
In this embodiment, instead of the legal currency, the exchange token may be exchanged for a token when a predetermined number of basic coins are paid.

この場合、図7において「法定通貨−トークン交換レート400」を、「基軸コイン−トークン交換レート」に置き換えると共に、「法定通貨−基軸コイン交換レート401」を削除する。   In this case, “legal currency-token exchange rate 400” in FIG. 7 is replaced with “base coin-token exchange rate 401”, and “legal currency—base coin exchange rate 401” is deleted.

また、図10のステップS145の処理手順において、端末10は、交換コントラクト40の変数である「基軸コイン−トークン交換レート」の値を取得し、取得した交換レートを用いて、ステップS141の処理手順で送信した枚数の交換用ABCトークンをABCトークンに交換するために必要な基軸コインの枚数を算出する。また、端末10は、算出した枚数の基軸コインを、ユーザアドレスから交換コントラクトアドレスに送信する。   Further, in the processing procedure of step S145 of FIG. 10, the terminal 10 acquires the value of “base coin-token exchange rate” that is a variable of the exchange contract 40, and uses the acquired exchange rate to execute the processing procedure of step S141. The number of basic coins necessary for exchanging the exchanged ABC token for the number of exchanged to the ABC token is calculated. Further, the terminal 10 transmits the calculated number of basic coins from the user address to the exchange contract address.

また、交換コントラクト40を実行する情報処理装置は、送信された基軸コインの枚数が、交換用ABCトークンをABCトークンに交換するために必要な基軸コインの枚数と同一又は当該枚数以上であることを確認する(S149)。このとき、情報処理装置が、交換用ABCトークンをABCトークンに交換するために必要な基軸コインの枚数を算出する方法は、変形例2に対応するステップS145の処理手順で説明した算出方法と同一でよい。   Further, the information processing apparatus that executes the exchange contract 40 confirms that the number of transmitted basic coins is the same as or more than the number of basic coins necessary for exchanging an exchange ABC token for an ABC token. Confirm (S149). At this time, the method by which the information processing apparatus calculates the number of basic coins necessary for exchanging the exchange ABC token for the ABC token is the same as the calculation method described in the processing procedure of step S145 corresponding to the second modification. It's okay.

<変形例3>
本実施形態は、様々なICOのケースに対応可能である。例えば、図1下段の例において、交換用ABCトークンの配布タイミングを、最初のICO実施時には10,000,000枚のみを配布し、1年後のICO時に5,000枚を配布し、3年後のICO時に5,000枚を配布するといったケースにも対応可能である。この場合、1年後又は3年後のICO実施時に配布する交換用ABCトークンをABCトークンに交換する際の行使条件は、最初に実施したICOにおける行使条件とは異なるようにすることも可能である。この場合、行使条件ごとに交換コントラクトを生成してブロックチェーンネットワークにデプロイすることで対応可能である。
<Modification 3>
This embodiment can deal with various ICO cases. For example, in the example in the lower part of FIG. 1, the distribution timing of the replacement ABC token is distributed only 10,000,000 at the first ICO implementation, 5,000 at the ICO one year later, 3 years It is also possible to deal with a case where 5,000 sheets are distributed at a later ICO. In this case, the exercise conditions for exchanging the exchange ABC tokens distributed at the time of ICO implementation after one year or three years into ABC tokens may be different from the exercise conditions of the first ICO. is there. In this case, it can be handled by generating an exchange contract for each exercise condition and deploying it on the blockchain network.

また、例えば、ABCトークン及び交換用ABCトークンの発行枚数を事後的に増やすことも可能である。この場合、ABCトークンコントラクト及び交換用ABCトークンコントラクトに格納されている発行枚数を書き換えることで対応可能である。追加発行した交換用ABCトークンをABCトークンに交換する際の行使条件を、最初に発行した交換用ABCトークンをABCトークンに交換する際の行使条件とは異なる行使条件にする場合、行使条件ごとに交換コントラクトを生成してブロックチェーンネットワークにデプロイすることで対応可能である。   For example, the number of issued ABC tokens and exchange ABC tokens can be increased afterwards. In this case, this can be dealt with by rewriting the number of issued cards stored in the ABC token contract and the exchange ABC token contract. If the exercise condition for exchanging the newly issued exchange ABC token for the ABC token is different from the exercise condition for exchanging the first exchange ABC token for the ABC token, for each exercise condition This can be done by creating an exchange contract and deploying it to the blockchain network.

<まとめ>
本実施形態によれば、交換用トークンを所持しているユーザは、行使価格で規定された額を支払った場合に、交換用トークンをトークンに交換することができる。つまり、交換用トークンを配布することで、ユーザに対して、行使価格で規定された額を支払った場合にトークンを入手できる権利を付与することが可能になる。また、交換用トークンをトークンに交換する処理をスマートコントラクトで実現することで、ブロックチェーンの特性である高い信頼性を確保できると共に、改ざん等の不正行為を抑制することが可能になる。
<Summary>
According to this embodiment, the user who possesses the exchange token can exchange the exchange token for the token when paying the amount specified by the exercise price. In other words, by distributing the exchange token, it is possible to give the user the right to obtain the token when paying the amount specified by the exercise price. Further, by realizing the process of exchanging the exchange token for the token with the smart contract, it is possible to ensure high reliability, which is a characteristic of the block chain, and to suppress illegal acts such as tampering.

また、本実施形態では、交換用トークンからトークンに交換する際に必要な基軸コイン量を計算するための交換レートを、法定通貨及び基軸コイン間の交換レートと、行使価格(法定通貨及びトークン間の交換レート)で規定するようにした。これにより、投資家であるユーザが、行使価格が公募価格よりも低い価格に設定されていないかを監視することができることから、ICO運営者が、行使価格を意図的に公募価格よりも低い価格に設定するといった行為を行うことを抑制することが可能になる。   In the present embodiment, the exchange rate for calculating the amount of basic coins necessary for exchanging tokens from exchange tokens is the exchange rate between legal currency and basic coins, and the strike price (between legal currency and tokens). Exchange rate). Thereby, since the user who is an investor can monitor whether the exercise price is set lower than the public offering price, the ICO operator deliberately sets the exercise price lower than the public offering price. It is possible to suppress performing an action such as setting to.

また、本実施形態では、法定通貨及びトークン間の交換レートを変更できない態様で交換コントラクト40に格納されるようにしてもよい。これにより、ICO運営者が行使価格を意図的に低くするといった行為を行うことを抑制することが可能になる。   Moreover, in this embodiment, you may make it store in the exchange contract 40 in the aspect which cannot change the exchange rate between a legal currency and a token. As a result, it is possible to prevent the ICO operator from deliberately lowering the exercise price.

なお、本実施形態で説明した交換コントラクト40は、ICOを実施する場合に限らず利用することが可能である。例えば、トークンをチケットとみなすことも可能である。この場合、交換用トークンは、所定の金額を支払うことでチケットを入手できる権利であると言うことができる。これにより、予めチケット当選者に交換用トークンを配布しておくだけで、後日、交換用トークン及び所定の金額との引き換えにチケットを渡すという運用を、改ざん等の不正行為が困難な環境下で実施することが可能になる。   The exchange contract 40 described in the present embodiment can be used not only when ICO is performed. For example, a token can be regarded as a ticket. In this case, it can be said that the exchange token is a right to obtain a ticket by paying a predetermined amount. As a result, only by distributing the replacement token to the ticket winner in advance, the operation of handing over the ticket in exchange for the replacement token and the predetermined amount at a later date can be performed in an environment where it is difficult to perform fraud such as tampering. It becomes possible to carry out.

以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態で説明したフローチャート、シーケンス、実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。   The embodiments described above are for facilitating the understanding of the present invention, and are not intended to limit the present invention. The flowcharts, sequences, and elements included in the embodiments, and the arrangement, materials, conditions, shapes, sizes, and the like included in the embodiments are not limited to those illustrated, but can be changed as appropriate. In addition, the structures shown in different embodiments can be partially replaced or combined.

1…ICOシステム、10…端末、11…CPU、12…記憶装置、13…通信IF、14…入力デバイス、15…出力デバイス、20…ブロックチェーンネットワーク、30…管理サーバ、40…交換コントラクト、100…UI部、101…取得部、102…送信部、103…処理部、300…受付部、301…トークン発行部、302…トークン送信部、303…交換コントラクト生成部、304…交換コントラクト送信部、305…更新部、410…更新処理手段、420…確認処理手段、430…送信処理手段   DESCRIPTION OF SYMBOLS 1 ... ICO system, 10 ... Terminal, 11 ... CPU, 12 ... Storage device, 13 ... Communication IF, 14 ... Input device, 15 ... Output device, 20 ... Block chain network, 30 ... Management server, 40 ... Exchange contract, 100 ... UI part, 101 ... acquisition part, 102 ... transmission part, 103 ... processing part, 300 ... reception part, 301 ... token issuing part, 302 ... token transmission part, 303 ... exchange contract generation part, 304 ... exchange contract transmission part, 305... Update unit, 410... Update processing means, 420.

Claims (8)

分散コンピューティングネットワークに参加するコンピュータに、
第1トークンを第2トークンに交換するために必要なコインの数量を算出するための交換レートを取得する取得ステップと、
第1アドレスから第2アドレスに数量Nの前記第1トークンが送信されたことと、前記第1アドレスから前記第2アドレスに数量Mの前記コインが送信されたこととの送信確認を行う確認ステップと、
前記送信確認が行われた場合に、前記交換レートと、前記コインの数量Mと、前記第1トークンの数量Nとに基づいて、前記第1アドレスに送信可能な前記第2トークンの数量を算出し、算出した数量の前記第2トークンを前記第1アドレスに送信する送信ステップと、
を実行させるためのプログラム。
To computers participating in a distributed computing network,
An obtaining step of obtaining an exchange rate for calculating a quantity of coins necessary for exchanging the first token for the second token;
Confirmation step of confirming transmission of the quantity N of the first token from the first address to the second address and the quantity M of the coin sent from the first address to the second address. When,
When the transmission confirmation is performed, the number of the second tokens that can be transmitted to the first address is calculated based on the exchange rate, the number M of the coins, and the number N of the first tokens. A transmitting step of transmitting the calculated second token of the second token to the first address;
A program for running
前記送信ステップは、前記交換レートを用いて、前記数量Nの前記第1トークンを前記第2トークンに交換するために必要な前記コインの数量を算出し、
算出した前記コインの数量が前記数量Mと同一又は前記数量M以下である場合に、前記第1トークンと前記第2トークンとの交換比率に基づいて算出される、前記数量Nの前記第1トークンに対応する枚数の前記第2トークンを前記第1アドレスに送信する、
請求項1に記載のプログラム。
The transmitting step calculates the quantity of coins necessary for exchanging the quantity N of the first tokens with the second token using the exchange rate;
When the calculated quantity of coins is equal to or less than the quantity M, the first token of the quantity N is calculated based on the exchange ratio between the first token and the second token. Sending the number of the second tokens corresponding to the first address,
The program according to claim 1.
前記送信ステップは、算出した前記コインの数量が前記数量Mを超える場合に、前記第1トークンと前記第2トークンとの交換比率に基づいて算出される、前記数量Mの基軸コインにて交換可能な上限の枚数の第2トークンを前記第1アドレスに送信する、
請求項1又は2に記載のプログラム。
In the transmission step, when the calculated quantity of coins exceeds the quantity M, exchange is possible with the basic coin of the quantity M calculated based on the exchange ratio of the first token and the second token. A second upper limit number of second tokens is transmitted to the first address;
The program according to claim 1 or 2.
前記交換レートは、所定通貨と前記第2トークンとを交換する際のレートを示す第1交換レートと、前記所定通貨と前記コインとを交換する際のレートを示す第2交換レートと、を含み、
前記送信ステップは、
前記第1交換レートに基づいて、前記数量Nの前記第2トークンを得るために必要な前記所定通貨の額を算出し、更に、
前記第2交換レートに基づいて、前記算出した額の前記所定通貨から交換可能な前記コインの数量を算出し、
算出した前記コインの数量を、前記数量Nの前記第1トークンを前記第2トークンに交換するために必要な前記コインの数量とする、
請求項2又は3に記載のプログラム。
The exchange rate includes a first exchange rate indicating a rate when exchanging a predetermined currency and the second token, and a second exchange rate indicating a rate when exchanging the predetermined currency and the coin. ,
The transmitting step includes
Calculating the amount of the predetermined currency necessary to obtain the quantity N of the second tokens based on the first exchange rate;
Based on the second exchange rate, calculate the quantity of the coins that can be exchanged from the predetermined amount of the predetermined currency,
The calculated quantity of coins is the quantity of coins necessary for exchanging the first token of the quantity N with the second token,
The program according to claim 2 or 3.
前記第1交換レートは、更新不可である状態で記憶され、
前記第2交換レートの更新を受け付けた場合に、前記第2交換レートを、受け付けた交換レートに更新する更新ステップ、を更に有する。
請求項4に記載のプログラム。
The first exchange rate is stored in a non-updatable state,
An update step of updating the second exchange rate to the accepted exchange rate when an update of the second exchange rate is accepted.
The program according to claim 4.
前記確認ステップは、前記送信確認として、前記第1トークンが前記第1アドレスから前記第2アドレス向けに前記数量N送信されたことの通知と、前記コインが前記第1アドレスから前記第2アドレス向けに前記数量M送信されたことの通知とを受けた場合に、前記第1トークンが前記第1アドレスから前記第2アドレスに前記数量N送信されたことの承認がなされていることと、前記コインが前記第1アドレスから前記第2アドレスに前記数量M送信されたことの承認がなされていることと、を確認する、
請求項1乃至5のいずれか一項に記載のプログラム。
In the confirmation step, as the transmission confirmation, a notification that the quantity N is transmitted from the first address to the second address, and a coin that is transmitted from the first address to the second address. Receiving the notification that the quantity M has been transmitted to the first address, the first token has been acknowledged that the quantity N has been transmitted from the first address to the second address, and the coin Confirming that the quantity M has been transmitted from the first address to the second address.
The program according to any one of claims 1 to 5.
前記分散コンピューティングネットワークは、ブロックチェーンネットワークであり、
前記コンピュータは、前記ブロックチェーンネットワークに参加するコンピュータである、
請求項1乃至6のいずれか一項に記載のプログラム。
The distributed computing network is a blockchain network;
The computer is a computer participating in the blockchain network;
The program according to any one of claims 1 to 6.
第1トークンを第2トークンに交換するために必要なコインの数量を算出するための交換レートをユーザから受け付ける受付部と、
前記受付部により受け付けた前記交換レートを含む、分散コンピューティングネットワークに参加するコンピュータに実行させるプログラムを生成する生成部と、
を有し、
前記プログラムは、更に、
第1アドレスから第2アドレスに数量Nの前記第1トークンが送信されたことと、前記第1アドレスから前記第2アドレスに数量Mの前記コインが送信されたこととの送信確認を行う確認ステップと、
前記送信確認が行われた場合に、前記交換レートと、前記コインの数量Mと、前記第1トークンの数量Nとに基づいて、前記第1アドレスに送信可能な前記第2トークンの数量を算出し、算出した数量の前記第2トークンを前記第1アドレスに送信する送信ステップと、
を含む、生成装置。
A receiving unit that receives an exchange rate for calculating the number of coins necessary for exchanging the first token for the second token from the user;
A generating unit that generates a program to be executed by a computer participating in a distributed computing network, including the exchange rate received by the receiving unit;
Have
The program further includes:
Confirmation step of confirming transmission of the quantity N of the first token from the first address to the second address and the quantity M of the coin sent from the first address to the second address. When,
When the transmission confirmation is performed, the number of the second tokens that can be transmitted to the first address is calculated based on the exchange rate, the number M of the coins, and the number N of the first tokens. A transmitting step of transmitting the calculated second token of the second token to the first address;
Including a generating device.
JP2018222283A 2018-11-28 2018-11-28 Program and generating device Active JP6500158B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018222283A JP6500158B1 (en) 2018-11-28 2018-11-28 Program and generating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018222283A JP6500158B1 (en) 2018-11-28 2018-11-28 Program and generating device

Publications (2)

Publication Number Publication Date
JP6500158B1 true JP6500158B1 (en) 2019-04-10
JP2020087102A JP2020087102A (en) 2020-06-04

Family

ID=66092665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018222283A Active JP6500158B1 (en) 2018-11-28 2018-11-28 Program and generating device

Country Status (1)

Country Link
JP (1) JP6500158B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021077321A (en) * 2019-10-31 2021-05-20 株式会社 みずほ銀行 Securities management system and securities management method
JP2021177267A (en) * 2020-05-05 2021-11-11 豊 仲宗根 Transaction system, control method of transaction system, and control program of transaction system
CN113785316A (en) * 2019-04-16 2021-12-10 松下电器(美国)知识产权公司 Control method, server and data structure

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7090290B2 (en) * 2019-09-30 2022-06-24 株式会社バランス&チューニング Token processing system, server device and mobile terminal, token processing method and token processing program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003076910A (en) * 2001-09-04 2003-03-14 Nec Corp Method and system for exchanging points, and point exchange program
JP6009982B2 (en) * 2013-03-28 2016-10-19 株式会社 ゆうちょ銀行 Information processing system, account management server, and information processing method
JP6265456B1 (en) * 2017-06-29 2018-01-24 ジャパンモード株式会社 Virtual currency trading system, virtual currency trading apparatus, and virtual currency trading program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113785316A (en) * 2019-04-16 2021-12-10 松下电器(美国)知识产权公司 Control method, server and data structure
JP2021077321A (en) * 2019-10-31 2021-05-20 株式会社 みずほ銀行 Securities management system and securities management method
JP6997243B2 (en) 2019-10-31 2022-01-17 株式会社 みずほ銀行 Securities management system and securities management method
JP2021177267A (en) * 2020-05-05 2021-11-11 豊 仲宗根 Transaction system, control method of transaction system, and control program of transaction system

Also Published As

Publication number Publication date
JP2020087102A (en) 2020-06-04

Similar Documents

Publication Publication Date Title
JP7204231B2 (en) Any device, system or method that facilitates value transfer between parties with low or no trust
JP6500158B1 (en) Program and generating device
US11727401B1 (en) System, method and program product for generating and utilizing stable value digital assets
US11769186B2 (en) Use verification code for validating an exchange item use request
US11887077B2 (en) Generating exchange item utilization solutions in an exchange item marketplace network
US20230015356A1 (en) No point-of-sale terminal exchange item redemption
US11694244B2 (en) Method for consumption based redemption in an exchange item marketplace network
US20220414668A1 (en) Generating dynamically secure exchange item data for validating use of an exchange item
JP2021152815A (en) Game system and auction program
US11164228B2 (en) Method and medium for determining exchange item compliance in an exchange item marketplace network
JP2021520011A (en) Exchange of digital assets
KR101996802B1 (en) Method for payment and reward using cryptocurrency
JP6838388B2 (en) Information processing system, information processing method, program and information processing device
KR102110605B1 (en) Method for trading blockchain exchange based real electronic wallet and method for trading the same
KR20200134622A (en) Transaction methods and systems using direct trading and auction, reverse auction and joint auction of blockchain-based value tangible and intangible assets
KR102045493B1 (en) Payment processing apparatus using virtual currency with automatic trading function of virtual currency and operating method thereof
JP2019076350A (en) Item trading system and item trading program
US20230196354A1 (en) Authorizing replacement of a security parameter associated with one or more exchange items
JP2019079502A (en) Item trading system and item trading program
JP2019212241A (en) Information processing device, information processing method, program, and transaction systems
KR20200114324A (en) Block chain based money transfer processing system using cryptocurrency
KR20200130558A (en) Method for operating a crypto-currency exchange
JP2022151846A (en) Transaction management system, information processing device, transaction management method, and transaction management program
JP6853422B1 (en) Online transaction information protection system and online transaction information protection method
KR20210001915A (en) Crowd funding platform for research goods based on block chain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181218

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20181218

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20181227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190318

R150 Certificate of patent or registration of utility model

Ref document number: 6500158

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250