INFORMATION PROCESSING DEVICE, SYSTEM, AND COMPUTER-READABLE RECORDING MEDIUM STORING INFORMATION PROCESSING PROGRAM

An information processing device is configured to: obtain a request that includes a first address on a first blockchain and a second address on a second blockchain and requests association of the first address with the second address; detect, based on the first address, a first transaction that includes the first address and a third address on a third blockchain managed by the information processing device and is issued by the first blockchain in response to a request from a user who has the first address; detect, based on the second address, a second transaction that includes the second address and a fourth address on the third blockchain and is issued by the second blockchain in response to a request from the user who has the second address; and determine to associate the first address with the second address when the third address and the fourth address match.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2023-100850, filed on Jun. 20, 2023, the entire contents of which are incorporated herein by reference.

FIELD

The embodiment discussed herein is related to an information processing device, a system, and an information processing program.

BACKGROUND

There is traditionally a token called a non-fungible token (NFT) issued and managed on a blockchain. An address on the blockchain corresponding to an owner of the NFT is a payee of a royalty. Here, the NFT may be transferred from a blockchain of a transfer source to a blockchain of a transfer destination. At this time, it is desirable that a linkage unit that links between the blockchains specifies a correspondence relationship between an address on the blockchain of the transfer source and an address on the blockchain of the transfer destination each corresponding the owner of the NFT, and sets the payee of the royalty.

Japanese Laid-open Patent Publication No. 2021-189475, Japanese Laid-open Patent Publication No. 2023-066919, and U.S. Patent Application Publication No. 2022/0215361 are disclosed as related art.

SUMMARY

According to an aspect of the embodiments, an information processing device includes: a memory; and a processor coupled to the memory and configured to: obtain a request that includes a first address on a first blockchain and a second address on a second blockchain and requests association of the first address with the second address; detect, based on the first address included in the obtained request, a first transaction that includes the first address and a third address on a third blockchain managed by the information processing device and is issued by the first blockchain in response to a request from a user who has the first address; detect, based on the second address included in the obtained request, a second transaction that includes the second address and a fourth address on the third blockchain and is issued by the second blockchain in response to a request from the user who has the second address; and determine to associate the first address with the second address when the third address and the fourth address match, and determine not to associate the first address with the second address when the third address and the fourth address do not match based on the detected first transaction and the detected second transaction.

DESCRIPTION OF EMBODIMENTS

For example, there is a technique of giving crypto-assets of a given consideration amount to a user from a predetermined account of the crypto-assets in exchange for an object owned by the user. Furthermore, for example, there is a technique of issuing a second NFT to a second wallet of a second user in a second blockchain on condition that a first NFT stored in a first wallet of a first user is disabled in a first blockchain. Furthermore, for example, there is a technique of transferring an ownership right of a digital asset in response to a transfer request.

However, according to the existing techniques, it is difficult to ensure validity of a correspondence relationship between two addresses on blockchains different from each other. For example, it is conceivable that the linkage unit is attacked to associate an address on the blockchain of the transfer source corresponding to the owner of the NFT with an address on the blockchain of the transfer destination corresponding to an attacker.

In one aspect, an object of the embodiment is to ensure validity of a correspondence relationship between two addresses on blockchains different from each other.

Hereinafter, an embodiment of an information processing device, a system, and an information processing program will be described in detail with reference to the drawings.

Example of Information Processing Method According to Embodiment

FIG.1is an explanatory diagram illustrating an example of an information processing method according to an embodiment. An information processing device100is a computer for managing a correspondence relationship between two addresses on blockchains different from each other. Examples of the information processing device100include a server, a personal computer (PC), and the like. In the following descriptions, a blockchain may be referred to as a “BC”.

There is traditionally an NFT issued and managed on a BC. The NFT associates data with royalty information, for example. The royalty information includes, for example, an address on the BC to which a royalty of the data is paid. The royalty information may include, for example, a method of calculating the royalty of the data. The address on the BC is specified by, for example, an owner of the NFT. For example, the NFT is utilized in fields such as art, sports, and metaverse. Examples of the owner of the NFT include an art creator, and the like.

Here, it may be desired to transfer the NFT from a BC of a transfer source to a BC of a transfer destination. For example, a creator may intend to transfer an NFT, which has been experimentally issued in a private BC in association with art in consideration of a financial risk, to a public BC in consideration of ease of use of the art.

Meanwhile, at a time of transferring an NFT between BCs, there is a first method in which the NFT is deleted in the BC of the transfer source and the NFT is generated in the BC of the transfer destination. The deletion is also referred to as burn (burning), for example. The generation is also referred to as mint, for example.

However, the first method has a problem that the royalty information corresponding to the NFT on the BC of the transfer source may not be transferred to the NFT on the BC of the transfer destination. Therefore, the creator may fail to receive the royalty for the NFT even when the art corresponding the NFT on the BC of the transfer destination is used.

In view of the above, a second method is conceivable in which a linkage unit that links between BCs rewrites the royalty information corresponding to the NFT on the BC of the transfer source with reference to the correspondence relationship between the address on the BC of the transfer source and the address on the BC of the transfer destination registered in advance, and transfers it to the NFT on the BC of the transfer destination. The linkage unit manages, for example, a linkage BC that records a processing history, a correspondence relationship, and the like. The linkage unit registers, in the linkage BC, the correspondence relationship between the address on the BC of the transfer source and the address on the BC of the transfer destination, for example. The linkage BC is preferably a public BC from the viewpoint of permanency, neutrality, or the like.

The second method has a problem that it is difficult to ensure the validity of the correspondence relationship between the address on the BC of the transfer source and the address on the BC of the transfer destination registered in the linkage BC. For example, it is conceivable that the linkage unit is attacked to register, in the linkage BC, a correspondence relationship between the address on the BC of the transfer source corresponding to the owner of the NFT and an address on a BC of a transfer destination corresponding to an attacker. Accordingly, the attacker may fraudulently receive the royalty for the NFT on the BC of the transfer destination.

Therefore, it is desirable to ensure the validity of the correspondence relationship between two addresses on BCs different from each other. For example, it is desirable to ensure that the two addresses on the different BCs to be associated with each other are both addresses specified by the owner of the NFT and corresponding to the owner of the NFT.

Here, for example, a third method is conceivable in which a smart contract of the linkage BC receives two addresses on BCs different from each other, signatures based on private keys corresponding to the respective addresses, and public keys corresponding to the respective addresses. In the following descriptions, the smart contract may be referred to as an “SC”.

According to the third method, the SC determines that the correspondence relationship between the respective addresses is valid only when both signatures based on the private keys corresponding to the respective addresses are determined to be valid based on the public keys corresponding to the respective addresses. When the correspondence relationship between the respective addresses is valid, the SC registers the correspondence relationship between the respective addresses in the linkage BC.

The third method has a problem that the SC may not be enabled to determine whether or not the correspondence relationship between the respective addresses is valid when there is no pair of the private key and the public key corresponding to the address on the BC. For example, when the BC is in a form of identifying a user by cooperation with a social networking service (SNS), there is no pair of the private key and the public key corresponding to the address on the BC.

Furthermore, for example, a fourth method is conceivable in which the linkage unit receives two addresses on BCs different from each other and authentication keys corresponding to the respective addresses. According to the fourth method, the linkage unit registers the correspondence relationship between the respective addresses in the linkage BC only when the correspondence relationship between the respective addresses is determined to be valid based on the authentication keys corresponding to the respective addresses.

The fourth method has a problem that the neutrality of the linkage unit is relatively low. It is difficult for a third party to verify the validity of the process of determining, in the linkage unit, whether or not the correspondence relationship between the respective addresses is valid afterward. Thus, it is difficult to ensure the validity of the registered correspondence relationship between the two addresses on the BCs different from each other.

In view of the above, in the present embodiment, an information processing method capable of ensuring validity of a correspondence relationship between two addresses on blockchains different from each other will be described.

InFIG.1, there are a first BC110, a second BC120, and a third BC130. The information processing device100may access the first BC110. The information processing device100may access the second BC120. The information processing device100manages the third BC130. The third BC130is preferably a public BC.

The first BC110has one or more addresses. The first BC110has, for example, a first address101. The first BC110has a function of issuing and recording a transaction. The second BC120has one or more addresses. The second BC120has, for example, a second address102. The second BC120has a function of issuing and recording a transaction. The second BC120is, for example, a BC different from the first BC110. The third BC130has one or more addresses. In the following descriptions, a transaction may be referred to as a “Tx”.

