US-12627515-B2 - Systems and methods for cross-blockchain access and orchestration
Abstract
A device may maintain, as a member of a two blockchain networks respective first and second blockchains. The first blockchain may include one or more sets of operations, and the second blockchain may include cross-chain authorization information. The device may identify a request to invoke a particular set of operations included in the first blockchain, where the request includes a set of input parameters and an identifier. The device may determine that the identifier satisfies the cross-chain authorization information included in the second blockchain, and may accordingly communicate with the second blockchain network to execute the particular set of operations. Executing the particular set of operations may include generating a set of output parameters. The device may output the set of output parameters in response to the request.
Inventors
- Ahmed A. Khan
- Nityanand Sharma
- Mohammed Alsadi
Assignees
- VERIZON PATENT AND LICENSING INC.
Dates
- Publication Date
- 20260512
- Application Date
- 20240123
Claims (20)
- 1 . A device, comprising: one or more processors configured to: communicate with a first set of nodes of a first blockchain network to maintain a first blockchain, wherein a first set of records recorded to the first blockchain include chaincode that specifies a plurality of sets of operations; communicate with a second set of nodes of a second blockchain network to maintain a second blockchain, wherein a second set of records recorded to the second blockchain include cross-chain authorization information that includes a set of identifiers; identify a request to invoke particular chaincode, which includes a particular set of operations of the plurality of sets of operations included in the first set of records recorded to the first blockchain, wherein the request includes: a set of input parameters, and one or more identifiers; compare the one or more identifiers, included in the request, to the set of identifiers included in the cross-chain authorization information included in the second set of records recorded to the second blockchain; determine, based on the comparing, whether the one or more identifiers included in the request satisfy the cross-chain authorization information included in the second blockchain; when determining that the one or more identifiers included in the request do not satisfy the cross-chain authorization information, forgo causing the second blockchain network to execute the particular chaincode, which includes the particular set of operations, based on the set of input parameters; and when determining that the one or more identifiers included in the request satisfy the cross-chain authorization information: communicate with the first blockchain network to execute the particular chaincode, including executing the particular set of operations, based on the set of input parameters, wherein executing the particular set of operations includes generating a set of output parameters; and output the set of output parameters in response to the request.
- 2 . The device of claim 1 , wherein the request is received from a particular node that is a member of a third blockchain network, wherein the one or more identifiers includes an identifier of the particular node, wherein determining that the one or more identifiers included in the request satisfy the cross-chain authorization information included in the second blockchain includes determining that the cross-chain authorization information includes the identifier of the particular node.
- 3 . The device of claim 1 , wherein the one or more processors are further configured to: communicate with the second set of nodes of the second blockchain network to record the cross-chain authorization information to the second blockchain.
- 4 . The device of claim 3 , wherein the one or more identifiers include an identifier of a particular node of the second blockchain network, wherein the particular node identifies based on the cross-chain authorization information that the particular node is authorized to request invocation of the particular set of operations.
- 5 . The device of claim 4 , wherein the particular node presents a user interface, that includes one or more options to invoke the particular set of operations, based on identifying that the particular node is authorized to request invocation of the particular set of operations.
- 6 . The device of claim 1 , wherein outputting the set of output parameters includes communicating with the second set of nodes of the second blockchain network to record, to the second blockchain, an indication that the set of output parameters have been generated.
- 7 . The device of claim 1 , wherein the request is a first request, wherein the one or more processors are further configured to: identify a second request to invoke the particular set of operations, wherein the second request includes a particular set of identifiers; determine that the particular set of identifiers, included in the second request, do not satisfy the cross-chain authorization information included in the second blockchain; and forgo initiating invocation, by the first blockchain network, of the particular set of operations in response to the second request based on determining that the particular set of identifiers, included in the second request, do not satisfy the cross-chain authorization information included in the second blockchain.
- 8 . A non-transitory computer-readable medium, storing a plurality of processor-executable instructions to: communicate with a first set of nodes of a first blockchain network to maintain a first blockchain, wherein a first set of records recorded to the first blockchain include chaincode that specifies a plurality of sets of operations; communicate with a second set of nodes of a second blockchain network to maintain a second blockchain, wherein a second set of records recorded to the second blockchain include cross-chain authorization information that includes a set of identifiers; identify a request to invoke particular chaincode, which includes a particular set of operations of the plurality of sets of operations included in the first set of records recorded to the first blockchain, wherein the request includes: a set of input parameters, and one or more identifiers; compare the one or more identifiers, included in the request, to the set of identifiers included in the cross-chain authorization information included in the second set of records recorded to the second blockchain; determine, based on the comparing, whether the one or more identifiers included in the request satisfy the cross-chain authorization information included in the second blockchain; when determining that the one or more identifiers included in the request do not satisfy the cross-chain authorization information, forgo causing with the second blockchain network to execute the particular chaincode, which includes the particular set of operations, based on the set of input parameters; and when determining that the one or more identifiers included in the request satisfy the cross-chain authorization information: communicate with the first blockchain network to execute the particular chaincode, including executing the particular set of operations, based on the set of input parameters, wherein executing the particular set of operations includes generating a set of output parameters; and output the set of output parameters in response to the request.
- 9 . The non-transitory computer-readable medium of claim 8 , wherein the request is received from a particular node that is a member of a third blockchain network, wherein the one or more identifiers includes an identifier of the particular node, wherein determining that the one or more identifiers included in the request satisfy the cross-chain authorization information included in the second blockchain includes determining that the cross-chain authorization information includes the identifier of the particular node.
- 10 . The non-transitory computer-readable medium of claim 8 , wherein the plurality of processor-executable instructions further include processor-executable instructions to: communicate with the second set of nodes of the second blockchain network to record the cross-chain authorization information to the second blockchain.
- 11 . The non-transitory computer-readable medium of claim 10 , wherein the one or more identifiers include an identifier of a particular node of the second blockchain network, wherein the particular node identifies based on the cross-chain authorization information that the particular node is authorized to request invocation of the particular set of operations.
- 12 . The non-transitory computer-readable medium of claim 11 , wherein the particular node presents a user interface, that includes one or more options to invoke the particular set of operations, based on identifying that the particular node is authorized to request invocation of the particular set of operations.
- 13 . The non-transitory computer-readable medium of claim 8 , wherein outputting the set of output parameters includes communicating with the second set of nodes of the second blockchain network to record, to the second blockchain, an indication that the set of output parameters have been generated.
- 14 . The non-transitory computer-readable medium of claim 8 , wherein the request is a first request, wherein the plurality of processor-executable instructions further include processor-executable instructions to: identify a second request to invoke the particular set of operations, wherein the second request includes a particular set of identifiers; determine that the particular set of identifiers, included in the second request, do not satisfy the cross-chain authorization information included in the second blockchain; and forgo initiating invocation, by the first blockchain network, of the particular set of operations in response to the second request.
- 15 . A method, comprising: communicating with a first set of nodes of a first blockchain network to maintain a first blockchain, wherein a first set of records recorded to the first blockchain include chaincode that specifies a plurality of sets of operations; communicating with a second set of nodes of a second blockchain network to maintain a second blockchain, wherein a second set of records recorded to the second blockchain include cross-chain authorization information that includes a set of identifiers; identify a request to invoke particular chaincode, which includes a particular set of operations of the plurality of sets of operations included in the first set of records recorded to the first blockchain, wherein the request includes: a set of input parameters, and one or more identifiers; comparing the one or more identifiers, included in the request, to the set of identifiers included in the cross-chain authorization information included in the second set of records recorded to the second blockchain; determining, based on the comparing, whether the one or more identifiers included in the request satisfy the cross-chain authorization information included in the second blockchain; when determining that the one or more identifiers included in the request do not satisfy the cross-chain authorization information, forgoing causing the second blockchain network to execute the particular chaincode, which includes the particular set of operations, based on the set of input parameters; and when determining that the one or more identifiers included in the request satisfy the cross-chain authorization information; communicating with the first blockchain network to execute the particular chaincode, including executing the particular set of operations, based on the set of input parameters, wherein executing the particular set of operations includes generating a set of output parameters; and outputting the set of output parameters in response to the request.
- 16 . The method of claim 15 , wherein the request is received from a particular node that is a member of a third blockchain network, wherein the one or more identifiers includes an identifier of the particular node, wherein determining that the one or more identifiers included in the request satisfy the cross-chain authorization information included in the second blockchain includes determining that the cross-chain authorization information includes the identifier of the particular node.
- 17 . The method of claim 15 , further comprising: communicating with the second set of nodes of the second blockchain network to record the cross-chain authorization information to the second blockchain.
- 18 . The method of claim 17 , wherein the one or more identifiers include an identifier of a particular node of the second blockchain network, wherein the particular node: identifies based on the cross-chain authorization information that the particular node is authorized to request invocation of the particular set of operations, and presents a user interface, that includes one or more options to invoke the particular set of operations, based on identifying that the particular node is authorized to request invocation of the particular set of operations.
- 19 . The method of claim 15 , wherein outputting the set of output parameters includes communicating with the second set of nodes of the second blockchain network to record, to the second blockchain, an indication that the set of output parameters have been generated.
- 20 . The method of claim 15 , wherein the request is a first request, the method further comprising: identifying a second request to invoke the particular set of operations, wherein the second request includes a particular set of identifiers; determining that the particular set of identifiers, included in the second request, do not satisfy the cross-chain authorization information included in the second blockchain; and forgoing initiating invocation, by the first blockchain network, of the particular set of operations in response to the second request.
Description
BACKGROUND Blockchains may provide for the decentralized and secure storage of data, decentralized computing, or other technical operations. Blockchains may further provide for the immutability of recorded data (e.g., as maintained by computing devices that implement nodes), as data may not be altered once recorded to a blockchain. Blockchains may be maintained by multiple nodes, such as geographically distributed or otherwise distinct servers, workstations, etc., that each maintain local copies of respective blockchains, perform computing operations based on information (e.g., executable code, instructions, variables, etc.) recorded to respective blockchains, and/or perform other operations. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates an example overview of one or more embodiments described herein; FIGS. 2A and 2B illustrate example arrangements of one or more blockchain networks, in accordance with some embodiments; FIG. 3 illustrates example operations performed by an orchestration node to maintain a blockchain and an orchestration blockchain, in accordance with some embodiments; FIG. 4 illustrates an example of recording orchestration chaincode information to an orchestration blockchain, in accordance with some embodiments; FIG. 5 illustrates an example user interface, in accordance with some embodiments; FIG. 6 illustrates an example for providing cross-chain chaincode access, in accordance with some embodiments; FIGS. 7A and 7B illustrate example operations associated with recording information to a blockchain, in accordance with some embodiments; FIG. 8 illustrates an example process for providing cross-chain chaincode access, in accordance with some embodiments; FIG. 9 illustrates an example environment in which one or more embodiments, described herein, may be implemented; and FIG. 10 illustrates example components of one or more devices, in accordance with one or more embodiments described herein. DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Blockchains may be maintained by multiple nodes, such as geographically distributed or otherwise distinct servers, workstations, etc., that each maintain local copies of respective blockchains. A blockchain network may refer to a particular group of nodes that communicate with each other to maintain a particular blockchain, which may include participating in consensus mechanisms to validate records added to the blockchain, prior to the confirmation or addition of such records to the blockchain. This consensus mechanism may facilitate the decentralized nature of the blockchain, inasmuch as records are not able to be added to the blockchain without validation, verification, approval, etc. from at least a threshold quantity of the nodes (e.g., a “quorum”). The consensus mechanism may include performing computations, such as executing chaincode (e.g., instructions, code, etc. maintained on the blockchain) or other suitable computations or operations, by at least the threshold quantity of nodes. Such computations may be based on input data provided by a client device or other entity seeking to add a record to the blockchain, and may yield one or more outputs, results, etc. as a result of performing the requested computations on the provided set of input. Different blockchains may implement different application programming interfaces (“APIs”), software development kits (“SDKs”), frameworks, etc. for performing operations such as executing chaincode and verifying the results of executing such chaincode. Further, different blockchains may be developed, maintained, etc. by separate distinct entities. Embodiments described herein provide for a mechanism by which different blockchains may be accessed (e.g., chaincode may be invoked on different blockchains) by authorized entities, without requiring such entities to implement the APIs, SDKs, etc. of the different blockchains. For example, as shown in FIG. 1, a particular orchestration blockchain network 101 may include a group of nodes (referred to as orchestration nodes 103), such as orchestration nodes 103-1 through 103-5. Orchestration nodes 103 may communicate with each other to maintain orchestration blockchain 105. As discussed herein, blockchain 105 may include records, chaincode, and/or other information to facilitate operations described below. In accordance with some embodiments, some or all orchestration nodes 103 may also be nodes of respective blockchain networks 107, which are also associated with their own respective blockchains 109. For example, orchestration node 103-1 may be a member of blockchain network 107-1, which maintains blockchain 109-1; orchestration node 103-2 may be a member of blockchain network 107-2, which maintains blockchain 109-2; orchestration node 103-3 may be a member of blockchain network 107-3, which maintains bl