Information processing system and information processing method
The ring network architecture with non-fungible tokens facilitates secure and synchronized data sharing across distributed networks, addressing interoperability and security challenges in centralized information management systems.
Patent Information
- Application Number
- JP2023065706
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-04-13
- Publication Date
- 2025-01-30
- Estimated Expiration
- 2043-04-13
AI Technical Summary
Centralized information management systems face risks of large-scale information leakage and functional disruptions, and distributed networks within these systems often operate in silos, posing challenges in interoperability and security when sharing user information across networks.
A ring network architecture connecting multiple distributed networks through a distributed ledger system, utilizing non-fungible tokens to specify wallet transitions and verify information sharing, ensuring secure and synchronized data exchange across networks.
This approach enhances interoperability among distributed networks while reducing security risks by ensuring secure and synchronized data sharing, leveraging blockchain technology for secure transactions and verification processes.
Smart Images

Figure 0007624472000001 
Figure 0007624472000002 
Figure 0007624472000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to an information processing system, a user terminal, an information processing method, and a program. [Background technology]
[0002] A centralized information management system has risks such as large-scale information leakage, function interruption due to failure of the core system, etc. As a technology to avoid such risks, a technology to manage information in a decentralized manner using a distributed network is known (for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Special Publication No. 2020-507143 Summary of the Invention [Problem to be solved by the invention]
[0004] If a distributed network is simply applied to each existing information management system, the distributed network of each information management system will become siloed. Therefore, in order to improve user convenience, it is desirable to link distributed networks together and improve interoperability between each network. However, for example, sharing information about users between each network and increasing opportunities to exchange information about users between each network for the purpose of linking networks together or using linked networks poses a risk in terms of information leakage. Therefore, a technology that can appropriately link distributed networks together while reducing security risks has been desired. [Means for solving the problem]
[0005] The present disclosure can be realized in the following forms. According to one embodiment of the present disclosure, an information processing system is provided. The information processing system includes a ring network in which three or more distributed networks including a first distributed network and a second distributed network are connected in a ring shape, and a user terminal used by a user and having a user terminal control unit. Each of the distributed networks has a plurality of nodes having a control unit, and each of the nodes shares a distributed ledger having a wallet that stores a URI of individual information, which is information for each of the distributed networks related to the user, and common information, which is information for the user different from the individual information and is commonly managed among the three or more distributed networks, and the wallet stores next designation information, which designates a next wallet corresponding to the wallet of the next distributed network in the normal order, as a token having non-fungibility. When a predetermined desired process is requested to be executed by the user terminal control unit, the first control unit, which is the control unit of the node of the first distributed network, executes the desired process after completing a verification process that verifies that the designation of the next wallet by the next designation information in the ring network is completed in the normal order and that each of the common information in each of the wallets owned by each of the nodes matches each other. The verification process is started by the first control unit specifying a second wallet, which is the wallet of the second distributed network, using the next specification information stored in a first wallet, which is the wallet of the first distributed network. The desired process is a process of updating the common information in the first wallet and synchronizing the update of the common information among the three or more distributed networks.
[0006] (1) According to one embodiment of the present disclosure, an information processing system is provided. The information processing system includes a ring network in which three or more distributed networks, including a first distributed network and a second distributed network, are connected in a ring shape, and a user terminal used by a user and having a user terminal control unit. Each of the distributed networks has a plurality of nodes having a control unit, and each of the nodes shares a distributed ledger having a wallet that stores the URI of individual information, which is information for each of the distributed networks related to the user. In the wallet, next designation information that designates a next wallet corresponding to the wallet of the next distributed network in the correct order is stored as a non-fungible token. When execution of a predetermined desired process is requested by the user terminal control unit, the first control unit, which is the control unit of the node of the first distributed network, executes the desired process after completing a verification process that verifies that the designation of the next wallet by the next designation information in the ring network goes around in the correct order. The verification process is initiated by the first control unit designating a second wallet, which is the wallet of the second distributed network, using the next designation information stored in a first wallet, which is the wallet of the first distributed network. According to this embodiment, each distributed network is linked by the next designation information stored as a non-fungible token in each wallet storing the URI of the individual information related to the user. In addition, the node of each distributed network can verify that each distributed network is linked for the user by verifying that the designation of the next wallet using the next designation information in the ring network goes around in the correct order. Therefore, when linking each distributed network or verifying the linkage of each distributed network, it is not necessary to share individual information between each distributed network or to exchange individual information between each distributed network. Then, the desired processing can be executed after the linkage of each distributed network is verified. Therefore, the distributed networks can be linked appropriately while reducing security risks. (2) In the above embodiment, the distributed ledger may be configured by a blockchain, and the storage of the URI of the individual information in the wallet and the storage of the next designated information may be realized by a transaction stored in a block added to the distributed ledger. According to this embodiment, each distributed network can be configured as a blockchain network. Therefore, the risk of centralized information management can be further reduced. (3) In the above embodiment, the next designation information may include a first identifier representing the next distributed network in the forward order and a second identifier unique in the distributed ledger of the next distributed network in the forward order, the next wallet may be represented by a combination of the first identifier and the second identifier, and the first control unit may designate the second wallet by transmitting the second identifier included in the next designation information stored in the first wallet to the node of the second distributed network. According to this embodiment, the cooperation of each distributed network can be easily verified by exchanging the second identifier between each distributed network. (4) In the above embodiment, the wallet may not store information specifying a previous wallet corresponding to the wallet of the next distributed network in reverse order. According to this embodiment, since information specifying a previous wallet is not stored in the wallet, security risks can be further reduced.
[0007] The present disclosure may be realized in various forms other than an information processing system, such as a user terminal, an information processing method, a distributed network system, or a non-transitory tangible recording medium on which a computer program is recorded. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is an explanatory diagram illustrating an information processing system according to a first embodiment. [Diagram 2] FIG. 1 is a diagram illustrating a first distributed ledger. [Diagram 3] FIG. 1 is a diagram illustrating a second distributed ledger. [Figure 4] FIG. 13 is a diagram illustrating the third distributed ledger. [Diagram 5] FIG. 11 is an explanatory diagram showing a pre-registration process. [Figure 6] FIG. 11 is a first explanatory diagram showing a first cooperation process included in the cooperation process. [Figure 7] FIG. 11 is a first explanatory diagram showing a second cooperation process included in the cooperation process. [Figure 8] FIG. 11 is a second explanatory diagram showing the second cooperation process. [Figure 9] FIG. 2 is a second diagram illustrating information processing. [Figure 10] FIG. 2 is a second diagram illustrating information processing. [Figure 11] FIG. 3 is a third diagram illustrating information processing. [Figure 12] FIG. 11 is an explanatory diagram illustrating an information processing system according to a second embodiment. [Figure 13] FIG. 13 is a first explanatory diagram showing the cooperative processing executed in the third embodiment. [Figure 14] FIG. 13 is a second explanatory diagram showing the cooperative processing executed in the third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] A. First embodiment: 1 is an explanatory diagram showing an information processing system 20 in this embodiment. The information processing system 20 includes a user terminal 400 and N (N is an integer equal to or greater than 3) distributed network systems 100. In this embodiment, N=3, and the information processing system 20 includes three distributed network systems 100, namely, a network system 100A, a network system 100B, and a network system 100C. Each network system and each network system and the user terminal 400 are configured to be able to communicate with each other via the Internet INT.
[0010] Each distributed network system 100 includes a distributed network 101 configured with a plurality of nodes 110. In each distributed network 101, the nodes 110 are connected to each other via P2P (Peer to Peer).
[0011] The N distributed networks 101 form a ring network 30 in which each distributed network 101 is connected in a ring shape. When an arbitrary distributed network 101 is a K-th distributed network (K is a natural number equal to or less than N) in the forward order PD, the next distributed network 101 after the first distributed network in the forward order PD is the second distributed network. In addition, the next distributed network 101 after the first distributed network in the reverse order ND is the N-th distributed network, that is, the third distributed network in this embodiment. In the following, unless otherwise specified, each distributed network 101 possessed by the network systems 100A, 100B, and 100C will be described as the first distributed network 101A, the second distributed network 101B, and the third distributed network 101C, respectively. Moreover, each node 110 constituting the first distributed network 101A, the second distributed network 101B, and the third distributed network 101C is also called the first node 110A, the second node 110B, and the third node 110C, respectively. Moreover, each node 110 constituting the K-th distributed network is also called the K-th node.
[0012] In this embodiment, each distributed network system 100 is configured as a financial service system that commonly manages financial assets owned by a user using a user terminal 400 among the distributed network systems 100. Each distributed network system 100 can execute a deposit process for receiving financial assets and a withdrawal process for paying out financial assets in response to an instruction from a user. In this embodiment, when a deposit process or a remittance process is executed by one distributed network system 100, the result of the change in the balance of the financial assets due to the process is synchronized with the other distributed network systems 100.
[0013] In the distributed network 101, each node 110 shares a distributed ledger DL. In this embodiment, the distributed ledger DL is configured by a blockchain. As a result, the distributed network 101 is configured as a blockchain network. The blockchain that configures the distributed ledger DL may be, for example, a public type or a private type. In addition, for example, some of the multiple nodes that configure the blockchain network may not be full nodes, and may be lightweight nodes.
[0014] Each distributed ledger DL has a wallet W that stores the URI of individual information. The individual information is information for each distributed network 101 regarding a user who uses a user terminal 400. In this embodiment, the wallet W also stores balance information of financial assets that are managed in common among the distributed network systems 100.
[0015] Each node 110 includes a control unit 111. The control unit 111 of the node 110 is configured by a computer including a CPU, a storage unit, and an input / output interface for inputting and outputting signals from and to the outside. The storage unit included in the control unit 111 stores the distributed ledger DL described above. In addition, the CPU included in the control unit 111 executes a program stored in the storage unit, thereby causing the control unit 111 to realize various functions, such as a function for executing transactions in the distributed ledger DL and a function for executing a verification process described below.
[0016] Specifically, each first node 110A shares a first distributed ledger DL1. The first node 110A includes a first control unit 111A configured by a computer having a CPU, a storage unit, and an input / output interface. The storage unit included in the first control unit 111A stores the first distributed ledger DL1. The CPU included in the first control unit 111A executes a program stored in the storage unit to cause the first control unit 111A to realize various functions, such as a function of executing a transaction in the first distributed ledger DL1 and a function of executing a verification process described later. The first control unit 111A is configured to be able to access the first information inf1, which is individual information. In this embodiment, the first information inf1 is an administration ID for a user to use the network system 100A, and is stored in a first database 190A accessible from the first distributed network 101A.
[0017] Each second node 110B shares the second distributed ledger DL2. The second control unit 111B of the second node 110B is configured by a computer, similar to the first control unit 111A. The storage unit included in the second control unit 111B stores the second distributed ledger DL2. In addition, the CPU included in the second control unit 111B executes a program stored in the storage unit to cause the second control unit 111B to realize various functions. The second control unit 111B is configured to be able to access the second information inf2, which is individual information. In this embodiment, the second information inf2 is an administration ID for a user to use the network system 100B, and is stored in the second database 190B accessible from the second distributed network 101B.
[0018] Each third node 110C shares the third distributed ledger DL3. The third control unit 111C of the third node 110C is configured by a computer, similar to the first control unit 111A. The storage unit included in the third control unit 111C stores the third distributed ledger DL3. In addition, the CPU included in the third control unit 111C executes a program stored in the storage unit to cause the third control unit 111C to realize various functions. The third control unit 111C is configured to be able to access the third information inf3, which is individual information. In this embodiment, the third information inf3 is an administration ID for a user to use the network system 100C, and is stored in a third database 190C accessible from the third distributed network 101C.
[0019] The user terminal 400 is used by a user. The user terminal 400 includes a user terminal control unit 401 and a display unit 410. The user terminal control unit 401 is configured by a computer similar to the first control unit 111A, and includes a CPU, a storage unit 403, and an input / output interface. The CPU included in the user terminal 400 executes a program 404 stored in the storage unit 403, thereby causing the user terminal control unit 401 to realize various functions including a function for executing a request for a desired process, which will be described later. The program 404 may be, for example, a dedicated application program usable by the user terminal control unit 401, or a function extension program for extending the function of a general-purpose application (for example, a web browser) usable by the user terminal control unit 401. The display unit 410 is configured as a touch-operable liquid crystal display, and also serves as an input unit and an operation unit.
[0020] FIG. 2 is a diagram illustrating the first distributed ledger DL1. The first distributed ledger DL1 has a first wallet W1 as a wallet W. The first wallet W1 is specified in the first distributed ledger DL1 by a first wallet address WA1 that is unique in the first distributed ledger DL1. In this embodiment, the first wallet W1 is configured to be able to store each data for each hierarchical level in the first wallet W1. For example, URI (Uniform Resource Identifier) data, specific information data, public key data, signature data, etc. can be stored in each hierarchical level in the first wallet W1. For example, the URI of the first information inf1 is stored as the URI data directly under the first wallet W1, and the first public key OK1 is stored as the public key data. The first specific information sp1 is stored as the specific information data in the hierarchical level IDa1 in the first wallet W1.
[0021] The first designation information sp1 corresponds to the next designation information. The next designation information is designation information that designates the next wallet. The next wallet is a wallet that corresponds to the wallet W of the next distributed network 101 in the normal order PD. The designation information refers to information that designates the wallet W of another distributed network 101. Such designation information is stored as a token having non-fungibility. More specifically, the first designation information sp1 is information that designates the second wallet W2 of the second distributed ledger DL2 in the second distributed network 101B, and is stored as a first non-fungible token T1 that is a token having non-fungibility. Note that a token having non-fungibility is a unique token that cannot be replaced, unlike a fungible token such as a so-called crypto asset (also called a virtual currency). In this embodiment, the designation information is stored as an NFT (non-fungible token) that complies with a token standard such as ERC-721, ERC-1155, or ERC-4907. In the following, the wallet corresponding to the wallet W of the next distributed network 101 in the reverse order ND in the ring network 30 is also referred to as the previous wallet.
[0022] FIG. 2 shows transaction data TD1 representing a transaction executed in the first distributed ledger DL1. In this embodiment, the storage of information in the first wallet W1 described above is realized by executing a transaction in the first distributed ledger DL1. Each transaction included in the transaction data TD1 is stored in a block added to the first distributed ledger DL1 configured by a blockchain. Note that in FIG. 2, each data in the first wallet W1 is shown separately from the transaction data TD1 to facilitate understanding of the technology, but each data in the first wallet W1 in this embodiment is actually realized by the transaction data TD1.
[0023] In each transaction included in the transaction data TD1, storage destination information indicating the storage destination of the information by the transaction, and stored data information indicating the data stored in the storage destination and the attributes of the data are described. The storage destination information is configured to be able to describe information further specifying a hierarchical level in the storage destination wallet W in addition to a wallet address specifying the storage destination wallet W. The stored data information is expressed in the format of "attribute:data" in FIG. 2. For example, in transaction TX11, a first wallet address WA1 specifying the first wallet W1 and a hierarchical ID a1 of the first wallet W1 are described as storage destination information, and first designation information sp1, which is designation information data, is described as data information. By executing transaction TX11, the first designation information sp1 is stored as designation information data in the first wallet W1 specified by the first wallet address WA1. Note that information specifying a hierarchical level of the storage destination is not described in transaction TX12. In this embodiment, when a transaction in which a hierarchical level of the storage destination is not described is executed, the data described in the data information of the transaction is stored directly under the wallet W specified by the wallet address.
[0024] FIG. 3 is a diagram illustrating the second distributed ledger DL2. The second distributed ledger DL2 has a second wallet W2 as a wallet W. The second wallet W2 is specified in the second distributed ledger DL2 by a second wallet address WA2 that is unique in the second distributed ledger DL2. In this embodiment, the second wallet W2 is configured to be able to store each data for each hierarchical level in the second wallet W2, similar to the first wallet W1. For example, the hierarchical level IDb1 in the second wallet W2 stores second designation information sp2 corresponding to the next designation information as designation information data. The second designation information sp2 is information that designates the third wallet W3, and is stored in the second wallet W2 as a second non-fungible token T2 that is a token having non-fungibility.
[0025] 3 shows transaction data TD2 representing a transaction executed in the second distributed ledger DL2. Storage of information in the second wallet W2 is realized by executing a transaction in the second distributed ledger DL2. Each transaction included in the transaction data TD2 is stored in a block added to the second distributed ledger DL2. In this embodiment, each data in the second wallet W2 is realized by the transaction data TD2, similar to the first wallet W1. Each transaction included in the transaction data TD2 describes storage destination information and stored data information, similar to the transaction data TD1.
[0026] FIG. 4 is a diagram illustrating the third distributed ledger DL3. The third distributed ledger DL3 has a third wallet W3 as a wallet W. The third wallet W3 is specified in the third distributed ledger DL3 by a third wallet address WA3 that is unique in the third distributed ledger DL3. In this embodiment, the third wallet W3 is configured to be able to store each data for each hierarchy in the third wallet W3, similar to the first wallet W1. For example, the hierarchy IDc1 in the third wallet W3 stores third designation information sp3 corresponding to the next designation information as designation information data. The third designation information sp3 is information that designates the first wallet W1, and is stored in the third wallet W3 as a third non-fungible token T3 that is a token having non-fungibility. In this way, the Nth wallet of the Nth distributed network stores designation information that designates the first wallet W1 of the first distributed network 101A as the next designation information. FIG. 3 also shows transaction data TD3 that represents a transaction executed in the third distributed ledger DL3. Storing information in the third wallet W3 is achieved by executing a transaction in the third distributed ledger DL3, in much the same way as in the first wallet W1 and the second wallet W2.
[0027] In this embodiment, each piece of designation information is represented by a multi-layer registration type data structure. More specifically, the designation information includes a first identifier representing the distributed network 101 corresponding to the designated wallet W and a second identifier unique in the distributed ledger DL of the distributed network 101. The designation information uniquely represents the wallet W by a combination of these two identifiers. That is, the above-mentioned next designation information includes a first identifier representing the next distributed network 101 in the forward order PD and a second identifier unique in the distributed ledger DL of the distributed network 101, and the combination of these two identifiers uniquely represents the next wallet. Specifically, for example, the first designation information sp1 includes a first identifier representing the second distributed network 101B and a second identifier unique in the second distributed ledger DL2. The first designation information sp1 designates the second wallet W2 by a combination of the first identifier and the second identifier. In FIG. 2, the first designation information sp1 is represented in the format of "first identifier: second identifier". In this embodiment, the first identifier is the URN (Uniform Resource Name) of the second distributed network 101B, and is represented as "NT2" in FIG. 2. The second identifier is the second wallet address WA2. Similarly, the second designation information sp2 shown in FIG. 3 includes the URI of the third distributed network 101C and the third wallet address WA3. Specifically, in FIG. 3, the second designation information sp2 is represented by "NT3" representing the URI of the third distributed network 101C and the third wallet address WA3. Also, the third designation information sp3 shown in FIG. 4 includes the URI of the first distributed network 101A and the first wallet address WA1. Specifically, in FIG. 4, the third designation information sp3 is represented by "NT1" representing the URI of the first distributed network 101A and the first wallet address WA1.
[0028] FIG. 5 is an explanatory diagram showing the pre-registration process. FIG. 6 is a first explanatory diagram showing the first linkage process included in the linkage process. FIG. 7 is a first explanatory diagram showing the second linkage process included in the linkage process. FIG. 8 is a second explanatory diagram showing the second linkage process. The linkage process refers to a process of storing the next designation information in each wallet W of each distributed network 101. By executing the linkage process, each distributed network 101 forming the ring network 30 becomes in a linked state in which they are linked for the user. The first linkage process is executed to store the second designation information sp2 in the second wallet W2. The second linkage process is executed to store the first designation information sp1 in the first wallet W1 and to store the third designation information sp3 in the third wallet W3. In addition, the pre-registration process is executed to store the third information inf3 in the third wallet W3 prior to the linkage process.
[0029] The pre-registration process shown in Fig. 5 is executed, for example, when a predetermined start operation is performed by the user in the user terminal 400 prior to the linking process. In step S102, the user terminal control unit 401 executes a pre-registration request to the third node 110C. In step S102 in this embodiment, the user terminal control unit 401 transmits to the third node 110C a predetermined request message and identification information for the third node 110C to identify the third information inf3 on the third database 190C. This identification information may be stored, for example, in an IC card or the like so as to be readable by the user terminal 400.
[0030] When a pre-registration request is executed, the third control unit 111C executes user authentication using local authentication and public key authentication in steps S104 to S112. More specifically, the third control unit 111C authenticates the user by FIDO (Fast IDentity Online) authentication in steps S104 to S112. In step S104, the third control unit 111C returns a challenge code cc1 to the user terminal 400.
[0031] In step S106, the user terminal control unit 401 that has received the challenge code cc1 executes local authentication of the user. As the local authentication, face authentication using a camera provided in the user terminal 400, biometric authentication such as fingerprint authentication using a fingerprint reader, authentication using a PIN (Personal Identification Number), pattern authentication, etc. can be used. If the local authentication fails, the user terminal control unit 401 executes a predetermined error process. In this case, the user terminal control unit 401 may notify the user of the error via, for example, the display unit 410 or a speaker, and may execute the local authentication again, or may end the pre-registration process when the local authentication fails a predetermined number of times. If the local authentication is successful, in step S108, the user terminal control unit 401 generates a third secret key PK3 and a third public key OK3 of the third secret key PK13 pair. For example, RSA encryption or elliptic curve encryption is used to generate the third secret key PK3 and the third public key OK3.
[0032] In step S110, the user terminal control unit 401 digitally signs the challenge code cc1 using the third private key PK3. The challenge code cc1 signed using the third private key PK3 is also called the signed code cc1s. The user terminal control unit 401 then returns the signed code cc1s and the third public key OK3 to the third node 110C.
[0033] In step S112, the third control unit 111C verifies the signature of the signed code cc1s using the third public key OK3. If the signature verification fails, the third control unit 111C executes a predetermined error process. In this case, the third control unit 111C notifies the user terminal 400 of the error, for example. If the signature verification is successful, in step S114, the third control unit 111C executes a transaction in the third distributed ledger DL3 to store the URI of the third information inf3 and the third public key OK3 in the third wallet W3 specified by the third wallet address WA3. The third wallet address WA3 is irreversibly generated from the third public key OK3 prior to step S116. Therefore, the third wallet address WA3 is paired with the third private key PK3, similar to the third public key OK3.
[0034] More specifically, in step S116 in this embodiment, the transaction TX31 shown in FIG. 4 is executed. In the transaction TX31, the third wallet address WA3 is described as the storage destination information, and the URI of the third information inf3, which is URI data, and the third public key OK3, which is public key data, are described as the storage data information. The URI of the third information inf3 is obtained from the third database 190C by the third control unit 111C, for example, based on the identification information received in step S104. "Executing a transaction in the distributed ledger DL" refers to generating a transaction by the node 110 having the distributed ledger DL and propagating the transaction to other nodes 110 that share the distributed ledger DL. This updates the distributed ledger DL. More specifically, in this embodiment, the transaction generated in the distributed ledger DL configured by the blockchain is propagated to each node 110 that shares the distributed ledger DL and verified. If the verification is successful, the transaction is stored in a block that is added to the distributed ledger DL. Examples of blockchain consensus algorithms include PoW (Proof of Work), PoS (Proof of Stake), and PoI (Proof of Importance).
[0035] In step S116, the third control unit 111C returns the third wallet address WA3 to the user terminal 400. In step S118, the user terminal control unit 401 stores the third wallet address WA3 and the third private key PK3 in the memory unit 403. After step S118, the user terminal control unit 401 also uses the third wallet address WA3 as a path indicating the location of data in the memory unit 403.
[0036] The first association process shown in Fig. 6 is executed when, for example, a predetermined start operation is performed by the user on the user terminal 400 after the pre-registration process is completed. In step S202, the user terminal control unit 401 executes a first association request to the second node 110B. In step S202, the user terminal control unit 401 transmits a predetermined request message and the third wallet address WA3 to the second node 110B. When the first association request is executed, the second control unit 111B returns a challenge code cc2 to the user terminal 400 in step S204.
[0037] The user terminal control unit 401 that has received the challenge code cc2 generates the second information inf2 in step S206. The second information inf2 is generated based on, for example, the user's email address. Next, in step S208, the user terminal control unit 401 generates the second secret key PK2 and the second public key OK2 that pairs with the second secret key PK2 in a manner similar to that of step S108 in FIG. 4. In step S208, for example, prior to the generation of the signed code cc2s, local authentication of the user may be performed in the same manner as in step S106 in FIG. 5. In step S209, the user terminal control unit 401 digitally signs the challenge code cc2 using the third secret key PK3. The challenge code cc2 that has been signed using the third secret key PK3 is also called the signed code cc2s. In step S210 of FIG. 6, the user terminal control unit 401 returns the third wallet address WA3, the second information inf2, the signed code cc2s, and the second public key OK2 to the second node 110B.
[0038] In step S212, the second control unit 111B requests the third node 110C to verify the signed code cc2s. In step S212, the second control unit 111B requests verification of the signature of the signed code cc2s by transmitting the signed code cc2s, the challenge code cc2, the newly generated challenge code cc3, and the second wallet address WA2 to the first node 110A with the third wallet address WA3 as a header. The second wallet address WA2 is, for example, irreversibly generated from the second public key OK2 in step S212 in substantially the same manner as the third wallet address WA3.
[0039] In step S214, the third control unit 111C of the third node 110C to which verification of the signed code cc2s is requested verifies the signature of the signed code cc2s using the third public key OK3, similarly to step S112 of FIG. 5. If the signature verification is successful, in step S216, the third control unit 111C executes a transaction in the third distributed ledger DL3 to store, as the specified information data, the specified information spb that specifies the second wallet W2 in the hierarchical IDc1 of the third wallet W3. That is, the specified information spb is specified information that specifies the previous wallet. The specified information spb is stored as a token Tb having non-fungibility. In step S216 in this embodiment, the transaction TX32 shown in FIG. 3 is executed. In the transaction TX32, the third wallet address WA3 and the hierarchical IDc1 are described as the storage destination information, and the specified information spb is described as the storage data information.
[0040] In step S218, the third control unit 111C transmits the challenge code cc31 to the user terminal 400 with the third wallet address WA3 as a header. The third control unit 111C also digitally signs the challenge code cc32 corresponding to the challenge code cc31 using a private key prepared in advance, and returns the third wallet address WA3, the signed code cc32s which is the signed challenge code cc32, and the challenge code cc32 to the second node 110B. In this embodiment, the challenge code cc31 and the challenge code cc32 are the same code.
[0041] In step S220, the second control unit 111B verifies the signature of the signed code cc32s returned from the third node 110C using a public key corresponding to the private key used to sign the challenge code cc32, similarly to step S112 in FIG. 5. This public key is acquired in advance from the third node 110C by, for example, the second control unit 111B. If the signature verification is successful, in step S222, the second control unit 111B executes a transaction in the second distributed ledger DL2 to store the second designation information sp2 as the designation information data in the hierarchical IDc1 of the second wallet W2. The second designation information sp2 is stored as the second non-fungible token T2. In step S222 in this embodiment, the transaction TX21 shown in FIG. 3 is executed. In the transaction TX21, the second wallet address WA2 and the hierarchical IDb1 are described as the storage destination information, and the second designation information sp2 is described as the storage data information.
[0042] In step S224, the user terminal control unit 401, which has received the challenge code cc31, digitally signs the challenge code cc31 using the second private key PK2. The challenge code cc31 signed using the second private key PK2 is also called a signed code cc31s. Note that local authentication of the user may be performed prior to step S224. In step S226, the user terminal control unit 401 returns the signed code cc31s to the second node 110B.
[0043] In step S228, the second control unit 111B uses the second public key OK2 to verify the signature of the signed code cc31s returned from the user terminal 400, in a manner similar to step S112 in Fig. 5. If the signature verification fails, the second control unit 111B executes a predetermined error process. In this case, the second control unit 111B notifies the user terminal 400 of an error message, for example.
[0044] If the signature verification is successful in step S228, the second control unit 111B executes a transaction in the second distributed ledger DL2 in step S230, thereby storing the URI of the second information inf2 and the second public key OK2 in the second wallet W2. In step S230 in this embodiment, the transaction TX22 shown in Fig. 3 is executed. In the transaction TX22, the second wallet address WA2 is described as the storage destination information, and the URI of the second information inf2, which is URI data, and the second public key OK2, which is public key data, are described as the stored data information.
[0045] In step S232, second control unit 111B transmits second wallet address WA2 to user terminal 400. In step S234, user terminal control unit 401 stores second wallet address WA2 and second private key PK2 in memory unit 403. After step S234, user terminal control unit 401 also uses second wallet address WA2 as a path indicating the location of data in memory unit 403.
[0046] The second linkage process shown in Fig. 7 and Fig. 8 is executed when, for example, a predetermined start operation is performed by the user in the user terminal 400 after the first linkage process is completed. Fig. 7 shows steps from step S302 to step S318 in the second linkage process. Fig. 8 shows steps from step S320 onwards in the second linkage process. In step S302 in Fig. 7, the user terminal control unit 401 executes a second linkage request to the first node 110A. In step S202, the user terminal control unit 401 transmits a predetermined request message and the third wallet address WA3 to the first node 110A. When the first linkage request is executed, the first control unit 111A returns a challenge code cc4 to the user terminal 400 in step S304.
[0047] The user terminal control unit 401 that has received the challenge code cc4 generates the first information inf1 in step S206. The first information inf1 is generated, for example, based on the user's email address. Next, in step S308, the user terminal control unit 401 generates the first secret key PK1 and the first public key OK1 that pairs with the first secret key PK1 in the same manner as in step S208 of FIG. 5. In step S309, the user terminal control unit 401 digitally signs the challenge code cc4 using the first secret key PK1. The challenge code cc4 that has been signed using the first secret key PK1 is also called the signed code cc4s. In step S310, the user terminal control unit 401 returns the third wallet address WA3, the first information inf1, the signed code cc4s, and the first public key OK1 to the first node 110A.
[0048] In step S312, the first control unit 111A requests the second node 110B to verify the signed code cc4s. In step S312, the first control unit 111A requests verification of the signature of the signed code cc4s by transmitting the signed code cc4s, the challenge code cc4, the newly generated challenge code cc5, and the first wallet address WA1 to the second node 110B with the third wallet address WA3 as a header. The first wallet address WA1 is, for example, irreversibly generated from the first public key OK1 in step S312 in substantially the same manner as the third wallet address WA3.
[0049] The second control unit 111B of the second node 110B, which has been requested to verify the signed code cc4s, does not perform the verification itself, but in step S314 requests the third node 110C to verify the signed code cc4s. In step S314, the second control unit 111B transmits the same data as in step S312 to the third node 110C.
[0050] In step S316, the third control unit 111C, which is requested to verify the signed code cc4s, verifies the signature of the signed code cc4s using the third public key OK3, similarly to step S112 in FIG. 5. If the signature verification is successful, in step S318, the third control unit 111C executes a transaction in the third distributed ledger DL3 to store the third designation information sp3 as the designation information data in the hierarchical IDc1 of the third wallet W3. The third designation information sp3 is stored as the third non-fungible token T3. In step S318 in this embodiment, the transaction TX33 shown in FIG. 4 is executed. In the transaction TX33, the third wallet address WA3 and the hierarchical IDc2 are described as the storage destination information, and the third designation information sp3 is described as the storage data information.
[0051] In step S320 of Fig. 8, the third control unit 111C transmits the challenge code cc51 to the user terminal 400 with the third wallet address WA3 as a header. The third control unit 111C also digitally signs the challenge code cc52 corresponding to the challenge code cc51 using a private key prepared in advance, and returns the third wallet address WA3, the signed code cc52s which is the signed challenge code cc52, and the challenge code cc52 to the second node 110B. In this embodiment, this private key is the same as the private key used in step S218 of Fig. 5. In this embodiment, the challenge code cc51 and the challenge code cc52 are the same code.
[0052] In step S322, the second control unit 111B verifies the signature of the signed code cc52s returned from the third node 110C by using a public key corresponding to the private key used to sign the challenge code cc52, in substantially the same manner as in step S220 of Fig. 5. If the signature verification is successful, the second control unit 111B returns the second wallet address WA2, the signed code cc52s, and the challenge code cc52 to the first node 110A in step S324.
[0053] In step S326, the first control unit 111A verifies the signature of the signed code cc52s returned from the second node 110B, as in step S322. The public key used to verify the signed code cc52s is acquired in advance from the third node 110C by the first control unit 111A. If the signature verification is successful, in step S328, the first control unit 111A executes a transaction in the first distributed ledger DL1 to store the first designation information sp1 as designation information data in the hierarchical IDa1 of the first wallet W1. The first designation information sp1 is stored as the first non-fungible token T1. In step S328 in this embodiment, the transaction TX11 shown in FIG. 2 is executed. In the transaction TX11, the first wallet address WA1 and the hierarchical IDa1 are described as storage destination information, and the first designation information sp1 is described as storage data information.
[0054] In step S330, the user terminal control unit 401 that has received the challenge code cc51 digitally signs the challenge code cc51 using the first private key PK1, in substantially the same manner as in step S224 of Fig. 6. The challenge code cc51 that has been signed using the first private key PK1 is also referred to as a signed code cc51s. In step S332 of Fig. 8, the user terminal control unit 401 returns the signed code cc51s to the first node 110A.
[0055] In step S334, the first control unit 111A verifies the signature of the signed code cc51s returned from the user terminal 400 using the first public key OK1, in substantially the same manner as in step S326. If the signature verification is successful, in step S336, the first control unit 111A executes a transaction in the first distributed ledger DL1 to store the URI of the first information inf1 and the first public key OK1 in the first wallet W1. In step S336 in this embodiment, the transaction TX12 shown in FIG. 2 is executed. In the transaction TX12, the first wallet address WA1 is described as the storage destination information, and the URI of the first information inf1, which is URI data, and the first public key OK1, which is public key data, are described as the stored data information.
[0056] In step S338, first control unit 111A transmits first wallet address WA1 to user terminal 400. In step S340, user terminal control unit 401 stores first wallet address WA1 and first private key PK1 in memory unit 403. After step S340, user terminal control unit 401 also uses first wallet address WA1 as a path indicating the location of data in memory unit 403.
[0057] FIG. 9 is a second diagram for explaining the information processing in this embodiment. FIG. 10 is a second diagram for explaining the information processing. FIG. 11 is a third diagram for explaining the information processing. FIG. 9 shows steps from step S402 to step S414 in the information processing. FIG. 10 shows steps from step S416 to step S434 in the information processing. FIG. 11 shows steps from step S436 onward in the information processing. The information processing method in this embodiment is realized by executing the information processing shown in FIG. 9 to FIG. 11. The information processing shown in FIG. 9 to FIG. 11 is executed when, for example, a predetermined start operation is performed by the user in the user terminal 400 after the cooperation processing shown in FIG. 7 and FIG. 8 is completed.
[0058] 9, user terminal control unit 401 requests first node 110A to authenticate user terminal 400. In step S402, user terminal control unit 401 transmits a predetermined request message to first node 110A, for example, with first wallet address WA1 as a header. When authentication of user terminal 400 is requested, first control unit 111A returns challenge code cc6 to user terminal 400 in step S404.
[0059] In step S406, the user terminal control unit 401 uses the first private key PK1 to digitally sign the challenge code cc6 received from the first node 110A, in substantially the same manner as in step S309 in Fig. 7. The challenge code cc6 signed using the first private key PK1 is also referred to as a signed code cc6s. In step S408, the user terminal control unit 401 returns the first information inf1 and the signed code cc6s to the first node 110A.
[0060] In step S410, the first control unit 111A verifies the signature of the signed code cc6s in substantially the same manner as in step S326 of Fig. 8. If the signature verification is successful, in step S412, the first control unit 111A authenticates the user terminal 400 and requests the user terminal 400 to perform subsequent processing. Note that in another embodiment, the first control unit 111A may authenticate the user by the above-mentioned FIDO authentication, for example, prior to requesting subsequent processing.
[0061] When a subsequent process is requested in step S412, the user terminal control unit 401 requests the first node 110A to execute a predetermined desired process in step S414. This desired process is executed after the completion of a verification process described later. The verification process refers to a process of verifying that the designation of the next wallet by the next designation information is completed to the normal PD in the ring network 30. By verifying that the designation of the next wallet by the next designation information is completed to the normal PD in this way, it is verified that each distributed network 101 is normally linked for the user by the next designation information stored as a token having non-fungibility. In addition, the verification process can also be said to be a process for the first node 110A to receive authentication from other distributed networks 101 in the ring network 30 in order to execute a desired process for the user. The desired process is defined as a process that is preferably executed after the linkage of each distributed network 101 is verified, for example. More specifically, for example, the desired process is defined as a process that causes or accompanies the transfer, cooperation, or synchronization of data related to the user between the distributed networks 101. In step S414 in this embodiment, the user terminal control unit 401 requests the first node 110A to execute, for example, the above-mentioned remittance process as the desired process. This remittance process accompanies the synchronization of balance information of the user's financial assets between the distributed networks 101.
[0062] When a desired process is requested in step S414, the first control unit 111A executes a verification process in steps S416 to S432 shown in Fig. 10. The verification process is started by the first control unit 111A specifying the second wallet W2 using the first specification information sp1.
[0063] In step S416, the first control unit 111A designates the second wallet W2 in the second distributed network 101B using the first designation information sp1 stored in the first wallet W1 as the first non-fungible token T1. More specifically, the first control unit 111A designates the second wallet W2 by transmitting the second wallet address WA2, which is the second identifier, as a header to the second node 110B. In addition, in step S416 in this embodiment, the first control unit 111A newly generates a challenge code cc7, digitally signs the challenge code cc7 using a private key prepared in advance to generate a signed code cc7s1, and transmits the challenge code cc7, the signed code cc7s1, and the balance information BL1 stored in the first wallet W1 to the second node 110B. In this embodiment, the verification process is started by executing this step S416.
[0064] In step S418, the second control unit 111B verifies the signature of the signed code cc7s1 transmitted from the first node 110A using a public key corresponding to the private key used to generate the signed code cc7s1, in a manner similar to step S322 in FIG. 7. If the signature verification is successful, in step S420, the second control unit 111B refers to the second wallet W2 based on the second wallet address WA2 transmitted in step S416, and verifies that the transmitted balance information BL1 matches the balance information BL2 stored in the second wallet W2. If the balance information does not match, the second control unit 111B transmits an error message to the first node 110A. If the balance information matches, in step S422, the second control unit 111B designates the third wallet W3 in the third distributed network 101C using the second designation information sp2 stored in the second wallet W2 as the second non-fungible token T2. More specifically, in step S422, the second control unit 111B specifies the third wallet W3 by sending the third wallet address WA3 as a header to the third node 110C. Also, in step S418 in this embodiment, the second control unit 111B generates a signed code cc7s2 by digitally signing the challenge code cc7 using a private key prepared in advance, and sends the challenge code cc7, the signed code cc7s2, and the balance information BL2 to the first node 110A.
[0065] In step S424, the third control unit 111C verifies the signature of the signed code cc7s2 transmitted from the second node 110B using a public key corresponding to the private key used to generate the signed code cc7s2, in a manner similar to step S418. If the signature verification is successful, in step S426, the third control unit 111C refers to the third wallet W3 based on the third wallet address WA3 transmitted in step S422, and verifies that the transmitted balance information BL2 matches the balance information BL3 stored in the third wallet W3. If the balance information does not match, the third control unit 111C transmits an error message to the first node 110A. If the balance information matches, in step S428, the third control unit 111C designates the first wallet W1 in the first distributed network 101A using the third designation information sp3 stored in the third wallet W3 as the third non-fungible token T3. More specifically, in step S428, the third control unit 111C specifies the first wallet W1 by sending the first wallet address WA1 as a header to the first node 110A. Also, in step S428 in this embodiment, the third control unit 111C generates a signed code cc7s3 by digitally signing the challenge code cc7 using a private key prepared in advance, and sends the challenge code cc7, the signed code cc7s3, and the balance information BL3 to the first node 110A.
[0066] In step S430, the first control unit 111A verifies the signature of the signed code cc7s3 transmitted from the third node 110C using a public key corresponding to the private key used to generate the signed code cc7s3, in substantially the same manner as in step S418. In this embodiment, if the signature verification is successful in step S430, the verification process is completed. If the signature verification is successful in step S430, the first control unit 111A, in step S432, refers to the first wallet W1 based on the first wallet address WA1 transmitted in step S428, and verifies that the balance information BL1 and the transmitted balance information BL3 match. If the balance information does not match, the first control unit 111A transmits an error message to the user terminal 400. If the balance information matches, the first control unit 111A executes the desired process (remittance process) in step S434.
[0067] Steps S436 to S452 in FIG. 11 are executed to synchronize data related to the user that has changed due to the desired processing between the distributed networks 101. More specifically, in this embodiment, these steps are executed to synchronize balance information that has changed due to the remittance processing. Steps S436 to S452 are substantially the same as steps S416 to S432 in FIG. 10, respectively. More specifically, in step S436, the first control unit 111A generates a new challenge code cc8, digitally signs the challenge code cc8 using a private key prepared in advance, thereby generating a signed code cc8s1, and transmits the challenge code cc8, the signed code cc8s1, and the balance information BL1 to the second node 110B with the second wallet address WA2 as a header. In step S442, the second control unit 111B generates a signed code cc8s2 by digitally signing the challenge code cc8 using a prepared private key, and transmits the challenge code cc8, the signed code cc8s2, and the balance information BL2 to the third node 110C with the third wallet address WA3 as a header. In step S448, the third control unit 111C generates a signed code cc8s3 by digitally signing the challenge code cc8 using a prepared private key, and transmits the challenge code cc8, the signed code cc8s3, and the balance information BL3 to the first node 110A with the first wallet address WA1 as a header.
[0068] According to the information processing system 20 in the present embodiment described above, the wallet W storing the URI of the individual information stores the next designation information designating the next wallet as a token having non-fungibility. In addition, when the first control unit 111A is requested to execute a desired process by the user terminal control unit 401, the first control unit 111A executes the desired process after completing a verification process for verifying that the designation of the next wallet by the next designation information is completed in the normal order PD in the ring network 30. The verification process is started by the first control unit 111A designating the second wallet W2 using the first designation information sp1, which is the next designation information. In this form, the distributed networks 101 are linked by the next designation information stored as a token having non-fungibility in each wallet W storing the URI of the individual information. In addition, the node 110 of each distributed network 101 can verify that the distributed networks 101 are linked for the user by verifying that the designation of the next wallet using the next designation information is completed in the normal order PD in the ring network 30. Therefore, when linking the distributed networks 101 or verifying the linkage between the distributed networks 101, it is not necessary for the distributed networks 101 to share individual information or for the nodes 110 of the distributed networks 101 to exchange individual information with each other. Then, after the linkage between the distributed networks 101 is verified in this manner, the desired process can be executed. This reduces security risks and allows the distributed networks 101 to link appropriately with each other.
[0069] Unlike the present embodiment, for example, when the first wallet W1 stores designation information designating the third wallet W3 instead of the first designation information sp1 designating the second wallet W2, the first distributed network 101A and the second distributed network 101B do not directly cooperate with each other by the next designation information, but cooperate only through the third distributed network 101C. In contrast, in the present embodiment, the number of designation information stored in the first wallet W1 is the same as that in the case where designation information designating the third wallet W3 is stored in the first wallet W1 as described above, but since the designation by the next designation information is repeated in the normal order PD in the ring network 30, each distributed network 101 can directly cooperate with each other by the next designation information. In addition, in the present embodiment, designation information designating the previous wallet is not stored in the first wallet W1 or the second wallet W2. Therefore, in the present embodiment, not only the third information inf3 and its URI, but also the fact that the first distributed network 101A and the third distributed network 101C cooperate for the user cannot be read from the information stored in the first wallet W1. Similarly, the fact that the first distributed network 101A and the second distributed network 101B are cooperating for the user cannot be read from the information stored in the second wallet W2. Therefore, security risks can be further reduced.
[0070] In this embodiment, each distributed ledger DL is configured by a blockchain, and the storage of the URI of the individual information in the wallet W and the storage of the next specified information are realized by transactions stored in blocks added to the distributed ledger DL. In this way, each distributed network 101 can be configured as a blockchain network. This can further reduce the risks associated with centralized information management.
[0071] In this embodiment, the next designation information represents the second wallet W2 by a combination of the first identifier and the second identifier, and the first control unit 111A designates the second wallet W2 by transmitting the second identifier to the second node 110B. Therefore, by exchanging the second identifier between the nodes 110 of each distributed network 101, the cooperation of each distributed network 101 can be easily verified. In particular, if the first identifier or information equivalent to the first identifier is not exchanged between the nodes in the verification process, even if the data exchanged between the distributed networks 101 in the verification process is intercepted by a third party, the possibility that the authentication request destination will be read by a third party can be reduced. Therefore, security risks can be further reduced.
[0072] B. Second embodiment: 12 is an explanatory diagram showing an information processing system 20b in the second embodiment. In this embodiment, unlike the first embodiment, N=4, and the information processing system 20b further includes a network system 100D. Also, in this embodiment, information specifying a previous wallet is not stored in each wallet W. Parts of the configuration of the information processing system 20b that are not particularly described are similar to those in the first embodiment.
[0073] In the following, the distributed network 101 included in the network system 100D is referred to as a fourth distributed network 101D. The fourth distributed network 101D forms a ring network 30b together with other distributed networks 101. The fourth distributed network 101D is composed of a plurality of fourth nodes 110D. The fourth distributed network 101D is connected to the Internet INT, similar to other distributed networks 101 and the user terminal 400 in the information processing system 20b. Each fourth node 110D shares a fourth distributed ledger DL4. The fourth wallet W4 in the fourth distributed ledger DL4 stores the URI of the fourth information inf4, which is individual information. The fourth wallet address WA4 is specified in the fourth distributed ledger DL4 by a fourth wallet address WA4 that is unique in the fourth distributed ledger DL4. The storage of information in the fourth wallet W4 is realized by executing a transaction in the fourth distributed ledger DL4, in a manner substantially similar to the case of the first wallet W1, etc. The fourth control unit 111D of the fourth node 110D is configured by a computer, similar to the first control unit 111A. The storage unit provided in the fourth control unit 111D stores the fourth distributed ledger DL4. The CPU provided in the fourth control unit 111D executes the program stored in the storage unit to realize various functions in the fourth control unit 111D. The fourth control unit 111D is configured to be able to access the fourth information inf4. In this embodiment, the fourth information inf4 is an administration ID for a user to use the network system 100D, and is stored in a fourth database 190D accessible from the fourth distributed network 101D.
[0074] In this embodiment, the third wallet W3b stores third designation information sp3b corresponding to the next designation information as the third non-fungible token T3. The third designation information sp3b is designation information that designates the fourth wallet W4, unlike the third designation information sp3 in the first embodiment. In FIG. 12, the third designation information sp3b is represented by "NT4" representing the URI of the fourth distributed network 101D and the fourth wallet address WA4. In this embodiment, the fourth designation information sp4 is stored as the fourth non-fungible token T4 in the fourth wallet W4 corresponding to the Nth wallet of the Nth distributed network. The fourth designation information sp4 is designation information that designates the first wallet W1 and corresponds to the next designation information. In FIG. 12, the fourth designation information sp4 is represented by "NT1" representing the URI of the first distributed network 101A and the first wallet address WA1, similar to the third designation information sp3 in the first embodiment. Unlike the first embodiment, the third wallet W3b in this embodiment does not store information specifying the previous wallet. More specifically, in this embodiment, no information specifying the previous wallet is stored in any of the wallets W.
[0075] According to the second embodiment described above, information specifying the previous wallet is not stored in each wallet W. Therefore, each distributed network 101 can be linked without storing information specifying the previous wallet in each wallet W. Therefore, security risks can be further reduced.
[0076] C. Third embodiment: Fig. 13 is a first explanatory diagram showing the linking process executed in the third embodiment. Fig. 14 is a second explanatory diagram showing the linking process executed in the third embodiment. The linking processes shown in Figs. 13 and 14 are executed in a state where the URI of each individual information and each public key generated by the user terminal control unit 401 are stored in advance in the second wallet W2 and the third wallet W3, respectively. Parts of the configuration of the information processing system 20 in the third embodiment that are not particularly described are similar to those in the first embodiment.
[0077] Steps S502 to S518 in FIG. 13 are substantially the same as steps S302 to S318 in FIG. 7, respectively. More specifically, in step S504, the first control unit 111A returns the challenge code cc9. In step S509, the user terminal control unit 401 generates the signed code cc9s by signing the challenge code cc9 using the first private key PK1. In step S510, the user terminal control unit 401 returns the third wallet address WA3, the first information inf1, the signed code cc9s, and the first public key OK1 to the first node 110A. In steps S512 and S514, verification of the signed code cc9s is requested, respectively. In step S516, the third control unit 111C verifies the signature of the signed code cc9s.
[0078] Steps S520 and S522 in FIG. 14 are substantially the same as steps S320 and S322 in FIG. 8. More specifically, in step S520, the third control unit 111C transmits the challenge code cc10a to the user terminal 400 with the third wallet address WA3 as a header. The third control unit 111C also generates a signed code cc10bs by digitally signing the challenge code cc10b corresponding to the challenge code cc10a using a secret key prepared in advance, and returns the third wallet address WA3, the signed code cc10bs, and the challenge code cc10b to the second node 110B. In step S522, the second control unit 111B verifies the signature of the signed code cc10bs. In step S523, the second control unit 111B stores the second designation information sp2 in the second wallet W2, similar to step S222 in FIG. 6.
[0079] Steps S524 to S540 in FIG. 14 are substantially the same as steps S324 to S340 in FIG. 8. In more detail, in step S524, the second control unit 111B returns the second wallet address WA2, the signed code cc10bs, and the challenge code cc10b to the first node 110A. In step S526, the first control unit 111A verifies the signature of the signed code cc10bs. In step S530, the user terminal control unit 401 generates the signed code cc10as by signing the challenge code cc10a with the first private key PK1. In step S532, the user terminal control unit 401 returns the signed code cc10as to the first node 110A. In step S534, the first control unit 111A verifies the signature of the signed code cc10as.
[0080] By the linking process in this embodiment described above, next designated information is stored in each wallet of each distributed network 101, and each distributed network 101 enters a linked state in which it is linked for the user.
[0081] D. Other embodiments: (D1) In the above embodiment, each distributed network system 100 is configured as a financial service system, but it does not have to be configured as a financial service system. For example, each distributed network system 100 may be configured as a system that manages property value different from financial assets. Also, each distributed network system 100 may be configured as a system that manages, links, certifies, etc. personal information related to users. Also, each distributed network system 100 may be configured as a system that provides a virtual space (for example, a so-called metaverse) and manages items and currency of users in the virtual space. In this case, the desired process may be, for example, a process for moving items and currency between multiple virtual spaces provided by each distributed network system 100, a process for registering items that can be used simultaneously or alternatively in multiple virtual spaces so that they can be used in each virtual space, or a process for converting such items into cash or transferring them to another user.
[0082] (D2) In the above embodiment, each distributed ledger DL is configured by a blockchain. In contrast, the distributed ledger DL does not have to be configured by a blockchain, and may be configured as a distributed ledger of another type. In this case, the distributed ledger DL may be configured by a directed acyclic graph, a hash graph, a holochain, or the like.
[0083] (D3) In the above embodiment, the first designation information sp1 includes the first identifier and the second identifier, but may not include the first identifier and the second identifier. For example, the first designation information sp1 may be represented by an identifier that uniquely represents the "wallet W of the distributed ledger DL" itself.
[0084] The present disclosure is not limited to the above-mentioned embodiment, and can be realized in various configurations without departing from the spirit of the present disclosure. For example, the technical features of the embodiments corresponding to the technical features in each aspect described in the Summary of the Invention can be appropriately replaced or combined to solve some or all of the above-mentioned problems or to achieve some or all of the above-mentioned effects. Furthermore, if a technical feature is not described as essential in this specification, it can be appropriately deleted. [Explanation of symbols]
[0085] 20, 20b... information processing system, 30, 30b... ring network, 100... distributed network system, 100A, 100B, 100C, 100D... network system, 101... distributed network, 101A... first distributed network, 101B... second distributed network, 101C... third distributed network, 101D... fourth distributed network, 110... node, 110A... first node, 110 B... second node, 110C... third node, 110D... fourth node, 111... control unit, 111A... first control unit, 111B... second control unit, 111C... third control unit, 111D... fourth control unit, 190A... first database, 190B... second database, 190C... third database, 190D... fourth database, 400... user terminal, 401... user terminal control unit, 403... storage unit, 404... program, 410... display unit
Claims
1. a ring network in which three or more distributed networks including a first distributed network and a second distributed network are connected in a ring shape; a user terminal used by a user and having a user terminal control unit; Each of the distributed networks includes a plurality of nodes having a controller; Each of the nodes shares a distributed ledger having a wallet that stores a URI of individual information, which is information about the user for each of the distributed networks, and common information about the user that is different from the individual information and is commonly managed among the three or more distributed networks; In the wallet, next designation information designating a next wallet corresponding to the wallet of the next distributed network in the forward order is stored as a non-fungible token; A first control unit, which is the control unit of the node of the first distributed network, executes the desired process when a predetermined desired process is requested from the user terminal control unit after completing a verification process that verifies that the designation of the next wallet by the next designation information in the ring network goes around in the normal order and that each of the common information in each of the wallets held by each of the nodes matches each other; The verification process is started by the first control unit specifying a second wallet, which is the wallet of the second distributed network, using the next specification information stored in a first wallet, which is the wallet of the first distributed network; The desired process is a process of updating the common information in the first wallet and synchronizing the update of the common information among the three or more distributed networks.
2. 2. The information processing system according to claim 1, The distributed ledger is composed of a blockchain, An information processing system, wherein the storage of the URI of the individual information in the wallet and the storage of the next specified information are realized by a transaction stored in a block added to the distributed ledger.
3. 2. The information processing system according to claim 1, The next designation information includes a first identifier representing the next distributed network in the forward order, and a second identifier unique in the distributed ledger of the next distributed network in the forward order, and represents the next wallet by a combination of the first identifier and the second identifier; The first control unit designates the second wallet by transmitting the second identifier included in the next designation information stored in the first wallet to the node of the second distributed network.
4. 4. The information processing system according to claim 1, An information processing system, wherein the wallet does not store information specifying a previous wallet that corresponds to the next wallet in the distributed network in reverse order.
5. a ring network in which three or more distributed networks including a first distributed network and a second distributed network are connected in a ring shape; Each of the distributed networks includes a plurality of nodes having a controller; Each of the nodes shares a distributed ledger having a wallet that stores a URI of individual information, which is information about a user for each of the distributed networks, and common information about the user that is different from the individual information and is commonly managed among the three or more distributed networks; An information processing method executed in an information processing system, wherein next designation information designating a next wallet corresponding to the wallet of the next distributed network in a forward order is stored as a non-fungible token in the wallet, A step of executing a verification process in which a first control unit, which is the control unit of the node of the first distributed network, specifies a second wallet, which is the wallet of the second distributed network, using the next specification information stored in a first wallet, which is the wallet of the first distributed network, thereby verifying that the specification of the next wallet by the next specification information in the ring network goes around in the correct order, and that each of the common information in each of the wallets held by each of the nodes is consistent with each other; The first control unit executes a predetermined desired process after the verification process is executed, The information processing method, wherein the desired process is a process of updating the common information in the first wallet and synchronizing the update of the common information among the three or more distributed networks.
Citation Information
Patent Citations
Program, information processing device, information processing method and manufacturing method
JP2019139297A
Settlement system, settlement method, user device, and settlement program
JP2020047104A
One-time access authorization system using blockchain
JP2020507143A
Transaction Privacy in Public Distributed Ledger Systems
JP2020536322A
Crypto-asset block chain processing device, processing method, processing system, and processing program
JP2022040601A