(1-1) A user having the first address101requests, using a specific computer, the first BC110to issue a first Tx111including the first address101and a third address on the third BC130. In response to the request from the user having the first address101, the first BC110issues the first Tx111including the first address101and the third address on the third BC130.

(1-2) The user having the second address102requests, using the specific computer, the second BC120to issue a second Tx121including the second address102and a fourth address on the third BC130. In response to the request from the user having the second address102, the second BC120issues the second Tx121including the second address102and the fourth address on the third BC130.

(1-3) The user who intends to associate the first address101with the second address102transmits, using the specific computer, a request for requesting association of the first address101and the second address102to the information processing device100. The request includes, for example, the first address101on the first BC110and the second address102on the second BC120. The information processing device100receives and obtains the request. The information processing device100identifies the first address101and the second address102based on the obtained request. As a result, the information processing device100is enabled to identify the combination of addresses to be associated.

(1-4) The information processing device100detects the first Tx111issued by the first BC110based on the first address101included in the obtained request. The information processing device100identifies the third address based on the detected first Tx111. As a result, the information processing device100is enabled to obtain a guideline for determining whether or not to associate the first address101with the second address102. Furthermore, the information processing device100is enabled to ensure the validity of association of the first address101based on the fact that the first BC110has a property of not issuing the first Tx111in response to a request from a user other than the user having the first address101.

(1-5) The information processing device100detects the second Tx121issued by the second BC120based on the second address102included in the obtained request. The information processing device100identifies the fourth address based on the detected second Tx121. As a result, the information processing device100is enabled to obtain a guideline for determining whether or not to associate the first address101with the second address102. Furthermore, the information processing device100is enabled to ensure the validity of association of the second address102based on the fact that the second BC120has a property of not issuing the second Tx121in response to a request from a user other than the user having the second address102.

(1-6) The information processing device100determines whether or not the third address and the fourth address match based on the detected first Tx111and the detected second Tx121. When the third address and the fourth address match, the information processing device100determines to associate the first address101with the second address102. On the other hand, when the third address and the fourth address do not match, the information processing device100determines not to associate the first address101with the second address102. As a result, the information processing device100is enabled to appropriately determine whether or not to associate the first address101with the second address102.

For example, since the third address and the fourth address match, the information processing device100is enabled to ensure that the user having the first address101and the user having the second address102are the same. For example, since both the third address and the fourth address are addresses included in the third BC130, the information processing device100is enabled to guarantee the validity of the user having the first address101and the second address102. In this manner, the information processing device100is enabled to ensure the validity of the correspondence relationship between the two addresses on the BCs different from each other. For example, the information processing device100is enabled to ensure the validity of the correspondence relationship between the first address101and the second address102.

Even in a case where the first BC110and the second BC120are BCs in which a pair of a private key and a public key corresponding to an address does not exist, the information processing device100is enabled to determine whether or not to associate the first address101with the second address102. The information processing device100is enabled to ensure the validity of the correspondence relationship between the first address101and the second address102.

At the time of determining whether or not to associate the first address101with the second address102, the information processing device100is enabled to utilize the first Tx111issued by the first BC110and the second Tx121issued by the second BC120. Thus, the information processing device100is enabled to improve the neutrality at the time of determining whether or not to associate the first address101with the second address102.

The information processing device100may register, in the third BC130, the correspondence relationship between the first address101and the second address102when it is determined that the first address101is to be associated with the second address102. With this arrangement, the information processing device100is enabled to make it possible to verify the correspondence relationship between the first address101and the second address102thereafter. The information processing device100is enabled to leave a trail of the association of the first address101and the second address102in the first BC110, the second BC120, and the third BC130.

Furthermore, the information processing device100may refer to the correspondence relationship between the first address101and the second address102when a request for requesting a transfer of the NFT on the first BC110with the first BC110as a transfer source and the second BC120as a transfer destination is received. Therefore, at the time of transferring the NFT on the first BC110, the information processing device100is enabled to rewrite the royalty information corresponding to the NFT and appropriately transfer it to the second BC120.

While a case where the information processing device100determines whether or not to associate the two addresses on the BCs different from each other and ensures the validity of the correspondence relationship between the two addresses on the BCs different from each other has been described here, it is not limited to this. For example, there may be a case where the information processing device100determines whether or not to associate three or more addresses on BCs different from each other and ensures validity of a correspondence relationship between the three or more addresses on the BCs different from each other.

While a case where the second BC120is a BC different from the first BC110has been described here, it is not limited to this. For example, the second BC120may be the same BC as the first BC110. While a case where the function as the information processing device100is implemented by a single computer has been described here, it is not limited to this. For example, there may be a case where the function as the information processing device100is implemented by a plurality of computers.

Example of Information Processing System200

Next, an example of an information processing system200to which the information processing device100illustrated inFIG.1is applied will be described with reference toFIG.2.

FIG.2is an explanatory diagram illustrating an example of the information processing system200. InFIG.2, the information processing system200includes the information processing device100, a first BC210, a second BC220, a third BC230, and one or more client devices201. The first BC210includes a plurality of first BC nodes211. The second BC220includes a plurality of second BC nodes221. The third BC230includes a plurality of third BC nodes231.

In the information processing system200, the information processing device100and the first BC nodes211are coupled via a wired or wireless network240. Examples of the network240include a local area network (LAN), a wide area network (WAN), the Internet, and the like.

Furthermore, in the information processing system200, the information processing device100and the second BC nodes221are coupled via the wired or wireless network240. Furthermore, in the information processing system200, the information processing device100and the third BC nodes231are coupled via the wired or wireless network240.

Furthermore, in the information processing system200, the client device201and the first BC nodes211are coupled via the wired or wireless network240. Furthermore, in the information processing system200, the client device201and the second BC nodes221are coupled via the wired or wireless network240. Furthermore, in the information processing system200, the information processing device100and the client device201are coupled via the wired or wireless network240.

The client device201is a computer used by an operator who attempts to associate two addresses on BCs different from each other. For example, it is assumed that the operator desires to associate the first address on the first BC210with the second address on the second BC220.

The client device201transmits an issuance request for requesting issuance of a Tx to the first BC node211based on an operation input made by the operator. For example, the client device201transmits, to the first BC node211, an issuance request for requesting issuance of a first Tx including the first address on the first BC210and the third address on the third BC230based on the operation input made by the operator. The first address is an address owned by the operator. The third address is an address owned by the operator.

The client device201transmits an issuance request for requesting issuance of a Tx to the second BC node221based on an operation input made by the operator. For example, the client device201transmits, to the second BC node221, an issuance request for requesting issuance of a second Tx including the second address on the second BC220and the fourth address on the third BC230based on the operation input made by the operator. The second address is an address owned by the operator. The fourth address is an address owned by the operator.

The client device201transmits, to the information processing device100, an association request for requesting association of two addresses on BCs different from each other based on an operation input made by the operator. For example, the client device201transmits, to the information processing device100, an association request for requesting association of the first address on the first BC210and the second address on the second BC220based on the operation input made by the operator. Examples of the client device201include a PC, a tablet terminal, a smartphone, and the like.

The first BC node211is a computer that forms the first BC210. Each of the plurality of first BC nodes211stores a common first distributed ledger, thereby managing the first distributed ledger. The first BC node211receives the issuance request from the client device201. For example, the first BC node211issues the first Tx including the first address on the first BC210and the third address on the third BC230in response to the issuance request.

The first Tx includes, for example, a field representing an issuer and a field representing a message. Specifically, the first BC node211identifies the first address on the first BC210corresponding to the operator. Specifically, the first BC node211issues the first Tx in which the identified first address on the first BC210is set in the field representing the issuer and the third address on the third BC230is set in the field of the message. The first BC node211registers the issued first Tx in the first distributed ledger. Examples of the first BC node211include a server, a PC, and the like.

The second BC node221is a computer that forms the second BC220. Each of the plurality of second BC nodes221stores a common second distributed ledger, thereby managing the second distributed ledger. The second BC node221receives the issuance request from the client device201. For example, the second BC node221issues the second Tx including the second address on the second BC220and the fourth address on the third BC230in response to the issuance request.

