This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2019-16157, filed on Jan. 31, 2019, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to an information processing apparatus, an information processing method, and a computer-readable recording medium.
The use of a virtual currency on a blockchain is expected as a payment method replacing cash. When there are a plurality of types of virtual currency and a certain virtual currency is exchanged for a different virtual currency, exchange is performed based on the exchange ratio (exchange rate) between the two types of virtual currency. If the exchange ratio is an exchange ratio (exchange rate) between major virtual currencies, the exchange rate is given from time to time by, for example, a well-known exchange.
Examples of the related art include Eyal Hertzog, Guy Benartzi & Galia Benartzi: “Bancor Protocol—Continuous Liquidity and Asynchronous Price Discovery for Tokens through their Smart Contracts; aka “Smart Tokens””, Draft Version 0.99, May 30, 2017,
https://bravenewcoin.com/assets/Whitepapers/Bancor-Protocol-Whitepaper-en.pdf.
According to an aspect of the embodiments, an information processing apparatus includes: a memory; and a processor coupled to the memory and configured to: acquire a price of a first transaction target in a history of transactions using a first virtual currency and a price of a second transaction target in a history of transactions using a second virtual currency; and calculate an exchange ratio between the first virtual currency and the second virtual currency based on the price of the first transaction target and the price of the second transaction target.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
However, for example, when there is no past record of exchange between a certain virtual currency such as a new virtual currency and another virtual currency or when a small amount of virtual currency is exchanged for another virtual currency, there is a possibility that a relevant exchange ratio is not set on the exchange.
Therefore, in an aspect, an objective value may be given to a virtual currency.
Hereinafter, an embodiment of the present disclosure will be described with reference to drawings.
The server 10, the terminals 20, and the nodes 30 are coupled in a communicable state via a network 50 such as the Internet, a mobile phone network, a wireless local area network (LAN), or a LAN, for example.
The nodes 30A-1, 30A-2, . . . are a group of computers that realizes a distributed ledger for a virtual currency A (an example of a “first virtual currency”). The nodes 30B-1, 30B-2, . . . are a group of computers that realizes a distributed ledger for a virtual currency B (an example of a “second virtual currency”). The nodes 30C-1, 30C-2, . . . are a group of computers for storing a distributed ledger for a virtual currency C (an example of a “third virtual currency”).
The distributed ledger for each virtual currency includes blockchain information for each virtual currency. The blockchain refers to a list of linked blocks in which transaction data generated every predetermined time is collected, for example. The blockchain is stored in common in the plurality of nodes 30, and the legitimacy of the transactions is monitored by the plurality of nodes 30, whereby a distributed ledger that is disclosed to the outside is realized.
The server 10 is an information processing apparatus (computer) that calculates an exchange ratio (exchange rate) between the virtual currency A and the virtual currency B based on a history of transactions of commodities or the like (an example of a “transaction target”) using the virtual currency A and a history of transactions of commodities or the like using the virtual currency B.
The server 10 may be a group of computers that realizes a distributed ledger composed of a plurality of nodes, and the distributed ledger composed of the group of computers may be the same apparatuses as the nodes 30. The server 10 may be a node for interworking a plurality of distributed ledgers as described in “Fujitsu Develops Security Technology to Safely Connect Blockchains” (URL: https://www.fujitsu.com/global/about/resources/news/press-releases/2017/1115-01.html) and for constructing a distributed ledger for interworking a plurality of blockchains (ConnectionChain).
The server 10 may have a function of performing payment for a commodity or the like using the virtual currency A or the like in response to a request from the terminal 20. In this case, for example, the server 10 records, by using a smart contract program that automates transactions using the virtual currency A or the like, the content of the transaction using the virtual currency A or the like in the distributed ledger for the virtual currency A, the server 10 on which a web application for exchanging virtual currencies or the like are running, another information processing apparatus, a distributed ledger such as ConnectionChain, or the like.
The server 10 may have a function of exchanging the virtual currency A and the virtual currency B in response to a request from the terminal 20. In this case, for example, the server 10 records, by using a smart contract for the virtual currency A and a smart contract for virtual currency B, information on the exchange between the virtual currency A and the virtual currency B in the server 10, another information processing apparatus, a distributed ledger such as ConnectionChain, or the like.
The terminal 20 is an information processing apparatus such as a desktop personal computer (PC), a notebook PC, a tablet PC, or a smartphone. For example, in response to a user operation, the terminal 20 acquires information on the exchange ratio between the virtual currency A and the virtual currency B from the server 10.
A program that realizes processing in the server 10 is provided by a recording medium 101. When the recording medium 101 on which the program is recorded is set in the drive device 100, the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100. However, the program does not necessarily have to be installed from the recording medium 101 and may be downloaded from another computer via a network. The auxiliary storage device 102 stores the installed program, and stores required files, data, and the like.
The memory device 103 reads the program from the auxiliary storage device 102 and stores the read program, in response to an instruction to start the program. The CPU 104 realizes functions related to the server 10 in accordance with the program stored in the memory device 103. The interface device 105 is used as an interface for coupling the server 10 to a network. The display device 106 is a display that displays a graphical user interface (GUI) or the like in accordance with a program. The input device 107 receives input of various operation instructions.
An example of the recording medium 101 is a portable recording medium such as a compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), or a Universal Serial Bus (USB) memory. An example of the auxiliary storage device 102 is a hard disk drive (HDD), a flash memory, or the like. Each of the recording medium 101 and the auxiliary storage device 102 corresponds to a computer-readable recording medium. The hardware configuration of the terminal 20 may be substantially the same as the example of the hardware configuration of the server 10 illustrated in
Next, a functional configuration of the communication system 1 according to the embodiment will be described with reference to
The server 10 includes an acquisition unit 12, a calculation unit 13, a recording unit 14, and a communication unit 15. The acquisition unit 12, the calculation unit 13, the recording unit 14, and the communication unit 15 are realized by processing that one or more programs installed in the server 10 cause the CPU 104 of the server 10 to execute.
The acquisition unit 12 acquires information of a history of transactions of commodities or the like using each virtual currency from the distributed ledger for each virtual currency stored in the plurality of nodes 30. For example, the acquisition unit 12 acquires a price of a commodity in a certain virtual currency when the commodity is purchased using the certain virtual currency, and a price of the commodity in another virtual currency when the commodity is purchased using the other virtual currency.
Based on the information acquired by the acquisition unit 12, the calculation unit 13 calculates an exchange ratio between the certain virtual currency and the other virtual currency.
When a transaction of a commodity or the like is performed using each virtual currency, the recording unit 14 stores information of a history of the transaction of the commodity or the like using each virtual currency in the distributed ledger for each virtual currency or a predetermined distributed ledger.
The communication unit 15 communicates with the terminals 20 and the nodes 30.
Next, an example of processing executed in the communication system 1 according to the embodiment will be described with reference to
In step S1, the terminal 20 transmits an acquisition request for information on the exchange ratio between the virtual currency A and the virtual currency B to the server 10 in response to a user operation or the like.
Subsequently, the acquisition unit 12 of the server 10 acquires a history of transactions of commodities using the virtual currency A from the distributed ledger for the virtual currency A stored in the nodes 30A-1, 30A-2, . . . (step S2). Information indicating what commodity is the target of the transaction when the commodity is bought and sold between users is not generally recorded in the transaction history on the blockchain of the related art. Therefore, in the present embodiment, for example, the server 10 or the nodes 30A-1, 30A-2, . . . automatically record, by using a smart contract program that runs on the server 10 or the nodes 30A-1, 30A-2, . . . or the like, information related to commodities purchased using the virtual currency A in the distributed ledger for the virtual currency A or the like. Therefore, in this case, when a commodity is purchased using the virtual currency A (virtual currency A and commodity are exchanged), a history of transactions as illustrated in
For example, the history of transactions as illustrated in
The price dispersion is a value indicating variation in the distribution of the amount of the virtual currency A paid in each transaction for purchasing the commodity. As the price dispersion, for example, the coefficient of variation, variance, standard deviation, interquartile range (difference between the first and third quartiles), or the like of the prices in respective transactions may be used. The coefficient of variation is calculated by dividing the standard deviation by the average value. The coefficient of variation is, for example, a scale used when variations of distributions having different average values are relatively evaluated, takes a non-negative value, and indicates a smaller variation as the value is closer to 0. The transaction volume is the number of times a transaction of each commodity is performed.
For example, disclosure of individual transaction information is problematic from the viewpoint of privacy protection, but the history of transactions as illustrated in
Subsequently, the acquisition unit 12 of the server 10 acquires a history of transactions of commodities using the virtual currency B from the distributed ledger for the virtual currency B stored in the nodes 30B-1, 30B-2, . . . (step S3). The acquisition unit 12 of the server 10 acquires the history of transactions of commodities using the virtual currency B by substantially the same processing as in step S2.
Subsequently, the calculation unit 13 of the server 10 calculates an exchange ratio between the virtual currency A and the virtual currency B based on the history of transactions of commodities using the virtual currency A and the history of transactions of commodities using the virtual currency B (step S4). Subsequently, the communication unit 15 of the server 10 transmits information on the calculated exchange ratio to the terminal 20 (step S5).
Next, an example of the processing for calculating the exchange ratio between the virtual currency A and the virtual currency B in step S4 of
In step S101, the calculation unit 13 determines whether or not histories of transactions of the same commodity exist in the history of transactions of commodities using the virtual currency A and in the history of transactions of commodities using the virtual currency B. When the name of a commodity in the history of transactions using the virtual currency A matches the name of a commodity in the history of transactions using the virtual currency B, the calculation unit 13 determines that the commodities in these transaction histories are the same.
The calculation unit 13 may determine a plurality of commodities having substantially the same price to be the same in order to deal with variations in description of the name of the commodity in the histories of transactions or the like. In this case, the following processing may be performed. First, the calculation unit 13 calculates a price distribution of each commodity in the history of transactions using the virtual currency A or the virtual currency B and calculates the distance between the distributions. The calculation unit 13 may calculate the distance between the distributions using, for example, a test statistic of Welch's t test. When the distance between the price distribution of a commodity name A and the price distribution of a commodity name B is equal to or less than a predetermined threshold, the calculation unit 13 determines that the commodity with the commodity name A and the commodity with the commodity name B are the same.
If there are histories of transactions of the same commodity (YES in step S101), the calculation unit 13 performs processing for calculating the exchange ratio based on the histories of transactions of the same commodity (step S102). Details of this processing will be described later.
If there are no histories of transactions of the same commodity (NO in step S101), the calculation unit 13 determines whether or not there are histories of transactions of commodities of the same item in the history of transactions of commodities using the virtual currency A and the history of transactions of commodities using the virtual currency B (step S103). When an item name in the history of transactions using the virtual currency A matches an item name in the history transactions using the virtual currency B, the calculation unit 13 determines that the items in these histories of transactions are the same. Similarly to the processing described in the processing of step S101, the calculation unit 13 may determine a plurality of items having substantially the same price to be the same in order to deal with variations in description of the name of the item in the history of transactions using one virtual currency or the like.
When there are histories of transactions of commodities of the same item (YES in step S103), the calculation unit 13 performs processing for calculating the exchange ratio based on the histories of transactions of commodities of the same item (step S104). Consequently, even when a transaction of the same commodity is not performed using the virtual currency A and the virtual currency B, the exchange ratio serving as a reference may be determined based on histories of transactions of similar commodities. Details of this processing will be described later.
If there are no histories of transactions of commodities of the same item (NO in step S103), the calculation unit 13 determines whether or not there are histories of transactions of commodities that may be compared in value in the history of transactions of commodities using the virtual currency A and the history of transactions of commodities using the virtual currency B (step S105).
If there are histories of transactions of commodities that may be compared in value (YES in step S105), the calculation unit 13 performs processing for calculating the exchange ratio based on the histories of transactions of commodities that may be compared in value (step S106). Details of this processing will be described later.
If there are no histories of transactions of commodities that may be compared in value (NO in step S105), the calculation unit 13 performs processing for calculating the exchange ratio based on histories of transactions of items that may be compared in value (step S107). Details of this processing will be described later.
<<Processing for Calculating Exchange Ratio based on Histories of Transactions of Same Commodity>>
Next, an example of the processing for calculating the exchange ratio based on the histories of transactions of the same commodity in step S102 of
In step S1001, the calculation unit 13 selects, from among commodities (same commodities) that are included in common in the history of transactions of commodities using the virtual currency A and the history of transactions of commodities using the virtual currency B, commodities of which a transaction volume in each transaction history in a predetermined period (one month, for example) is equal to or greater than a predetermined threshold and of which a price dispersion in the predetermined period is equal to or less than a predetermined threshold.
It is assumed that the history of transactions of commodities using the virtual currency A in the predetermined period includes the information illustrated in
Subsequently, for each of the selected commodities, the calculation unit 13 determines a ratio ui between the value of an i-th commodity i selected from the history of transactions using the virtual currency A and the value of the i-th commodity i selected from the history of transactions using the virtual currency B (step S1002). In the processing of
Subsequently, the calculation unit 13 calculates an exchange ratio between the virtual currencies for each of the selected commodities (step S1003). The calculation unit 13 may calculate the ratio between the representative values for each commodity in the virtual currencies, for example, by using Equation (1) below. In Equation (1), SAi is the representative value of the price of the i-th commodity i in the virtual currency A, SBi is the representative value of the price of the i-th commodity i in the virtual currency B, and Ri the exchange ratio between the virtual currencies for the i-th commodity i.
Subsequently, the calculation unit 13 calculates a value obtained by weighting the exchange ratio between the virtual currencies for each selected commodity with the transaction volumes of the commodity, as the exchange ratio R between the virtual currency A and the virtual currency B (step S1004). The calculation unit 13 may calculate, as the exchange ratio R, a weighted average of the exchange ratios Ri for the individual commodities weighted by the corresponding transaction volumes of the commodities, for example. In this way, for example, even when the value of a certain commodity is not stable, a more appropriate exchange ratio may be calculated. In this case, the calculation unit 13 may calculate the exchange ratio R by using Equation (2) below, for example. In Equation (2), N is the total number of selected commodities, tAi is the transaction volume of the i-th commodity in the virtual currency A, and tBi is the transaction volume of the i-th commodity in the virtual currency B.
In this case, in the examples of
The exchange ratio R weighted by the transaction volumes in the virtual currencies is calculated to be 0.07375 from {0.07×(5000+5000)+0.08125×(2000+3000)}/{(5000+5000)+(2000+3000)}. This indicates that if the user of the terminal 20 wants to receive 1000 in the virtual currency B when exchanging the virtual currency A for the virtual currency B, the user gives 73.75 (=0.07375×1000) in the virtual currency A.
<<Processing for Calculating Exchange Ratio based on Histories of Transactions of Commodities of Same Item>>
Next, an example of the processing for calculating the exchange ratio based on histories of transactions of commodities of the same item in step S104 in
In step S2001, the calculation unit 13 selects, from among commodities having item names in common in the history of transactions of commodities using the virtual currency A and the history of transactions of commodities using the virtual currency B, commodities of which the price dispersion in a predetermined period is equal to or less than a predetermined threshold and which has the largest transaction volume in the predetermined period for each item.
It is assumed that the history of transactions of commodities using the virtual currency A in the predetermined period includes the information illustrated in
Subsequently, the calculation unit 13 determines the ratio ui between the value of a first commodity (commodity related to the history of transactions using the virtual currency A) and a second commodity (commodity related to the history of transactions using the virtual currency B) included in a set of commodities of an i-th item among the selected same items (step S2002). The calculation unit 13 may use a preset value as the ratio ui between the value of the first commodity and the value of the second commodity. Alternatively, the calculation unit 13 may calculate the ratio ui between the value of the first commodity and the value of the second commodity based on a history of transactions of commodities using the virtual currency C as in an example of processing in step S3002 described later.
Subsequently, the calculation unit 13 calculates the exchange ratio between the virtual currencies for the set of commodities of the i-th item among the selected same items (step S2003). The calculation unit 13 may calculate the exchange ratio between the virtual currencies for each of the commodities of the same item by using, for example, Equation (1) above.
Subsequently, the calculation unit 13 calculates a value obtained by weighting the exchange ratio Ri between the virtual currencies for the set of commodities of the same item with the transaction volumes of the respective commodities, as the exchange ratio R between the virtual currency A and the virtual currency B (step S2004). This processing is substantially the same as the processing in step S1004 described above.
When each of the ratios u1 and u2 determined by the processing of step S2002 is 1, the exchange ratio R1 between the virtual currency A and the virtual currency B based on the representative values of the prices of “ELECTRONIC WILDCAT” and “ELECTRONIC BLACK CAT” is calculated to be 0.0769 (=500/6500) in the examples of
The exchange ratio R weighted by the transaction volumes of the commodities of the same item in the respective virtual currencies is calculated to be 0.076 from {0.0769×(10000+20000)+0.07×(2000+1500)}/(10000+20000+2000+1500). This indicates that when the user of the terminal 20 wants to receive 1000 in the virtual currency B when exchanging the virtual currency A for the virtual currency B, the user gives 76 (=0.076×1000) in the virtual currency A.
<<Processing for Calculating Exchange Ratio based on Histories of Transactions of Commodities that may be Compared in Value>>
Next, an example of the processing for calculating the exchange ratio based on histories of transactions of commodities that may be compared in value in step S106 in
In step S3001, from the history of transactions of commodities using the virtual currency A and the history of transactions of commodities using the virtual currency B, the calculation unit 13 selects commodities of which the transaction volume in a predetermined period is equal to or greater than a predetermined threshold and the price dispersion in the predetermined period is equal to or less than a predetermined threshold.
It is assumed that the history of transactions of commodities using the virtual currency A in the predetermined period includes the information illustrated in
Subsequently, the calculation unit 13 determines the ratio ui between the value of the first commodity and the value of the second commodity included in each selected set i of commodities (step S3002). The calculation unit 13 may use a preset value as illustrated in
The calculation unit 13 may calculate the ratio ui based on the history of transactions using the virtual currency C illustrated in
Subsequently, the calculation unit 13 calculates the exchange ratio between the virtual currencies for each set i of commodities (step S3003). For example, the calculation unit 13 may calculate the exchange ratio between the virtual currencies for each set of commodities by using Equation (1) above. In this case, the calculation unit 13 obtains, by calculation, 0.625 (=500/800), which is a value of the ratio between “500”, which is the representative value in the virtual currency A for “ELECTRONIC BLACK CAT” in
Subsequently, the calculation unit 13 calculates a value obtained by weighting the exchange ratio between the virtual currencies for each set of commodities with the transaction volumes of the respective commodities, as the exchange ratio R between the virtual currency A and the virtual currency B (step S3004). This processing is substantially the same as the processing in step S1004 described above.
<<Processing for Calculating Exchange Ratio based on Histories of Transactions of Items that may be Compared in Value>>
Next, an example of the processing for calculating the exchange ratio based on histories of transactions of items that may be compared in value in step S107 in
In step S4001, the calculation unit 13 selects a first item and a second item for which the ratio between the value of the first item and the value of the second item may be determined, from the history of transactions of commodities using the virtual currency A and the history of transactions of commodities using the virtual currency B. For example, the calculation unit 13 determines that the ratio between the value of the first item and the value of the second item may be determined when the ratio between the value of the first item and the value of the second item is preset.
Subsequently, the calculation unit 13 calculates the exchange ratio R between the virtual currencies for each set i of items (step S4002). The calculation unit 13 may first use the ratio, which is preset as illustrated in
Subsequently, the calculation unit 13 calculates a value obtained by weighting the exchange ratio between the virtual currencies for each set of items with the transaction volumes of the respective commodities included in the items, as the exchange ratio R (step S4003). This processing is substantially the same as the processing in step S1004 described above.
Each functional unit of the server 10 may be realized by cloud computing constituted by one or more computers, for example. The server 10 may include at least some of the functions of the node 30. The history of transactions using each currency may take a form of being collectively managed in the server, rather than being distributed and held on the blockchain.
In the related art, the exchange rate between major virtual currencies may be appropriately determined from the supply and demand balance of currency exchange transactions. However, for example, in the case of currency exchange between a major virtual currency and a new virtual currency or the like, since there is not a sufficient volume of currency exchange transactions, it may be difficult to determine the exchange rate in some cases.
According to the embodiment described above, the exchange ratio between the virtual currency A and the virtual currency B is calculated based on the price of a transaction target x in the history of transactions using the virtual currency A, the price of a transaction target y in the history of transactions using the virtual currency B, and the ratio between the value of the transaction target x and the value of the transaction target y. In this way, an objective value may be given to the virtual currency.
Although the embodiment of the present disclosure has been described in detail above, the present disclosure is not limited to such a specific embodiment, and various modifications and changes may be made within the scope of the gist of the disclosure described in the claims. The server 10 is an example of an “information processing apparatus”.
All examples and conditional language provided herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2019-016157 | Jan 2019 | JP | national |