Information processing system, information processing method, and node device
Patent Information
- Application Number
- PCT/JP2023/030831
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-26
- Publication Date
- 2025-03-06
Smart Images

Figure JP2023030831_06032025_PF_FP_ABST
Abstract
Description
Information processing system, information processing method, and node device
[0001] The present invention relates to an information processing system, an information processing method, and a node device.
[0002] An information processing system is known in which multiple node devices each having multiple wallets communicate in a peer-to-peer manner, and transaction information representing the transfer of tokens along with coins between two of the multiple wallets is recorded in a distributed ledger formed by a blockchain.
[0003] Incidentally, when transaction information is recorded in a distributed ledger, it is verified that the transfer of coins represented by the transaction information is a valid transfer of coins issued by a true issuer, but it is not verified that the transfer of tokens represented by the transaction information is a valid transfer of tokens issued by a true issuer (in other words, the validity of the token transfer).
[0004] Therefore, for example, the information processing system described in Patent Document 1 includes a management device that verifies the validity of the transfer of tokens.
[0005] JP 2022-88560 A
[0006] However, the management device cannot verify the validity of the token transfer unless it extracts transaction information related to the token from all transaction information recorded in the distributed ledger.
[0007] However, the number of transaction information recorded in the distributed ledger is considerably larger than the number of transaction information related to tokens. Therefore, the load of extracting transaction information related to tokens from all the transaction information recorded in the distributed ledger is excessive. As such, the above information processing system has a problem in that the load for verifying the validity of token transfers is excessive. Note that this problem can also occur when a node device verifies the validity of token transfers instead of a management device.
[0008] One of the objectives of the present invention is to reduce the burden of verifying the validity of token transfers.
[0009] In one aspect, an information processing system records transaction information representing the transfer of tokens along with coins between two of the multiple wallets in a distributed ledger composed of a blockchain by having multiple node devices each having multiple wallets communicate in a peer-to-peer manner.
[0010] A first node device having a first wallet includes a generation unit and a transmission unit. The generation unit generates new transaction information, which is transaction information representing a transfer of a token from the first wallet to a second wallet. The transmission unit transmits the generated new transaction information and transaction history information, which includes a set of transaction information corresponding to a history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the new transaction information, in association with the order of transfers in the history, to a second node device having a second wallet.
[0011] The second node device includes a receiving unit and a verifying unit. The receiving unit receives new transaction information and transaction history information. The verifying unit performs token transfer verification based on the received new transaction information and the received transaction history information to verify that the transfer of the token to the second wallet is a valid transfer of the token issued by the true issuer.
[0012] In another aspect, the information processing method involves a plurality of node devices having a plurality of wallets communicating in a peer-to-peer manner to record transaction information representing a transfer of a token accompanied by a coin between two of the plurality of wallets in a distributed ledger formed by a blockchain.
[0013] The information processing method includes: a first node device having a first wallet generating new transaction information, which is transaction information representing a transfer of a token from the first wallet to a second wallet; the first node device transmitting the generated new transaction information and transaction history information, which includes a group of transaction information corresponding to the history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the new transaction information, in association with the order of transfers in the history, to a second node device having a second wallet; the second node device receiving the new transaction information and the transaction history information; and the second node device performing token transfer verification, based on the received new transaction information and the received transaction history information, to verify that the transfer of the token to the second wallet is a valid transfer of the token issued by a true issuer.
[0014] In another aspect, the node device has a first wallet in an information processing system in which a plurality of node devices each having a plurality of wallets communicate in a peer-to-peer manner to record transaction information representing a transfer of a token accompanied by a coin between two of the plurality of wallets in a distributed ledger formed by a blockchain.
[0015] The node device includes a generation unit and a transmission unit. The generation unit generates new transaction information, which is transaction information representing a transfer of a token from a first wallet to a second wallet. The transmission unit transmits the generated new transaction information and transaction history information, which includes a set of transaction information corresponding to a history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the new transaction information, in association with the order of transfers in the history, to a second node device having the second wallet.
[0016] In another aspect, the node device has a second wallet in an information processing system in which a plurality of node devices each having a plurality of wallets communicate in a peer-to-peer manner to record transaction information representing a transfer of a token accompanied by a coin between two of the plurality of wallets in a distributed ledger formed by a blockchain.
[0017] The node device includes a receiver and a verifying unit. The receiver receives, from a first node device having a first wallet, new transaction information, which is transaction information representing a transfer of a token from a first wallet to a second wallet, and transaction history information, which includes a group of transaction information corresponding to a history of transfers of the token from the issuance of the token to the transfer represented by the new transaction information, associated with the order of transfers in the history. The verifying unit performs token transfer verification, based on the received new transaction information and the received transaction history information, to verify that the transfer of the token to the second wallet is a valid transfer of the token issued by a true issuer.
[0018] The load required to verify the validity of token transfers can be reduced.
[0019] 1 is a block diagram showing the configuration of an information processing system of a first embodiment. FIG. 1 is a block diagram showing the configuration of a node device of the first embodiment. FIG. 2 is a block diagram showing the functions of a node device of the first embodiment. FIG. 3 is a block diagram showing part of the functions of a granting node device and part of the functions of a receiving node device of the first embodiment. FIG. 4 is a sequence diagram showing an example of the operation of the information processing system of the first embodiment. FIG. 5 is a flowchart showing granting processing performed by a granting node device of the first embodiment. FIG. 6 is a flowchart showing receiving processing performed by a receiving node device of the first embodiment. FIG. 7 is a flowchart showing token transfer verification performed by a receiving node device of the first embodiment. FIG. 8 is a flowchart showing record verification performed by a receiving node device of the first embodiment. FIG. 9 is a flowchart showing continuous verification performed by a receiving node device of the first embodiment. FIG. 10 is a flowchart showing issuance verification performed by a receiving node device of the first embodiment. FIG. 11 is a flowchart showing rule verification performed by a receiving node device of the first embodiment. FIG. 12 is a block diagram showing the functions of a node device of a first modified example of the first embodiment. FIG. 13 is a flowchart showing receiving processing performed by a receiving node device of the first modified example of the first embodiment. FIG. 14 is a flowchart showing issuance verification performed by a receiving node device of the first modified example of the first embodiment. FIG. 1 is a block diagram showing functions of a node device of a second modified example of the first embodiment. FIG. 2 is a flowchart showing reception processing performed by a receiving node device of a second modified example of the first embodiment. FIG. 3 is a flowchart showing token transfer verification performed by a receiving node device of a second modified example of the first embodiment. FIG. 4 is a flowchart showing verified determination performed by a receiving node device of a second modified example of the first embodiment. FIG. 5 is a flowchart showing record verification performed by a receiving node device of a second modified example of the first embodiment. FIG. 6 is a flowchart showing continuous verification performed by a receiving node device of a second modified example of the first embodiment. FIG. 7 is a flowchart showing issuance verification performed by a receiving node device of a second modified example of the first embodiment. FIG. 8 is a flowchart showing rule verification performed by a receiving node device of a second modified example of the first embodiment.10 is a flowchart illustrating a reception process executed by a receiving node device according to the second embodiment.
[0020] Hereinafter, embodiments of an information processing system, an information processing method, and a node device according to the present invention will be described with reference to FIGS.
[0021] <First embodiment> (Overview) In the information processing system of the first embodiment, a plurality of node devices each having a plurality of wallets communicates in a peer-to-peer manner, and transaction information representing the transfer of tokens associated with coins between two of the plurality of wallets is recorded in a distributed ledger formed by a blockchain.
[0022] A first node device having a first wallet includes a generation unit and a transmission unit. The generation unit generates new transaction information, which is transaction information representing a transfer of a token from the first wallet to a second wallet. The transmission unit transmits the generated new transaction information and transaction history information, which includes a set of transaction information corresponding to a history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the new transaction information, in association with the order of transfers in the history, to a second node device having a second wallet.
[0023] The second node device having the second wallet includes a receiving unit and a verifying unit. The receiving unit receives new transaction information and transaction history information. The verifying unit performs token transfer verification based on the received new transaction information and the received transaction history information to verify that the transfer of the token to the second wallet is a valid transfer of the token issued by the true issuer.
[0024] According to this, new transaction information and transaction history information are transmitted from the first node device to the second node device, and the second node device verifies that the token transfer is a valid transfer of a token issued by a true issuer (in other words, the validity of the token transfer). This makes it possible to verify the validity of the token transfer without extracting transaction information related to the token from all transaction information recorded in the distributed ledger. Therefore, the load required to verify the validity of the token transfer can be reduced.
[0025] Furthermore, the second node device can verify the validity of the token transfer in response to receiving new transaction information and transaction history information from the first node device. Therefore, the second node device can quickly verify the validity of the token transfer. Next, the information processing system of the first embodiment will be described in more detail.
[0026] 1, the information processing system 1 includes a plurality of (N in this example) node devices 10-1, 10-2, ..., 10-N, where N is an integer equal to or greater than 2. Note that the number of node devices 10-n (n is an integer from 1 to N) constituting the information processing system 1 may change over time.
[0027] The N node devices 10-1, 10-2, ..., 10-N are connected to each other so that they can communicate with each other via a communication line NW. The communication line NW may include a wireless communication transmission path. In this example, each node device 10-n has at least one wallet. Note that at least one of the N node devices 10-1, 10-2, ..., 10-N may not have a wallet.
[0028] The wallet represents a function for storing crypto assets. The wallet may also be referred to as a wallet. In this example, the crypto assets include coins and tokens. In this example, the coins are Bitcoin. Note that the coins may be a virtual currency other than Bitcoin (e.g., BTC, Litecoin, Bitcoin Cash, Bitcoin SV, Dash, Deogecoin, or Zcash).
[0029] In this example, a token is a crypto asset different from a coin. For example, a token may be a virtual currency different from a coin. A token may be issued on an existing blockchain and used to digitally represent or manage specific rights, attributes, values, data, functions, etc. A token may also represent the right to use a specific service, the right to own a specific item, the right to purchase a specific item, etc.
[0030] For example, the token may be a token called a layer 0 token, a layer 1 token, or a layer 2 token. Also, for example, the token may be a token called an NFT (Non Fungible Token) or an FT (Fungible Token).
[0031] In the information processing system 1, N node devices 10-1, 10-2, ..., 10-N communicate in a peer-to-peer manner, thereby recording transaction information in a distributed ledger configured by a blockchain. The transaction information represents a transfer of tokens accompanied by coins (in other words, a transaction) between two of multiple wallets. Note that the transaction information may also be simply referred to as a transaction. The distributed ledger is stored in a distributed state across the N node devices 10-1, 10-2, ..., 10-N.
[0032] In this example, the information processing system 1 uses a blockchain that complies with the UTXO (Unspent Transaction Output) method. Note that the information processing system 1 may also use a blockchain that complies with a token-based method, an account-based method (in other words, an account-based method), or a hybrid method that combines the UTXO method and the account method. The information processing system 1 may also use Distributed Ledger Technology (DLT). In this case, the information processing system 1 may use, for example, a directed acyclic graph.
[0033] Each node device 10-n is an information processing device or a computer. For example, the computer may be a server computer, a desktop computer, a laptop computer, a tablet computer, a smartphone, or the like. The computer may also be at least a part of a payment terminal, a stationary game console, a portable game console, a television set, or the like. Note that each node device 10-n may be composed of multiple devices connected to each other so that they can communicate with each other.
[0034] 2, each node device 10-n includes a processing device 11, a storage device 12, an input device 13, an output device 14, and a communication device 15, which are connected to one another via a bus BU. The processing device 11 controls the storage device 12, the input device 13, the output device 14, and the communication device 15 by executing a program stored in the storage device 12. In this way, each node device 10-n realizes the functions described below.
[0035] In this example, the processing device 11 is a central processing unit (CPU). Note that the processing device 11 may include, instead of or in addition to the CPU, a micro processing unit (MPU), a graphics processing unit (GPU), a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or a tensor processing unit (TPU).
[0036] In this example, the storage device 12 includes a volatile memory and a non-volatile memory, such as at least one of a random access memory (RAM), a read-only memory (ROM), a semiconductor memory, an organic memory, a hard disk drive (HDD), and a solid state drive (SSD).
[0037] The input device 13 inputs information from outside the node device 10-n. In this example, the input device 13 includes a keyboard and a mouse. The input device 13 may also include a microphone. The output device 14 outputs information to the outside of the node device 10-n. In this example, the output device 14 includes a display. The output device 14 may also include a speaker. The node device 10-n may also include a touch panel display that constitutes both the input device 13 and the output device 14.
[0038] The communication device 15 communicates with devices external to the node device 10-n. In this example, the communication device 15 includes a card-type or on-board type network adapter or network interface.
[0039] 3, the functions of each node device 10-n include a granting function unit 110, a receiving function unit 120, and a transaction history information storage unit 130. Note that the functions of at least one of the N node devices 10-1, 10-2, ..., 10-N may not include either the granting function unit 110 or the receiving function unit 120.
[0040] The granting function unit 110 includes a token transfer condition request sending unit 111, a token transfer condition information receiving unit 112, a transaction information generating unit 113, a transaction information sending unit 114, and a transfer result notification receiving unit 115.
[0041] The receiving function unit 120 includes a token transfer condition request receiving unit 121, a token transfer condition information transmitting unit 122, a transaction information receiving unit 123, an issued hash value information acquiring unit 124, a rule information acquiring unit 125, a transaction information verifying unit 126, a broadcast transmitting unit 127, a confirmation processing unit 128, and a transfer result notification transmitting unit 129.
[0042] Below, as shown in Figure 4, we will explain each functional unit of node device 10-n, focusing on the functional units related to token granting of node device (in other words, granting node device) 10-i (i represents an integer from 1 to N) that grants the token (in other words, the source of token transfer), and the functional units related to token reception of node device (in other words, receiving node device) 10-j (j represents an integer from 1 to N different from i) that receives the token (in other words, the destination of token transfer).
[0043] In this example, the giving node device 10-i corresponds to the first node device, and the wallet held by the giving node device 10-i corresponds to the first wallet. Also, in this example, the receiving node device 10-j corresponds to the second node device, and the wallet held by the receiving node device 10-j corresponds to the second wallet.
[0044] The token transfer condition request transmitter 111 of the granting node device 10-i transmits a token transfer condition request to the receiving node device 10-j. The token transfer condition request is information indicating a request for token transfer condition information that indicates conditions related to the transfer of tokens.
[0045] The token transfer condition request receiver 121 of the receiving node device 10-j receives the token transfer condition request from the granting node device 10-i. When the token transfer condition request receiver 121 receives the token transfer condition request, the token transfer condition information transmitter 122 of the receiving node device 10-j transmits the token transfer condition information to the granting node device 10-i, which is the sender of the token transfer condition request.
[0046] For example, the token transfer condition information represents token transfer conditions that are required for the tokens to be transferred. In this example, the token transfer conditions include information identifying a token rule set for the tokens to be transferred, information identifying the type of tokens to be transferred, information indicating the amount of tokens to be transferred, and information indicating the period during which token transfers are accepted.
[0047] A token rule set is a set of rules for issuing and operating tokens. A token rule set is defined by a token issuer. For example, a token rule set may specify the amount of tokens to be issued, who will issue the tokens, how the tokens will be issued, the price at which the tokens will be issued, how the tokens will be used, how the tokens will be stored, or how the tokens will be transferred.
[0048] For example, a token rule set may be defined using a token protocol such as Ordinals, BRC-20, BSV-20, 1-sat Ordinals, Stas Token, Run on Bitcoin, Bitcoin Computer Token, Sensible, Elas Token, Simple Fabriik Protocol for Tokens (SFP), CRC-20, Simple Ledger Protocol (SLP), Color Coin, Counterparty, Omni, or Open Asset Protocol.
[0049] The token transfer condition information receiving unit 112 of the granting node device 10-i receives the token transfer condition information from the receiving node device 10-j, which is the destination of the token transfer condition request.
[0050] When the token transfer condition information receiving unit 112 receives token transfer condition information, the transaction information generating unit 113 of the granting node device 10-i generates new transaction information that satisfies the token transfer conditions represented by the received token transfer condition information.
[0051] The new transaction information is transaction information representing the transfer of coins and tokens from the first wallet to the second wallet. In this example, the transfer of tokens is performed in conjunction with the transfer of coins.
[0052] In this example, the transaction information represents a trade (in other words, a transfer) of coins and tokens. In this example, the transaction information includes at least one input information and at least one output information.
[0053] The input information identifies the output information from which the coins to be transferred (i.e., from the previous transfer) and includes information verifying the right to use the coins. In this example, the input information includes the previous transfer information, output identification information, and restriction removal information.
[0054] The previous transfer information included in the input information is information that identifies the previous transfer transaction information, which is transaction information that represents the transfer immediately before the transfer represented by the transaction information including the input information. In this example, the previous transfer information is previous transfer hash value information generated by inputting the previous transfer transaction information into a hash function.
[0055] In this example, the hash function is SHA-256 (Secure Hash Algorithm 256-bit). Note that the hash function may be a hash function other than SHA-256 (for example, SHA-3).
[0056] In this example, the most recent transfer hash value information is hash value information (in other words, double hash value information) generated by inputting the hash value information generated by inputting the most recent transfer transaction information into a hash function. Note that the most recent transfer hash value information may also be hash value information (in other words, single hash value information) generated by inputting the most recent transfer transaction information into a hash function.
[0057] The output identification information included in the input information is information that identifies the output information included in the previous transfer transaction information identified by the previous transfer information included in the input information. The restriction release information included in the input information is information that certifies the right to use the transfer source coin represented by the output information specified by the input information.
[0058] The output information indicates the amount of coins to be transferred, and includes information restricting the use of the coins so that only the wallet to which the coins are transferred can prove the right to use them. In this example, the output information includes information on the amount of coins to be transferred and information on usage restrictions.
[0059] The transfer coin amount information included in the output information indicates the amount of coins to be transferred. The use restriction information included in the output information restricts the use of the coins so that only the wallet to which the coins are transferred can prove the right to use them.
[0060] Furthermore, the transaction information includes token transfer information indicating the transfer of tokens along with coins. For example, the token transfer information includes information indicating the amount of tokens to be transferred. Note that the token transfer information does not need to include information indicating the amount of tokens to be transferred. In this case, the amount of tokens to be transferred may be determined based on the transferred coin amount information. For example, the token transfer information may include information identifying a wallet to which the tokens are to be transferred. Note that if the token transfer information does not include information identifying a wallet to which the tokens are to be transferred, the destination of the tokens may match the destination of the coins.
[0061] In this example, the token transfer information is included in at least one of the restriction release information and the use restriction information. Note that the token transfer information may be included in information other than the restriction release information and the use restriction information.
[0062] The transaction information transmitter 114 of the granting node device 10-i transmits to the receiving node device 10-j the new transaction information generated by the transaction information generator 113 and the transaction history information stored in the transaction history information storage unit 130. In this example, the transaction information transmitter 114 corresponds to the transmitter.
[0063] The transaction history information transmitted together with the new transaction information representing the transfer of coins and tokens includes a group of transaction information (in other words, multiple pieces of transaction information) corresponding to the history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the new transaction information, in association with the order of transfers in the history.
[0064] In this example, in the transaction history information, a group of transaction information corresponding to a history of token transfers is arranged in the order of transfers in the history. Note that in the transaction history information, a group of transaction information corresponding to a history of token transfers may be arranged in the reverse order of the order of transfers in the history. Furthermore, in the transaction history information, each of multiple pieces of transaction information corresponding to a history of token transfers may be associated with information specifying the order of transfers in the history of the transaction information.
[0065] The transaction information receiving unit 123 of the receiving node device 10-j receives the new transaction information and the transaction history information from the providing node device 10-i. In this example, the transaction information receiving unit 123 corresponds to the receiving unit.
[0066] The issuance hash value information acquisition unit 124 of the receiving node device 10-j acquires the issuance hash value information. In this example, the issuance hash value information acquisition unit 124 corresponds to the acquisition unit. The issuance hash value information is generated by inputting transaction information representing the issuance of a token into a hash function. In this example, the issuance hash value information is double hash value information. Note that the issuance hash value information may also be single hash value information.
[0067] The transaction information representing the issuance of a token may be expressed as token genesis. In this example, the transaction information representing the issuance of a token is generated by the token issuer. In this example, the issuance hash value information acquisition unit 124 acquires the issuance hash value information from the token issuer. For example, the issuance hash value information acquisition unit 124 may acquire the issuance hash value information by receiving the issuance hash value information from an information processing device managed by the token issuer.
[0068] The rule information acquisition unit 125 of the receiving node device 10-j acquires rule information. In this example, the rule information acquisition unit 125 corresponds to an acquisition unit. The rule information represents rules that the token transfer information included in the transaction information follows. In this example, the rule information represents a token rule set.
[0069] The rule information is generated by the token issuer. In this example, the rule information acquisition unit 125 acquires the rule information from the token issuer. For example, the rule information acquisition unit 125 may acquire the rule information by receiving the rule information from an information processing device managed by the token issuer.
[0070] The transaction information verification unit 126 of the receiving node device 10-j performs token transfer verification to verify that the transfer of the token from the first wallet to the second wallet is a valid transfer of the token issued by the true issuer, based on the new transaction information and transaction history information received by the transaction information receiving unit 123. In this example, the transaction information verification unit 126 corresponds to the verification unit.
[0071] In this example, the token transfer verification includes record verification, continuity verification, issuance verification, and rule verification. The record verification verifies that transaction information representing a transfer immediately before the transfer represented by the new transaction information, among the transaction information group included in the transaction history information, is recorded in the distributed ledger.
[0072] Successive verification verifies that for each transaction information pair consisting of two transaction information pieces representing two consecutive transfers among multiple transaction information pieces consisting of new transaction information and a group of transaction information pieces included in transaction history information, the hash value information generated by inputting the transaction information representing the preceding transfer into a hash function matches the immediately preceding transfer hash value information (in this example, the immediately preceding transfer information) included in the transaction information representing the subsequent transfer.
[0073] Issuance verification verifies that the hash value information generated by inputting transaction information representing the issuance of a token, from the group of transaction information included in the transaction history information, into a hash function matches the issuance hash value information acquired by the issuance hash value information acquisition unit 124.
[0074] Rule verification verifies that the token transfer information included in each of multiple transaction information items consisting of new transaction information and a group of transaction information items included in the transaction history information complies with the rules (in this example, the token rule set) represented by the rule information acquired by the rule information acquisition unit 125.
[0075] If the token transfer verification by the transaction information verification unit 126 is successful, the broadcast transmission unit 127 of the receiving node device 10-j broadcasts the new transaction information received by the transaction information reception unit 123 to a group of node devices other than the receiving node device 10-j among the N node devices 10-1, 10-2, ..., 10-N.
[0076] On the other hand, if the token transfer verification by the transaction information verification unit 126 fails, the broadcast transmission unit 127 does not transmit the new transaction information received by the transaction information reception unit 123. In this example, the broadcast transmission unit 127 corresponds to the transmission unit.
[0077] When new transaction information is transmitted by the broadcast transmission unit 127, the confirmation processing unit 128 of the receiving node device 10-j transmits a confirmation request to a group of node devices other than the receiving node device 10-j among the N node devices 10-1, 10-2, ..., 10-N. The confirmation request includes information that identifies the new transaction information, and is information that indicates a request for a confirmation response indicating whether the new transaction information has been recorded in the distributed ledger.
[0078] In this example, the node devices verify that the coin transfer represented by the new transaction information is valid and record the new transaction information in the distributed ledger. In this example, the distributed ledger has multiple blocks, each including multiple pieces of transaction information. The process performed by the node devices to record the new transaction information in the distributed ledger includes a process called mining.
[0079] The confirmation processing unit 128 receives a confirmation response transmitted from the node device group in response to the transmission of the confirmation request. The confirmation response to the confirmation request is information indicating whether or not new transaction information identified by the confirmation request has been recorded in the distributed ledger.
[0080] The transfer result notification sending unit 129 of the receiving node device 10-j sends a transfer result notification to the granting node device 10-i. The transfer result notification indicates the result of the transfer of coins and tokens. In this example, the transfer result notification is a transfer approval notification or a transfer failure notification. The transfer approval notification is a notification indicating that the transfer of coins and tokens has been approved. The transfer failure notification is a notification indicating that the transfer of coins and tokens has not been approved (in other words, the transfer has failed).
[0081] If the token transfer verification by the transaction information verification unit 126 is successful and then a confirmation response indicating that the new transaction information has been recorded in the distributed ledger is received by the confirmation processing unit 128, the transfer result notification sending unit 129 sends a transfer approval notification to the granting node device 10-i as a transfer result notification.
[0082] On the other hand, if the token transfer verification by the transaction information verification unit 126 fails, the transfer result notification transmission unit 129 transmits a transfer failure notification to the granting node device 10-i as a transfer result notification.
[0083] The transfer result notification receiver 115 of the granting node device 10-i receives the transfer result notification from the receiving node device 10-j. If the transfer result notification is a transfer approval notification, the transfer result notification receiver 115 outputs transfer approval information. The transfer approval information is information indicating that the transfer of coins and tokens has been approved.
[0084] On the other hand, if the transfer result notification is a transfer failure notification, the transfer result notification receiver 115 outputs transfer failure information. The transfer failure information is information indicating that the transfer of coins and tokens was not approved (in other words, the transfer failed).
[0085] When the token transfer verification by the transaction information verification unit 126 is successful and a confirmation response indicating that the new transaction information has been recorded in the distributed ledger is subsequently received by the confirmation processing unit 128, the transaction history information storage unit 130 of the receiving node device 10-j updates the transaction history information by adding the new transaction information to the transaction history information received by the transaction information receiving unit 123 together with the new transaction information, and stores the updated transaction history information.
[0086] (Operation) Next, the operation of the information processing system 1 will be described with reference to Figs. 5 to 12. Fig. 5 is a sequence diagram showing an example of the operation of the information processing system 1. Fig. 6 is a flowchart showing an example of a granting process executed by the granting node device 10-i. Fig. 7 is a flowchart showing an example of a receiving process executed by the receiving node device 10-j.
[0087] Fig. 8 is a flowchart showing an example of token transfer verification executed by the receiving node device 10-j. Fig. 9 is a flowchart showing an example of record verification executed by the receiving node device 10-j. Fig. 10 is a flowchart showing an example of continuous verification executed by the receiving node device 10-j. Fig. 11 is a flowchart showing an example of issuance verification executed by the receiving node device 10-j. Fig. 12 is a flowchart showing an example of rule verification executed by the receiving node device 10-j.
[0088] In this example, the award node device 10-i executes the award process shown in Fig. 6 to award coins and tokens. First, the award node device 10-i transmits a token transfer condition request to the recipient node device 10-j (step S101 in Fig. 5 and step S201 in Fig. 6). Next, the award node device 10-i waits until it receives token transfer condition information from the recipient node device 10-j (repeatedly determining "No" in step S202 in Fig. 6).
[0089] In this example, the receiving node device 10-j receives the coins and tokens by executing the receiving process shown in Fig. 7. The receiving node device 10-j waits until it receives a token transfer condition request (repeatedly determining "No" in step S301 in Fig. 7).
[0090] Thereafter, the recipient node device 10-j receives a token transfer condition request from the grant node device 10-i (step S101 in FIG. 5). As a result, the recipient node device 10-j determines "Yes" in step S301 in FIG. 7 and transmits token transfer condition information to the grant node device 10-i (step S102 in FIG. 5 and step S302 in FIG. 7). Next, the recipient node device 10-j waits until it receives new transaction information and transaction history information from the grant node device 10-i (repeatedly determining "No" in step S303 in FIG. 7).
[0091] As a result, the granting node device 10-i receives the token transfer condition information from the receiving node device 10-j (step S102 in FIG. 5). Therefore, the granting node device 10-i determines "Yes" in step S202 in FIG. 6 and generates new transaction information (step S103 in FIG. 5 and step S203 in FIG. 6).
[0092] Next, the granting node device 10-i transmits the generated new transaction information and the transaction history information stored in the transaction history information storage unit 130 to the receiving node device 10-j (step S104 in FIG. 5 and step S204 in FIG. 6). Next, the granting node device 10-i waits until it receives a transfer result notification from the receiving node device 10-j (repeatedly determining "No" in step S205 in FIG. 6).
[0093] As a result, the receiving node device 10-j receives new transaction information and transaction history information from the granting node device 10-i (step S104 in FIG. 5). Therefore, the receiving node device 10-j determines "Yes" in step S303 in FIG. 7 and executes token transfer verification (step S105 in FIG. 5 and step S304 in FIG. 7).
[0094] The receiving node device 10-j executes the process shown in Fig. 8 to verify the token transfer. In the process shown in Fig. 8, the receiving node device 10-j first executes record verification (step S401 in Fig. 8). In order to execute record verification, the receiving node device 10-j executes the process shown in Fig. 9.
[0095] In the processing of FIG. 9, first, the receiving node device 10-j determines whether the Mth transaction information has been recorded in the distributed ledger (in other words, has already been recorded) (step S501 of FIG. 9). M represents the number of transactions, which is the number of transaction information included in the transaction history information. In this example, the mth transaction information is the transaction information that is mth from the beginning in the token transfer history. m represents an integer from 1 to M+1. Therefore, in this example, the first transaction information is transaction information that represents the issuance of a token. Also, in this example, the M+1th transaction information is new transaction information.
[0096] If the receiving node device 10-j holds a distributed ledger, it makes the above determination based on the held distributed ledger. If the receiving node device 10-j does not hold a distributed ledger, it makes the above determination by communicating with a group of node devices.
[0097] If the M-th transaction information is recorded in the distributed ledger, the receiving node device 10-j determines "Yes" in step S501 of Fig. 9, sets the record verification success information to a true value (step S502 of Fig. 9), and terminates the processing of Fig. 9. The record verification success information is information indicating whether the record verification was successful or not.
[0098] If the Mth transaction information is not recorded in the distributed ledger, the receiving node device 10-j determines "No" in step S501 of FIG. 9, sets the record verification success information to a false value (step S503 of FIG. 9), and terminates the processing of FIG. 9.
[0099] Next, the receiving node device 10-j determines whether the record verification success information is set to a true value (step S402 in FIG. 8). If the record verification success information is set to a true value, the receiving node device 10-j determines "Yes" in step S402 in FIG. 8 and executes continuous verification (step S403 in FIG. 8). To execute continuous verification, the receiving node device 10-j executes the process shown in FIG. 10.
[0100] 10, first, the receiving node device 10-j sets counter information p to 1 (step S601 in FIG. 10). The counter information p represents an integer. Next, the receiving node device 10-j determines whether the counter information p is smaller than the value M+1 obtained by adding 1 to the number of transactions M (step S602 in FIG. 10).
[0101] At this point, the counter information p is smaller than M + 1. Therefore, the receiving node device 10-j determines "Yes" in step S602 of FIG. 10 and generates hash value information (double hash value information in this example) by inputting the p-th transaction information into a hash function (step S603 of FIG. 10).
[0102] Next, the receiving node device 10-j determines whether the hash value information generated in step S603 of FIG. 10 matches the immediately preceding transfer hash value information (in this example, the immediately preceding transfer information) included in the p+1th transaction information (step S604 of FIG. 10).
[0103] If the generated hash value information matches the immediately preceding transferred hash value information included in the (p+1)th transaction information, the receiving node device 10-j determines "Yes" in step S604 of Fig. 10 and sets the counter information p to p+1 (in other words, increases the counter information p by 1) (step S605 of Fig. 10). Next, the receiving node device 10-j returns to step S602 of Fig. 10 and repeatedly executes the processes of steps S602 to S605.
[0104] Thereafter, when the receiving node device 10-j proceeds to step S602 in Fig. 10 with the counter information p equal to M+1, the receiving node device 10-j determines "No," sets the continuous verification success information to a true value (step S607 in Fig. 10), and terminates the processing in Fig. 10. The continuous verification success information is information indicating whether or not the continuous verification has been successful.
[0105] In addition, if the generated hash value information does not match the immediately preceding transfer hash value information included in the p+1th transaction information in step S604 of FIG. 10, the receiving node device 10-j determines "No," sets the continuous verification success information to a false value (step S606 of FIG. 10), and terminates the processing of FIG. 10.
[0106] Next, the receiving node device 10-j determines whether the continuous verification success information is set to a true value (step S404 in FIG. 8). If the continuous verification success information is set to a true value, the receiving node device 10-j determines "Yes" in step S404 in FIG. 8 and performs issuance verification (step S405 in FIG. 8). To perform issuance verification, the receiving node device 10-j executes the processing shown in FIG. 11.
[0107] In the process of FIG. 11, first, the receiving node device 10-j generates hash value information (double hash value information in this example) by inputting the first transaction information into a hash function (step S701 in FIG. 11).
[0108] Next, the receiving node device 10-j determines whether or not the hash value information generated in step S701 of FIG. 11 matches the issued hash value information acquired in advance (step S702 of FIG. 11).
[0109] If the generated hash value information matches the previously acquired issuance hash value information, the receiving node device 10-j determines "Yes" in step S702 of Fig. 11, sets the issuance verification success information to a true value (step S703 of Fig. 11), and ends the processing of Fig. 11. The issuance verification success information is information that indicates whether or not the issuance verification was successful.
[0110] If the generated hash value information does not match the previously acquired issuance hash value information, the receiving node device 10-j determines "No" in step S702 of FIG. 11, sets the issuance verification success information to a false value (step S704 of FIG. 11), and terminates the processing of FIG. 11.
[0111] Next, the receiving node device 10-j determines whether the issuance verification success information is set to a true value (step S406 in FIG. 8). If the issuance verification success information is set to a true value, the receiving node device 10-j determines "Yes" in step S406 in FIG. 8 and executes rule verification (step S407 in FIG. 8). To execute rule verification, the receiving node device 10-j executes the processing shown in FIG. 12.
[0112] 12, first, the receiving node device 10-j sets counter information p to 1 (step S801 in FIG. 12). Next, the receiving node device 10-j determines whether the counter information p is smaller than the value M+2 obtained by adding 2 to the number of transactions M (step S802 in FIG. 12).
[0113] At this point, the counter information p is smaller than M + 2. Therefore, the receiving node device 10-j determines "Yes" in step S802 of Fig. 12, and determines whether the token transfer information included in the p-th transaction information complies with the rules (in this example, the token rule set) represented by the previously acquired rule information (step S803 of Fig. 12).
[0114] If the token transfer information included in the p-th transaction information complies with the rule, the receiving node device 10-j determines "Yes" in step S803 of Fig. 12 and sets the counter information p to p+1 (in other words, increases the counter information p by 1) (step S804 of Fig. 12). Next, the receiving node device 10-j returns to step S802 of Fig. 12 and repeatedly executes the processes of steps S802 to S804.
[0115] Thereafter, when the receiving node device 10-j proceeds to step S802 in Fig. 12 with the counter information p equal to M+2, the receiving node device 10-j determines "No," sets the rule verification success information to a true value (step S806 in Fig. 12), and terminates the processing in Fig. 12. The rule verification success information is information indicating whether or not rule verification was successful.
[0116] In addition, if the token transfer information included in the p-th transaction information does not comply with the rule in step S803 of FIG. 12, the receiving node device 10-j determines "No", sets the rule verification success information to a false value (step S805 of FIG. 12), and terminates the processing of FIG. 12.
[0117] Next, the receiving node device 10-j determines whether the rule verification success information is set to a true value (step S408 in FIG. 8). If the rule verification success information is set to a true value, the receiving node device 10-j determines "Yes" in step S408 in FIG. 8, sets the token transfer verification success information to a true value (step S409 in FIG. 8), and ends the processing in FIG. 8. The token transfer verification success information is information indicating whether the token transfer verification was successful.
[0118] In addition, if the recording verification success information is set to a false value in step S402 of Figure 8, if the continuous verification success information is set to a false value in step S404 of Figure 8, if the issuance verification success information is set to a false value in step S406 of Figure 8, or if the rule verification success information is set to a false value in step S408 of Figure 8, the receiving node device 10-j determines "No", sets the token transfer verification success information to a false value (step S410 of Figure 8), and terminates the processing of Figure 8.
[0119] Next, the receiving node device 10-j proceeds to step S305 in Fig. 7 and determines whether the token transfer verification success information is set to a true value (step S305 in Fig. 7). If the token transfer verification success information is set to a true value, the receiving node device 10-j determines "Yes" and broadcasts the new transaction information received in step S303 in Fig. 7 to the node device group (step S106 in Fig. 5 and step S306 in Fig. 7).
[0120] Next, the receiving node device 10-j transmits a confirmation request to the node device group (step S107 in FIG. 5 and step S307 in FIG. 7). Next, the receiving node device 10-j waits until it receives a confirmation response from the node device group (repeatedly determining "No" in step S308 in FIG. 7).
[0121] On the other hand, when the node device group receives a confirmation request from the receiving node device 10-j, it transmits a confirmation response to the receiving node device 10-j in response to the confirmation request (step S108 in FIG. 5). As a result, the receiving node device 10-j receives the confirmation response from the node device group (step S108 in FIG. 5). Therefore, the receiving node device 10-j determines "Yes" in step S308 in FIG. 7 and determines whether the received confirmation response indicates that new transaction information has been recorded in the distributed ledger (step S309 in FIG. 7).
[0122] At this point, the new transaction information has not been recorded in the distributed ledger. Therefore, the recipient node device 10-j determines "No" in step S309 of Fig. 7, returns to step S307 of Fig. 7, and repeats the processing of steps S307 to S309.
[0123] Thereafter, the node devices verify that the transfer of coins represented by the new transaction information is a valid transfer of coins issued by the true issuer, and record the new transaction information in the distributed ledger (step S109 in FIG. 5).
[0124] Thereafter, the receiving node device 10-j transmits a confirmation request to the node device group (step S110 in FIG. 5 and step S307 in FIG. 7). As a result, the node device group transmits a confirmation response to the receiving node device 10-j in response to receiving the confirmation request (step S111 in FIG. 5). As a result, the receiving node device 10-j receives the confirmation response from the node device group (step S111 in FIG. 5).
[0125] At this point, the new transaction information is recorded in the distributed ledger. Therefore, the recipient node device 10-j determines "Yes" in step S309 of FIG. 7 and sends a transfer approval notice to the granting node device 10-i (step S112 of FIG. 5 and step S310 of FIG. 7).
[0126] As a result, the granting node device 10-i receives a transfer result notification, which is a transfer approval notification, from the receiving node device 10-j (step S112 in FIG. 5). Therefore, the granting node device 10-i determines "Yes" in step S205 in FIG. 6 and determines whether the received transfer result notification represents approval of the transfer (in other words, is a transfer approval notification) (step S206 in FIG. 6).
[0127] At this point, the received transfer result notification indicates approval of the transfer. Therefore, the transfer node device 10-i determines "Yes" in step S206 of FIG. 6, outputs the transfer approval information (step S207 of FIG. 6), and ends the processing of FIG. 6.
[0128] On the other hand, after transmitting a transfer approval notification to the granting node device 10-i (step S112 in FIG. 5 and step S310 in FIG. 7), the receiving node device 10-j updates the transaction history information received in step S303 in FIG. 7 by adding the new transaction information received in step S303 in FIG. 7 to the transaction history information received in step S303 in FIG. 7, and stores the updated transaction history information (step S113 in FIG. 5 and step S311 in FIG. 7).
[0129] Next, the receiving node device 10-j returns to step S301 in FIG. 7 and repeatedly executes the processes of steps S301 to S312.
[0130] If the token transfer verification success information is set to a false value in step S305 of FIG. 7, the receiving node device 10-j determines "No," sends a transfer failure notification to the granting node device 10-i (step S312 of FIG. 7), and returns to step S301 of FIG. 7.
[0131] In this case, when the granting node device 10-i proceeds to step S206 in Fig. 6, it determines "No", outputs transfer failure information (step S208 in Fig. 6), and ends the processing in Fig. 6. Note that the order in which the record verification, continuity verification, issuance verification, and rule verification are performed may be different from the order exemplified in Fig. 8.
[0132] As described above, in the information processing system 1 of the first embodiment, a plurality of node devices 10-1, 10-2, ..., 10-N each having a plurality of wallets communicates in a peer-to-peer manner, and transaction information representing the transfer of tokens associated with coins between two of the plurality of wallets is recorded in a distributed ledger composed of a blockchain.
[0133] The first node device (in this example, the granting node device 10-i) having the first wallet comprises a generation unit (in this example, the transaction information generation unit 113) and a transmission unit (in this example, the transaction information transmission unit 114).
[0134] The generation unit generates new transaction information, which is transaction information representing a transfer of a token from the first wallet to the second wallet. The transmission unit transmits the generated new transaction information and transaction history information, which includes a set of transaction information corresponding to the history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the new transaction information, in association with the order of transfers in the history, to a second node device (receiving node device 10-j in this example) having the second wallet.
[0135] The second node device includes a receiving unit (in this example, the transaction information receiving unit 123) and a verifying unit (in this example, the transaction information verifying unit 126). The receiving unit receives new transaction information and transaction history information. The verifying unit performs token transfer verification based on the received new transaction information and the received transaction history information, to verify that the transfer of the token to the second wallet is a valid transfer of the token issued by the true issuer.
[0136] According to this, new transaction information and transaction history information are transmitted from the first node device to the second node device, and the second node device verifies that the token transfer is a valid transfer of a token issued by a true issuer (in other words, the validity of the token transfer). This makes it possible to verify the validity of the token transfer without extracting transaction information related to the token from all transaction information recorded in the distributed ledger. Therefore, the load required to verify the validity of the token transfer can be reduced.
[0137] Furthermore, the second node device can verify the validity of the token transfer in response to receiving the new transaction information and transaction history information from the first node device. Therefore, the second node device can quickly verify the validity of the token transfer.
[0138] Furthermore, in the information processing system 1 of the first embodiment, the transaction information includes previous transfer hash value information generated by inputting transaction information representing a transfer immediately before the transfer represented by the transaction information into a hash function. Furthermore, the verification unit performs token transfer verification by performing successive verification on each transaction information pair consisting of two transaction information representing two consecutive transfers among the multiple transaction information consisting of new transaction information and a transaction information group included in the transaction history information, verifying that hash value information generated by inputting the transaction information representing the preceding transfer into a hash function matches the previous transfer hash value information included in the transaction information representing the subsequent transfer.
[0139] This makes it possible to verify with high accuracy that multiple transfers represented by multiple pieces of transaction information, each consisting of new transaction information and a group of transaction information included in the transaction history information, are consecutive, thereby enabling the validity of the token transfer to the second wallet to be verified with high accuracy.
[0140] Furthermore, in the information processing system 1 of the first embodiment, the second node device includes an acquisition unit (in this example, the issuance hash value information acquisition unit 124) that acquires issuance hash value information generated by inputting transaction information representing the issuance of a token into a hash function. Furthermore, the verification unit performs token transfer verification by executing issuance verification to verify that hash value information that is included in the transaction history information and that is generated by inputting transaction information representing the issuance of a token into a hash function matches the acquired issuance hash value information.
[0141] This makes it possible to verify with high accuracy that the token was issued by a genuine issuer, and as a result, it is possible to verify with high accuracy the validity of the transfer of the token to the second wallet.
[0142] Furthermore, in the information processing system 1 of the first embodiment, the transaction information includes token transfer information that indicates a transfer of a token. Furthermore, the second node device includes an acquisition unit (in this example, the rule information acquisition unit 125) that acquires rule information that indicates rules that the token transfer information included in the transaction information follows. Furthermore, the verification unit performs token transfer verification by executing rule verification on each of multiple pieces of transaction information consisting of new transaction information and a group of transaction information included in the transaction history information, verifying that the token transfer information included in the transaction information complies with the rules indicated by the acquired rule information.
[0143] This makes it possible to verify with high accuracy that the token transfer information included in each of the multiple pieces of transaction information, consisting of the new transaction information and the transaction information group included in the transaction history information, complies with the rules, thereby enabling the validity of the token transfer to the second wallet to be verified with high accuracy.
[0144] Furthermore, in the information processing system 1 of the first embodiment, the verification unit performs token transfer verification by performing record verification to verify that transaction information included in the transaction history information and representing a transfer immediately before the transfer represented by the new transaction information is recorded in the distributed ledger.
[0145] This makes it possible to verify with high accuracy that the transfer of coins represented by transaction information representing the token transfer immediately before the token transfer from the first wallet to the second wallet is a valid transfer of coins issued by a true issuer, thereby enabling the validity of the token transfer to the second wallet to be verified with high accuracy.
[0146] Furthermore, in the information processing system 1 of the first embodiment, the second node device includes a transmitting unit (in this example, the broadcast transmitting unit 127) that transmits new transaction information by broadcast if the token transfer verification is successful, and does not transmit the new transaction information if the token transfer verification is unsuccessful.
[0147] This prevents transaction information for which token transfer verification has failed from being recorded in the distributed ledger.
[0148] <First Modification of First Embodiment> Next, an information processing system according to a first modification of the first embodiment will be described. The information processing system according to the first modification of the first embodiment differs from the information processing system according to the first embodiment in that the execution of the same verification on transaction information for which issuance verification or rule verification has already been successful is omitted. The following description will focus on the differences. Note that in the description of the first modification of the first embodiment, components that are assigned the same reference numerals as those used in the first embodiment are the same or substantially similar.
[0149] (Functions) As shown in FIG. 13, the functions of the node device 10A-n of the first modified example of the first embodiment are functions in which the receiving function unit 120 in the functions of the node device 10-n of the first embodiment is replaced with a receiving function unit 120A.
[0150] The receiving function unit 120A includes a verified transaction identification information storage unit 141A in addition to the functions of the receiving function unit 120 of the first embodiment, and the transaction information verification unit 126 in the receiving function unit 120 of the first embodiment is replaced with a transaction information verification unit 126A.
[0151] When the issuance verification of transaction information is successful, the verified transaction identification information storage unit 141A stores verified transaction identification information that identifies the transaction information. In this example, the verified transaction identification information that identifies the transaction information is hash value information (in this example, double hash value information) generated by inputting the transaction information to a hash function.
[0152] Furthermore, if the rule verification for the transaction information is successful, the verified transaction identification information storage unit 141A stores verified transaction identification information that identifies the transaction information.
[0153] The transaction information verification unit 126A has the same functions as the transaction information verification unit 126 in the first embodiment. Furthermore, the transaction information verification unit 126A omits the execution of issuance verification for transaction information identified by verified transaction identification information stored in the verified transaction identification information storage unit 141A.
[0154] Furthermore, the transaction information verification unit 126A omits the execution of rule verification on the transaction information identified by the verified transaction identification information stored in the verified transaction identification information storage unit 141A.
[0155] The transaction information verification unit 126A may omit either the execution of issuance verification or the execution of rule verification.
[0156] (Operation) The receiving node device 10A-j of the first modified example of the first embodiment executes the process of Fig. 14 instead of the process of Fig. 7. The process of Fig. 14 is the process of Fig. 7 with step S313A added immediately after step S311.
[0157] In the process of Fig. 14, after executing the process of step S311 of Fig. 14, the recipient node device 10A-j generates hash value information (double hash value information in this example) for each of the multiple transaction information pieces, which are made up of the new transaction information received in step S303 of Fig. 14 and the transaction information group included in the transaction history information received in step S303 of Fig. 14, by inputting the transaction information into a hash function, and stores the generated hash value information as verified transaction identification information (step S313A of Fig. 14). Then, the recipient node device 10A-j returns to step S301 of Fig. 14.
[0158] The processing of step S313A in Fig. 14 may be executed between step S306 and step S311 in Fig. 14. Furthermore, even if the token transfer verification fails, the receiving node device 10A-j may store verified transaction identification information for the transaction information if the issuance verification or rule verification for the transaction information is successful.
[0159] Furthermore, the receiving node device 10A-j of the first modified example of the first embodiment executes the processing of Fig. 15 instead of the processing of Fig. 11. The processing of Fig. 15 is the processing of Fig. 11 with step S705A added immediately before step S701.
[0160] In the processing of FIG. 15, the receiving node device 10A-j first determines whether the immediately preceding transfer hash value information included in the second transaction information (in this example, the immediately preceding transfer information) matches any one of the stored verified transaction identification information (step S705A of FIG. 15).
[0161] If the immediately preceding transfer hash value information matches any one of the stored verified transaction identification information, the recipient node device 10A-j determines "Yes" in step S705A of Fig. 15 and proceeds to step S703 of Fig. 15. As a result, the processing of steps S701 and S702 of Fig. 15 is omitted.
[0162] On the other hand, if the immediately preceding transfer hash value information does not match any of the stored verified transaction identification information, the receiving node device 10A-j judges "No" in step S705A of FIG. 15 and proceeds to step S701 of FIG. 15.
[0163] Furthermore, the receiving node device 10A-j of the first modified example of the first embodiment executes the processing of Fig. 16 instead of the processing of Fig. 12. The processing of Fig. 16 is the processing of Fig. 12 with steps S807A to S808A added immediately after the determination of "Yes" in step S802.
[0164] In the processing of FIG. 16, if the receiving node device 10A-j determines "Yes" in step S802 of FIG. 16, it determines whether the counter information p is smaller than the value M+1 obtained by adding 1 to the number of transactions M (step S807A of FIG. 16).
[0165] If the counter information p is smaller than M+1, the receiving node device 10A-j judges "Yes" at step S807A of FIG. 16 and determines whether the previous transfer hash value information included in the pth transaction information (in this example, the previous transfer information) matches any one of the stored verified transaction identification information (step S808A of FIG. 16).
[0166] If the immediately preceding transfer hash value information matches any one of the stored verified transaction identification information, the recipient node device 10A-j determines "Yes" in step S808A of Fig. 16 and proceeds to step S804 of Fig. 16. As a result, execution of the processing of step S803 of Fig. 16 is omitted.
[0167] On the other hand, if the immediately preceding transfer hash value information does not match any of the stored verified transaction identification information, the receiving node device 10A-j judges "No" in step S808A of FIG. 16 and proceeds to step S803 of FIG. 16.
[0168] If the counter information p is equal to M+1, the receiving node device 10A-j determines "No" in step S807A of FIG. 16, and proceeds to step S803 of FIG.
[0169] As described above, the information processing system 1 of the first modified example of the first embodiment achieves the same functions and effects as the information processing system 1 of the first modified example. Furthermore, in the information processing system 1 of the first modified example of the first embodiment, the second node device (in this example, the receiving node device 10A-j) includes a verified transaction identification information storage unit 141A that stores verified transaction identification information that identifies transaction information when issuance verification of the transaction information is successful. Furthermore, the verification unit (in this example, the transaction information verification unit 126A) omits executing issuance verification of the transaction information identified by the stored verified transaction identification information.
[0170] According to this, when the second node device receives transaction history information including transaction information for which issuance verification has already been successful, execution of issuance verification for the transaction information is omitted. This reduces the load for verifying the validity of the token transfer. Also, the validity of the token transfer can be verified quickly.
[0171] Furthermore, in the information processing system 1 of the first modification of the first embodiment, the second node device includes a verified transaction identification information storage unit 141A that stores verified transaction identification information that identifies transaction information when rule verification for the transaction information is successful. Furthermore, the verification unit omits execution of rule verification for the transaction information identified by the stored verified transaction identification information.
[0172] According to this, when the second node device receives transaction history information including transaction information for which rule verification has already been successful, rule verification for the transaction information is omitted. This reduces the load for verifying the validity of the token transfer. Also, the validity of the token transfer can be verified quickly.
[0173] <Second Modification of First Embodiment> Next, an information processing system according to a second modification of the first embodiment will be described. The information processing system according to the second modification of the first embodiment differs from the information processing system according to the first embodiment in that it omits the execution of a portion of token transfer verification that corresponds to transaction history information for which token transfer verification has already been successful. The following description will focus on the differences. Note that in the description of the second modification of the first embodiment, components that are assigned the same reference numerals as those used in the first embodiment are the same or substantially similar.
[0174] (Functions) As shown in FIG. 17, the functions of the node device 10B-n of the second modified example of the first embodiment are functions in which the receiving function unit 120 in the functions of the node device 10-n of the first embodiment is replaced with a receiving function unit 120B.
[0175] The receiving function unit 120B includes a verified transaction history identification information storage unit 142B in addition to the functions of the receiving function unit 120 of the first embodiment, and the transaction information verification unit 126 in the receiving function unit 120 of the first embodiment is replaced with a transaction information verification unit 126B.
[0176] In this example, the transaction information includes transfer history hash value information. The transfer history hash value information included in the transaction information representing the transfer of a token is generated by inputting transaction history information, which includes a group of transaction information corresponding to the history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the transaction information, in association with the order of transfers in the history, into a hash function.
[0177] In this example, the transfer history hash value information is hash value information generated by inputting the transaction history information into a hash function, and then inputting the hash value information generated by inputting the transaction history information into a hash function again (in other words, double hash value information). Note that the transfer history hash value information may also be hash value information generated by inputting the transaction history information into a hash function (in other words, single hash value information).
[0178] The verified transaction history identification information storage unit 142B stores verified transaction history identification information when the transaction information verification unit 126B successfully verifies the token transfer for the new transaction information and transaction history information received by the transaction information receiving unit 123.
[0179] The verified transaction history identification information for the new transaction information and transaction history information representing the transfer of a token is information that identifies transaction history information that includes a group of transaction information corresponding to the history of transfers of the token from the issuance of the token to the transfer represented by the new transaction information, in association with the order of transfers in the history.
[0180] In this example, the new transaction information representing the transfer of a token and the verified transaction history identification information for the transaction history information are hash value information (in this example, double hash value information) (in other words, transfer history hash value information) generated by inputting transaction history information, which includes a group of transaction information corresponding to the history of transfers of the token from the issuance of the token to the transfer represented by the new transaction information, in correspondence with the order of transfers in the history, into a hash function.
[0181] The transaction information verification unit 126B has the same functions as the transaction information verification unit 126 of the first embodiment. Furthermore, the transaction information verification unit 126B omits the execution of the part of the token transfer verification for the new transaction information and transaction history information received by the transaction information receiving unit 123 that corresponds to the transaction history information identified by the verified transaction history identification information stored in the verified transaction history identification information storage unit 142B.
[0182] In this example, the transaction information verification unit 126B omits the execution of the part of the token transfer verification for the new transaction information and transaction history information received by the transaction information receiving unit 123, which corresponds to the history of the transfer of the token from the time the token is issued to the transfer immediately preceding the transfer represented by the transaction information including transfer history hash value information that matches the verified transaction history identification information stored in the verified transaction history identification information storage unit 142B.
[0183] (Operation) The receiving node device 10B-j of the second modified example of the first embodiment executes the process of Fig. 18 instead of the process of Fig. 7. The process of Fig. 18 is the process of Fig. 7 with step S313B added immediately after step S311.
[0184] In the processing of Fig. 18, the recipient node device 10B-j executes the processing of step S311 of Fig. 18, then generates hash value information (double hash value information in this example) by inputting the transaction history information stored in step S311 of Fig. 18 into a hash function, and stores the generated hash value information as verified transaction history identification information (step S313B of Fig. 18). After that, the recipient node device 10B-j returns to step S301 of Fig. 18.
[0185] The process of step S313B in FIG. 18 may be executed between steps S306 and S311 in FIG.
[0186] Furthermore, the receiving node device 10B-j of the second modified example of the first embodiment executes the process of Fig. 19 instead of the process of Fig. 8. The process of Fig. 19 is the process of Fig. 8 with step S411B added immediately before step S401.
[0187] 19, first, the receiving node device 10B-j executes a verification determination (step S411B in FIG. 19). To execute the verification determination, the receiving node device 10B-j executes the process shown in FIG.
[0188] 20, first, the receiving node device 10B-j sets the verified identification information q to −1 (step S901B in FIG. 20). In this example, the verified identification information q represents an integer. Next, the receiving node device 10B-j sets the counter information p to M+1, which is the number of transactions M plus 1 (step S902B in FIG. 20).
[0189] Next, the receiving node device 10B-j determines whether the counter information p is greater than 0 (step S903B in FIG. 20). At this point, the counter information p is greater than 0. Therefore, the receiving node device 10B-j determines "Yes" in step S903B in FIG. 20, and determines whether the transfer history hash value information included in the p-th transaction information matches any one of the stored verified transaction history identification information (step S904B in FIG. 20).
[0190] If the transfer history hash value information matches any one of the stored verified transaction history identification information, the receiving node device 10B-j judges "Yes" in step S904B of FIG. 20, sets the verified specific information q to p-1 (step S905B of FIG. 20), and terminates the processing of FIG. 20.
[0191] On the other hand, if the transfer history hash value information does not match any of the stored verified transaction history identification information, the recipient node device 10B-j determines "No" in step S904B of Fig. 20 and sets the counter information p to p-1 (in other words, decreases the counter information p by 1) (step S906B of Fig. 20). Next, the recipient node device 10B-j returns to step S903B of Fig. 20 and repeatedly executes the processes of steps S903B to S906B.
[0192] If the counter information p is equal to 0 in step S903B of FIG. 20, the receiving node device 10B-j determines "No" and ends the processing of FIG. 20 without executing the processing of steps S904B to S906B of FIG.
[0193] Thereafter, in step S401 of Fig. 19, the receiving node device 10B-j executes the processing of Fig. 21 instead of the processing of Fig. 9. The processing of Fig. 21 is the processing of Fig. 9 with step S504B added immediately before step S501.
[0194] In the processing of FIG. 21, first, the receiving node device 10B-j determines whether the number of transactions M is smaller than the value q+1 obtained by adding 1 to the verified specific information q (step S504B in FIG. 21).
[0195] If the number of transactions M is smaller than q+1, the recipient node device 10B-j determines "Yes" in step S504B of Fig. 21 and proceeds to step S502 of Fig. 21. As a result, the execution of the process of step S501 of Fig. 21 is omitted.
[0196] On the other hand, if the number of transactions M is equal to or greater than q+1, the recipient node device 10B-j determines "No" in step S504B of FIG. 21, and proceeds to step S501 of FIG.
[0197] Thereafter, in step S403 of Fig. 19, the receiving node device 10B-j executes the processing of Fig. 22 instead of the processing of Fig. 10. The processing of Fig. 22 is the processing of Fig. 10 in which step S601 is replaced with steps S608B to S610B.
[0198] In the processing of FIG. 22, first, the receiving node device 10B-j determines whether or not the verified specific information q is greater than 0 (step S608B in FIG. 22).
[0199] If the verified identification information q is greater than 0, the receiving node device 10B-j determines "Yes" in step S608B of Fig. 22 and sets the counter information p to the verified identification information q (step S609B of Fig. 22). Next, the receiving node device 10B-j executes the processes from step S602 onwards in Fig. 22. As a result, the processes of steps S602 to S605 that would be executed if the counter information p were 1 to q-1 are omitted.
[0200] On the other hand, if the verified specific information q is equal to or less than 0, the receiving node device 10B-j determines "No" in step S608B of Fig. 22 and sets the counter information p to 1 (step S610B of Fig. 22). Next, the receiving node device 10B-j executes the processing from step S602 onwards in Fig. 22.
[0201] Thereafter, in step S405 of Fig. 19, the receiving node device 10B-j executes the processing of Fig. 23 instead of the processing of Fig. 11. The processing of Fig. 23 is the processing of Fig. 11 with step S705B added immediately before step S701.
[0202] In the processing of FIG. 23, first, the receiving node device 10B-j determines whether or not the verified specific information q is greater than 0 (step S705B in FIG. 23).
[0203] If the verified specific information q is greater than 0, the recipient node device 10B-j determines "Yes" in step S705B of Fig. 23 and proceeds to step S703 of Fig. 23. As a result, the execution of the processes of steps S701 and S702 of Fig. 23 is omitted.
[0204] On the other hand, if the verified specific information q is equal to or less than 0, the receiving node device 10B-j determines "No" in step S705B of FIG. 23, and proceeds to step S701 of FIG.
[0205] Thereafter, in step S407 of Fig. 19, the receiving node device 10B-j executes the processing of Fig. 24 instead of the processing of Fig. 12. The processing of Fig. 24 is the processing of Fig. 12 in which step S801 is replaced with steps S807B to S809B.
[0206] In the processing of FIG. 24, first, the receiving node device 10B-j determines whether the verified specific information q is greater than 0 (step S807B in FIG. 24).
[0207] If the verified identification information q is greater than 0, the receiving node device 10B-j determines "Yes" in step S807B of Fig. 24 and sets the counter information p to q+1, which is the value obtained by adding 1 to the verified identification information q (step S808B of Fig. 24). Next, the receiving node device 10B-j executes the processing from step S802 onwards in Fig. 24. As a result, the processing of steps S802 to S804, which would be executed if the counter information p were 1 to q, is omitted.
[0208] On the other hand, if the verified specific information q is equal to or less than 0, the receiving node device 10B-j determines "No" in step S807B of Fig. 24 and sets the counter information p to 1 (step S809B of Fig. 24). Next, the receiving node device 10B-j executes the processing from step S802 onwards in Fig. 24.
[0209] As described above, the information processing system 1 of the second modified example of the first embodiment achieves the same functions and effects as the information processing system 1 of the first embodiment. Furthermore, in the information processing system 1 of the second modified example of the first embodiment, the second node device (in this example, the receiving node device 10B-j) includes a verified transaction history identification information storage unit 142B.
[0210] If token transfer verification for the new transaction information and transaction history information is successful, the verified transaction history identification information storage unit 142B stores verified transaction history identification information that identifies transaction history information that includes a group of transaction information corresponding to the history of transfers of the token from the time the token was issued to the transfer represented by the new transaction information, in association with the order of transfers in the history.
[0211] Furthermore, the verification unit (in this example, the transaction information verification unit 126B) omits performing the part of the token transfer verification for the received new transaction information and the received transaction history information that corresponds to the transaction history information identified by the stored verified transaction history identification information.
[0212] According to this, when the second node device receives second transaction history information including first transaction history information for which token transfer verification has already been successful, execution of the portion of the token transfer verification corresponding to the first transaction history information is omitted. This reduces the load for verifying the validity of the token transfer. Also, the validity of the token transfer can be verified quickly.
[0213] Furthermore, in the information processing system 1 of the second modified example of the first embodiment, the transaction information includes transfer history hash value information that is generated by inputting transaction history information that includes a group of transaction information corresponding to the history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the transaction information, in association with the order of transfers in the history, into a hash function.
[0214] Furthermore, the verified transaction history identification information storage unit 142B uses transfer history hash value information generated by inputting the transaction history information into a hash function as verified transaction history identification information for identifying the transaction history information. Furthermore, the verification unit omits execution of a portion of the token transfer verification for the received new transaction information and the received transaction history information, which corresponds to the history of token transfers from when the token was issued to the transfer immediately preceding the transfer represented by the transaction information including transfer history hash value information that matches the stored verified transaction history identification information.
[0215] According to this, the second node device can determine whether the transfer history hash value information included in the received new transaction information and the received transaction history information matches the stored verified transaction history identification information, thereby determining which part of the token transfer verification to skip. Therefore, the load for verifying the validity of the token transfer can be reduced. Also, the validity of the token transfer can be verified quickly.
[0216] Second Embodiment Next, an information processing system according to a second embodiment will be described. The information processing system according to the second embodiment differs from the information processing system according to the first embodiment in that a transfer approval notification is sent from the receiving node device to the granting node device before new transaction information is recorded in the distributed ledger. The following description will focus on the differences. In the description of the second embodiment, components that are assigned the same reference numerals as those used in the first embodiment are the same or substantially similar.
[0217] In the information processing system 1 of the second embodiment, the wallet is an SPV (Simplified Payment Verification) wallet.
[0218] (Operation) The operation of the information processing system 1 of the second embodiment will be described with reference to Fig. 25 and Fig. 26. Fig. 25 is a sequence diagram showing an example of the operation of the information processing system 1. Fig. 26 is a flowchart showing an example of a reception process executed by the receiving node device 10-j.
[0219] The granting node device 10-i of the second embodiment executes the granting process shown in Fig. 6, similar to the granting node device 10-i of the first embodiment. Moreover, the receiving node device 10-j of the second embodiment executes the process shown in Fig. 26 instead of the process shown in Fig. 7.
[0220] In the processing of Fig. 26, the processing of steps S301 to S303 is the same as the processing of steps S301 to S303 in Fig. 7. Therefore, the information processing system 1 of the second embodiment executes the processing of steps S101 to S104 in Fig. 25 in the same manner as in the first embodiment.
[0221] Next, the receiving node device 10-j performs coin transfer verification and token transfer verification (step S105C in FIG. 25 and step S304C in FIG. 26). In this example, coin transfer verification includes verifying that the transfer of coins represented by the new transaction information is a valid transfer of coins issued by a true issuer.
[0222] In this example, the token transfer verification is the same as the processing in FIG. 8 executed by the receiving node device 10-j of the first embodiment. Note that the token transfer verification may be the token transfer verification executed by the receiving node device 10A-j of the first modified example of the first embodiment. Also, the token transfer verification may be the token transfer verification executed by the receiving node device 10B-j of the second modified example of the first embodiment.
[0223] The receiving node device 10-j sets the transfer verification success information to a true value if both the coin transfer verification and the token transfer verification are successful, and sets the transfer verification success information to a false value if at least one of the coin transfer verification and the token transfer verification is unsuccessful. The transfer verification success information is information that indicates whether both the coin transfer verification and the token transfer verification are successful.
[0224] Next, the recipient node device 10-j determines whether the transfer verification success information is set to a true value (step S305C in FIG. 26). If the transfer verification success information is set to a true value, the recipient node device 10-j determines "Yes" and broadcasts the new transaction information received in step S303 in FIG. 26 to the node device group (step S106 in FIG. 25 and step S306 in FIG. 26).
[0225] Next, the receiving node device 10-j waits until it receives a reception notification from the node device group (repeatedly determining "No" in step S321C of FIG. 26). The reception notification is information indicating that the node device group has received new transaction information.
[0226] On the other hand, when the node device group receives new transaction information from the receiving node device 10-j, the node device group transmits a reception notification to the receiving node device 10-j in response to the reception of the new transaction information (step S107C in FIG. 25). As a result, the receiving node device 10-j receives the reception notification from the node device group (step S107C in FIG. 25). Therefore, the receiving node device 10-j determines "Yes" in step S321C in FIG. 26 and transmits a transfer approval notification to the granting node device 10-i (step S108C in FIG. 25 and step S310 in FIG. 26).
[0227] Next, the receiving node device 10-j waits until it receives a Merkle proof from the node devices indicating that the new transaction information has been recorded in the distributed ledger (repeatedly determining "No" in step S322C of FIG. 26). In this example, the Merkle proof is generated using a data structure called a Merkle tree. The Merkle proof may also be referred to as a Merkle proof.
[0228] Thereafter, the node devices verify that the transfer of coins represented by the new transaction information is a valid transfer of coins issued by the true issuer, and record the new transaction information in the distributed ledger (step S109C in FIG. 25). Next, the node devices generate a Merkle proof indicating that the new transaction information has been recorded in the distributed ledger, and transmit the generated Merkle proof to the receiving node device 10-j (step S110C in FIG. 25).
[0229] As a result, the recipient node device 10-j receives the Merkle proof from the node devices (step S110C in FIG. 25). Therefore, the recipient node device 10-j determines "Yes" in step S322C in FIG. 26, updates the transaction history information by adding the new transaction information received in step S303 in FIG. 26 to the transaction history information received in step S303 in FIG. 26, and stores the updated transaction history information (step S113 in FIG. 25 and step S311 in FIG. 26).
[0230] Next, the receiving node device 10-j returns to step S301 in FIG. 26 and repeatedly executes the processes from step S301 onwards.
[0231] If the transfer verification success information is set to a false value in step S305C of FIG. 26, the receiving node device 10-j determines "No," transmits a transfer failure notification to the granting node device 10-i (step S312 of FIG. 26), and returns to step S301 of FIG. 26.
[0232] As described above, according to the information processing system 1 of the second embodiment, the same actions and effects as those of the information processing system 1 of the first embodiment, the first variant of the first embodiment, or the second variant of the first embodiment are achieved.
[0233] The present invention is not limited to the above-described embodiment. For example, various modifications that can be understood by those skilled in the art may be made to the above-described embodiment without departing from the spirit of the present invention.
[0234] 1 Information processing system 10-1, 10-2, ..., 10-N Node device 10A-1, 10A-2, ..., 10A-N Node device 10B-1, 10B-2, ..., 10B-N Node device 10-i Granting node device 10-j Receiving node device 11 Processing device 12 Storage device 13 Input device 14 Output device 15 Communication device 110 Granting function unit 111 Token transfer condition request transmitting unit 112 Token transfer condition information receiving unit 113 Transaction information generating unit 114 Transaction information transmitting unit 115 Transfer result notification receiving unit 120, 120A, 120B Receiving function unit 121 Token transfer condition request receiving unit 122 Token transfer condition information transmitting unit 123 Transaction information receiving unit 124 Issued hash value information acquiring unit 125 Rule information acquiring unit 126, 126A, 126B Transaction information verification unit 127 Broadcast transmission unit 128 Confirmation processing unit 129 Transfer result notification transmission unit 130 Transaction history information storage unit 141A Verified transaction identification information storage unit 142B Verified transaction history identification information storage unit BU Bus NW Communication line
Claims
1. An information processing system in which a plurality of node devices each having a plurality of wallets communicate in a peer-to-peer manner to record transaction information representing a transfer of a token accompanied by coins between two of the plurality of wallets in a distributed ledger formed by a blockchain, the system comprising: a first node device having a first wallet; a generation unit that generates new transaction information which is transaction information representing a transfer of a token from the first wallet to a second wallet; and a transmission unit that transmits the generated new transaction information and transaction history information to a second node device having the second wallet, the transaction history information including a set of transaction information corresponding to a history of transfers of the token from when the token was issued to the transfer represented by the new transaction information, in association with the order of transfers in the history; the second node device; a reception unit that receives the new transaction information and the transaction history information; and a verification unit that performs token transfer verification to verify that the transfer of the token to the second wallet is a valid transfer of the token issued by a true issuer, based on the received new transaction information and the received transaction history information. An information processing system comprising:
2. An information processing system according to claim 1, wherein the transaction information includes previous transfer hash value information generated by inputting transaction information representing a transfer immediately before the transfer represented by the transaction information into a hash function, and the verification unit performs the token transfer verification by executing successive verification for each transaction information pair consisting of two transaction information representing two successive transfers among a plurality of transaction information consisting of the new transaction information and a transaction information group included in the transaction history information, to verify that hash value information generated by inputting the transaction information representing the preceding transfer into a hash function matches the previous transfer hash value information included in the transaction information representing the subsequent transfer.
3. An information processing system as described in claim 1 or claim 2, wherein the second node device includes an acquisition unit that acquires issuance hash value information generated by inputting transaction information representing the issuance of the token into a hash function, and the verification unit performs the token transfer verification by executing issuance verification to verify that hash value information included in the transaction history information and generated by inputting the transaction information representing the issuance of the token into a hash function matches the acquired issuance hash value information.
4. An information processing system as described in claim 3, wherein the second node device includes a verified transaction identification information storage unit that stores verified transaction identification information that identifies the transaction information when the issuance verification for the transaction information is successful, and the verification unit omits execution of the issuance verification for the transaction information identified by the stored verified transaction identification information.
5. An information processing system as claimed in claim 1 or 2, wherein the transaction information includes token transfer information representing a transfer of the token, the second node device includes an acquisition unit that acquires rule information representing a rule followed by the token transfer information included in the transaction information, and the verification unit performs the token transfer verification by executing rule verification for each of a plurality of transaction information consisting of the new transaction information and a group of transaction information included in the transaction history information, to verify that the token transfer information included in the transaction information complies with the rule represented by the acquired rule information.
6. An information processing system as described in claim 5, wherein the second node device includes a verified transaction identification information storage unit that stores verified transaction identification information that identifies the transaction information when the rule verification for the transaction information is successful, and the verification unit omits execution of the rule verification for the transaction information identified by the stored verified transaction identification information.
7. An information processing system according to claim 1 or 2, wherein the verification unit performs the token transfer verification by executing a record verification that verifies that transaction information included in the transaction history information and representing a transfer immediately before the transfer represented by the new transaction information is recorded in the distributed ledger.
8. An information processing system according to claim 1 or 2, wherein the second node device includes a verified transaction history identification information storage unit that stores verified transaction history identification information that identifies transaction history information including a group of transaction information corresponding to the history of transfers of the token from the issuance of the token to the transfer represented by the new transaction information, in association with the order of transfers in the history, when the token transfer verification for the new transaction information and the transaction history information is successful, and the verification unit omits execution of a portion of the token transfer verification for the received new transaction information and the received transaction history information that corresponds to the transaction history information identified by the stored verified transaction history identification information.
9. An information processing system according to claim 8, wherein the transaction information includes transfer history hash value information generated by inputting into a hash function transaction history information including a group of transaction information corresponding to the history of transfers of the token from when the token was issued to a transfer immediately preceding the transfer represented by the transaction information, in correspondence with the order of transfers in the history; the verified transaction history identification information storage unit uses the transfer history hash value information generated by inputting the transaction history information into a hash function as the verified transaction history identification information for identifying the transaction history information; and the verification unit omits execution of a portion of the token transfer verification for the received new transaction information and the received transaction history information that corresponds to the history of transfers of the token from when the token was issued to a transfer immediately preceding the transfer represented by transaction information including transfer history hash value information that matches the stored verified transaction history identification information.
10. An information processing system as described in claim 1 or claim 2, wherein the second node device is provided with a transmitting unit that transmits the new transaction information by broadcast if the token transfer verification is successful, and does not transmit the new transaction information if the token transfer verification is unsuccessful.
11. An information processing method in which a plurality of node devices having a plurality of wallets communicate in a peer-to-peer manner to record transaction information representing a transfer of a token accompanied by a coin between two of the plurality of wallets in a distributed ledger constituted by a blockchain, the method comprising: a first node device having a first wallet generates new transaction information which is transaction information representing a transfer of a token from the first wallet to a second wallet; the first node device transmits the generated new transaction information and transaction history information including a set of transaction information corresponding to a history of transfers of the token from when the token was issued to the transfer represented by the new transaction information, in association with the order of transfers in the history, to a second node device having the second wallet; the second node device receives the new transaction information and the transaction history information; and the second node device performs token transfer verification to verify that the transfer of the token to the second wallet is a valid transfer of the token issued by a true issuer, based on the received new transaction information and the received transaction history information.
4. An information processing method comprising:
12. A first node device having a first wallet in an information processing system in which a plurality of node devices each having a plurality of wallets communicates in a peer-to-peer manner to record transaction information representing a transfer of a token accompanied by coins between two of the plurality of wallets in a distributed ledger composed of a blockchain, the first node device comprising: a generation unit that generates new transaction information which is transaction information representing a transfer of a token from the first wallet to a second wallet; and a transmission unit that transmits the generated new transaction information and transaction history information including a set of transaction information corresponding to the history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the new transaction information, in association with the order of transfers in the history, to a second node device having the second wallet.
13. A second node device having a second wallet in an information processing system in which a plurality of node devices each having a plurality of wallets communicate in a peer-to-peer manner to record transaction information representing a transfer of a token accompanied by coins between two of the plurality of wallets in a distributed ledger composed of a blockchain, the second node device comprising: a receiving unit that receives from a first node device having the first wallet new transaction information, which is transaction information representing a transfer of a token from a first wallet to the second wallet, and transaction history information including a group of transaction information corresponding to a history of transfers of the token from the issuance of the token to the transfer immediately preceding the transfer represented by the new transaction information, in association with the order of transfers in the history; and a verifying unit that performs token transfer verification to verify that the transfer of the token to the second wallet is a valid transfer of the token issued by a true issuer, based on the received new transaction information and the received transaction history information.
Citation Information
Patent Citations
Power asset management system and method
JP2021015468A
Computer-implemented method and system for validating tokens for blockchain-based cryptocurrencies
JP2022088560A
Computer implemented systems and methods
US20230214792A1