The second Tx includes, for example, a field representing an issuer and a field representing a message. Specifically, the second BC node221identifies the second address on the second BC220corresponding to the operator. Specifically, the second BC node221issues the second Tx in which the identified second address on the second BC220is set in the field representing the issuer and the fourth address on the third BC230is set in the field of the message. The second BC node221registers the issued second Tx in the second distributed ledger. Examples of the second BC node221include a server, a PC, and the like.

The information processing device100is a computer for managing a correspondence relationship between two addresses on BCs different from each other. The information processing device100receives the association request from the client device201. The information processing device100identifies the first address and the second address based on the received association request.

The information processing device100detects the first Tx including the first address in the first BC210in response to the acquisition of the association request. When the first Tx is detected, the information processing device100obtains the third address on the third BC230included in the first Tx. The information processing device100detects the second Tx including the second address in the second BC220in response to the acquisition of the association request. When the second Tx is detected, the information processing device100obtains the fourth address on the third BC230included in the second Tx.

When the third address and the fourth address match, the information processing device100determines to associate the first address with the second address, and controls the third BC230to register the correspondence relationship between the first address and the second address. On the other hand, when the third address and the fourth address do not match, the information processing device100determines not to associate the first address with the second address. Examples of the information processing device100include a server, a PC, and the like.

The third BC node231is a computer that forms the third BC230. Each of the plurality of third BC nodes231stores a common third distributed ledger, thereby managing the third distributed ledger. The third BC node231registers a correspondence relationship between two addresses on BCs different from each other in the third distributed ledger under the control of the information processing device100. For example, the third BC node231registers, in the third distributed ledger, the correspondence relationship between the first address on the first BC210and the second address on the second BC220. Examples of the third BC node231include a server, a PC, and the like.

Exemplary Application of Information Processing System200

Next, exemplary application of the information processing system200will be described. The information processing system200illustrated inFIG.2may be applied to a case where, for example, an NFT on the first BC210to which royalty information is assigned is transferred onto the second BC220. The royalty information includes an address to which the royalty of the NFT is paid. The royalty information includes, for example, the first address. For example, the client device201transmits, to the information processing device100, a transfer request for requesting transfer of the NFT on the first BC210onto the second BC220based on an operation input made by the operator. The transfer request indicates the NFT to be transferred, the first BC210of the transfer source, and the second BC220of the transfer destination.

For example, the information processing device100receives the transfer request from the client device201. The information processing device100identifies the NFT to be transferred, the first BC210of the transfer source, and the second BC220of the transfer destination based on the transfer request. For example, the information processing device100obtains the first address included in the royalty information assigned to the identified NFT to be transferred with reference to the identified first BC210of the transfer source. For example, the information processing device100identifies the second address corresponding to the obtained first address with reference to the third BC230. For example, the information processing device100controls the first BC210to delete the NFT to be transferred on the first BC210of the transfer source, and controls the second BC220to generate the NFT to be transferred on the second BC220of the transfer destination. For example, the information processing device100controls the second BC220to assign the royalty information including the identified second address to the generated NFT to be transferred on the second BC220of the transfer destination.

While the case where the NFT on the first BC210to which the royalty information is assigned is transferred onto the second BC220has been described here, it is not limited to this. For example, a case is conceivable in which the first BC210is a BC that manages an environmental contribution point according to action of the user in association with the address of the user, and the second BC220is a BC that manages an exchange point of the user exchangeable for a product in association with the address of the user. In this case, the information processing system200may be applied to a case where the environmental contribution point on the first BC210is converted into an exchange point on the second BC220and transferred.

Exemplary Hardware Configuration of Information Processing Device100

Next, an exemplary hardware configuration of the information processing device100will be described with reference toFIG.3.

FIG.3is a block diagram illustrating the exemplary hardware configuration of the information processing device100. InFIG.3, the information processing device100includes a central processing unit (CPU)301, a memory302, a network interface (I/F)303, a recording medium I/F304, and a recording medium305. Furthermore, the individual components are coupled to each other by a bus300.

Here, the CPU301performs overall control of the information processing device100. The memory302includes, for example, a read only memory (ROM), a random access memory (RAM), a flash ROM, and the like. Specifically, for example, the flash ROM or the ROM stores various programs, and the RAM is used as a work area for the CPU301. The programs stored in the memory302are loaded into the CPU301to cause the CPU301to execute coded processing.

The network I/F303is coupled to the network240through a communication line, and is coupled to another computer via the network240. Then, the network I/F303takes control of an interface between the network240and the inside, and controls input and output of data from and to the another computer. Examples of the network I/F303include a modem, a LAN adapter, and the like.

The recording medium I/F304controls read and write of data from and to the recording medium305under the control of the CPU301. Examples of the recording medium I/F304include a disk drive, a solid state drive (SSD), a universal serial bus (USB) port, and the like. The recording medium305is a nonvolatile memory that stores data written under the control of the recording medium I/F304. Examples of the recording medium305include a disk, a semiconductor memory, a USB memory, and the like. The recording medium305may be attachable to and detachable from the information processing device100.

The information processing device100may include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, and the like in addition to the components described above. Furthermore, the information processing device100may include a plurality of the recording medium I/Fs304and a plurality of the recording media305. Furthermore, the information processing device100may not include the recording medium I/F304or the recording medium305.

Exemplary Hardware Configuration of Client Device201

Since an exemplary hardware configuration of the client device201is specifically similar to the exemplary hardware configuration of the information processing device100illustrated inFIG.3, description thereof will be omitted.

Exemplary Hardware Configuration of First BC Node211

Since an exemplary hardware configuration of the first BC node211is specifically similar to the exemplary hardware configuration of the information processing device100illustrated inFIG.3, description thereof will be omitted.

Exemplary Hardware Configuration of Second BC Node221

Since an exemplary hardware configuration of the second BC node221is specifically similar to the exemplary hardware configuration of the information processing device100illustrated inFIG.3, description thereof will be omitted.

Exemplary Hardware Configuration of Third BC Node231

Since an exemplary hardware configuration of the third BC node231is specifically similar to the exemplary hardware configuration of the information processing device100illustrated inFIG.3, description thereof will be omitted.

Exemplary Functional Configuration of Information Processing System200

Next, an exemplary functional configuration of the information processing system200will be described with reference toFIG.4.

FIG.4is a block diagram illustrating the exemplary functional configuration of the information processing system200. InFIG.4, the first BC node211includes a first storage unit410, a first acquisition unit411, and a first issuance unit412.

The first storage unit410is implemented by, for example, a storage area such as the memory302or the recording medium305illustrated inFIG.3. While a case where the first storage unit410is included in the information processing device100will be described below, it is not limited to this. For example, the first storage unit410may be included in a device different from the information processing device100, and contents stored in the first storage unit410may be referred to by the information processing device100.

Specifically, for example, the first acquisition unit411and the first issuance unit412implement functions thereof by causing the CPU301to execute a program stored in a storage area such as the memory302or the recording medium305illustrated inFIG.3, or by the network I/F303. A processing result of each functional unit is stored in, for example, a storage area such as the memory302or the recording medium305illustrated inFIG.3.

The first storage unit410stores various types of information referred or updated in processing of each functional unit. The first storage unit410stores, for example, a first distributed ledger. The first distributed ledger records, for example, a Tx. The first storage unit410stores, for example, a token. The first storage unit410stores, for example, royalty information corresponding to the token. The royalty information indicates, for example, an address on the first BC210corresponding to the token. The royalty information may include, for example, a method for calculating the royalty. Specifically, the royalty information may include a calculation formula for calculating the royalty. The calculation formula is a formula indicating what percentage of a price of a commercial transaction using the token is the royalty. The token is, for example, an NFT. The token may be other than the NFT.

The first acquisition unit411obtains various types of information used for processing of each functional unit. The first acquisition unit411stores the obtained various types of information in the first storage unit410, or outputs them to each functional unit. Furthermore, the first acquisition unit411may output the various types of information stored in the first storage unit410to each functional unit. The first acquisition unit411obtains the various types of information based on, for example, an operation input made by the operator. The first acquisition unit411may receive the various types of information from, for example, a device different from the information processing device100.

The first acquisition unit411obtains, for example, an issuance request for requesting issuance of a Tx. The issuance request requests, for example, issuance of a first Tx including a first address on the first BC210and a third address on the third BC230. The first Tx includes, for example, an issuer field and a message field. Specifically, the first Tx is a Tx in which the first address on the first BC210is set in the issuer field and the third address on the third BC230is set in message field.

Specifically, the first acquisition unit411obtains the issuance request by receiving it from another computer. Examples of the another computer include the client device201. Specifically, the first acquisition unit411obtains the issuance request by receiving an input of the issuance request based on an operation input made by the operator. For example, the first acquisition unit411accepts the acquisition of the issuance request as a start trigger for starting processing of the first issuance unit412.

The first issuance unit412issues a Tx in response to the issuance request, and registers it in the first distributed ledger. For example, the first issuance unit412identifies the first address on the first BC210and the third address on the third BC230based on the issuance request. Specifically, the first issuance unit412identifies the first address on the first BC210corresponding to the operator of the request source based on the issuance request. For example, the first issuance unit412issues a first Tx including the identified first address on the first BC210and the identified third address on the third BC230, and registers it in the first distributed ledger. As a result, the first issuance unit412is enabled to leave a trail indicating that the valid operator having the first address has requested association of the first address with another address.

The second BC node221includes a second storage unit420, a second acquisition unit421, and a second issuance unit422.

The second storage unit420is implemented by, for example, a storage area such as the memory302or the recording medium305illustrated inFIG.3. While a case where the second storage unit420is included in the information processing device100will be described below, it is not limited to this. For example, the second storage unit420may be included in a device different from the information processing device100, and contents stored in the second storage unit420may be referred to by the information processing device100.

Specifically, for example, the second acquisition unit421and the second issuance unit422implement functions thereof by causing the CPU301to execute a program stored in a storage area such as the memory302or the recording medium305illustrated inFIG.3, or by the network I/F303. A processing result of each functional unit is stored in, for example, a storage area such as the memory302or the recording medium305illustrated inFIG.3.

The second storage unit420stores various types of information referred or updated in processing of each functional unit. The second storage unit420stores, for example, a second distributed ledger. The second distributed ledger records, for example, a Tx. The second storage unit420stores, for example, a token. The second storage unit420stores, for example, royalty information corresponding to the token. The royalty information indicates, for example, an address on the second BC220corresponding to the token. The royalty information may include, for example, a method for calculating the royalty. Specifically, the royalty information may include a calculation formula for calculating the royalty. The calculation formula is a formula indicating what percentage of a price of a commercial transaction using the token is the royalty. The token is, for example, an NFT. The token may be other than the NFT.

The second acquisition unit421obtains, for example, an issuance request for requesting issuance of a Tx. The issuance request requests, for example, issuance of a second Tx including a second address on the second BC220and a fourth address on the third BC230. The second Tx includes, for example, an issuer field and a message field. Specifically, the second Tx is a Tx in which the second address on the second BC220is set in the issuer field and the fourth address on the third BC230is set in message field.

Specifically, the second acquisition unit421obtains the issuance request by receiving it from another computer. Examples of the another computer include the client device201. Specifically, the second acquisition unit421obtains the issuance request by receiving an input of the issuance request based on an operation input made by the operator. For example, the second acquisition unit421accepts the acquisition of the issuance request as a start trigger for starting processing of the second issuance unit422.

The second issuance unit422issues a Tx in response to the issuance request, and registers it in the second distributed ledger. For example, the second issuance unit422identifies the second address on the second BC220and the fourth address on the third BC230based on the issuance request. Specifically, the second issuance unit422identifies the second address on the second BC220corresponding to the operator of the request source based on the issuance request. For example, the second issuance unit422issues a second Tx including the identified second address on the second BC220and the identified fourth address on the third BC230, and registers it in the second distributed ledger. As a result, the second issuance unit422is enabled to leave a trail indicating that the valid operator having the second address has requested association of the second address with another address.

The information processing device100includes a third storage unit430, a third acquisition unit431, a detection unit432, an association unit433, a transfer unit434, and an output unit435.

The third storage unit430is implemented by, for example, a storage area such as the memory302or the recording medium305illustrated inFIG.3. While a case where the third storage unit430is included in the information processing device100will be described below, it is not limited to this. For example, the third storage unit430may be included in a device different from the information processing device100, and contents stored in the third storage unit430may be referred to by the information processing device100.

The third acquisition unit431to the output unit435function as an exemplary control unit. Specifically, for example, the third acquisition unit431to the output unit435implement functions thereof by causing the CPU301to execute a program stored in a storage area such as the memory302or the recording medium305illustrated inFIG.3, or by the network I/F303. A processing result of each functional unit is stored in, for example, a storage area such as the memory302or the recording medium305illustrated inFIG.3.

The third storage unit430stores various types of information referred or updated in processing of each functional unit.

The third acquisition unit431obtains various types of information used for processing of each functional unit. The third acquisition unit431stores the obtained various types of information in the third storage unit430, or outputs them to each functional unit. Furthermore, the third acquisition unit431may output the various types of information stored in the third storage unit430to each functional unit. The third acquisition unit431obtains the various types of information based on, for example, an operation input made by the operator. The third acquisition unit431may receive the various types of information from, for example, a device different from the information processing device100.

For example, the third acquisition unit431obtains an association request for requesting association of the first address and the second address. The association request includes, for example, the first address on the first BC210and the second address on the second BC220. Specifically, the third acquisition unit431obtains the association request by receiving it from another computer. Examples of the another computer include the client device201. Specifically, the third acquisition unit431may obtain the association request by receiving an input of the association request based on an operation input made by the operator.

The third acquisition unit431obtains a transfer request for requesting transfer of the token on the first BC210associated with the first address onto the second BC220. Specifically, the third acquisition unit431obtains the transfer request by receiving it from another computer. Examples of the another computer include the client device201. Specifically, the third acquisition unit431may obtain the transfer request by receiving an input of the transfer request based on an operation input made by the operator.

The third acquisition unit431may receive a start trigger for starting processing of any functional unit. The start trigger is, for example, a predetermined operation input made by the operator. The start trigger may be, for example, reception of predetermined information from another computer. The start trigger may be, for example, an output of predetermined information from any functional unit.

Specifically, the third acquisition unit431may accept the acquisition of the association request as a start trigger for starting processing of the detection unit432and the association unit433. Specifically, the third acquisition unit431may accept the acquisition of the transfer request as a start trigger for starting processing of the transfer unit434.

The detection unit432detects the first Tx including the first address and the third address on the third BC230issued by the first BC210based on the first address included in the association request obtained by the third acquisition unit431. For example, the detection unit432detects the first Tx by searching the first distributed ledger for the first Tx in which the first address is set in the issuer field using the first address as a key. The detection unit432identifies the third address based on the detected first Tx. As a result, the detection unit432is enabled to obtain a guideline for determining whether or not to associate the first address with the second address. Furthermore, the detection unit432is enabled to ensure the validity of the association of the first address with the second address based on the fact that the first BC210has a property of not issuing the first Tx in response to a request from an operator other than the operator having the first address.

The detection unit432detects the second Tx including the second address and the fourth address on the third BC230issued by the second BC220based on the second address included in the association request obtained by the third acquisition unit431. For example, the detection unit432detects the second Tx by searching the second distributed ledger for the second Tx in which the second address is set in the issuer field using the second address as a key. The detection unit432identifies the fourth address based on the detected second Tx. As a result, the detection unit432is enabled to obtain a guideline for determining whether or not to associate the first address with the second address. Furthermore, the detection unit432is enabled to ensure the validity of the association of the first address with the second address based on the fact that the second BC220has a property of not issuing the second Tx in response to a request from an operator other than the operator having the second address.

The association unit433determines whether or not to associate the first address with the second address. For example, the association unit433determines whether or not the third address and the fourth address match based on the first Tx detected by the detection unit432and the second Tx detected by the detection unit432. For example, when the third address and the fourth address are determined to match, the association unit433determines to associate the first address with the second address. For example, when the third address and the fourth address are determined not to match, the association unit433determines not to associate the first address with the second address. As a result, the association unit433is enabled to appropriately determine whether or not to associate the first address with the second address. For example, since the third address and the fourth address match, the association unit433is enabled to ensure that the operator having the first address and the operator having the second address are the same.

For example, the association unit433may determine whether or not the third address and the fourth address are valid addresses on the third BC230. For example, when the third address and the fourth address are determined to match but are not determined as valid addresses on the third BC230, the association unit433determines not to associate the first address with the second address. As a result, for example, since both the third address and the fourth address are addresses included in the third BC230, the association unit433is enabled to guarantee the validity of the user having the first address and the second address.

In a case where at least one of the detected first Tx or the detected second Tx has not been issued during a period from the current point in time to a point in time a predetermined time before, the association unit433determines not to associate the first address with the second address. As a result, the association unit433is enabled to determine that the operator does not intend to associate the first address with the second address from a temporal viewpoint. Thus, the association unit433is enabled to appropriately determine whether or not to associate the first address with the second address.

In a case where at least one of the first Tx or the second Tx is not detected within a certain period of time after the acquisition of the association request, the association unit433determines not to associate the first address with the second address. As a result, the association unit433is enabled to determine that the operator does not intend to associate the first address with the second address. Thus, the association unit433is enabled to appropriately determine whether or not to associate the first address with the second address.

For example, the first address and the second address are determined to be associated, the association unit433registers a result of associating the first address with the second address in the third BC230. As a result, the association unit433is enabled to make it possible to refer to and to verify the result of associating the first address with the second address thereafter.

The transfer unit434identifies, based on the transfer request, the token to be transferred, the first BC210of the transfer source, and the second BC220of the transfer destination. In response to the acquisition of the transfer request, the transfer unit434burns the identified token on the identified first BC210, and generates the identified token on the identified second BC220.

For example, the transfer unit434refers to the identified first BC210, and identifies the first address based on the royalty information corresponding to the identified token. For example, the transfer unit434refers to the third BC230, and searches for the second address on the second BC220corresponding to the identified first address. For example, the transfer unit434determines not to transfer the token when there is no second address on the second BC220corresponding to the first address.

On the other hand, for example, when there is the second address on the second BC220corresponding to the first address, the transfer unit434determines to transfer the token, burns the identified token on the identified first BC210, and generates the identified token on the identified second BC220. For example, when it is determined to transfer the token, the transfer unit434associates the second address with the generated token on the second BC220. Specifically, the transfer unit434controls the second BC220to associate the royalty information including the second address with the token on the second BC220.

As a result, the transfer unit434is enabled to appropriately transfer the token. The transfer unit434is enabled to associate an appropriate address with the token on the second BC220. For example, the transfer unit434is enabled to associate appropriate royalty information with the token on the second BC220.

The output unit435outputs a processing result of at least any one of the functional units. Examples of an output format include display on a display, print output to a printer, transmission to an external device by the network I/F303, and storage in a storage area such as the memory302or the recording medium305. As a result, the output unit435is enabled to make it possible to notify the operator of a processing result of at least any one of the functional units, and to improve the convenience of the information processing device100.

For example, the output unit435outputs a result of the determination on whether or not to associate the first address with the second address made by the association unit433. Specifically, the output unit435outputs the result of the determination on whether or not to associate the first address with the second address made by the association unit433such that the operator may refer to the result. Specifically, the output unit435may transmit, to another computer, the result of the determination on whether or not to associate the first address with the second address made by the association unit433. As a result, the output unit435is enabled to make it possible to refer to whether or not the first address is associated with the second address by the association unit433externally.

For example, the output unit435outputs information indicating whether or not the token has been transferred by the transfer unit434. Specifically, the output unit435outputs the information indicating whether or not the token has been transferred by the transfer unit434such that the operator may refer to the information. Specifically, the output unit435may transmit the information indicating whether or not the token has been transferred by the transfer unit434to another computer. As a result, the output unit435is enabled to make it possible to refer to whether or not the token has been transferred by the transfer unit434externally.

Exemplary Operation of Information Processing System200

Next, exemplary operation of the information processing system200will be described with reference toFIGS.5and6.

FIGS.5and6are explanatory diagrams illustrating exemplary operation of the information processing system200. InFIG.5, there are a BC-Priv510and a BC-Pub520. The BC-Priv510corresponds to, for example, the first BC210described above. The BC-Pub520corresponds to, for example, the second BC220described above. The information processing device100manages a linkage BC530. The linkage BC530corresponds to, for example, the third BC230described above. The information processing device100implements a BC linkage function500together with the linkage BC530.

In response to a request from a creator, the BC-Priv510issues an association Tx including an address on the BC-Priv510as an issuer and including an address on the linkage BC530as a message. In response to a request from the creator, the BC-Pub520issues an association Tx including an address on the BC-Pub520as an issuer and including an address on the linkage BC530as a message.

By detecting each association Tx, the information processing device100is enabled to distribute verification processing for verifying the validity of association of the address on the BC-Priv510with the address on the BC-Pub520. When a correspondence relationship between the address on the BC-Priv510and the address on the BC-Pub520is valid, the information processing device100may register the correspondence relationship in a correspondence relationship registration SC531of the linkage BC530to secure the evidence.

Here, there is a property that a BC does not issue a Tx including an address on the BC as an issuer in response to a request other than the request from a creator having the address on the BC. Furthermore, there is a property that a BC may issue a Tx regardless of a type of the BC. Based on those properties, the information processing device100is enabled to secure the flexibility of the verification processing for verifying the validity of the association of the address on the BC-Priv510with the address on the BC-Pub520. The flexibility indicates that there are various environments in which the verification processing may be implemented.

Furthermore, each of the association Tx on the BC-Priv510, the association Tx on the BC-Pub520, and the correspondence relationship on the linkage BC may be checked by a third party, and has tamper resistance. Thus, the information processing device100is enabled to secure the neutrality of the verification processing for verifying the validity of the association of the address on the BC-Priv510with the address on the BC-Pub520. Next, description ofFIG.6will be made.

InFIG.6, there is an NFT on the BC-Priv510. The creator of the NFT has an address 0xabcd on the BC-Priv510, an address 0x1234 on the BC-Pub520, and an address 0x0000 on the linkage BC530.

Each of the BCs may issue a Tx. The Tx includes, for example, an issuer field and a message field. For example, only the creator may issue a Tx including each of the addresses in the issuer field in each of the BCs.

The creator is a recipient of the royalty for the NFT on the BC-Priv510. The address 0xabcd corresponding to the creator is registered on the BC-Priv510as a payee of the royalty for the NFT. The creator wants to transfer the NFT on the BC-Priv510onto the BC-Pub520.

(6-1) The client device201obtains a plurality of addresses to be associated and the address 0x0000 on the linkage BC530owned by the creator based on an operation input made by the creator. The association target is, for example, the address 0xabcd on the BC-Priv510and the address 0x1234 on the BC-Pub520. The client device201generates an association request using the obtained address 0x0000 on the linkage BC530, and transmits it to the information processing device100. The association request includes the address 0x0000 on the linkage BC530as an address of a sender. The association request includes, for example, the plurality of addresses to be associated. Specifically, in the example ofFIG.6, the association request includes the address 0xabcd on the BC-Priv510and the address 0x1234 on the BC-Pub520as the association target.

The information processing device100obtains the address 0x0000 on the linkage BC530as an address of the sender. The information processing device100starts to monitor the Tx on the BC-Priv510and the Tx on the BC-Pub520in response to the association request. For example, the information processing device100obtains the address 0xabcd on the BC-Priv510and the address 0x1234 on the BC-Pub520based on the association request. For example, the information processing device100starts to monitor the Tx including the address 0xabcd in the issuer field on the BC-Priv510based on the obtained address 0xabcd on the BC-Priv510. For example, the information processing device100starts to monitor the Tx including the address 0x1234 in the issuer field on the BC-Pub520based on the obtained address 0x1234 on the BC-Pub520.

(6-2) The client device201transmits an issuance request to the BC-Priv510based on the address 0xabcd on the BC-Priv510obtained as the association target and the obtained address 0x0000 on the linkage BC530. The issuance request requests issuance of a Tx. For example, the issuance request requests issuance of a Tx in which the address 0xabcd on the BC-Priv510is set in the issuer field and the address 0x0000 on the linkage BC530is set in the message field.

In response to the issuance request, the BC-Priv510issues an association Tx601in which the address 0xabcd on the BC-Priv510is set in the issuer field and the address 0x0000 on the linkage BC530is set in the message field. The BC-Priv510registers the issued association Tx601in the distributed ledger managed by the BC-Priv510. Since the association Tx601includes the address 0x0000 on the linkage BC530, it may indicate that the Tx has been intentionally issued by the creator. Since the association Tx601includes the address 0xabcd on the BC-Priv510, it may be guaranteed that the address 0xabcd is the association target.

The client device201transmits an issuance request to the BC-Priv510based on the address 0x1234 on the BC-Pub520obtained as the association target and the obtained address 0x0000 on the linkage BC530. The issuance request requests issuance of a Tx. For example, the issuance request requests issuance of a Tx in which the address 0x1234 on the BC-Pub520is set in the issuer field and the address 0x0000 on the linkage BC530is set in the message field.

In response to the issuance request, the BC-Pub520issues an association Tx602in which the address 0x1234 on the BC-Pub520is set in the issuer field and the address 0x0000 on the linkage BC530is set in the message field. The BC-Pub520registers the issued association Tx602in the distributed ledger managed by the BC-Pub520. Since the association Tx602includes the address 0x0000 on the linkage BC530, it may indicate that the Tx has been intentionally issued by the creator. Since the association Tx602includes the address 0x1234 on the BC-Pub520, it may be guaranteed that the address 0x1234 is the association target.

(6-3) The information processing device100detects the association Tx601including the address 0xabcd in the issuer field on the BC-Priv510. The information processing device100obtains the address on the linkage BC530set in the message field of the detected association Tx601. Specifically, the information processing device100obtains the address 0x0000 on the linkage BC530set in the message field of the association Tx601.

The information processing device100detects the association Tx602including the address 0x1234 in the issuer field on the BC-Pub520. The information processing device100obtains the address on the linkage BC530set in the message field of the detected association Tx602. Specifically, in the example ofFIG.6, the information processing device100obtains the address 0x0000 on the linkage BC530set in the message field of the detected association Tx602.

The information processing device100determines whether or not the address on the linkage BC530set in the message field of the association Tx601matches the address on the linkage BC530set in the message field of the association Tx602. Here, when they match, the association Tx601and the association Tx602are the Tx issued by the same creator. On the other hand, when they do not match, the association Tx601and the association Tx602may not be the Tx issued by the same creator.

Thus, when they are determined to match, the information processing device100determines that the correspondence relationship is valid between the address 0xabcd on the BC-Priv510and the address 0x1234 on the BC-Pub520, which have been obtained as the association target. On the other hand, when they are determined not to match, the information processing device100determines that the correspondence relationship is not valid between the address 0xabcd on the BC-Priv510and the address 0x1234 on the BC-Pub520, which have been obtained as the association target. Specifically, in the example ofFIG.6, the information processing device100determines that the correspondence relationship is valid between the address 0xabcd on the BC-Priv510and the address 0x1234 on the BC-Pub520, which have been obtained as the association target.

(6-4) When it is determined that the correspondence relationship between the address 0xabcd on the BC-Priv510and the address 0x1234 on the BC-Pub520is valid, the information processing device100registers the correspondence relationship in the correspondence relationship registration SC531of the linkage BC530. For example, the information processing device100generates association information603indicating that the address 0xabcd on the BC-Priv510corresponds to the address 0x1234 on the BC-Pub520. For example, the information processing device100registers the association information603in the correspondence relationship registration SC531of the linkage BC530.

As a result, the information processing device100is enabled to perform the verification processing for verifying the validity of the association of the address 0xabcd on the BC-Priv510with the address 0x1234 on the BC-Pub520. The information processing device100is enabled to distribute the verification processing based on the association Tx601and the association Tx602. Furthermore, the information processing device100is enabled to secure the flexibility of the verification processing based on the association Tx601and the association Tx602. Furthermore, since it is not possible for an attacker to issue the association Tx601and the association Tx602, the information processing device100is enabled to avoid erroneous association of two addresses on BCs different from each other due to an attack by the attacker.

Since the correspondence relationship between the address 0xabcd on the BC-Priv510and the address 0x1234 on the BC-Pub520is registered in the correspondence relationship registration SC531of the linkage BC530, the information processing device100is enabled to secure the evidence. Here, each of the association Tx601, the association Tx602, and the association information603may be checked by the third party, and has tamper resistance. Thus, the information processing device100is enabled to secure the neutrality of the verification processing. In view of the above, the information processing device100is enabled to make it possible to easily transfer the royalty information at the time of transferring the NFT on the BC-Priv510onto the BC-Pub520.

Specific Example of Operation of Information Processing System200

Next, a specific example of the operation of the information processing system200will be described with reference toFIGS.7to11.

FIGS.7to11are explanatory diagrams illustrating a specific example of the operation of the information processing system200. InFIG.7, there are a BC-Priv710and a BC-Pub720. The BC-Priv710corresponds to, for example, the first BC210described above. The BC-Pub720corresponds to, for example, the second BC220described above. The information processing device100manages a linkage BC730. The linkage BC730corresponds to, for example, the third BC230described above.

The information processing device100implements a BC linkage function700together with the linkage BC730. The linkage BC730includes a correspondence relationship registration SC731. The correspondence relationship registration SC731manages association information indicating that two addresses on different BCs correspond to each other. The correspondence relationship registration SC731manages, for example, the association information indicating that an address on the BC-Priv710corresponds to an address on the BC-Pub720.

The BC-Priv710includes a royalty management SC740. The royalty management SC740manages royalty information. The royalty information may include, for example, a calculation formula indicating what percentage of a price of a commercial transaction using the NFT is the royalty. For example, the royalty management SC740includes a royalty information management table741for registering the royalty information, and stores the royalty information.

As illustrated inFIG.7, the royalty information management table741includes fields of a token ID and a royalty receiver. In the royalty information management table741, royalty information is stored as a record by setting information in each field for each NFT on the BC-Priv710.

In the field of the token ID, a token ID for identifying the NFT on the BC-Priv710is set. In the field of the royalty receiver, an address on the BC-Priv710indicating a payee of the royalty for the NFT described above is set. The royalty information management table741may further include a royalty field (not illustrated). In the royalty field, a calculation formula indicating what percentage of a price of a commercial transaction using the NFT is the royalty is set.

The BC-Pub720includes a royalty management SC750. The royalty management SC750manages royalty information. The royalty information may include, for example, a calculation formula indicating what percentage of a price of a commercial transaction using the NFT is the royalty. For example, the royalty management SC750includes a royalty information management table751for registering the royalty information, and stores the royalty information.

As illustrated inFIG.7, the royalty information management table751includes fields of a token ID and a royalty receiver. In the royalty information management table751, royalty information is stored as a record by setting information in each field for each NFT on the BC-Pub720.

In the field of the token ID, a token ID for identifying the NFT on the BC-Pub720is set. In the field of the royalty receiver, an address on the BC-Pub720indicating the payee of the royalty for the NFT described above is set. The royalty information management table751may further include a royalty field (not illustrated). In the royalty field, a calculation formula indicating what percentage of a price of a commercial transaction using the NFT is the royalty is set.

The BC-Priv710includes an association preparation SC760. The association preparation SC760issues and manages the association Tx. The BC-Pub720includes an association preparation SC770. The association preparation SC770issues and manages the association Tx.

The creator has an address 0xabcd on the BC-Priv710, an address 0x1234 on the BC-Pub720, and an address 0x0000 on the linkage BC730. The creator wants to generate an NFT on the BC-Priv710.

The client device201generates, based on an operation input made by the creator, a generation request for requesting generation of the NFT using the address 0xabcd on the BC-Priv710, and transmits it to the BC-Priv710. In response to the generation request, the BC-Priv710generates an NFT701with the token ID of token-x, and registers it in the distributed ledger.

The royalty management SC740in the BC-Priv710sets, on the BC-Priv710, the address 0xabcd representing the transmission source of the generation request as the royalty receiver, which is the payee of the royalty for the NFT701. The royalty management SC740generates royalty information in which the token ID of token-x of the NFT701is associated with the royalty receiver of the address 0xabcd, and registers it in the royalty information management table741. Next, description ofFIG.8will be made.

InFIG.8, the creator wants to transfer the NFT701on the BC-Priv710onto the BC-Pub720. The client device201obtains the address 0xabcd on the BC-Priv710and the address 0x1234 on the BC-Pub720, which are to be associated, based on an operation input made by the creator. The client device201obtains the address 0x0000 on the linkage BC730owned by the creator based on the operation input made by the creator.

The client device201generates an association request800using the obtained address 0x0000 on the linkage BC730, and transmits it to the information processing device100. The association request800includes a sender field representing an address of a sender and a message field. The association request800includes the address 0x0000 on the linkage BC730in the sender field. The association request800includes, as an association target, the address 0xabcd on the BC-Priv710and the address 0x1234 on the BC-Pub720in the message field.

The information processing device100receives the association request800. In response to the association request800, the information processing device100obtains, as an address of the sender, the address 0x0000 on the linkage BC730set in the sender field. The information processing device100starts to monitor the Tx on the BC-Priv710and the Tx on the BC-Pub720in response to the association request800.

For example, the information processing device100obtains, based on the association request800, the address 0xabcd on the BC-Priv710and the address 0x1234 on the BC-Pub720set in the message field. For example, the information processing device100starts to monitor the Tx including the address 0xabcd in the sender field on the BC-Priv710based on the obtained address 0xabcd on the BC-Priv710. An address indicating an issuer is set in the sender field. For example, the information processing device100starts to monitor the Tx including the address 0x1234 in the sender field on the BC-Pub720based on the obtained address 0x1234 on the BC-Pub720. Next, description ofFIG.9will be made.

InFIG.9, the client device201transmits an issuance request to the BC-Priv710based on the address 0xabcd on the BC-Priv710obtained as the association target and the obtained address 0x0000 on the linkage BC730. The issuance request requests issuance of an association Tx in which the address 0xabcd on the BC-Priv710is set in the sender field and the address 0x0000 on the linkage BC730is set in the message field.

In response to the issuance request, the association preparation SC760issues an association Tx901in which the address 0xabcd on the BC-Priv710is set in the sender field and the address 0x0000 on the linkage BC730is set in the message field. The association preparation SC760registers the issued association Tx901in the distributed ledger managed by the BC-Priv710. Since the association Tx901includes the address 0x0000 on the linkage BC730, it may indicate that the Tx has been intentionally issued by the creator. Since the association Tx901includes the address 0xabcd on the BC-Priv710, it may be guaranteed that the address 0xabcd is the association target.

The client device201transmits an issuance request to the BC-Priv710based on the address 0x1234 on the BC-Pub720obtained as the association target and the obtained address 0x0000 on the linkage BC730. The issuance request requests issuance of an association Tx902in which the address 0x1234 on the BC-Pub720is set in the sender field and the address 0x0000 on the linkage BC730is set in the message field.

In response to the issuance request, the BC-Pub720issues the association Tx902in which the address 0x1234 on the BC-Pub720is set in the sender field and the address 0x0000 on the linkage BC730is set in the message field. The BC-Pub720registers the issued association Tx902in the distributed ledger managed by the BC-Pub720. Since the association Tx902includes the address 0x0000 on the linkage BC730, it may indicate that the Tx has been intentionally issued by the creator. Since the association Tx902includes the address 0x1234 on the BC-Pub720, it may be guaranteed that the address 0x1234 is the association target.

(9-1) The information processing device100detects the association Tx901including the address 0xabcd in the sender field on the BC-Priv710. The information processing device100obtains the address 0x0000 on the linkage BC730set in the message field of the detected association Tx901.

The information processing device100detects the association Tx902including the address 0x1234 in the sender field on the BC-Pub720. The information processing device100obtains the address 0x0000 on the linkage BC730set in the message field of the detected association Tx902.

The information processing device100determines whether or not the address on the linkage BC730obtained from the association Tx901, the address on the linkage BC730obtained from the association Tx902, and the address on the linkage BC730obtained from the association request800match. Here, when they match, the association Tx901and the association Tx902are the Tx issued by the creator who is the sender of the association request800. On the other hand, when they do not match, the association Tx901and the association Tx902may not be the Tx issued by the creator who is the sender of the association request800.

Thus, when they are determined to match, the information processing device100determines that the correspondence relationship is valid between the address 0xabcd on the BC-Priv710and the address 0x1234 on the BC-Pub720, which have been obtained as the association target. On the other hand, when they are determined not to match, the information processing device100determines that the correspondence relationship is not valid between the address 0xabcd on the BC-Priv710and the address 0x1234 on the BC-Pub720, which have been obtained as the association target.

Specifically, since they are determined to match in the example ofFIG.9, the information processing device100determines that the correspondence relationship is valid between the address 0xabcd on the BC-Priv710and the address 0x1234 on the BC-Pub720, which have been obtained as the association target. As a result, the information processing device100is enabled to ensure the validity of the association of the address 0xabcd on the BC-Priv710with the address 0x1234 on the BC-Pub720.

(9-2) Since it is determined that the correspondence relationship between the address 0xabcd on the BC-Priv710and the address 0x1234 on the BC-Pub720is valid, the information processing device100registers the correspondence relationship in the correspondence relationship registration SC731of the linkage BC730. For example, the information processing device100generates association information indicating that the address 0xabcd on the BC-Priv710corresponds to the address 0x1234 on the BC-Pub720in association with the address 0x0000 on the linkage BC730.

For example, the association information includes, as the association target, the address 0xabcd on the BC-Priv710and the address 0x1234 on the BC-Pub720in association with the address 0x0000 on the linkage BC730. For example, the information processing device100transmits the association information to the correspondence relationship registration SC731of the linkage BC730, and executes the correspondence relationship registration SC731. The correspondence relationship registration SC731registers the received association information in an association information management table910.

As illustrated inFIG.9, the association information management table910includes fields of an account and a relation address. In the association information management table910, association information is stored as a record by setting information in each field for each address on the linkage BC730.

In the field of the account, an address on the linkage BC730is set. In the field of the relation address, a pair of two addresses on BCs different from each other associated with the address on the linkage BC730described above is set. Examples of the pair include an address on the BC-Priv710and an address on the BC-Pub720.

As a result, the information processing device100is enabled to allow the third party to check the association information, and is enabled to ensure the evidence for the association of the address on the BC-Priv710with the address on the BC-Pub720. Here, since it is not possible for an attacker to issue the association Tx901and the association Tx902, the information processing device100is enabled to avoid erroneous association of two addresses on BCs different from each other due to an attack by the attacker. Next, description ofFIG.10will be made.

InFIG.10, (10-1) the client device201generates a transfer request for requesting transfer of the NFT701on the BC-Priv710with the token ID of token-x to the BC-Pub720based on an operation input made by the creator. The client device201transmits the generated transfer request to the information processing device100. The transfer request includes, for example, the token ID of token-x. The transfer request includes, for example, information for identifying the BC-Priv710as a transfer source and information for identifying the BC-Pub720as a transfer destination.

(10-2) The information processing device100receives the transfer request from the client device201. The information processing device100obtains the token ID of token-x based on the transfer request. The information processing device100identifies the BC-Priv710as the transfer source and the BC-Pub720as the transfer destination based on the transfer request. The information processing device100obtains the royalty information corresponding to the obtained token ID of token-x from the identified BC-Priv710as the transfer source.

The information processing device100obtains the address 0xabcd on the BC-Priv710representing the payee of the royalty for the NFT701based on the field of the royalty receiver of the obtained royalty information. The information processing device100may obtain a calculation formula for calculating the royalty based on the obtained royalty information.

(10-3) The information processing device100inquires of the correspondence relationship registration SC731about the association information including the address 0xabcd using the obtained address 0xabcd on the BC-Priv710as a key. The information processing device100obtains, from the correspondence relationship registration SC731, the association information indicating that the address 0xabcd on the BC-Priv710corresponds to the address 0x1234 on the BC-Pub720. The information processing device100determines the address 0x1234 on the BC-Pub720as a new payee of the royalty based on the obtained association information. Next, description ofFIG.11will be made.

InFIG.11, (11-1) The information processing device100controls the BC-Priv710to burn the NFT701on the BC-Priv710with the token ID of token-x. For example, the information processing device100transmits, to the BC-Priv710, a burn instruction for requesting burning of the NFT701on the BC-Priv710with the token ID of token-x. The BC-Priv710burns the NFT701with the token ID of token-x according to the burn instruction.

(11-2) The information processing device100controls the BC-Pub720to generate an NFT1100having the same contents as the NFT701on the BC-Priv710with the token ID of token-x. For example, the information processing device100transmits, to the BC-Pub720, a mint instruction for requesting generation of the NFT1100. The BC-Pub720generates the NFT1100according to the mint instruction. The BC-Pub720transmits the token ID of token-x of the NFT1100to the information processing device100. While the token ID of the NFT701and the token ID of the NFT1100are assumed to be the same for convenience here, it is not limited to this. For example, the token ID of the NFT701and the token ID of the NFT1100may be different.

(11-3) The information processing device100receives the token ID of token-x of the NFT1100. The information processing device100transmits, to the BC-Pub720, a registration request for requesting registration of the address 0x1234 on the BC-Pub720determined as the new payee of the royalty and the received token ID of token-x of the NFT1100in association with each other. The registration request includes the address 0x1234 on the BC-Pub720, which represents the payee of the royalty, and the token ID of token-x of the NFT1100. The registration request may include, for example, the calculation formula for calculating the royalty obtained by the information processing device100.

The royalty management SC750in the BC-Pub720receives the registration request from the information processing device100. The royalty management SC750sets, based on the registration request, the address 0x1234 on the BC-Pub720as the royalty receiver, which is the payee of the royalty for the NFT1100. The royalty management SC740generates royalty information in which the token ID of token-x of the NFT1100is associated with the royalty receiver of the address 0x1234, and registers it in the royalty information management table751. The royalty management SC740may include a calculation formula for calculating the royalty in the royalty information.

As a result, the information processing device100is enabled to substantially transfer the NFT701on the BC-Priv710to the BC-Pub720. The information processing device100is enabled to substantially transfer the royalty information corresponding to the NFT701on the BC-Priv710to the NFT1100on the BC-Pub720.

Association Processing Procedure

Next, an exemplary association processing procedure to be executed by the information processing device100will be described with reference toFIG.12. The association process is implemented by, for example, the CPU301, a storage area such as the memory302or the recording medium305, and the network I/F303illustrated inFIG.3.

FIG.12is a flowchart illustrating the exemplary association processing procedure. InFIG.12, the information processing device100receives, from the client device201, an association request for requesting association of the first address on the first BC210with the second address on the second BC220(step S1201). The association request includes, for example, an identifier of the first BC210, the first address on the first BC210, an identifier of the second BC220, and the second address on the second BC220. In response to the reception of the association request, the information processing device100identifies the first BC210and the second BC220, and starts to monitor the Tx on the first BC210and the Tx on the second BC220(step S1202).

The information processing device100determines whether or not both the first Tx on the first BC210including the first address and the second Tx on the second BC220including the second address have been detected within a certain period of time from the start of the monitoring (step S1203). Here, if both the first Tx and the second Tx are detected (Yes in step S1203), the information processing device100proceeds to processing of step S1204. On the other hand, if at least one of the first Tx or the second Tx is not detected (No in step S1203), the information processing device100terminates the association process.

In step S1204, the information processing device100determines whether or not a value of the message in the first Tx matches a value of the message in the second Tx (step S1204). Here, if they do not match (No in step S1204), the information processing device100terminates the association process. On the other hand, if they match (Yes in step S1204), the information processing device100proceeds to processing of step S1205.

In step S1205, the information processing device100registers a correspondence relationship between the first address and the second address in the third BC230(step S1205). Then, the information processing device100terminates the association process. As a result, the information processing device100is enabled to associate the first address with the second address. The information processing device100is enabled to ensure the validity of the correspondence relationship between the first address and the second address.

Transfer Processing Procedure

Next, an exemplary transfer processing procedure to be executed by the information processing device100will be described with reference toFIG.13. The transfer process is implemented by, for example, the CPU301, a storage area such as the memory302or the recording medium305, and the network I/F303illustrated inFIG.3.

FIG.13is a flowchart illustrating the exemplary transfer processing procedure. InFIG.13, the information processing device100receives a transfer request for requesting transfer of the NFT on the first BC210onto the second BC220(step S1301). The transfer request includes, for example, an identifier of the first BC210as a transfer source, an identifier of the NFT on the first BC210, and an identifier of the second BC220as a transfer destination.

The information processing device100refers to the first BC210, and identifies the first address to which the royalty for the NFT on the first BC210is paid (step S1302). The information processing device100refers to the third BC230, and identifies the second address on the second BC220corresponding to the first address (step S1303). The information processing device100burns the NFT on the first BC210as the transfer source (step S1304). The information processing device100generates an NFT on the second BC220as the transfer destination (step S1305).

The information processing device100generates royalty information indicating the identified second address as a payee of the royalty for the NFT on the first BC210, and registers it on the second BC220(step S1306). The information processing device100terminates the transfer process. As a result, the information processing device100is enabled to appropriately transfer the NFT.

Here, the information processing device100may swap some steps in the processing order in each of the flowcharts ofFIGS.12and13and execute the process. For example, steps S1302and S1303may be switched in the processing order. Furthermore, the information processing device100may omit the processing in some steps in each of the flowcharts ofFIGS.12and13.

As described above, according to the information processing device100, it becomes possible to obtain a first request that includes the first address on the first BC210and the second address on the second BC220and requests association of the first address with the second address. According to the information processing device100, it becomes possible to detect the first Tx including the first address and the third address on the third BC230issued by the first BC210in response to the request by the user having the first address based on the first address included in the first request. According to the information processing device100, it becomes possible to detect the second Tx including the second address and the fourth address on the third BC230issued by the second BC220in response to the request by the user having the second address based on the second address included in the first request. According to the information processing device100, it becomes possible to determine to associate the first address with the second address when the third address and the fourth address match based on the detected first Tx and the detected second Tx. According to the information processing device100, it becomes possible to determine not to associate the first address with the second address when the third address and the fourth address do not match. As a result, the information processing device100is enabled to appropriately determine whether or not to associate the first address with the second address, and to easily ensure the validity of the correspondence relationship between the first address and the second address.

According to the information processing device100, it becomes possible to register a result of associating the first address with the second address in the third BC230when the first address and the second address are determined to be associated. As a result, the information processing device100is enabled to leave a trail regarding the association of the first address with the second address.

According to the information processing device100, it becomes possible to obtain a second request for requesting transfer of the token on the first BC210associated with the first address onto the second BC220. According to the information processing device100, it becomes possible to burn the token on the first BC210and generate the token on the second BC220in response to the acquisition of the second request when the first address and the second address are determined to be associated. According to the information processing device100, it becomes possible to associate the second address with the generated token. As a result, the information processing device100is enabled to associate an appropriate address with the generated token.

According to the information processing device100, it becomes possible to associate the second address with the generated token as a payee of the royalty for the token on the second BC220. As a result, the information processing device100is enabled to appropriately set the payee of the royalty in the generated token.

According to the information processing device100, it becomes possible to determine not to associate the first address with the second address when the third address and the fourth address are not valid addresses on the third BC230. As a result, the information processing device100is enabled to easily ensure the validity of the association of the first address with the second address.

According to the information processing device100, it becomes possible to determine not to associate the first address with the second address in a case where at least one of the detected first Tx or the detected second Tx has not been issued during a period from the current point in time to a point in time a predetermined time before. As a result, the information processing device100is enabled to easily ensure the validity of the association of the first address with the second address.

According to the information processing device100, it becomes possible to determine not to associate the first address with the second address in a case where at least one of the first Tx or the second Tx is not detected within a certain period of time after the acquisition of the first request. As a result, the information processing device100is enabled to easily ensure the validity of the association of the first address with the second address.

According to the information processing device100, it may be applied to a case where the first BC210is a BC different from the second BC220. As a result, the information processing device100is enabled to associate the first address and the second address on BCs different from each other.

According to the information processing device100, it becomes possible to detect the first Tx including the first address as an address representing the authenticated issuer. According to the information processing device100, it becomes possible to detect the second Tx including the second address as an address representing the authenticated issuer. As a result, the information processing device100is enabled to easily ensure the validity of the first address and the second address as the target of the association.

Note that the information processing method described in the present embodiment may be implemented by a computer such as a PC or a workstation executing a program prepared in advance. The information processing program described in the present embodiment is executed by being recorded in a computer-readable recording medium and being read from the recording medium by the computer. The recording medium is a hard disk, a flexible disk, a compact disc (CD)-ROM, a magneto optical disc (MO), a digital versatile disc (DVD), or the like. Furthermore, the information processing program described in the present embodiment may be distributed via a network such as the Internet.