Communication method and device based on smart contract
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-11
- Publication Date
- 2026-04-07
AI Technical Summary
When blockchain technology is combined with communication systems, how to effectively communicate between nodes based on blockchain technology is an urgent problem that needs to be solved.
Using a smart contract-based communication method, smart contract information of the core network function is discovered and obtained through smart contracts, and blockchain technology communication between nodes is realized.
It improves the communication security and traceability between nodes in the communication system, and realizes the effective integration of the blockchain network and the core network.
Smart Images

Figure CN121816735A_ABST
Abstract
Description
Communication method and device based on smart contract Technical Field
[0001] The present application relates to the field of wireless communications, and in particular to a communication method and device based on smart contracts. Background Art
[0002] Blockchain (BC) is a distributed ledger that integrates cryptography, peer-to-peer (P2P) networks, and distributed databases. As an open and transparent decentralized technology, blockchain transforms traditional authority and centralized trust into group consensus and decentralized trust, respectively, building a tamper-proof distributed ledger secured by cryptography. In a blockchain, data is generated and stored in blocks, linked chronologically into a chain-like data structure.
[0003] Based on the immutability of blockchain, the industry has proposed integrating blockchain technology into communication systems to improve communication security between devices within them. However, after integrating blockchain technology with communication systems, how to enable communication between devices based on blockchain technology remains a pressing issue.
[0004] Summary of the Invention
[0005] This application provides a communication method and device based on smart contracts, which can be applied to the network after the blockchain network and the core network are integrated, and is used to solve the problem of how nodes in the integrated network communicate based on blockchain technology.
[0006] To achieve the above objectives, this application adopts the following technical solutions:
[0007] In a first aspect, a smart contract-based communication method is provided. The method can be executed by a first node; alternatively, it can be executed by a module implemented in the first node, such as a chip, chip system, or circuit; alternatively, it can be implemented by a logical node, logical module, or software that implements all or part of the functions of the first node, without limitation. For ease of description, the following example uses execution by a first node. Optionally, the first node is a blockchain node. The method includes: obtaining first call information, and obtaining information about a second smart contract based on the first call information. The first call information is used to invoke a first smart contract, the first smart contract is used to discover a second smart contract, and the second smart contract has network functions of a core network.
[0008] Based on the method provided in the first aspect above, the first node can discover the second smart contract by calling the first smart contract, thereby obtaining information about the second smart contract, making it easier to understand the relevant information of the second smart contract, or to call the second smart contract.
[0009] In one possible implementation, obtaining the information of the second smart contract according to the first call information includes: executing the first smart contract to obtain the information of the second smart contract.
[0010] Based on the above possible implementation methods, the first node is the execution node of the first smart contract and can execute the first smart contract to obtain information about the second smart contract.
[0011] In one possible implementation, the method further includes: sending an execution result of the first smart contract to a node of a first blockchain, and the first blockchain deploys the first smart contract.
[0012] Based on the above possible implementation methods, the first node can upload the execution results of the first smart contract to the chain, so that the execution results of the first smart contract can be recorded on the first blockchain in the form of transactions, which is convenient for traceability. In addition, the nodes of the first blockchain can obtain the information of the second smart contract, which is convenient for subsequent calls to the second smart contract.
[0013] In one possible implementation, obtaining the information of the second smart contract according to the first call information includes: sending second call information to the execution node of the first smart contract, where the second call information is determined based on the first call information; and receiving the information of the second smart contract.
[0014] Based on the above possible implementation methods, the first node is not the execution node of the first smart contract. It can send the second call information for calling the first smart contract to the execution node of the first smart contract, so that the execution node of the first smart contract executes the first smart contract, obtains the information of the second smart contract, and then sends the information of the second smart contract to the first node.
[0015] In one possible implementation, obtaining the information of the second smart contract according to the first call information includes: determining that the first smart contract and the second smart contract are located in different blockchains; sending first cross-chain call information, where the first cross-chain call information is used to cross-chain call a third smart contract, where the third smart contract is used to discover the second smart contract, where the third smart contract and the second smart contract are located in the same blockchain; and receiving the information of the second smart contract.
[0016] Based on the above possible implementation methods, when the first node determines that the first smart contract and the second smart contract are located in different blockchains, it can cross-chain call a third smart contract located in the same blockchain as the second smart contract, so that the third smart contract can discover the second smart contract and obtain information about the second smart contract.
[0017] In one possible implementation, the method further includes: sending first indication information, where the first indication information is used to indicate that the first smart contract and the second smart contract are located in different blockchains.
[0018] Based on the above possible implementation methods, a node that receives the first indication information, such as the second node, can determine that the first smart contract and the second smart contract are located in different blockchains.
[0019] In one possible implementation, the first call information includes at least one of the following: an identifier of the second smart contract, an identifier of the second blockchain, information of the first execution node, information of the first verification node, information of the first deployment node, or information of the first network function.
[0020] Based on the above possible implementation methods, the first call information may include one or more of the above information, so that the first smart contract discovers a second smart contract that is consistent with the one or more information in the call information.
[0021] In one possible implementation, the information of the second smart contract includes at least one of the following: an identifier of the blockchain where the second smart contract is located or an identifier of the second smart contract.
[0022] Based on the possible implementations described above, executing the first smart contract can obtain the identifier of the blockchain where the second smart contract resides and / or the identifier of the second smart contract. The identifier of the blockchain where the second smart contract resides can be used to determine which blockchain the second smart contract is deployed on, and the identifier of the second smart contract can indicate the second smart contract. Therefore, this information facilitates subsequent invocation of the second smart contract.
[0023] In one possible implementation, the information of the second smart contract also includes at least one of the following: information of the verification node of the second smart contract, information of the execution node of the second smart contract, information of the deployment node of the second smart contract, key information of the second smart contract, token access method information of the second smart contract, version identification information of the second smart contract, input parameters of the network function possessed by the second smart contract, or information of the network function possessed by the second smart contract.
[0024] Based on the above possible implementations, the information of the second smart contract may also include one or more of the above information. Among them, the information of the verification node of the second smart contract can be used to determine the verification node of the second smart contract, so that the first node can determine which verification nodes the second smart contract has. The information of the execution node of the second smart contract can be used to determine the execution node that executes the second smart contract, so that the first node can determine which execution nodes the second smart contract is deployed on, and subsequently call the second smart contract on these execution nodes. The information of the deployment node of the second smart contract can be used to determine the node that deploys the second smart contract, so that the first node can determine which nodes the second smart contract is deployed on, and subsequently query these nodes for relevant information about the first smart contract. The key information of the second smart contract may include the public key, public key certificate, private key, etc. of the second smart contract, which is used to carry this information when the first node calls the second smart contract, so that the execution node of the second smart contract can determine whether the first node is legitimate (such as whether it can call the second smart contract) to improve communication security. The token access method information of the second smart contract can be used to determine the token access method of the second smart contract, such as the identifier of the smart contract that the second smart contract can access, and / or the validity period of the smart contract that the second smart contract can access, so that these smart contracts can be called later. The version identification information of the second smart contract can be used to determine the version of the second smart contract, allowing the first node to determine the version of the second smart contract to be called. The input parameters of the network function of the second smart contract can be used to determine the input parameters of the network function corresponding to the first smart contract, allowing the first node to provide the corresponding parameters when calling the second smart contract. The information about the network function of the second smart contract can be used to determine the network function corresponding to the second smart contract, allowing the first node to determine the network function provided by the second smart contract.
[0025] In one possible implementation, the method further includes: sending information about the second smart contract.
[0026] Based on the above possible implementation methods, a node that receives the information of the second smart contract, such as the second node, can call the second smart contract according to the information.
[0027] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence (AI) service.
[0028] Based on the above possible implementation methods, one or more of the various services that can be provided by the network functions of the above core network can be deployed in the blockchain in the form of smart contracts to achieve the integration of the blockchain network and the core network and improve communication security.
[0029] In one possible implementation, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0030] Based on the above possible implementation methods, one or more of the above network functions can be deployed in the blockchain in the form of smart contracts to achieve the integration of blockchain network and core network and improve communication security.
[0031] In a second aspect, a communication method based on a smart contract is provided. The method can be executed by a second node; alternatively, it can be executed by a module implemented in the second node, such as a chip, chip system, or circuit; alternatively, it can be implemented by a logical node, logical module, or software that can implement all or part of the functions of the second node, without limitation. For ease of description, the following explanation uses execution by the second node as an example. Optionally, the second node is a device with communication and computing capabilities, or the second node is a blockchain node. The method includes: sending a first call message and receiving information about a second smart contract. The first call message is used to call a first smart contract, the first smart contract is used to discover a second smart contract, and the second smart contract has network functions of the core network.
[0032] Based on the method provided in the second aspect above, the second node can initiate a call to the first smart contract, discover the second smart contract through the first smart contract, and thereby obtain information about the second smart contract, making it easier to understand the relevant information of the second smart contract or to call the second smart contract.
[0033] In one possible implementation, the first call information includes at least one of the following: an identifier of the second smart contract, an identifier of the second blockchain, information of the first execution node, information of the first verification node, information of the first deployment node, or information of the first network function.
[0034] In one possible implementation, the information of the second smart contract includes at least one of the following: an identifier of the blockchain where the second smart contract is located or an identifier of the second smart contract.
[0035] In one possible implementation, the information of the second smart contract also includes at least one of the following: information of the verification node of the second smart contract, information of the execution node of the second smart contract, information of the deployment node of the second smart contract, key information of the second smart contract, token access method information of the second smart contract, version identification information of the second smart contract, input parameters of the network function possessed by the second smart contract, or information of the network function possessed by the second smart contract.
[0036] In one possible implementation, the method further includes: receiving first indication information, where the first indication information is used to indicate that the first smart contract and the second smart contract are located in different blockchains; and sending second cross-chain call information, where the second cross-chain call information is used to cross-chain call a third smart contract, where the third smart contract is used to discover the second smart contract, and the third smart contract and the second smart contract are located in the same blockchain.
[0037] Based on the above possible implementation methods, the second node can determine according to the instructions that the first smart contract and the second smart contract are located in different blockchains, and then initiate a cross-chain call request, cross-chain call the third smart contract located in the same blockchain as the second smart contract, so that the third smart contract discovers the second smart contract and obtains the information of the second smart contract.
[0038] In one possible implementation, the first indication information includes information about the third smart contract.
[0039] Based on the above possible implementation methods, the second node can determine to call the third smart contract across the chain to achieve the discovery of the second smart contract through the third smart contract.
[0040] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0041] In one possible implementation, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function, data plane function or intelligent plane function.
[0042] It can be understood that the technical effects brought about by any possible implementation method in the second aspect can be referred to the technical effects brought about by different possible implementation methods in the above-mentioned first aspect, and will not be repeated here.
[0043] In a third aspect, a communication method based on a smart contract is provided. The method can be executed by the deployment node of the fifth smart contract; or, it can also be executed by a module in the deployment node of the fifth smart contract, such as a chip, a chip system or a circuit; or, it can also be implemented by a logical node, a logical module or software that can realize all or part of the deployment node functions of the fifth smart contract, without limitation. For ease of description, the following is an example of execution by the deployment node of the fifth smart contract. Among them, the deployment node of the fifth smart contract can be replaced by the execution node of the fifth smart contract, or the verification node of the fifth smart contract. The method includes: the deployment node of the fifth smart contract monitors a first subscription event; when the first subscription event is triggered, the deployment node of the fifth smart contract obtains the status information of the fourth smart contract, and at least one of the fourth smart contract or the fifth smart contract has the network function of the core network.
[0044] Based on the method provided in the third aspect above, the deployment node of the fifth smart contract can obtain the status information of the fourth smart contract to which it subscribes when the first subscription event is triggered, so as to obtain the latest status of the fourth smart contract and facilitate subsequent calls.
[0045] In one possible implementation, the method further includes: the deployment node of the fifth smart contract sets the first subscription event.
[0046] Based on the above possible implementation methods, a first subscription event can be set in the deployment node of the fifth smart contract to subscribe to the status information of the fourth smart contract.
[0047] In one possible implementation, the triggering condition of the first subscription event includes: updating the fourth smart contract, canceling the fourth smart contract, activating the fourth smart contract, or expiration of the fourth smart contract.
[0048] Based on the above possible implementation methods, the deployment node of the fifth smart contract can obtain the status information of the fourth smart contract when the fourth smart contract is updated, the fourth smart contract is deregistered, the fourth smart contract is activated, or the fourth smart contract expires.
[0049] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0050] Based on the above possible implementation methods, one or more of the various services that can be provided by the network functions of the above core network can be deployed in the blockchain in the form of smart contracts to achieve the integration of the blockchain network and the core network and improve communication security.
[0051] In one possible implementation, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function, data plane function or intelligent plane function.
[0052] In a fourth aspect, a communication method based on a smart contract is provided. The method can be executed by a deployment node of a fourth smart contract; or, it can be executed by a module in the deployment node of the fourth smart contract, such as a chip, a chip system, or a circuit; or, it can be implemented by a logic node, a logic module, or software that can realize all or part of the functions of the deployment node of the fourth smart contract, without limitation. For ease of description, the following is an example of execution by the deployment node of the fourth smart contract. The deployment node of the fourth smart contract can be replaced by the execution node of the fourth smart contract or the verification node of the fourth smart contract. The method includes: the deployment node of the fourth smart contract monitors a second subscription event; when the second subscription event is triggered, the deployment node of the fourth smart contract sends the status information of the fourth smart contract to the deployment node of the fifth smart contract, the fifth smart contract subscribes to the fourth smart contract, and at least one of the fourth smart contract or the fifth smart contract has a core network network function.
[0053] Based on the method provided in the fourth aspect above, the deployment node of the fourth smart contract can send its own status information to the deployment node of the fifth smart contract when the second subscription event is triggered, so that the deployment node of the fifth smart contract can obtain the latest status of the fourth smart contract to facilitate subsequent calls.
[0054] In one possible implementation, the method further includes: the deployment node of the fourth smart contract sets the second subscription event.
[0055] Based on the above possible implementation methods, a second subscription event can be set in the deployment node of the fourth smart contract to enable the fifth smart contract to subscribe to the status of the fourth smart contract.
[0056] In one possible implementation, the triggering condition of the second subscription event includes: updating the fourth smart contract, canceling the fourth smart contract, activating the fourth smart contract, or expiration of the fourth smart contract.
[0057] Based on the above possible implementation methods, the deployment node of the fourth smart contract can send the status information of the fourth smart contract to the deployment node of the fifth smart contract when the fourth smart contract is updated, the fourth smart contract is cancelled, the fourth smart contract is activated, or the fourth smart contract expires, so that the deployment node of the fifth smart contract can obtain the latest status of the fourth smart contract to facilitate subsequent calls.
[0058] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0059] Based on the above possible implementation methods, one or more of the various services that can be provided by the network functions of the above core network can be deployed in the blockchain in the form of smart contracts to achieve the integration of the blockchain network and the core network and improve communication security.
[0060] In one possible implementation, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function, data plane function or intelligent plane function.
[0061] In a fifth aspect, a smart contract-based communication method is provided. The method can be executed by the execution node of the sixth smart contract; or, it can be executed by a module, such as a chip, chip system, or circuit, applied to the execution node of the sixth smart contract; or, it can be implemented by a logical node, logical module, or software that can implement all or part of the execution node functions of the sixth smart contract, without limitation. For ease of description, the following description uses the execution by the execution node of the sixth smart contract as an example. The method includes: the execution node of the sixth smart contract determines third call information and sends the third call information. The third call information is used to call the seventh smart contract, and the third call information includes first information, and the first information is used to obtain access rights of the sixth smart contract to the seventh smart contract. At least one of the sixth smart contract or the seventh smart contract has a core network network function.
[0062] Based on the method provided in the fifth aspect above, when the execution node of the sixth smart contract calls the seventh smart contract, it can carry the first information so that the execution node of the seventh smart contract obtains the access rights of the sixth smart contract to access the seventh smart contract based on the first information, and then determines whether the sixth smart contract has access rights to improve communication security.
[0063] In one possible implementation, the first information includes access permission information of the sixth smart contract to access the seventh smart contract; or, the first information includes an identifier of a third blockchain, and the node of the third blockchain stores the access permission information of the sixth smart contract to access the seventh smart contract.
[0064] Based on the above possible implementations, when the execution node of the sixth smart contract calls the seventh smart contract, it can directly carry the access permission information of the sixth smart contract to the seventh smart contract, allowing the execution node of the seventh smart contract to determine whether the sixth smart contract has access permission based on this access permission information, which is very convenient. Alternatively, when the execution node of the sixth smart contract calls the seventh smart contract, it can carry the identifier of the third blockchain, allowing the execution node of the seventh smart contract to obtain the access permission information of the sixth smart contract to the seventh smart contract from the third blockchain, and then determine whether the sixth smart contract has access permission. In this scenario, the signaling overhead of the third call information is relatively low. Therefore, the above possible implementations are applicable to different scenarios for calling smart contracts.
[0065] In one possible implementation, the access permission information includes at least one of the following: the effective time of the sixth smart contract accessing the seventh smart contract, or access scope information of the sixth smart contract accessing the seventh smart contract.
[0066] Based on the above possible implementation methods, the execution node of the seventh smart contract can determine whether the sixth smart contract has access rights based on the above validity period and / or the above access scope information.
[0067] In one possible implementation, the method further includes: the execution node of the sixth smart contract sends fourth call information, where the fourth call information is used to call an eighth smart contract, where the eighth smart contract is used to determine the access rights of the sixth smart contract to the seventh smart contract; and the execution node of the sixth smart contract receives the first information.
[0068] Based on the above possible implementation methods, the access rights of the sixth smart contract to the seventh smart contract can be obtained by calling the eighth smart contract.
[0069] In a possible implementation, the fourth call information includes an identifier of the sixth smart contract and an identifier of the seventh smart contract.
[0070] Based on the above possible implementation, the fourth call information may include the identifier of the sixth smart contract and the identifier of the seventh smart contract. The identifier of the sixth smart contract may be used by the execution node of the eighth smart contract to determine the smart contract for which authorization is being requested. The identifier of the seventh smart contract may be used by the execution node of the eighth smart contract to determine the smart contract for which access is being requested.
[0071] In one possible implementation, the fourth call information also includes at least one of the following: an identifier of the blockchain where the sixth smart contract is located, information about the location of the sixth smart contract, information about the access location of the sixth smart contract, or an identifier of the blockchain where the seventh smart contract is located.
[0072] Based on the possible implementations described above, the fourth call information may further include one or more of the above information. Specifically, the identifier of the blockchain where the sixth smart contract resides can be used by the execution node of the eighth smart contract to determine the blockchain where the sixth smart contract resides, and then, based on this blockchain, determine whether to authorize the sixth smart contract to access the seventh smart contract. The information about the location of the sixth smart contract is used by the execution node of the eighth smart contract to determine the location of the sixth smart contract, and then, based on this location, determine whether to authorize the sixth smart contract to access the seventh smart contract. The information about the access location of the sixth smart contract is used by the execution node of the eighth smart contract to determine the access location of the sixth smart contract, and then, based on this access location, determine whether to authorize the sixth smart contract to access the seventh smart contract. The identifier of the blockchain where the seventh smart contract resides is used by the execution node of the eighth smart contract to determine the blockchain where the seventh smart contract resides, and then, based on this blockchain, determine whether to authorize the sixth smart contract to access the seventh smart contract. In summary, the execution node of the eighth smart contract can determine whether to authorize the sixth smart contract to access the seventh smart contract based on a variety of information, adapting to various scenarios.
[0073] In one possible implementation, the method further includes: the execution node of the sixth smart contract sends a first request, where the first request is used to request the sixth smart contract to access the access rights of the seventh smart contract; and the execution node of the sixth smart contract receives the first information.
[0074] Based on the possible implementation described above, the execution node of the sixth smart contract can directly request access to the seventh smart contract from another node, such as a node that has the function of determining the permission of one smart contract to access another smart contract. This implementation method is suitable for scenarios where no smart contract with the function of determining the permission of smart contracts to access is deployed.
[0075] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0076] Based on the above possible implementation methods, one or more of the various services that can be provided by the network functions of the above core network can be deployed in the blockchain in the form of smart contracts to achieve the integration of the blockchain network and the core network and improve communication security.
[0077] In one possible implementation, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function, data plane function or intelligent plane function.
[0078] In a sixth aspect, a communication method based on a smart contract is provided. The method can be executed by the execution node of the eighth smart contract; or, it can also be executed by a module in the execution node of the eighth smart contract, such as a chip, chip system, or circuit; or, it can also be implemented by a logical node, logical module, or software that can realize all or part of the execution node functions of the eighth smart contract, without limitation. For ease of description, the following is an example of execution by the execution node of the eighth smart contract. The method includes: receiving fourth call information for calling the eighth smart contract; executing the eighth smart contract to obtain access permission information for the sixth smart contract to access the seventh smart contract; and sending first information. At least one of the sixth smart contract, the seventh smart contract, or the eighth smart contract has a core network network function; the first information is used to obtain access permission for the sixth smart contract to access the seventh smart contract.
[0079] Based on the method provided in the sixth aspect above, the execution node of the eighth smart contract can execute the eighth smart contract and obtain the permission for the sixth smart contract to access the seventh smart contract, so that the sixth smart contract can subsequently call the seventh smart contract.
[0080] In one possible implementation, the first information includes the access permission information; or, the first information includes an identifier of a third blockchain, and the access permission information is stored on a node of the third blockchain.
[0081] Based on the above possible implementations, a node that receives the first information, such as the execution node of the sixth smart contract, can directly obtain the access permission information for the sixth smart contract to access the seventh smart contract, which is very convenient. Alternatively, the node can directly obtain the identifier of the third blockchain and, based on the identifier of the third blockchain, obtain the access permission for the sixth smart contract to access the seventh smart contract from the third blockchain. In this scenario, the signaling overhead is relatively low. Therefore, the above possible implementations are applicable to different smart contract authorization scenarios.
[0082] In one possible implementation, the access permission information includes at least one of the following: the effective time of the sixth smart contract accessing the seventh smart contract, or access scope information of the sixth smart contract accessing the seventh smart contract.
[0083] Based on the above possible implementation methods, the permission of the sixth smart contract to access the seventh smart contract can be restricted in terms of effective time and / or access scope.
[0084] In one possible implementation, the method further includes: sending the execution result of the eighth smart contract to a node on the blockchain where the eighth smart contract is located.
[0085] Based on the above possible implementation methods, the execution node of the eighth smart contract can upload the execution results of the eighth smart contract to the chain, so that the execution results of the eighth smart contract can be recorded on the blockchain in the form of transactions for easy traceability.
[0086] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0087] Based on the above possible implementation methods, one or more of the various services that can be provided by the network functions of the above core network can be deployed in the blockchain in the form of smart contracts to achieve the integration of the blockchain network and the core network and improve communication security.
[0088] In one possible implementation, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function, data plane function or intelligent plane function.
[0089] In a seventh aspect, a communication method based on a smart contract is provided. The method can be executed by an execution node of the seventh smart contract; or, it can be executed by a module in the execution node of the seventh smart contract, such as a chip, chip system, or circuit; or, it can be implemented by a logical node, logical module, or software that can implement all or part of the execution node functions of the seventh smart contract, without limitation. For ease of description, the following description is based on an example of execution by the execution node of the seventh smart contract. The method includes: the execution node of the seventh smart contract receives third call information, and determines whether to execute the seventh smart contract based on the third call information. The third call information is used to call the seventh smart contract, and the third call information includes first information, and the first information is used to obtain access rights of the sixth smart contract to the seventh smart contract, and at least one of the sixth smart contract or the seventh smart contract has a core network network function.
[0090] Based on the method provided in the seventh aspect above, the execution node of the seventh smart contract can determine whether the sixth smart contract has access rights when the seventh smart contract is called by the sixth smart contract, so as to improve communication security.
[0091] In one possible implementation, the first information includes access permission information of the sixth smart contract to access the seventh smart contract; or, the first information includes an identifier of a third blockchain, and the third blockchain stores the access permission information of the sixth smart contract to access the seventh smart contract.
[0092] Based on the above possible implementations, when the sixth smart contract calls the seventh smart contract, it can directly carry the access permission information for the sixth smart contract to access the seventh smart contract. This allows the seventh smart contract's execution node to determine whether the sixth smart contract has access permissions based on this access permission information, which is very convenient. Alternatively, when the sixth smart contract calls the seventh smart contract, it can carry the identifier of the third blockchain. This allows the seventh smart contract's execution node to obtain the sixth smart contract's access permission information from the third blockchain and further determine whether the sixth smart contract has access permissions. In this scenario, the signaling overhead of the third call information is relatively low. Therefore, the above possible implementations are applicable to different scenarios for calling smart contracts.
[0093] In one possible implementation, the first information includes access permission information of the sixth smart contract to access the seventh smart contract; the execution node of the seventh smart contract determines whether to execute the seventh smart contract based on the third call information, including: the execution node of the seventh smart contract determines whether to execute the seventh smart contract based on the access permission information.
[0094] Based on the above possible implementation methods, when the sixth smart contract calls the seventh smart contract and directly carries the access permission information of the sixth smart contract to access the seventh smart contract, the execution node of the seventh smart contract can determine whether to execute the seventh smart contract based on the access permission information, which is very convenient.
[0095] In one possible implementation, the first information includes an identifier of a third blockchain; the execution node of the seventh smart contract determines whether to execute the seventh smart contract based on the third call information, including: the execution node of the seventh smart contract sends query information to a node of the third blockchain, where the query information is used to query the access rights of the sixth smart contract to the seventh smart contract; the execution node of the seventh smart contract receives the query result; and the execution node of the seventh smart contract determines whether to execute the seventh smart contract based on the query result.
[0096] Based on the above possible implementation, when the sixth smart contract calls the seventh smart contract directly with the identifier of the third blockchain, the execution node of the seventh smart contract can obtain the access rights information of the sixth smart contract to the seventh smart contract from the third blockchain, and then determine whether to execute the seventh smart contract based on this access rights information. In this possible implementation, the signaling overhead of the third call information is relatively low.
[0097] In one possible implementation, the network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0098] Based on the above possible implementation methods, one or more of the various services that can be provided by the network functions of the above core network can be deployed in the blockchain in the form of smart contracts to achieve the integration of the blockchain network and the core network and improve communication security.
[0099] In one possible implementation, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function, data plane function or intelligent plane function.
[0100] In an eighth aspect, a communication device is provided for implementing the above method. The communication device may be the first node in the above first aspect, or a device including the above first node, or a module in the first node in the above first aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or a software implementation that can implement part or all of the functions of the first node; or, the communication device may be the second node in the above second aspect, or a device including the above second node, or a module in the second node in the above second aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or a software implementation that can implement part or all of the functions of the second node; or, the communication device may be The deployment node of the fifth smart contract in the third aspect above, or a device comprising the deployment node of the fifth smart contract, or a module in the deployment node of the fifth smart contract in the third aspect above, such as a chip, a chip system or a circuit, or a logical node, a logical module or software implementation that can realize part or all of the deployment node functions of the fifth smart contract; or, the communication device can be the deployment node of the fourth smart contract in the fourth aspect above, or a device comprising the deployment node of the fourth smart contract, or a module in the deployment node of the fourth smart contract in the fourth aspect above, such as a chip, a chip system or a circuit, or a software implementation that can A logical node, logical module or software implementation that implements part or all of the deployment node functions of the fourth smart contract; or, the communication device can be the execution node of the sixth smart contract in the fifth aspect above, or a device including the execution node of the sixth smart contract, or a module in the execution node of the sixth smart contract in the fifth aspect above, such as a chip, a chip system or a circuit, or a logical node, logical module or software implementation that can implement part or all of the execution node functions of the sixth smart contract; or, the communication device can be the execution node of the eighth smart contract in the sixth aspect above, or an execution node including the execution node of the eighth smart contract The communication device may be a device for executing a smart contract in the seventh aspect, or a module in the execution node of the eighth smart contract in the sixth aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or a software implementation that can implement some or all of the functions of the execution node of the eighth smart contract; or the communication device may be an execution node of the seventh smart contract in the seventh aspect, or a device including the execution node of the seventh smart contract, or a module in the execution node of the seventh smart contract in the seventh aspect, such as a chip, a chip system or a circuit, or a logical node, a logical module or a software implementation that can implement some or all of the functions of the execution node of the seventh smart contract. The communication device includes modules, units, or means corresponding to the above-mentioned method, which may be implemented by hardware, software, or by hardware executing the corresponding software implementation. The hardware or software includes one or more modules or units corresponding to the above-mentioned functions.
[0101] In conjunction with the eighth aspect, in one possible implementation, the communication device may include a processing module. The processing module may be configured to implement the processing functions of any of the above aspects and any possible implementations thereof. The processing module may be, for example, a processor.
[0102] In conjunction with the eighth aspect, in one possible implementation, the communication device may include an interface module. The interface module, also referred to as an interface unit, is configured to implement the sending and / or receiving functions described in any of the above aspects and any possible implementations thereof. The interface module may be comprised of an interface circuit, a transceiver, a transceiver, or a communication interface.
[0103] In combination with the eighth aspect above, in a possible implementation, the interface module includes a sending module and a receiving module, which are respectively used to implement the sending and receiving functions in any of the above aspects and any possible implementations thereof.
[0104] In a ninth aspect, a communication device is provided, comprising: a processor; the processor is configured to be coupled to a memory, and after reading an instruction in the memory, execute the method described in any one of the above aspects according to the instruction.
[0105] In conjunction with the ninth aspect, in one possible implementation, the communication device further includes a memory configured to store program instructions and data. Optionally, the memory is integrated with the processor; or, the memory is independent of the processor.
[0106] In conjunction with the ninth aspect above, in one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of a chip or include a chip and other discrete devices.
[0107] In the tenth aspect, a communication device is provided, comprising: a processor and an interface circuit; the interface circuit is used to input and / or output signaling or data; the processor is used to enable the communication device to execute the method described in any of the above aspects through logic circuits and / or executing computer programs or instructions.
[0108] In conjunction with the tenth aspect above, in one possible implementation, the communication device is a chip or a chip system. Optionally, when the communication device is a chip system, it can be composed of a chip or include a chip and other discrete devices.
[0109] In an eleventh aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium. When the computer-readable storage medium is run on a computer, the computer can execute the method described in any one of the above aspects.
[0110] In a twelfth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method described in any one of the above aspects.
[0111] In a thirteenth aspect, a communication system is provided, which includes a first node for executing the method described in the first aspect and a second node for executing the method described in the second aspect.
[0112] In the fourteenth aspect, a communication system is provided, which includes an execution node for executing the sixth smart contract of the method described in the fifth aspect above, and an execution node for executing the seventh smart contract of the method described in the seventh aspect above.
[0113] In combination with the fourteenth aspect, in one possible implementation, the communication system also includes an execution node for the eighth smart contract of the method described in the sixth aspect above.
[0114] Among them, the technical effects brought about by any possible implementation method in the eighth to fourteenth aspects can be referred to the technical effects brought about by any aspect in the first to seventh aspects or different possible implementation methods in any aspect, and will not be repeated here.
[0115] It is understandable that, provided that the solutions are not contradictory, the solutions in each aspect can be combined. BRIEF DESCRIPTION OF THE DRAWINGS
[0116] Figure 1 is a schematic diagram of the core network architecture;
[0117] FIG2 is a schematic diagram of the deployment of the network functions of the core network provided by this application and / or the service functions provided by the core network in the form of smart contracts in the blockchain;
[0118] FIG3A is a schematic diagram of the architecture of the decentralized core network provided by this application;
[0119] FIG3B is a second schematic diagram of the architecture of the decentralized core network provided by this application;
[0120] FIG3C is a third schematic diagram of the architecture of the decentralized core network provided by this application;
[0121] Figure 4 is a schematic diagram of the smart contract provided by this application;
[0122] FIG5 is a schematic diagram of a deployment method of a smart contract with network functions provided by this application;
[0123] FIG6 is a schematic diagram of the communication system architecture provided by this application;
[0124] FIG7 is a schematic diagram of the hardware structure of the communication device provided in this application;
[0125] FIG8 is a flow chart of the first embodiment of the communication method based on smart contracts provided by this application;
[0126] FIG9 is a second flow chart of the communication method based on smart contracts provided in this application;
[0127] FIG10 is a third flow chart of the communication method based on smart contracts provided in this application;
[0128] FIG11 is a fourth flow chart of the communication method based on smart contracts provided in this application;
[0129] FIG12 is a fifth flow chart of the communication method based on smart contracts provided in this application;
[0130] FIG13 is a sixth flow chart of the communication method based on smart contracts provided in this application;
[0131] FIG14 is a schematic diagram of the structure of the communication device provided in this application. DETAILED DESCRIPTION
[0132] Before introducing the technical solution of this application, the relevant technical terms involved in this application are explained. It is understood that these explanations are intended to make this application easier to understand and should not be regarded as limiting the scope of protection claimed in this application.
[0133] 1. Blockchain
[0134] In this application, blockchain can also be called a distributed ledger, which can generate and store data in blocks (or blocks), connect them into a chain (or chain) data structure in chronological order, and use cryptography to ensure that the data cannot be tampered with or forged. Any blockchain can run (or be deployed) on multiple blockchain nodes. In other words, a blockchain can be maintained by multiple blockchain nodes. For example, these multiple blockchain nodes can share ledgers and participate in transactions on the blockchain, storage, verification, forwarding and other operations on the blockchain. When a newly created block is created in the blockchain, the block needs to be confirmed by consensus of multiple blockchain nodes and broadcast in the blockchain to achieve data synchronization of each blockchain node. After that, the block cannot be changed or deleted, so the blockchain has the property of being tamper-proof.
[0135] In this application, a blockchain node can be understood as a physical node (such as a server, cloud, or data center service node, etc.) or a virtual node deployed on a physical node. If a blockchain node is a virtual node deployed on a physical node, then multiple blockchain nodes maintaining a blockchain can be deployed on the same physical node or on different physical nodes. For example, if blockchain nodes 1 to blockchain nodes n jointly maintain blockchain A, then blockchain nodes 1 to blockchain nodes n are all deployed on server 1, or some blockchain nodes from blockchain nodes 1 to blockchain nodes n are deployed on server 1, and another portion of blockchain nodes from blockchain nodes 1 to blockchain nodes n are deployed on server 2.
[0136] It is understood that multiple blockchains can form a blockchain network. In this blockchain network, each blockchain can be maintained by multiple blockchain nodes. Any blockchain node can maintain one or more blockchains. For example, a blockchain network includes blockchain A and blockchain B. Blockchain nodes 1 through 5 maintain blockchain A, while blockchain nodes 4 through 10 maintain blockchain B. In other words, blockchain nodes 1 through 3 maintain one blockchain (blockchain A), and blockchain nodes 6 through 10 maintain one blockchain (blockchain B). Blockchain nodes 4 through 5 maintain two blockchains (blockchain A and blockchain B).
[0137] 2. Smart Contract (SC)
[0138] The immutability, consensus, and distributed nature of blockchains have spurred the development of contract-based (SC) technology. SC is a computer protocol that can be deployed on a blockchain to disseminate, verify, or execute contracts in an information-based manner. By declaring business logic within an SC, corresponding operations can be executed. SC allows for trusted, traceable, and irreversible transactions without a third party. Specifically, an SC is business logic that can be installed and run on blockchain nodes, a piece of executable code. Leveraging the characteristics of blockchain, this executable code can be deployed to an account address on the blockchain. When a call transaction is initiated to that address, it is verified and executed within the blockchain network under the constraints of the consensus mechanism, ensuring the determinism and uniqueness of the execution results.
[0139] Understandably, the decentralized nature of blockchain allows program code built on SC to become a decentralized application (DAPP). The emergence of DAPP has transformed the architecture of internet applications, shifting application deployment from a centralized, single-service provider model to a decentralized, distributed deployment and execution model. Currently, several decentralized versions of internet applications exist.
[0140] 3. Terminal
[0141] In this application, a terminal is a device with wireless transceiver capabilities. The terminal can be deployed on land, including indoors, outdoors, handheld or vehicle-mounted; it can also be deployed on the water (such as ships, etc.); it can also be deployed in the air (such as airplanes, balloons and satellites, etc.). The terminal can also be called a terminal device, and the terminal device can be a user equipment (UE), a mobile station (MS), a mobile terminal (MT), etc., or a device used to provide voice or data connectivity to users. Among them, UE includes handheld devices with wireless communication capabilities, vehicle-mounted devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed railways, etc.), wearable devices (such as smart watches, smart bracelets, pedometers, etc.) or computing devices. Exemplarily, UE can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a satellite terminal or a computer with wireless transceiver capabilities. The terminal device may also be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless modem, a smart point of sale (POS) machine, customer-premises equipment (CPE), an intelligent robot, a robotic arm, workshop equipment, smart home devices (e.g., refrigerators, televisions, air conditioners, electric meters, etc.), a wireless terminal in industrial control, a wireless terminal in unmanned driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, an in-vehicle terminal, a roadside unit (RSU) with terminal functions, or an aerial device (e.g., an intelligent robot, a hot air balloon, a drone, an airplane), etc. The terminal device may also be other devices with terminal functions, for example, a terminal device may also be a device that functions as a terminal in device-to-device (D2D) communication.
[0142] In the present application, the terminal may be a terminal in an Internet of Things (IoT) system. IoT is an important part of the development of information technology. Its main technical feature is to connect objects to the network through communication technology, thereby realizing an intelligent network of human-machine interconnection and object-to-object interconnection. The terminal in the present application may be a terminal in machine type communication (MTC). The terminal of the present application may be an on-board module, on-board module, on-board component, on-board chip or on-board unit built into a vehicle as one or more components or units. The vehicle may implement the method of the present application through the built-in on-board module, on-board module, on-board component, on-board chip or on-board unit. The terminal of the present application may be a vehicle, such as a car. Therefore, the present application can be applied to vehicle networks, such as vehicle to everything (V2X), long term evolution vehicle (LTE-V), vehicle to vehicle (V2V), etc.
[0143] This application does not limit the form of the terminal. The device used to implement the terminal's functions can be a terminal; it can also be a device that supports the terminal in implementing the functions, such as a chip system. This device can be installed in the terminal or used in conjunction with the terminal. In this application, the chip system can be composed of a chip or include a chip and other discrete components.
[0144] 4. Radio access network (RAN) nodes
[0145] In this application, a RAN node may be any device with wireless transceiver functions that can help a terminal achieve wireless access, such as a node in a RAN, which may also be referred to as an access network device or a network device. Including but not limited to: evolved base stations (NodeB or eNB or e-NodeB, evolutionary Node B) in long term evolution (LTE), evolved base stations (next generation eNB, ng-eNB) in next generation LTE, base stations (gNodeB or gNB) in new radio (NR), transmitting points (TP) or transmission receiving points / transmission reception points, TRP), base stations in subsequent evolutions of 3GPP, next generation NodeB (gNB), next generation base stations in sixth generation (6G) mobile communication systems, base stations in future mobile communication systems, access nodes in satellite wireless fidelity (WiFi) systems, wireless relay nodes, wireless backhaul nodes, integrated access and backhaul (IAB) nodes, network equipment in mobile switching center non-terrestrial network (NTN) communication systems, that is, network equipment that can be deployed on high-altitude platforms or satellites. A base station can be: a macro base station, a micro base station, a pico base station, a small station, a relay station, a donor node, or a balloon station, etc. Multiple base stations can support networks of the same technology mentioned above, or they can support networks of different technologies mentioned above. A base station can include one or more co-sited or non-co-sited TRPs. A RAN node can also be a device that acts as a base station in D2D communication, Internet of Vehicles communication, drone communication, and machine communication. A RAN node can also be a wireless controller in a cloud radio access network (CRAN) scenario. A RAN node can also be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), a radio unit (RU), an RSU with base station function, a wired access gateway, or a core network element, etc. A RAN node can also be a server, a wearable device, a machine communication device, or an in-vehicle device, etc. For example, the access network device in V2X technology can be an RSU.
[0146] In this application, the CU and DU may be separately configured or may be included in the same network element, such as a baseband unit (BBU). The RU may be included in a radio frequency device or radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). It is understood that the CU may be classified as a network device in an access network, or as a network device in a core network, without limitation herein.
[0147] In different systems, CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in an open radio access network (ORAN) system, CU may also be called O-CU (open CU), DU may also be called O-DU, CU-CP may also be called O-CU-CP, CU-UP may also be called O-CU-UP, and RU may also be called O-RU. For the convenience of description, this application takes CU, CU-CP, CU-UP, DU and RU as examples for description. Any unit of CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0148] It is understandable that in some scenarios, the roles of RAN nodes and terminals are relative. For example, a helicopter or drone, which is usually configured as a terminal, can also be configured as a mobile base station, and the device that accesses the RAN via the helicopter or drone is configured as a terminal.
[0149] In this application, the form of a RAN node is not limited. The device used to implement the functions of a RAN node can be a RAN node; it can also be a device that supports the RAN node to implement the functions, such as a chip system. The device can be installed in a RAN node or used in conjunction with a RAN node.
[0150] 5. Core Network
[0151] In this application, the core network is mainly responsible for maintaining mobile network subscription data and providing terminal session management, mobility management, policy management, and security authentication functions. The core network can be a centralized network architecture, and the network function (NF) of the core network is deployed by the management plane.
[0152] Exemplarily, as shown in FIG1 , a core network architecture is illustrated by taking the network service architecture of the fifth generation (5G) mobile communication system as an example. In Figure 1, the network functions of the core network include network slice selection function (NSSF), network exposure function (NEF), network storage function (NRF), policy control function (PCF), unified data management (UDM), application function (AF), edge application server discovery function (EASDF), network slice and standalone non-public network (SNPN) authentication and authorization function (NSSAAF), authentication server function (AUSF), access management function (AMF), session management function (SMF), service communication proxy (SCP), network slice admission control function (NSACF), user plane function (UPF) and data network (DN). Among them, RAN nodes can communicate with AMF and UPF, and terminals can communicate with AMF. The terminal and the RAN node can communicate using air interface technology. For an introduction to the terminal and RAN node, please refer to the corresponding description above.
[0153] In Figure 1, N1 is the interface between the terminal and AMF, N2 is the interface between the RAN node and AMF, N3 is the interface between the RAN node and UPF, N4 is the interface between the SMF and UPF, N6 is the interface between the UPF and DN, and N9 is the interface between UPFs. Nnssaaf is the service-based interface provided by NSSAAF, Nausf is the service-based interface provided by AUSF, Namf is the service-based interface provided by AMF, Nsmf is the service-based interface provided by SMF, Nsacf is the service-based interface provided by NSACF, Nnssf is the service-based interface provided by NSSF, Nnef is the service-based interface provided by NEF, Nnrf is the service-based interface provided by NRF, Npcf is the service-based interface provided by PCF, Nudm is the service-based interface provided by UDM, Naf is the service-based interface provided by AF, and Neasdf is the service-based interface provided by EASDF.
[0154] It can be understood that the core network shown in FIG1 is merely exemplary. In specific applications, the core network may include more or fewer network functions than those shown in FIG1 , without limitation.
[0155] As discussed above, blockchain technology is tamper-proof. Therefore, to improve communication security between devices within a communication system and to support the traceability and querying of device behavior and various data within the system, the industry has proposed integrating blockchain technology into communication systems (such as the core network). For example, blockchain technology can be used to verify information within the core network.
[0156] Exemplarily, the blockchain account management function (BCAMF) network element can connect the core network and the blockchain network to verify the information in the core network. Specifically, the terminal sends an account opening request message to the BCAMF network element of the first operator. The account opening request message includes the identifier of the terminal, and the account opening request message is used to request to open an account for the terminal in the first operator. After receiving the account opening request message from the terminal, the BCAMF network element can verify in the blockchain that the terminal meets the account opening requirements based on the identifier of the terminal, and send a first message to the user data management network element of the first operator. The first message includes the contract data of the terminal, that is, the contract data of the terminal in the first operator. Afterwards, the user data management network element can store the contract data of the terminal so that when the terminal subsequently accesses the mobile network of the first operator, the mobile management network element or the session management network element needs to obtain the contract data to authorize the terminal.
[0157] As can be seen from the above description, the BCAMF network element can verify that a terminal meets the account opening requirements in the blockchain based on the terminal's identity. This means that the BCAMF network element can connect the core network and the blockchain network. However, in reality, the core network and the blockchain network are independent networks, with the blockchain network only used to record core network data. This integration of the core network and the blockchain network fails to fully utilize the advantages of blockchain.
[0158] To fully leverage the advantages of blockchain, a decentralized core network can be constructed based on the distributed nature of blockchain, combined with the core network's network functions and / or the service functions provided by the core network. This decentralized core network can use blockchain as its infrastructure to achieve the integration of blockchain and core networks, namely, blockchain-network integration. Specifically, the core network's network functions and / or the service functions provided by the core network can be deployed on the blockchain in the form of SCs, which can be called by upper-layer applications (APPs), terminals, RAN nodes, AF network elements, network function network elements, or operation administration and maintenance (OAM) network elements. Once called, the corresponding SCs are executed, and the execution results are recorded on the blockchain.
[0159] It is understandable that this application refers to the "network after the blockchain network and the core network are integrated" as the "decentralized core network" only to distinguish it from the "core network not integrated with the blockchain network" and is not intended to limit the solution of this application. This application does not limit the naming method of the "network after the blockchain network and the core network are integrated". For example, the decentralized core network can be replaced by a decentralized 3GPP network, a native decentralized core network, a native decentralized telecommunications network, a decentralized telecommunications network, a core network, a 3GPP network, a telecommunications network, or a decentralized network. For ease of description, this application uses a decentralized core network as an example.
[0160] The following further explains "the network functions of the core network", "the business functions provided by the core network" and "the network functions of the core network, and / or, the business functions provided by the core network are deployed in the form of SC on at least one blockchain".
[0161] 6. Network functions of the core network
[0162] In this application, the network functions of the core network may include any one or more network functions defined in the current protocol, and / or new network functions introduced by the protocol later. For example, the network functions of the core network include one or more network functions shown in Figure 1. For another example, the network functions of the core network include new network functions introduced by 6G communication technology.
[0163] 7. Service functions provided by the core network
[0164] In this application, the service functions provided by the core network may include third-party service functions and / or service functions related to everything as a service (XaaS). For example, the service functions provided by the core network include one or more of the following: Internet of Things service functions, satellite communication service functions, communication service functions, cloud service functions, network service functions, AI services, computing services, or data services.
[0165] 8. The network functions of the core network and / or the business functions provided by the core network are deployed on at least one blockchain in the form of SC.
[0166] In this application, the deployment of the core network's network functions on the blockchain in the form of SCs can be understood as meaning that the SCs deployed on the blockchain possess (or carry) the core network's network functions, or that SCs possessing the core network's network functions are installed (or deployed) on blockchain nodes. For example, executable code capable of implementing the core network's network functions can be written and deployed on blockchain nodes. It should be understood that one network function may correspond to at least one SC. For example, when a network function is used to implement a single function (such as registration), the network function may correspond to one SC that possesses that single function, or the network function may correspond to multiple SCs that collectively implement that single function. When a network function is used to implement multiple functions (such as registration and forwarding control plane signaling), the network function may correspond to multiple SCs that each possess a specific function of the network function.
[0167] Similarly, the service functions provided by the core network are deployed on the blockchain in the form of SCs. This can be understood as the SCs deployed on the blockchain possessing the service functions provided by the core network, or as the SCs with the service functions provided by the core network being installed on blockchain nodes. For example, executable code that implements the service functions provided by the core network can be written and deployed on blockchain nodes. It should be understood that when a service is used to implement a single function, that service function may correspond to a single SC that possesses that single function, or it may correspond to multiple SCs that collectively implement that single function. When a service is used to implement multiple functions, that service function may correspond to multiple SCs that each possesses a specific function of that service function.
[0168] It is understandable that since the SC in this application has the network functions of the core network and / or the service functions provided by the core network, SC can be replaced by network contract, network SC, network function contract, network function smart contract (NF smart contract, NF-SC), service contract, service SC, service function contract or service function SC, etc. It should be understood that in addition to the above names, SC can also have other naming methods, such as contract, function contract or function SC, etc., without limitation. SC is used as an example for description in this application.
[0169] The following uses Figure 2 as an example to introduce the network functions of the core network, and / or the specific situation of the service functions provided by the core network being deployed on the blockchain in the form of SC.
[0170] In Figure 2, the core network's network functions and the service functions provided by the core network all correspond to SCs. These SCs can be deployed on blockchains, and blockchains with SCs can be deployed on physical nodes. Specifically, the SCs for the AMF (i.e., AMF-SC), the SCs for the SMF (i.e., SMF-SC), and the SCs for the PCF (i.e., PCF-SC) are deployed on Blockchain 1, which is deployed on one or more physical nodes from Physical Nodes 1 to Physical Nodes n. The SCs for the UPF (i.e., UPF-SC), the SCs for the NEF (i.e., NEF-SC), and the SCs for the UDM (i.e., UDM-SC) are deployed on Blockchain 2, which is deployed on one or more physical nodes from Physical Nodes 1 to Physical Nodes n. The SCs for the NFR (i.e., NRF-SC), the SCs for the NSSF (i.e., NSSF-SC), the SCs for the AF (i.e., AF-SC), and the SCs for the service functions provided by the core network (i.e., service function SCs) are deployed on Blockchain m, which is deployed on one or more physical nodes from Physical Nodes 1 to Physical Nodes n. m and n are positive integers and can be the same or different.
[0171] It is understandable that the above deployment of AMF-SC, SMF-SC and PCF-SC on blockchain 1, the deployment of UPF-SC, NEF-SC and UDM-SC on blockchain 2, and the deployment of NRF-SC, NSSF-SC, AF-SC and business function SC on blockchain m is only one way of deploying SC on the blockchain. This application does not limit the deployment method of SC on the blockchain. For example, SC can be deployed on the blockchain according to the business, such as deploying SC related to business 1 on a blockchain, and not deploying SC other than SC related to business 1. For another example, SC can be deployed on the blockchain according to network function, such as deploying SC of network function 1 on a blockchain, and not deploying SC of businesses other than network function 1. It should be understood that in specific applications, there can be other deployment methods, which are not listed here one by one.
[0172] The following introduces the decentralized core network provided by this application in combination with the idea that "the network functions of the core network, and / or the business functions provided by the core network are deployed in the blockchain in the form of SC".
[0173] 9. Decentralized core network
[0174] It can be understood that based on the idea that "the network functions of the core network, and / or the business functions provided by the core network are deployed in the form of SC in the blockchain", a variety of decentralized core network network architectures can be designed, and this application cannot list them one by one. The following Designs 1 to 3 are used as examples for explanation. In addition, the way in which the business functions provided by the core network are deployed in the blockchain in the form of SC is similar to the way in which the network functions of the core network are deployed in the blockchain in the form of SC. Therefore, for the sake of simplicity, the following description will be based on the example of the network functions of the core network being deployed in the blockchain in the form of SC. For the case in which the business functions provided by the core network are deployed in the blockchain in the form of SC, please refer to the description of the network functions of the core network being deployed in the blockchain in the form of SC below, and no further details will be given.
[0175] Design 1: A blockchain is deployed in the decentralized core network, and the SCs corresponding to multiple network functions of the core network are deployed in the blockchain.
[0176] For example, in Figure 3A , blockchain 3001 is deployed in a decentralized core network 30. SCs 3002 through 3004 are deployed on blockchain 3001, which is then deployed on blockchain nodes 3005 through 3012. In other words, decentralized core network 30 includes blockchain nodes 3005 through 3012, which collectively maintain blockchain 3001, on which SCs 3002 through 3004 are deployed. SCs 3002 through 3004 each correspond to a network function in the core network. For example, SC 3002 is an AMF-SC, SC 3003 is an SMF-SC, and SC 3004 is a UPF-SC.
[0177] Optionally, the decentralized core network 30 provides a ledger anchor function (LAF) for performing communication network ledger-related tasks, such as installing or deploying SCs for blockchain nodes. For example, the decentralized core network 30 includes a LAF network element (not shown in FIG3A ).
[0178] It is understood that the network composed of blockchain nodes 3005 to 3012 can also be called a P2P network. Blockchain nodes 3005 to 3012 can be deployed on the same physical node or on different physical nodes.
[0179] It can be understood that Figure 3A is only an example of a decentralized core network. In specific applications, the decentralized core network may include more or fewer blockchain nodes than shown in Figure 3A, and / or, more or fewer SCs than shown in Figure 3A may be deployed on the blockchain 3001 without limitation.
[0180] It is understandable that in Design 1, deploying a blockchain in a decentralized core network can facilitate the maintenance of the blockchain.
[0181] Design 2: Multiple blockchains are deployed in the decentralized core network, and SCs corresponding to one or more network functions of the core network are deployed on each of the multiple blockchains.
[0182] For example, in FIG3B , blockchains 3101 through 3103 are deployed in the decentralized core network 31. SCs 3104 and 3107 are deployed on blockchain 3101, SC 3105 is deployed on blockchain 3102, and SC 3106 is deployed on blockchain 3103. SCs 3104 through 3107 each correspond to a network function of the core network. In other words, the decentralized core network 31 includes all or part of the blockchain nodes (not shown in FIG3B ) that maintain blockchains 3101 through 3103. The blockchain nodes that maintain blockchain 3101, the blockchain nodes that maintain blockchain 3102, and the blockchain nodes that maintain blockchain 3103 can be identical, partially identical, or completely different. For example, blockchain nodes 1 to blockchain nodes 5 jointly maintain blockchain 3101 and blockchain 3102, and blockchain nodes 6 to blockchain nodes 12 maintain blockchain 3103; or, blockchain nodes 1 to blockchain nodes 6 maintain blockchain 3101, blockchain nodes 7 to blockchain nodes 13 maintain blockchain 3102, and blockchain nodes 14 to blockchain nodes 22 maintain blockchain 3103.
[0183] Optionally, the decentralized core network 31 provides a LAF for performing communication network ledger-related tasks, such as installing or deploying SCs for blockchain nodes. For example, the decentralized core network 31 includes a LAF network element 3108.
[0184] Optionally, multiple SCs may be deployed on a blockchain in the decentralized core network 31. For example, in addition to SC 3104, SC 3107 may also be deployed on blockchain 3101.
[0185] It is understandable that Figure 3B is only an example of a decentralized core network. In specific applications, the decentralized core network may include more or fewer blockchains than shown in Figure 3B, and / or, more or fewer SCs than shown in Figure 3B may be deployed on a blockchain without limitation.
[0186] Understandably, in Design 2, multiple blockchains are deployed in the decentralized core network, and different SCs can be deployed on different blockchains. The data stored on each blockchain is relatively small, which facilitates data maintenance and management, and it takes less time to trace or query the data.
[0187] Understandably, during network architecture evolution, to balance existing networks and reduce network deployment costs, the architecture is typically updated gradually. For example, a portion of the core network's network functions might be initially deployed on the blockchain as SCs, and then the remaining network functions might be gradually deployed on the blockchain as SCs. Therefore, during this network architecture update, some core network functions might remain deployed on the network as SCs, while others might be deployed on the blockchain as SCs. This type of network architecture can be referred to as a hybrid network architecture or a partially decentralized core network architecture. The following description uses a hybrid network architecture as an example.
[0188] Design 3: At least one network function and at least one blockchain are deployed in a hybrid network, and each of the at least one blockchain has one or more SCs corresponding to the core network's network functions deployed on it.
[0189] It is understandable that the hybrid network can be further divided into domains based on the deployment method of network functions in the network. For example, the hybrid network includes a service-based architecture (SBA) domain and an SC domain, where at least one of the above-mentioned network functions is deployed in the SBA domain, and at least one of the above-mentioned blockchains is deployed in the SC domain. In this application, "domain" can be replaced by "region", "part" or "architecture", etc., without limitation. It should be understood that the SC domain is related to the blockchain, and therefore, the SC domain can be replaced by a block domain, a blockchain domain or a blockchain node domain, etc., without limitation. In addition, this application does not limit the connection method between the SBA domain and the SC domain (or the connection method between the blockchain node and the network function network element). For example, they can be connected through a newly defined interface.
[0190] For example, in FIG3C , hybrid network 32 deploys NFs 3201 to 3206 and blockchains 3207 to 3208. SC 3209 is deployed on blockchain 3207, and SC 3210 is deployed on blockchain 3208. SC 3209 and SC 3210 each correspond to a network function of the core network. In other words, hybrid network 32 may include all or part of the blockchain nodes maintaining blockchains 3207 to 3208 (not shown in FIG3C ). The blockchain nodes maintaining blockchain 3207 and the blockchain nodes maintaining blockchain 3208 may be identical, partially identical, or completely different.
[0191] Optionally, hybrid network 32 provides LAF for performing communication network ledger-related tasks, such as installing or deploying SC for blockchain nodes. In other words, hybrid network 32 includes LAF network elements (not shown in Figure 3C).
[0192] Optionally, multiple SCs may be deployed on a blockchain in the hybrid network 32. For example, in addition to SC 3209, SC 3212 may also be deployed on blockchain 3207.
[0193] It can be understood that Figure 3C is only an example of a hybrid network. In specific applications, the hybrid network may include more or fewer blockchains than shown in Figure 3C, and / or more or fewer network functions than shown in Figure 3C, and / or more or fewer SCs than shown in Figure 3C may be deployed on a blockchain without limitation.
[0194] Based on the above introduction, we have a certain understanding of how blockchain networks and core networks are integrated. In the integrated network (such as a decentralized core network), the SC has the network functions of the core network, which is explained in detail below.
[0195] In one possible implementation, the input parameters of the network function are input into the SC (ie, NF-SC) corresponding to the network function, and a response of the network function or an output parameter of the network function can be obtained.
[0196] It is understandable that a network function in the core network may need to obtain certain parameters in advance when implementing its own functions, such as the terminal's Subscription Permanent Identifier (SUPI), the terminal's Subscription Concealed Identifier (SUCI), or the Public Land Mobile Network (PLMN) identifier. For example, the AMF may need to obtain the terminal's SUPI in advance when registering a terminal. These parameters may be referred to as input parameters of the network function. Furthermore, when the network function implements its own functions, it may obtain corresponding output parameters based on the input parameters, such as the PLMN identifier, the terminal's SUPI, the terminal's SUCI, the terminal's identifier in the 3GPP network, an authentication vector, or a key. For example, after the AMF completes registration for the terminal, it assigns the terminal an identifier in the 3GPP network. These output parameters may be referred to as the network function's response. Since the SC possesses network functions, inputting the network function's input parameters into the SC can generate a corresponding response. For example, in Figure 4 , inputting the input parameters of NF 401 into the SC corresponding to NF 401 (i.e., NF-SC 402) generates a response from NF 401.
[0197] Optionally, trigger conditions and / or response rules may be preset in the SC. The trigger conditions may include conditions set for time and / or events that trigger the SC to implement corresponding network functions. The response rules may define how the SC responds to different actions. It is understandable that an executable code that implements the trigger condition may be written for the SC so that the SC is executed or called under the trigger condition. An executable code that implements the response rule may be written for the SC so that the SC responds accordingly when executed. Taking the SC corresponding to the charging function (CHF) as an example, its trigger condition is that the call duration of user A is greater than 100 minutes, and its response rule is to deduct the corresponding call fee from the account of user A. That is: when the call duration of user A is greater than 100 minutes, the execution of the SC is triggered, and when the SC is executed, the corresponding call fee may be deducted from the account of user A.
[0198] Optionally, since the SC is deployed on a blockchain, trigger conditions and / or response rules for one or more blockchains, or for one or more SCs, can be preset in the SC. For example, a trigger condition can be preset in NF-SC 1 in blockchain 1: After NF-SC 1 is updated, a notification message is sent to the blockchain nodes in blockchain 2. In this way, after NF-SC 1 is updated, the blockchain nodes in blockchain 1 can send a notification message to the blockchain nodes in blockchain 2.
[0199] 10. SC deployment on blockchain
[0200] In this application, SC is a piece of executable code used to implement network functions, so deploying SC on the blockchain can be understood as installing / deploying the SC on the blockchain node. It should be understood that the blockchain node has the operating environment of the SC.
[0201] It is understood that an SC can be installed on multiple blockchain nodes, which can be referred to as deployment nodes for the SC. However, not every blockchain node is a node that executes (or runs) the SC. For example, some of the multiple blockchain nodes are execution nodes for the SC, while others are used to verify the execution results of the SC and are verification nodes for the SC, thereby ensuring the correctness of the SC's execution results. The number of execution nodes for the SC is greater than or equal to 1, and the number of verification nodes for the SC is greater than or equal to 1. For example, if the SC is deployed on blockchain nodes 1 to 10, with blockchain nodes 1 and 2 used to execute the SC and blockchain nodes 3 to 10 used to verify the SC, blockchain nodes 1 to 10 are deployment nodes for the SC, blockchain nodes 1 and 2 are execution nodes for the SC, and blockchain nodes 3 to 10 are verification nodes for the SC.
[0202] It is understandable that SC can be installed on multiple blockchain nodes of a blockchain, or on multiple blockchain nodes of multiple blockchains, without restriction.
[0203] For example, FIG5 is a schematic diagram illustrating the deployment of SCs. In FIG5 , SCs 517, SCs 518, and SCs 519 are deployed on blockchain (BC) 514, which is deployed on blockchain nodes 506, 508, 510, and 513. In other words, SCs 517, SCs 518, and SCs 519 are installed on blockchain nodes 506, 508, 510, and 513. However, not all of these blockchain nodes are execution nodes for SCs 517, 518, and 519. For example, in FIG5 , the execution nodes for SCs 517 and 518 are blockchain nodes 506 and 508, while the execution nodes for SCs 519 are blockchain nodes 510 and 513. SCs 520 are deployed on blockchain 515, which is deployed on blockchain nodes 509 and 512. That is, SC 520 is installed on blockchain node 509 and blockchain node 512. In Figure 5, blockchain node 509 and blockchain node 512 are both execution nodes of SC 520. SC 521 and SC 522 are deployed on blockchain 516, which is deployed on blockchain node 507 and blockchain node 511. That is, SC 521 and SC 522 are installed on blockchain node 507 and blockchain node 511. In Figure 5, blockchain node 507 and blockchain node 511 are both execution nodes of SC 521 and SC 522.
[0204] It is understood that blockchain nodes can be deployed on physical nodes, which can be deployed in data centers. For example, in Figure 5, blockchain nodes 506 through 507 are deployed on physical node 503, which is deployed in data center 501. Blockchain nodes 508 through 510 are deployed on physical node 504, and blockchain nodes 511 through 513 are deployed on physical node 505, which is deployed in data center 502.
[0205] In this application, if the SC is installed on a blockchain node, the information of the SC is stored in the blockchain node (or the blockchain maintained by the blockchain node).
[0206] In one possible design, the SC information includes at least one of an identifier of the blockchain where the SC resides or an identifier of the SC. The identifier of the blockchain where the SC resides is used to indicate the blockchain where the SC resides or the blockchain where the SC is deployed, for example, the ID of the blockchain. The identifier of the SC can be used to indicate the SC, for example, the SC ID or the SC's Internet Protocol (IP) address.
[0207] Optionally, the information of the SC also includes at least one of the following: information of the SC's verification node, information of the SC's execution node, information of the SC's deployment node, key information of the SC, token access method information of the SC, version information of the SC, input parameters of the network functions possessed by the SC, or information of the network functions possessed by the SC.
[0208] In the present application, the information of the verification node of the SC is used to indicate the verification node of the SC, for example, the information of the verification node of the SC includes the identifier of the verification node of the SC or the IP address of the verification node of the SC. The information of the execution node of the SC is used to indicate the execution node of the SC, for example, the information of the execution node of the SC includes the identifier of the execution node of the SC or the IP address of the execution node of the SC. The information of the deployment node of the SC is used to indicate the node where the SC is deployed (or installed), for example, the information of the deployment node of the SC includes the identifier of the node where the SC is deployed (or installed), or the IP address of the node where the SC is deployed (or installed). The key information of the SC includes one or more of the public key of the SC, the public key certificate of the SC or the private key of the SC. The token access method information of the SC is used to indicate the token access method of the SC. The token access method information of the SC includes the identifier of the SC that the SC can access. Optionally, the token access method information of the SC includes the validity period during which the SC can access. The version information of the SC is used to indicate the version of the SC, for example, the version information of the SC includes the version number of the SC. The information about the network functions of an SC is used to indicate the network functions of the SC. For example, the information about the network functions of the SC includes the identifier of the network functions of the SC or the interface provided by the network functions of the SC. The information about the network functions of the SC may also include the number segments of terminals supported by the network functions of the SC and / or the location information of the network functions of the SC. The identifier of the SC and the token access method information of the SC may be referred to as the SC account.
[0209] It is understandable that the following embodiments of the present application involve multiple SCs, such as a first SC, a second SC, etc. The information of these SCs includes similar contents to the information of the above SCs. You can refer to the above introduction to the SC information. A unified description is given here and will not be repeated here.
[0210] The above is a detailed introduction to the decentralized core network and the SCs deployed in it. In the decentralized core network described above, the core network's network functions are deployed on the blockchain in the form of SCs to achieve the integration of the blockchain network and the core network. Therefore, in the integrated network, how nodes communicate based on blockchain technology remains an urgent issue. To address this issue, this application provides multiple methods, respectively involving the SC discovery process, SC subscription process, SC call process, and SC authorization process. These are explained below.
[0211] Method 1: The first node can obtain the first call information and obtain the information of the second SC based on the first call information. The first call information is used to call the first SC, the first SC is used to discover the second SC, and the second SC has the network function of the core network. The above method 1 involves the SC discovery process. Through method 1, the first node can discover the second SC by calling the first SC, thereby obtaining the information of the second SC for subsequent calls to the second SC. In other words, the first SC has the function of discovering other SCs (such as the second SC), which can facilitate the node that needs to call the second SC to obtain the information of the second SC through the first SC. This method will be specifically described in the method shown in Figure 8 below.
[0212] Method 2: The second node sends a first call message to the first node, which is used to call the first SC so that the first SC can discover the second SC. After receiving the first call message, the first node executes the first SC and finds that the first SC and the second SC are located in different blockchains. It can indicate to the second node that the first SC and the second SC are located in different blockchains. The second node initiates a cross-chain call according to the instruction of the first node to call the third SC located in the same blockchain as the second SC. The third SC is used to discover the second SC. The above method 2 involves the SC discovery process. Through method 2, the second node can call the third SC across the chain to discover the second SC, thereby obtaining the information of the second SC for subsequent calls to the second SC. This method will be specifically described in the method shown in Figure 9 below.
[0213] Method 3: The deployment node of the fifth SC monitors the first subscription event. When the first subscription event is triggered, the deployment node of the fifth SC obtains the status information of the fourth SC. At least one of the fourth SC or the fifth SC has the network function of the core network. The above method 3 involves the subscription process of the SC. Through method 3, the deployment node of the fifth SC can obtain the status information of the fourth SC to which it subscribes when the first subscription event is triggered, so as to obtain the latest status of the fourth SC and facilitate subsequent calls. This method will be specifically described in the method shown in Figure 10 below.
[0214] Method 4: The deployment node of the fourth SC monitors the second subscription event. When the second subscription event is triggered, the deployment node of the fourth SC sends the status information of the fourth SC to the deployment node of the fifth SC. The fifth SC subscribes to the fourth SC, and at least one of the fourth SC or the fifth SC has the network function of the core network. The above method 4 involves the subscription process of the SC. Through method 4, the deployment node of the fourth SC can send its own status information to the deployment node of the fifth SC when the second subscription event is triggered, so that the deployment node of the fifth SC can obtain the latest status of the fourth SC and facilitate subsequent calls. This method will be specifically described in the method shown in Figure 11 below.
[0215] Method 5: The execution node of the sixth SC determines the third call information and sends the third call information to the execution node of the seventh SC. The third call information is used to call the seventh SC, and the third call information includes the first information. The first information is used to obtain the access right (or call right) of the sixth SC to access the seventh SC, and at least one of the sixth SC or the seventh SC has the network function of the core network. After receiving the third call information, the execution node of the seventh SC determines whether to execute the seventh SC based on the third call information. Method 5 involves the calling process of the SC. Through Method 5, when the seventh SC is called, the execution node of the seventh SC can determine whether the sixth SC that calls the seventh SC has the access right to improve communication security. This method will be specifically described in the method shown in Figure 12 below.
[0216] Method 6: The execution node of the sixth SC sends a fourth call message to the execution node of the eighth SC. The fourth call message is used to call the eighth SC. After receiving the fourth call message, the execution node of the eighth SC executes the eighth SC, obtains access permission information for the sixth SC to access the seventh SC, and sends the first message to the execution node of the sixth SC. Method 6 involves the SC authorization process. Through Method 6, the eighth SC can grant the sixth SC access to the seventh SC, allowing the sixth SC to call the seventh SC. This method is described in detail in the method shown in Figure 13 below.
[0217] The above methods 1 to 6 can be applied to the communication system after the blockchain network and the core network are integrated. Among them, the core network can be the core network of LTE, the 5G core network, the core network evolved after 5G (such as: 6G core network), etc., without limitation. Among them, 5G can also be called NR. The following describes the method provided by this application using the communication system 60 shown in Figure 6 as an example. Figure 6 is only a schematic diagram and does not constitute a limitation on the applicable scenarios of the technical solution provided by this application.
[0218] The communication system 60 shown in Figure 6 includes at least two nodes in communication connection, such as node 601 and node 602. Optionally, the communication system 60 also includes node 603 and / or node 604. All or some of the at least two nodes maintain at least one blockchain, and at least one SC with core network network functions is deployed on the at least one blockchain. It can be understood that when all of the at least two nodes maintain at least one blockchain, the at least two nodes are blockchain nodes; when some of the at least two nodes maintain at least one blockchain, the nodes maintaining the blockchain are blockchain nodes, and the nodes not maintaining the blockchain are network elements corresponding to the core network network functions. The present application does not limit the connection method between the at least two nodes. For example, the connection can be made by wired or wireless means. Among them, the wireless method includes communication methods such as 4G, 5G or 6G.
[0219] Optionally, the network function of the core network is used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, or at least one service that can be provided by the core network after 5G (such as 6G core network). For example, the core network after 5G can provide at least one of the following services: computing service, perception service, or AI service. It can be understood that the above services are only examples of services provided by the network functions of the core network. In specific applications, the network functions of the core network can provide more or fewer services than the above services without limitation.
[0220] Exemplarily, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function (such as the computing plane function in the 6G core network), data plane function (such as the data plane function in the 6G core network), or intelligent plane function (such as the intelligent plane function in the 6G core network). For example, the network functions of the core network include at least one of the following: AMF, NRF, UDM, AUSF, SMF, UPF, PCF, NEF, or functions corresponding to network functions that appear in the future.
[0221] It can be understood that the communication system 60 can be applied to the above-mentioned decentralized core network or hybrid network.
[0222] Exemplarily, if communication system 60 is applied to the decentralized core network 30 described above, nodes 601 to 604 are any four blockchain nodes in the decentralized core network 30. For example, node 601 is blockchain node 3007, node 602 is blockchain node 3008, node 603 is blockchain node 3009, and node 604 is blockchain node 3010. If communication system 60 is applied to the decentralized core network 31 described above, nodes 601 to 604 are nodes that maintain the blockchain deployed in the decentralized core network 31. For example, nodes 601 and 602 are blockchain nodes that maintain blockchain 3101, node 603 is a node that maintains blockchain 3102, and node 604 is a node that maintains blockchain 3103. If the communication system 60 is applied to the hybrid network 32 described above, nodes 601 to 604 are nodes that maintain the blockchain deployed in the hybrid network 32. For example, node 601 is a blockchain node that maintains blockchain 3207, and nodes 602 to 604 are nodes that maintain blockchain 3208. Alternatively, some of nodes 601 to 604 are nodes that maintain the blockchain deployed in the hybrid network 32, and other nodes are network elements corresponding to network functions of the core network. For example, node 601 is a blockchain node that maintains blockchain 3207, node 602 is a node that maintains blockchain 3208, node 603 is a NF 3201 network element, and node 604 is a NF 3023 network element.
[0223] The communication system 60 shown in FIG6 is for example only and is not intended to limit the technical solution of the present application. Those skilled in the art should understand that in a specific implementation, the communication system 60 may also include other devices, and the number of nodes may also be determined according to specific needs without limitation.
[0224] Optionally, each node in FIG. 6 of the present application (eg, node 601, node 602, node 603, or node 604) may also be referred to as a communication device, which may be a general device or a dedicated device, and the present application does not impose any specific limitation on this.
[0225] Optionally, the relevant functions of each node (e.g., node 601, node 602, node 603, or node 604) in FIG. 6 of the present application may be implemented by a single device, or may be implemented by multiple devices together, or may be implemented by one or more functional modules within a single device, and the present application does not impose any specific limitations on this. It is understood that the above functions may be components in a hardware device, software functions running on dedicated hardware, or a combination of hardware and software, or virtualized functions instantiated on a platform (e.g., a cloud platform).
[0226] In a specific implementation, each node in FIG. 6 of the present application (e.g., node 601, node 602, node 603, or node 604) may adopt the structure shown in FIG. 7 or include the components shown in FIG. FIG. 7 is a schematic diagram of the hardware structure of a communication device applicable to the present application. The communication device 70 includes at least one processor 701 and at least one communication interface 704 for implementing the method provided in the present application. The communication device 70 may also include a communication circuit 702 and a memory 703.
[0227] The processor 701 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of the program of the present application.
[0228] The communication link 702 may include a path for transmitting information between the above components, such as a bus.
[0229] Communication interface 704 is used to communicate with other devices or communication networks. Communication interface 704 can be any transceiver-like device, such as an Ethernet interface, a radio access network (RAN) interface, a wireless local area network (WLAN) interface, a transceiver, a pin, a bus, an interface circuit, or a transceiver circuit.
[0230] The memory 703 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this. The memory can be independent and coupled to the processor 701 via a communication line 702. The memory 703 can also be integrated with the processor 701. The memory provided in this application can generally be non-volatile.
[0231] Among them, the memory 703 is used to store computer-executable instructions involved in executing the solution provided by this application, and is controlled by the processor 701. The processor 701 is used to execute the computer-executable instructions stored in the memory 703, thereby implementing the method provided by this application. Alternatively, optionally, in this application, the processor 701 may also perform the processing-related functions of the method provided below in this application, and the communication interface 704 is responsible for communicating with other devices or communication networks, which is not specifically limited in this application.
[0232] Optionally, the computer-executable instructions in this application may also be referred to as application code, which is not specifically limited in this application.
[0233] The coupling in this application is an indirect coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules.
[0234] As an embodiment, the processor 701 may include one or more CPUs, such as CPU0 and CPU1 in FIG. 7 .
[0235] As an embodiment, the communication device 70 may include multiple processors, such as processor 701 and processor 707 in Figure 7. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0236] As an embodiment, the communication device 70 may further include an output device 705 and / or an input device 706. The output device 705 is coupled to the processor 701 and can display information in a variety of ways. For example, the output device 705 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 706 is coupled to the processor 701 and can receive user input in a variety of ways. For example, the input device 706 can be a mouse, a keyboard, a touch screen device, or a sensor device.
[0237] It is understandable that the composition structure shown in Figure 7 does not constitute a limitation on the communication device. In addition to the components shown in Figure 7, the communication device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0238] The method provided by the present application will be described below with reference to the accompanying drawings. Each network element in the following embodiment may include the components shown in FIG7 , which will not be described in detail.
[0239] It is understood that in this application, " / " can indicate that the objects associated with each other are in an "or" relationship, for example, A / B can mean A or B; "and / or" can be used to describe that there are three relationships between the associated objects, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. In addition, expressions similar to "at least one of A, B and C" or "at least one of A, B or C" are usually used to indicate any of the following: A exists alone; B exists alone; C exists alone; A and B exist at the same time; A and C exist at the same time; B and C exist at the same time; A, B and C exist at the same time. The above uses A, B and C as an example to illustrate the optional items of the item. When there are more elements in the expression, the meaning of the expression can be obtained according to the above rules.
[0240] In order to facilitate the description of the technical solutions of the present application, in the present application, words such as "first" and "second" may be used to distinguish between technical features with the same or similar functions. The words such as "first" and "second" do not limit the quantity and execution order, and the words such as "first" and "second" do not necessarily limit them to be different. In the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" should not be interpreted as being more preferred or more advantageous than other embodiments or design. The use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way for easy understanding.
[0241] It is understood that the "embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the various embodiments in the entire specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It is understood that in the various embodiments of the present application, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the present application.
[0242] It can be understood that in this application, "when", "if" and "if" all mean that corresponding processing will be taken under certain objective circumstances, and do not limit the time, nor do they require judgment actions when implementing them, nor do they mean that there are other limitations.
[0243] The term "simultaneously" in this application may be understood as at the same time point, within a period of time, or within the same cycle.
[0244] In this application, unless otherwise specified, "a plurality of" can be understood as two or more than two. For example, "a plurality of blockchain nodes" can be understood as two or more than two blockchain nodes.
[0245] It is understood that some optional features in this application may, in certain scenarios, be implemented independently of other features, such as the solution on which they are currently based, to solve corresponding technical problems and achieve corresponding effects. They may also be combined with other features in certain scenarios as needed. Accordingly, the devices provided in this application may also implement these features or functions accordingly, which will not be described in detail here.
[0246] It is understandable that the same step or steps or technical features with the same function in different embodiments of the present application can be referenced to each other.
[0247] The following describes the SC-based communication method provided by the present application, taking the interaction between the first node, the second node, the deployment node of the fifth SC, the deployment node of the fourth SC, the execution node of the sixth SC, the execution node of the seventh SC, and the execution node of the eighth SC as an example. It should be understood that any one of these nodes can execute some or all of the steps in the present application. These steps are only examples, and the present application can also execute other steps or variations of various steps. In addition, the various steps can be executed in a different order than presented in the present application, and it is possible that not all of the steps in the present application need to be executed.
[0248] In addition, the method provided below in this application uses the first node, the second node, the deployment node of the fifth SC, the deployment node of the fourth SC, the execution node of the sixth SC, the execution node of the seventh SC, and the execution node of the eighth SC as examples of the execution subjects of the interaction diagram to illustrate the method, but this application does not limit the execution subjects of the interaction diagram. For example, the various nodes in the methods provided in the following embodiments of this application may also be chips, chip systems, or processors that support the nodes to implement the methods, or may be logical nodes, logic modules, or software that can implement all or part of the node functions.
[0249] This application provides multiple SC-based communication methods for enabling blockchain-based communication between nodes in a converged blockchain network and core network. These methods involve the SC discovery process, SC subscription process, SC invocation process, and SC authorization process, respectively. Each method is described in detail below with reference to the accompanying figures.
[0250] As shown in FIG8 , a communication method based on SC provided by the present application involves a discovery process of SC. The method may include the following steps:
[0251] S801: The first node obtains first calling information.
[0252] In the present application, the first node is any node in the communication system 60 shown in Figure 6, such as node 601. The first call information can be used to call the first SC, and the first SC is used to discover or query the second SC. In other words, the first SC is an SC with a discovery function or a query function. By executing the first SC, the second SC can be discovered and the information of the second SC can be obtained. The present application does not limit the number of second SCs, that is, the first SC can discover one second SC or multiple second SCs. Depending on the discovery conditions, the first SC can discover different SCs. Therefore, the first call information can include a discovery condition so that the first SC discovers the corresponding SC according to the discovery condition.
[0253] Exemplarily, the first call information includes at least one of the following: an identifier of a second SC, an identifier of a second blockchain, information about a first execution node, information about a first verification node, information about a first deployment node, or information about a first network function, enabling the first smart contract to discover a second smart contract that matches one or more of the information in the call information. For a description of the above information, reference can be made to the detailed description of SC information above and are omitted for clarity. The identifier of the second SC can be used to indicate the second SC, for example, the identifier of the second SC is the ID of the second SC or the IP address of the second SC. The identifier of the second blockchain can be used to indicate the second blockchain, for example, the identifier of the second blockchain is the ID of the second blockchain. The information about the first execution node can be used to indicate the first execution node, for example, the information about the first execution node includes the identifier of the first execution node, the ID of the first execution node, or the IP address of the first execution node. The information about the first verification node can be used to indicate the first verification node, for example, the information about the first verification node includes the identifier of the first verification node, the ID of the first verification node, or the IP address of the first verification node. The information about the first deployment node can be used to indicate the first deployment node, for example, the information about the first deployment node includes the identifier of the first deployment node, the ID of the first deployment node, or the IP address of the first deployment node. The information about the first network function may be used to indicate the first network function. For example, the information about the first network function may include an identifier of the first network function or an interface provided by the first network function. Optionally, the information about the first network function may also include a number segment of terminals supported by the first network function and / or location information of the first network function.
[0254] It is understandable that when the first call information includes one of the above information, the information can be used by the first SC to discover the second SC. For example, the identifier of the second SC can be used by the first SC to discover the SC identified as the identifier of the second SC. The identifier of the second blockchain can be used by the first SC to discover the SC on the second blockchain. In this scenario, all SCs on the second blockchain are second SCs. The information of the first execution node can be used by the first SC to discover the SC that the first execution node can execute, or the SC deployed on the first execution node, or the SC that the first execution node can verify. In this scenario, all SCs that the first execution node can execute, or the SC deployed on the first execution node, or the SC that the first execution node can verify are second SCs. The information of the first verification node can be used by the first SC to discover the SC that the first verification node can verify, or the SC deployed on the first verification node, or the SC that the first verification node can execute. In this scenario, all SCs that the first verification node can verify, or the SC deployed on the first verification node, or the SC that the first verification node can execute are second SCs. The information of the first deployment node can be used by the first SC to discover the SC deployed on the first deployment node, or the SC that the first deployment node can execute, or the SC that the first deployment node can verify. In this scenario, the SC deployed on the first deployment node, or the SC that the first deployment node can execute, or the SC that the first deployment node can verify is the second SC. The information of the first network function can be used by the first SC to discover the SC with the first network function. In this scenario, the SC with the first network function is the second SC. When the first call information includes the above-mentioned multiple information, the multiple information can be used by the first SC to discover the second SC. It can be understood that the second SC is the intersection of the SCs that can be determined by the multiple information.
[0255] It is understandable that when the first call information includes the aforementioned multiple types of information, the second SC identifier, the second blockchain identifier, the first execution node information, the first verification node information, the first deployment node information, and the first network function information can be combined in a variety of ways, which are not listed here one by one. The following examples are used as examples for illustration. For example, the second blockchain identifier and the first execution node information can be used by the first SC to discover SCs on the second blockchain that can be executed by the first execution node, or SCs on the second blockchain that are deployed on the first execution node, or SCs on the second blockchain that can be verified by the first execution node. In this scenario, SCs on the second blockchain that can be executed by the first execution node, or SCs on the second blockchain that are deployed on the first execution node, or SCs on the second blockchain that can be verified by the first execution node are all second SCs. The second blockchain identifier and the first network function information can be used by the first SC to discover SCs on the second blockchain that have the first network function. In this scenario, SCs on the second blockchain that have the first network function are all second SCs. The identifier of the second blockchain, the information of the first deployment node and the information of the first network function can be used by the first SC to discover the SC deployed on the first deployment node, which is located on the second blockchain and has the first network function, or the SC that can be executed by the first deployment node and is located on the second blockchain and has the first network function, or the SC that can be verified by the first deployment node and is located on the second blockchain and has the first network function. In this scenario, the SC deployed on the first deployment node, which is located on the second blockchain and has the first network function, or the SC that can be executed by the first deployment node and is located on the second blockchain and has the first network function, or the SC that can be verified by the first deployment node and is located on the second blockchain and has the first network function are all second SCs.
[0256] In the present application, the first call information also includes the identifier of the first SC, so that the first node can determine to call or execute the first SC. It should be understood that the first call information can also include other information of the first SC, such as the identifier of the blockchain where the first SC is located, the information of the execution node of the first SC, the information of the deployment node of the first SC, the information of the verification node of the first SC, the key information of the first SC, the token access method information of the first SC, or one or more of the version identification information of the first SC, without limitation. For the introduction of the above information, please refer to the specific description of the SC information in the previous text and will not be repeated here.
[0257] In this application, the second SC has the network functions of the core network. For an introduction to the services provided by the network functions of the core network or the specific functions included, please refer to the corresponding description of the communication system 60 shown in Figure 6, and no further details are given. Optionally, the first SC has the network functions of the core network, for example, a discovery function or a query function, or a network storage function.
[0258] It is understandable that the first node can generate the first call information by itself, or obtain the first call information from other nodes, such as the second node. Among them, the second node is a node with the ability to call the second SC, such as a terminal, a RAN node, an AF network element, a network function network element, an operation administration and maintenance (OAM) network element, or a blockchain node. Taking the communication system shown in Figure 6 as an example, if the first node is node 601, the second node is one of nodes 602 to 604, such as node 602, or the second node is a terminal, a RAN node, an AF network element, or an OAM network element that can communicate with node 601. The terminal, RAN node, AF network element, and OAM network element are not shown in Figure 6. Optionally, the second node and the first node are nodes in the same blockchain.
[0259] In one possible implementation, before calling the second SC, the first node generates a first call message to obtain information about the second SC. For example, when an event triggers the first node to call the second SC, the first node generates the first call message to discover the second SC so that it can subsequently call the second SC. Alternatively, when the first node is executing a certain SC, it determines that the SC is to call the second SC, and the first node generates the first call message to discover the second SC so that it can subsequently call the second SC. Alternatively, when the first node is executing a certain SC, the SC indicates that the first SC is to be called, and the first node generates the first call message to call the first SC.
[0260] In another possible implementation, before the second node calls the second SC (such as when an event triggers the second node to call the second SC, or when the second node is executing a certain SC, it determines that the SC is to call the second SC, or when the second node is executing a certain SC, the SC indicates to call the first SC), the second node sends the first call information to the first node. The first node receives the first call information, that is, obtains the first call information. It is understandable that the second node can send the first call information directly to the first node, or send the first call information to the first node through one or more nodes.
[0261] S802: The first node obtains information of the second SC according to the first calling information.
[0262] In the present application, the information of the second SC includes at least one of the following: the identifier of the blockchain where the second SC is located or the identifier of the second SC. Optionally, the information of the second SC also includes at least one of the following: the information of the verification node of the second SC, the information of the execution node of the second SC, the information of the deployment node of the second SC, the key information of the second SC, the token access method information of the second SC, the version identification information of the second SC, the input parameters of the network function possessed by the second SC, or the information of the network function possessed by the second SC. The specific meaning of the above information can be referred to the specific description of the SC information in the previous text and will not be repeated here.
[0263] It is understood that the verification node information of the second SC can be used to determine the verification node of the second SC, so that the first node or the second node can determine which verification nodes the second SC has. The execution node information of the second SC can be used to determine the execution node that executes the second SC, so that the first node or the second node can determine which execution nodes the second SC is deployed on, and subsequently call the second SC on these execution nodes. The deployment node information of the second SC can be used to determine the node on which the second SC is deployed, so that the first node or the second node can determine which nodes the second SC is deployed on, and subsequently query these nodes for relevant information about the first SC. The key information of the second SC may include the public key, public key certificate, private key, etc. of the second SC, which is used to carry this information when the first node or the second node calls the second SC, so that the execution node of the second SC can verify whether the first node or the second node is legitimate, thereby improving communication security. The token access method information of the second SC can be used to determine the token access method of the second SC, such as the identifier of the SCs that the second SC can access, and / or the validity period of the SCs that the second SC can access, so that these SCs can be called later. The version identification information of the second SC can be used to determine the version of the second SC, so that the first node or the second node can determine the version of the second SC to be called. The input parameters of the network functions possessed by the second SC can be used to determine the input parameters of the network functions corresponding to the first SC, so that the first node or the second node can provide the corresponding parameters when invoking the second SC. The information about the network functions possessed by the second SC can be used to determine the network functions corresponding to the second SC, so that the first node or the second node can determine the network functions provided by the second SC.
[0264] In this application, the first SC and the second SC can be located on the same blockchain or different blockchains, and the first node can be the execution node of the first SC or not. In response to the above different situations, the process by which the first node obtains the information of the second SC based on the first call information is different, which is explained in detail below.
[0265] Case 1: The first SC and the second SC are located in the same blockchain, and the first node is the execution node of the first SC. The first node can execute the first SC to obtain information about the second SC.
[0266] Optionally, the first node may send the execution result of the first SC to a node on the first blockchain to upload the execution result to the blockchain. This allows the execution result of the first SC to be recorded on the first blockchain in the form of a transaction for easy traceability, and the node on the first blockchain can obtain information about the second SC to facilitate subsequent calls to the second SC. The first blockchain deploys the first SC, or at least one node on the first blockchain deploys the first SC.
[0267] In this application, the execution result of the first SC is used to indicate whether the first SC is executed successfully.
[0268] If the first SC is executed successfully, the execution result includes the information of the second SC. Optionally, the execution result of the first SC also includes at least one of the following: the identifier of the SC that calls the first SC, the identifier of the first SC, the information of the execution node of the first SC, the information of the verification node of the first SC, the information of the deployment node of the first SC, the time of executing the first SC or signature information (such as the information obtained by signing the information included in the execution result of the first SC). For example, the execution result of the first SC includes the following content: <Transaction source address: the identifier of the SC that calls the first SC; Transaction destination address: the identifier of the first SC; Transaction content: the identifier of the first SC, the identifier of the second SC, the identifier of the blockchain where the second SC is located, the information of the network function possessed by the second SC, the time of executing the first SC, the information of the execution node of the first SC, the information of the verification node of the first SC, and the signature information>.
[0269] If the first SC fails to execute, the execution result may indicate the reason for the failure.
[0270] Case 2: The first SC and the second SC are located in the same blockchain, but the first node is not the execution node of the first SC. The first node can query the execution node of the first SC (for example, the execution node of the first SC is node 603 in Figure 6) and send the second call information to the execution node of the first SC. The second call information is the same as the first call information, or the second call information is determined based on the first call information. For example, the first call information is further processed, such as repackaging, adding new information or deleting information, to obtain the second call information. After receiving the second call information, the execution node of the first SC executes the first SC, obtains the information of the second SC, and sends the information of the second SC to the first node. When the first node receives the information of the second SC, it obtains the information of the second SC.
[0271] Optionally, the execution node of the first SC may send the execution result of the first SC to the node of the first blockchain so that the execution result can be uploaded to the blockchain. For details, please refer to the corresponding description in Case 1.
[0272] Case 3: The first SC and the second SC are located on different blockchains. After the first node determines that the first SC and the second SC are located on different blockchains, if the first node executes the first SC and discovers that the first SC and the second SC are located on different blockchains, or if the first node is not the execution node of the first SC, then the first node determines that the first SC and the second SC are located on different blockchains based on the instructions of the execution node of the first SC, the first node sends a first cross-chain call message to a node of a fourth blockchain (for example, the node of the fourth blockchain is node 604 in Figure 6). The fourth blockchain is the blockchain where the third SC and the second SC are located. The first cross-chain call message is used to cross-chain call the third SC, and the third SC is used to discover the second SC, and the third SC and the second SC are located on the same blockchain. For example, the first cross-chain call message includes at least one of the following: the identifier of the second SC, the identifier of the second blockchain, information about the first execution node, information about the first verification node, information about the first deployment node, or information about the first network function. Optionally, the first cross-chain call message also includes information about the third SC.
[0273] If the node on the fourth blockchain is the execution node for the third SC, the node executes the third SC and obtains information about the second SC. Optionally, the node on the fourth blockchain may send the execution result of the third SC to other nodes on the fourth blockchain for on-chain storage. For details, please refer to the description in Case 1 regarding "the first node may send the execution result of the first SC to nodes on the first blockchain for on-chain storage."
[0274] If the node of the fourth blockchain is not the execution node of the third SC, the node of the fourth blockchain can query the execution node of the third SC and send the third cross-chain call information to the execution node of the third SC. The third cross-chain call information is the same as the first cross-chain call information, or the third cross-chain call information is determined based on the first cross-chain call information. For example, the first cross-chain call information is further processed, such as repackaging, adding new information, or deleting information, to obtain the third cross-chain call information. After receiving the third cross-chain call information, the execution node of the third SC executes the third SC, obtains the information of the second SC, and sends the information of the second SC to the node of the fourth blockchain. After receiving the information of the second SC, the node of the fourth blockchain sends the information of the second SC to the first node. The first node receives the information of the second SC, thus obtaining the information of the second SC.
[0275] Optionally, the execution node of the third SC may send the execution result of the third SC to one or more nodes in the fourth blockchain to have the execution result uploaded to the blockchain. For details, please refer to the corresponding description in Case 1 regarding "the first node may send the execution result of the first SC to the nodes of the first blockchain to have the execution result uploaded to the blockchain."
[0276] Optionally, after the first node determines that the first SC and the second SC are located in different blockchains, it may send a first indication message to the second node. The first indication message is used to indicate that the first SC and the second SC are located in different blockchains. In this way, after receiving the first indication message, the second node can determine that the first SC and the second SC are located in different blockchains.
[0277] In one possible design, the first indication information includes information of a third SC. The content of the third SC information is similar to the content of the SC information described above, so reference may be made to the description of the SC information above and no further description is given.
[0278] Optionally, the first node may send information about the second SC to the second node. In this way, the second node may obtain information about the second SC, making it easier to call the second SC. Therefore, the method shown in FIG8 further includes: S803: the first node sends information about the second SC to the second node. Accordingly, the second node receives information about the second SC from the first node. It is understandable that for the above-mentioned cases 1 and 2, the information about the second SC may be included in the execution result of the first SC, that is, the first node may send the execution result of the first SC to the second node.
[0279] Based on the method shown in Figure 8, the first node can discover the second SC by calling the first SC, thereby obtaining information about the second SC, making it easier to understand the relevant information of the second SC or to call the second SC. Therefore, the method shown in Figure 8 can query the SC in the blockchain to obtain relevant information about the SC. In the method shown in Figure 8, the first SC can discover the SC in the blockchain where the first SC is located, but in specific applications, there is no restriction. For example, the first SC can discover SCs in two or more blockchains to expand the query range of the first SC, reduce the number of transfers of call information, and thus shorten the query time.
[0280] In the method shown in Figure 8, if the first and second SCs are located on different blockchains, the first node can cross-chain call the third SC to obtain information about the second SC. Alternatively, the first node can indicate to the second node that the first and second SCs are located on different blockchains, allowing the second node to initiate a cross-chain call and obtain information about the second SC. For more details, see the method shown in Figure 9 below.
[0281] As shown in FIG9 , another SC-based communication method provided by the present application involves an SC discovery process. The method may include the following steps:
[0282] S901: The second node sends first call information to the first node. Correspondingly, the first node receives the first call information from the second node.
[0283] It can be understood that the introduction of S901 can refer to the corresponding description in the above S801 and will not be repeated here.
[0284] S902: The first node sends first indication information to the second node. Correspondingly, the second node receives the first indication information from the first node.
[0285] In one possible implementation, after the first node determines that the first SC and the second SC are located in different blockchains, if the first node executes the first SC and discovers that the first SC and the second SC are located in different blockchains, or if the first node is not the execution node of the first SC, the first node determines that the first SC and the second SC are located in different blockchains based on an instruction from the execution node of the first SC, the first node sends first indication information to the second node. For an introduction to the first indication information, refer to the corresponding description in S802 above and are not repeated here.
[0286] S903: The second node sends the second cross-chain call information to the node of the fourth blockchain. In response, the node of the fourth blockchain receives the second cross-chain call information from the second node.
[0287] In this application, the fourth blockchain is the blockchain where the third SC and the second SC reside. The second cross-chain call information is used to cross-chain call the third SC, which is used to discover the second SC. The third SC and the second SC are located on the same blockchain. The second cross-chain call information includes at least one of the following: the identifier of the second SC, the identifier of the second blockchain, information about the first execution node, information about the first verification node, information about the first deployment node, or information about the first network function. Optionally, the second cross-chain call information also includes information about the third SC.
[0288] S904: The node of the fourth blockchain obtains information of the second SC according to the second cross-chain call information.
[0289] One possible implementation method is that if the node of the fourth blockchain is the execution node of the third SC, the node of the fourth blockchain executes the third SC and obtains the information of the second SC.
[0290] Optionally, the node of the fourth blockchain may send the execution result of the third SC to other nodes of the fourth blockchain to upload the execution result to the blockchain. For details, please refer to the corresponding description of "the first node may send the execution result of the first SC to the nodes of the first blockchain to upload the execution result to the blockchain" in the above scenario 1.
[0291] In another possible implementation, if the node of the fourth blockchain is not the execution node of the third SC, the node of the fourth blockchain can query the execution node of the third SC and send the fourth cross-chain call information to the execution node of the third SC. The fourth cross-chain call information is the same as the second cross-chain call information, or the fourth cross-chain call information is determined based on the second cross-chain call information. For example, the second cross-chain call information is further processed, such as repackaging, adding new information, or deleting information, to obtain the fourth cross-chain call information. After receiving the fourth cross-chain call information, the execution node of the third SC executes the third SC, obtains the information of the second SC, and sends the second SC information to the node of the fourth blockchain. Upon receiving the information of the second SC, the node of the fourth blockchain obtains the information of the second SC.
[0292] Optionally, the execution node of the third SC may send the execution result of the third SC to one or more nodes in the fourth blockchain to upload the execution result to the blockchain. For details, please refer to the description of "the first node may send the execution result of the first SC to the nodes of the first blockchain to upload the execution result to the blockchain" in the above scenario 1.
[0293] S905: The node of the fourth blockchain sends the information of the second SC to the second node. Correspondingly, the second node receives the information of the second SC from the node of the fourth blockchain.
[0294] Based on the method shown in Figure 9, the second node can call the third SC across chains to discover the second SC, thereby obtaining information about the second SC, making it easier to understand the relevant information of the second SC or to call the second SC. Therefore, the method shown in Figure 9 can realize cross-blockchain query of SC to obtain relevant information about the SC.
[0295] The method shown in Figure 8 above involves the discovery process of SCs within the same blockchain, while the method shown in Figure 9 above involves the discovery process of SCs across different blockchains. In a network where blockchain and core networks are integrated, nodes can also subscribe to SC status to obtain the latest SC status. This is explained in detail below.
[0296] As shown in FIG10 , another SC-based communication method provided by the present application involves an SC subscription process. The method may include the following steps:
[0297] S1001: The deployment node of the fifth SC monitors the first subscription event.
[0298] In the present application, the deployment node of the fifth SC may be any node in the communication system 60 shown in FIG6 , such as node 602 .
[0299] In the method shown in Figure 10 or Figure 11 below, the deployment node of the fifth SC can be replaced with the execution node of the fifth SC, or the verification node of the fifth SC, without limitation. The first subscription event is set to subscribe the fifth SC to the status of the fourth SC. The fifth SC and the fourth SC are located on the same blockchain. At least one of the fourth SC or the fifth SC has the network function of the core network. For example, the fifth SC has a network storage function. For an introduction to the network function of the core network, please refer to the corresponding description above and will not be repeated here.
[0300] Optionally, the deployment node of the fifth SC sets the first subscription event. For example, the deployment node of the fifth SC installs the first subscription event through a LAF network element; or installs the first subscription event through an SC capable of implementing LAF functions.
[0301] Exemplarily, the first subscription event includes the identifier of the fourth SC and the triggering condition of the first subscription event. Optionally, the first subscription event also includes at least one of the following: the identifier of the blockchain where the fourth SC is located, information about the network function possessed by the fourth SC, or the identifier of the blockchain where the fifth SC is located.
[0302] It can be understood that the identifier of the fourth SC can enable the deployment node of the fifth SC to determine the status of subscribing to the fourth SC. The identifier of the blockchain where the fourth SC is located can enable the deployment node of the fifth SC to determine the blockchain where the fourth SC is located. When the deployment node of the fifth SC maintains multiple blockchains, it can determine which blockchain to monitor. The information of the network functions possessed by the fourth SC can enable the deployment node of the fifth SC to determine the network functions possessed by the fourth SC. When the first subscription event is triggered, it can be determined which network function's status has changed. The identifier of the blockchain where the fifth SC is located can enable the deployment node of the fifth SC to determine the blockchain where the fifth SC is located. When the deployment node of the fifth SC maintains multiple blockchains, it can be determined on which blockchain the SC has set the first subscription event.
[0303] In one possible implementation, the triggering conditions for the first subscription event include: fourth SC update, fourth SC deregistration, fourth SC activation, or fourth SC expiration. In other words, the first subscription event may be triggered when the deployment node of the fifth SC detects the fourth SC update, fourth SC deregistration, fourth SC activation, or fourth SC expiration. It should be understood that the above triggering conditions are merely exemplary. In specific applications, the triggering conditions for the first subscription event may also include other conditions, which are not limited.
[0304] As can be understood, since the fifth SC and the fourth SC reside on the same blockchain, the fifth SC's deployment node shares data with the fourth SC's deployment node. This means that any operation on the fourth SC can be posted on-chain as a transaction, and the fifth SC's deployment node can monitor transactions related to the fourth SC based on the first subscription event. Therefore, the fifth SC's deployment node can promptly detect whether the first subscription event has been triggered, i.e., whether the fourth SC has been updated, deregistered, activated, or expired.
[0305] S1002: When the first subscription event is triggered, the deployment node of the fifth SC obtains the status information of the fourth SC.
[0306] It can be understood that when the first subscription event is triggered, the deployment node of the fifth SC can obtain the status information of the fourth SC based on the transaction information on the chain.
[0307] In the present application, the status information of the fourth SC includes information about the fourth SC or information about changes to the fourth SC. For example, if the fourth SC is updated, the status information of the fourth SC includes the updated information of the fourth SC; if the fourth SC is deregistered, the status information of the fourth SC is used to indicate the deregistration of the fourth SC; if the fourth SC is activated, the information of the fourth SC is used to indicate the activation of the fourth SC; if the fourth SC is expired, the status information of the fourth SC is used to indicate the expiration of the fourth SC.
[0308] Based on the method shown in Figure 10, the deployment node of the fifth SC can promptly obtain the status information of the fourth SC it subscribes to, which is on the same blockchain, when the first subscription event is triggered. This allows the node to obtain the latest status of the fourth SC and facilitate subsequent calls. Therefore, the method shown in Figure 10 can implement subscriptions to SCs on the same blockchain.
[0309] It is understandable that in specific applications, in addition to subscribing to the status of SCs on the same blockchain, it is also necessary to subscribe to the status of SCs on different blockchains. For details, please refer to the method shown in Figure 11 below.
[0310] As shown in FIG11 , another SC-based communication method provided by the present application involves an SC subscription process. The method may include the following steps:
[0311] S1101: The deployment node of the fourth SC monitors the second subscription event.
[0312] In the present application, the deployment node of the fourth SC may be any node in the communication system 60 shown in FIG6 , such as node 603 .
[0313] In the method shown in Figure 11, the deployment node of the fourth SC can be replaced with the execution node of the fourth SC, or the verification node of the fourth SC, without limitation. The second subscription event is set to subscribe the fifth SC to the status of the fourth SC. The fifth SC and the fourth SC are located on the same blockchain or different blockchains. At least one of the fourth SC or the fifth SC has core network network functions. For example, the fifth SC has network storage functions. For an introduction to the core network network functions, please refer to the corresponding description above and will not be repeated here.
[0314] Optionally, the deployment node of the fourth SC sets the second subscription event. For example, the deployment node of the fourth SC installs the second subscription event through a LAF network element; or installs the second subscription event through an SC capable of implementing LAF functions.
[0315] Exemplarily, the second subscription event includes the identifier of the fifth SC and the triggering condition of the second subscription event. Optionally, the second subscription event also includes at least one of the following: the identifier of the blockchain where the fifth SC is located, information about the network function possessed by the fourth SC, or the identifier of the blockchain where the fourth SC is located.
[0316] It can be understood that the identifier of the fifth SC can enable the deployment node of the fourth SC to determine that the fifth SC has subscribed to its own status. The identifier of the blockchain where the fifth SC is located can enable the deployment node of the fourth SC to determine the blockchain where the fifth SC is located. The information of the network functions possessed by the fourth SC can enable the deployment node of the fourth SC to determine the network functions possessed by the fourth SC. When the second subscription event is triggered, it can be determined which network function's status has changed. The identifier of the blockchain where the fourth SC is located can enable the deployment node of the fourth SC to determine the blockchain where the fourth SC is located. When the deployment node of the fourth SC maintains multiple blockchains, it can determine which blockchain's SC has set the second subscription event.
[0317] In one possible implementation, the triggering conditions for the second subscription event include: fourth SC update, fourth SC deregistration, fourth SC activation, or fourth SC expiration. In other words, the second subscription event may be triggered by the fourth SC deployment node detecting the fourth SC update, fourth SC deregistration, fourth SC activation, or fourth SC expiration. It should be understood that the above triggering conditions are merely exemplary, and in specific applications, the triggering conditions for the second subscription event may also include other conditions, without limitation.
[0318] S1102: When the second subscription event is triggered, the deployment node of the fourth SC sends the state information of the fourth SC to the deployment node of the fifth SC. Correspondingly, the deployment node of the fifth SC receives the state information of the fourth SC from the deployment node of the fourth SC.
[0319] For the introduction of the status information of the fourth SC, reference may be made to the corresponding description in S1002 and will not be repeated here.
[0320] Based on the method shown in Figure 11, the deployment node of the fourth SC can send its status information to the deployment node of the fifth SC when the second subscription event is triggered, so that the deployment node of the fifth SC can obtain the latest status of the fourth SC and facilitate subsequent calls. Therefore, the method shown in Figure 11 can implement subscriptions to SCs on the same blockchain or SCs on different blockchains.
[0321] The methods shown in Figures 8 and 9 above involve the SC discovery process, while the methods shown in Figures 10 and 11 involve the SC subscription process. In a network where the blockchain network and core network are integrated, nodes can also call each other's SCs to provide corresponding network functions, which is explained in detail below.
[0322] As shown in FIG12 , another SC-based communication method provided by the present application involves an SC calling process. The method may include the following steps:
[0323] S1201: The execution node of the sixth SC determines the third calling information.
[0324] In the present application, the execution node of the sixth SC may be any node in the communication system 60 shown in FIG6 , such as node 602 .
[0325] In this application, the third call information is used to call the seventh SC. The third call information includes the first information. The first information is used to obtain the sixth SC's access rights to the seventh SC. At least one of the sixth SC or the seventh SC has the core network function. The introduction to the core network function can be referred to the corresponding description above and is not repeated here. Optionally, the third call information also includes other information, such as information about the seventh SC and / or information about the sixth SC.
[0326] In one possible design, the first information includes access rights information for the sixth SC to access the seventh SC; or, the first information includes an identifier of a third blockchain, and the access rights information for the sixth SC to access the seventh SC is stored on a node of the third blockchain. The access rights information for the sixth SC to access the seventh SC includes at least one of the following: the validity period of the sixth SC's access to the seventh SC or the access scope of the sixth SC to the seventh SC.
[0327] It is understood that the seventh SC includes multiple functions or multiple code segments, and the access scope information indicates the functions or code in the seventh SC that can be accessed by the sixth SC, and / or indicates the functions or code in the seventh SC that cannot be accessed by the sixth SC. Alternatively, the access scope information indicates that the sixth SC can access the entire content of the seventh SC, or indicates that the sixth SC cannot access the seventh SC.
[0328] S1202: The execution node of the sixth SC sends the third call information to the execution node of the seventh SC. Correspondingly, the execution node of the seventh SC receives the third call information from the execution node of the sixth SC.
[0329] In the present application, the execution node of the seventh SC may be any node in the communication system 60 shown in FIG6 , such as node 603 .
[0330] S1203: The execution node of the seventh SC determines whether to execute the seventh SC according to the third calling information.
[0331] In a possible implementation, if the first information includes access permission information for the sixth SC to access the seventh SC, the execution node of the seventh SC determines whether to execute the seventh SC according to the access permission information.
[0332] For example, taking the access permission information including the effective time of the sixth SC's access to the seventh SC as an example, if the effective time of the sixth SC's access to the seventh SC expires, the execution node of the seventh SC determines not to execute the seventh SC; if the effective time of the sixth SC's access to the seventh SC has not expired, the execution node of the seventh SC determines to execute the seventh SC.
[0333] For example, taking the access permission information including the access scope information of the sixth SC accessing the seventh SC as an example, if the access scope information indicates that the sixth SC can access all the contents of the seventh SC, the execution node of the seventh SC determines to execute the seventh SC; if the access scope information indicates that the sixth SC cannot access the seventh SC, the execution node of the seventh SC determines not to execute the seventh SC; if the access scope information indicates that function 1-function 3 in the seventh SC can be accessed by the sixth SC, the execution node of the seventh SC determines to execute function 1-function 3 in the seventh SC; if the seventh SC includes function 1-function 6, and the access scope information indicates that function 1-function 3 in the seventh SC cannot be accessed by the sixth SC, the execution node of the seventh SC determines to execute function 4-function 6 in the seventh SC.
[0334] For example, taking the access permission information including the effective time of the sixth SC's access to the seventh SC and the access scope information of the sixth SC's access to the seventh SC as an example, if the effective time of the sixth SC's access to the seventh SC expires, the execution node of the seventh SC determines not to execute the seventh SC; if the effective time of the sixth SC's access to the seventh SC has not expired, and the access scope information indicates that the sixth SC can access all the contents of the seventh SC, then the execution node of the seventh SC determines to execute the seventh SC.
[0335] Another possible implementation method is that if the first information includes the identifier of the third blockchain, the execution node of the seventh SC obtains the access permission information of the sixth SC to access the seventh SC from the node of the third blockchain. For example, the execution node of the seventh SC sends a query message to the node of the third blockchain. The query message is used to query the access permission of the sixth SC to access the seventh SC, and the query message may include the identifier of the sixth SC and the identifier of the seventh SC. After receiving the query message, the node of the third blockchain obtains the access permission information based on the identifier of the sixth SC and the identifier of the seventh SC, and sends the query result to the execution node of the seventh SC. The query node includes the access permission information. After receiving the query result, the execution node of the seventh SC determines whether to execute the seventh SC based on the query result.
[0336] It is understood that if the execution node of the seventh SC determines to execute the seventh SC, the execution node of the seventh SC executes the seventh SC and obtains the execution result of the seventh SC. Subsequently, the execution node of the seventh SC can send the execution result to the execution node of the sixth SC. The execution node of the seventh SC can also send the execution result to the node of the blockchain where the seventh SC is located.
[0337] Optionally, if the execution node of the seventh SC determines not to execute the seventh SC, an indication message of not executing the seventh SC is sent to the execution node of the sixth SC.
[0338] Based on the method shown in FIG12 , when the seventh SC is called, the execution node of the seventh SC can determine whether the sixth SC that calls the seventh SC has access rights, so as to improve communication security.
[0339] It is understandable that in addition to the above method, in the network after the blockchain network and the core network are integrated, nodes can also request SC authorization to facilitate calls between SCs, which will be explained in detail below.
[0340] As shown in FIG13 , another SC-based communication method provided by this application involves an SC authorization process. The method may include the following steps:
[0341] S1301: The execution node of the sixth SC sends fourth call information to the execution node of the eighth SC. Correspondingly, the execution node of the eighth SC receives the fourth call information from the execution node of the sixth SC.
[0342] In the present application, the execution node of the eighth SC may be any node in the communication system 60 shown in FIG6 , such as the node 604 .
[0343] In this application, the fourth call information is used to call the eighth SC, and the eighth SC is used to determine the access rights of the sixth SC to the seventh SC. Optionally, the eighth SC has a core network network function. For example, the eighth SC has a network storage function. The core network network function can be referred to the corresponding description above and will not be repeated here.
[0344] In one possible design, the fourth call information includes the identifier of the sixth SC and the identifier of the seventh SC, so that the execution node of the eighth SC can determine the SC requesting authorization (ie, the sixth SC) and the SC requested to be accessed (ie, the seventh SC).
[0345] Optionally, the fourth call information also includes at least one of the following: the identifier of the blockchain where the sixth SC is located, the information of the home location of the sixth SC, the information of the visited location of the sixth SC, or the identifier of the blockchain where the seventh SC is located. The information of the home location of the sixth SC may indicate the public land mobile network (PLMN) of the sixth SC. For example, the information of the home location of the sixth SC includes the identifier of the PLMN of the sixth SC. The information of the visited location of the sixth SC is used to indicate the PLMN of the seventh SC that the sixth SC wants to visit. For example, the information of the visited location of the sixth SC includes the identifier of the PLMN of the seventh SC.
[0346] It can be understood that the identifier of the blockchain where the sixth SC is located is used by the execution node of the eighth SC to determine the blockchain where the sixth SC is located, and then determine whether to authorize the sixth SC to access the seventh SC based on the blockchain. The information of the sixth SC's place of origin is used by the execution node of the eighth SC to determine the place of origin of the sixth SC, and then determine whether to authorize the sixth SC to access the seventh SC in combination with the place of origin. The information of the sixth SC's access location is used by the execution node of the eighth SC to determine the access location of the sixth SC, and then determine whether to authorize the sixth SC to access the seventh SC in combination with the place of origin. The identifier of the blockchain where the seventh SC is located is used by the execution node of the eighth SC to determine the blockchain where the seventh SC is located, and then determine whether to authorize the sixth SC to access the seventh SC based on the blockchain. In summary, the execution node of the eighth SC can determine whether to authorize the sixth SC to access the seventh SC based on a variety of information to apply to various scenarios.
[0347] S1302: The execution node of the eighth SC executes the eighth SC and obtains access permission information of the sixth SC to the seventh SC.
[0348] It is understandable that the execution node of the eighth SC may store policy information for determining the access permission information, or the execution node of the eighth SC may obtain the policy information from other nodes. The eighth SC may obtain the access permission information of the sixth SC to the seventh SC based on the policy information.
[0349] In a possible design, the policy information includes at least one of the following: an identifier of a blockchain that can access the seventh SC, an identifier of a blockchain that cannot access the seventh SC, an identifier of an SC that can access the seventh SC, an identifier of an SC that cannot access the seventh SC, an identifier of a PLMN that can access the seventh SC, or an identifier of a PLMN that cannot access the seventh SC.
[0350] For example, taking the example where the fourth call information includes the identifier of the sixth SC, the identifier of the seventh SC and the identifier of the blockchain where the sixth SC is located, and the policy information includes the identifier of the blockchain that can access the seventh SC, if the identifier of the blockchain where the sixth SC is located is included in the identifier of the blockchain that can access the seventh SC, the sixth SC can access the seventh SC; if the identifier of the blockchain where the sixth SC is located is not included in the identifier of the blockchain that can access the seventh SC, the sixth SC cannot access the seventh SC.
[0351] For example, taking the case where the fourth call information includes the identifier of the sixth SC, the identifier of the seventh SC and the information of the sixth SC's place of origin, and the policy information includes the identifier of the PLMN that can access the seventh SC, if the identifier of the PLMN indicated by the information of the sixth SC's place of origin is included in the identifier of the PLMN that can access the seventh SC, the sixth SC can access the seventh SC; if the identifier of the PLMN indicated by the information of the sixth SC's place of origin is not included in the identifier of the PLMN that can access the seventh SC, the sixth SC cannot access the seventh SC.
[0352] For example, taking the case where the fourth call information includes the identifier of the sixth SC, the identifier of the seventh SC and the information of the location of the sixth SC, and the policy information includes the identifier of the SC that can access the seventh SC and the identifier of the PLMN that cannot access the seventh SC, if the identifier of the sixth SC is included in the identifier of the SC that can access the seventh SC, and the identifier of the PLMN indicated by the information of the location of the sixth SC is not included in the identifier of the PLMN that cannot access the seventh SC, then the sixth SC can access the seventh SC; if the identifier of the sixth SC is not included in the identifier of the SC that can access the seventh SC, then the sixth SC cannot access the seventh SC; if the identifier of the PLMN indicated by the information of the location of the sixth SC is included in the identifier of the PLMN that cannot access the seventh SC, then the sixth SC cannot access the seventh SC.
[0353] Optionally, the execution node of the eighth SC sends the execution result of the eighth SC to other nodes on the third blockchain to upload the execution result to the blockchain. This allows the execution result of the eighth SC to be recorded on the third blockchain in the form of a transaction for easy traceability. The third blockchain is the blockchain where the eighth SC resides. It will be understood that the execution result of the eighth SC includes the access permission information of the sixth SC to the seventh SC.
[0354] S1303: The execution node of the eighth SC sends the first information to the execution node of the sixth SC. Correspondingly, the execution node of the sixth SC receives the first information from the execution node of the eighth SC.
[0355] It can be understood that if the execution node of the eighth SC determines that the sixth SC cannot access the seventh SC, indication information indicating that the sixth SC cannot access the seventh SC is sent to the execution node of the sixth SC.
[0356] Based on the method shown in FIG. 13 , the sixth SC can obtain permission for the sixth SC to access the seventh SC by calling the eighth SC, so that the sixth SC can call the seventh SC.
[0357] In the method shown in Figure 13, the execution node of the sixth SC requests access to the seventh SC by invoking the SC. In addition to the above method, the execution node of the sixth SC can also directly send a request to the authorization node, requesting access to the seventh SC. The authorization node has the function of determining the access rights of one SC to another SC. For example, the execution node of the sixth SC sends a first request to the authorization node. This first request requests access to the seventh SC by the sixth SC. After receiving the first request, the authorization node determines first information and sends the first information to the execution node of the sixth SC. In this scenario, the third blockchain is the blockchain where the authorization node resides. It is understood that the authorization node does not determine the access rights of the sixth SC to the seventh SC by executing the SC, but the logic used by the authorization node to determine this access right can be the same as that used by the eighth SC. For example, the authorization node stores the aforementioned policy information or obtains it from another node. After receiving the first request, the authorization node queries the policy information to determine the access rights of the sixth SC to the seventh SC.
[0358] The various embodiments mentioned above in this application can be combined without limitation if there is no contradiction between the solutions.
[0359] For example, Figures 8 to 13 are methods provided in this application, and these methods can be combined with each other. For example, the eighth SC can be first discovered by the method shown in Figure 8, and then the method shown in Figure 13 can be executed; or, the method shown in Figure 13 can be first executed to obtain the first information, and then the method shown in Figure 12 can be executed to call the seventh SC according to the first information; or, the fourth SC can be first discovered by the method shown in Figure 8, and then the method shown in Figure 10 or Figure 11 can be executed; or, in the process of executing the method shown in Figure 12 or Figure 13, the method shown in Figure 10 or Figure 11 can be executed so that the sixth SC obtains the status information of the seventh SC. It can be understood that the above are only examples of the combination of these methods, and in specific applications, they are not limited to these combinations.
[0360] The above mainly introduces the solution provided by the present application from the perspective of interaction between each node. Accordingly, the present application also provides a communication device, which can be a node in the above method embodiment (such as the first node, the second node, the deployment node of the fifth SC, the deployment node of the fourth SC, the execution node of the sixth SC, the execution node of the seventh SC or the execution node of the eighth SC, etc.), or a device including the above node, or a component that can be used for the above node. It is understandable that the above node includes a hardware structure and / or software module corresponding to the execution of each function in order to achieve the above functions. Those skilled in the art should easily realize that, in combination with the units and algorithm operations of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0361] The present application can divide the above-mentioned nodes into functional modules according to the above-mentioned method examples. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. It is understood that the division of modules in this application is schematic and is only a logical functional division. In actual implementation, there may be other division methods.
[0362] For example, FIG14 illustrates a schematic structural diagram of a communication device 140, wherein the functional modules are divided in an integrated manner. Communication device 140 includes a processing module 1401. Optionally, communication device 140 also includes an interface module 1402. Processing module 1401, also known as a processing unit, is configured to perform operations other than transceiver operations and may be, for example, a processing circuit or processor. Interface module 1402, also known as an interface unit, is configured to perform transceiver operations and may be, for example, an interface circuit, a transceiver, a transceiver, or a communication interface.
[0363] In some embodiments, the communication device 140 may further include a storage module (not shown in FIG. 14 ) for storing program instructions and data.
[0364] Exemplarily, the communication device 140 is used to implement the function of the first node. The communication device 140 is, for example, the first node described in the embodiment shown in FIG8 or the embodiment shown in FIG9 .
[0365] Processing module 1401 is configured to obtain first call information. The first call information is used to call a first smart contract, which is used to discover a second smart contract, which has a core network function. For example, processing module 1401 can be configured to execute S801.
[0366] The processing module 1401 is further configured to obtain information about the second smart contract based on the first call information. For example, the processing module 1401 may be configured to execute S802.
[0367] In one possible implementation, the processing module 1401 is specifically configured to execute the first smart contract and obtain information about the second smart contract.
[0368] In one possible implementation, the interface module 1402 is configured to send the execution result of the first smart contract to the node of the first blockchain, and the first blockchain deploys the first smart contract.
[0369] In one possible implementation, the processing module 1401 is specifically used to send second call information to the execution node of the first smart contract through the interface module 1402, where the second call information is determined based on the first call information; the processing module 1401 is also specifically used to receive information about the second smart contract through the interface module 1402.
[0370] In one possible implementation, processing module 1401 is specifically used to determine that the first smart contract and the second smart contract are located in different blockchains; processing module 1401 is further specifically used to send first cross-chain call information through interface module 1402, the first cross-chain call information is used to cross-chain call a third smart contract, the third smart contract is used to discover the second smart contract, and the third smart contract and the second smart contract are located in the same blockchain; processing module 1401 is further specifically used to receive information about the second smart contract through interface module 1402.
[0371] In one possible implementation, interface module 1402 is further used to send first indication information, where the first indication information is used to indicate that the first smart contract and the second smart contract are located in different blockchains.
[0372] In one possible implementation, the first call information includes at least one of the following: an identifier of the second smart contract, an identifier of the second blockchain, information of the first execution node, information of the first verification node, information of the first deployment node, or information of the first network function.
[0373] In one possible implementation, the information of the second smart contract includes at least one of the following: an identifier of the blockchain where the second smart contract is located or an identifier of the second smart contract.
[0374] In one possible implementation, the information of the second smart contract also includes at least one of the following: information of the verification node of the second smart contract, information of the execution node of the second smart contract, information of the deployment node of the second smart contract, key information of the second smart contract, token access method information of the second smart contract, version identification information of the second smart contract, input parameters of the network function possessed by the second smart contract, or information of the network function possessed by the second smart contract.
[0375] In one possible implementation, the interface module 1402 is further configured to send information of the second smart contract.
[0376] In one possible implementation, the network functions of the core network are used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0377] In one possible implementation method, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0378] When used to implement the function of the first node, regarding other functions that the communication device 140 can implement, please refer to the relevant introduction of the embodiment shown in Figure 8 or the embodiment shown in Figure 9, and no further details will be given.
[0379] Alternatively, illustratively, the communication device 140 is used to implement the function of the second node. The communication device 140 is, for example, the second node described in the embodiment shown in FIG8 or the embodiment shown in FIG9 .
[0380] The interface module 1402 is configured to send a first call message, the first call message being used to call a first smart contract, the first smart contract being used to discover a second smart contract, and the second smart contract having a core network function. For example, the interface module 1402 can be configured to execute S901.
[0381] The interface module 1402 is further configured to receive information about the second smart contract. For example, the interface module 1402 may be configured to execute S905.
[0382] In one possible implementation, the first call information includes at least one of the following: an identifier of the second smart contract, an identifier of the second blockchain, information of the first execution node, information of the first verification node, information of the first deployment node, or information of the first network function.
[0383] In one possible implementation, the information of the second smart contract includes at least one of the following: an identifier of the blockchain where the second smart contract is located or an identifier of the second smart contract.
[0384] In one possible implementation, the information of the second smart contract also includes at least one of the following: information of the verification node of the second smart contract, information of the execution node of the second smart contract, information of the deployment node of the second smart contract, key information of the second smart contract, token access method information of the second smart contract, version identification information of the second smart contract, input parameters of the network function possessed by the second smart contract, or information of the network function possessed by the second smart contract.
[0385] In one possible implementation, the interface module 1402 is further used to receive first indication information, where the first indication information is used to indicate that the first smart contract and the second smart contract are located in different blockchains; the interface module 1402 is further used to send second cross-chain call information, where the second cross-chain call information is used to cross-chain call a third smart contract, where the third smart contract is used to discover the second smart contract, and the third smart contract and the second smart contract are located in the same blockchain.
[0386] In one possible implementation, the first indication information includes information about the third smart contract.
[0387] In one possible implementation, the network functions of the core network are used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0388] In one possible implementation method, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0389] When used to implement the function of the second node, regarding other functions that the communication device 140 can implement, please refer to the relevant introduction of the embodiment shown in Figure 8 or the embodiment shown in Figure 9, and no further details will be given.
[0390] Alternatively, illustratively, the communication device 140 is used to implement the function of the deployment node of the fifth smart contract. The communication device 140 is, for example, the deployment node of the fifth smart contract described in the embodiment shown in FIG10 .
[0391] The processing module 1401 is configured to monitor the first subscription event. For example, the processing module 1401 is configured to execute S1001.
[0392] Processing module 1401 is further configured to obtain status information of a fourth smart contract when the first subscription event is triggered. At least one of the fourth smart contract or the fifth smart contract has a core network function. For example, processing module 1401 is further configured to execute S1002.
[0393] In a possible implementation, the processing module 1401 is further configured to set a first subscription event.
[0394] In one possible implementation, the triggering condition of the first subscription event includes: updating of the fourth smart contract, cancellation of the fourth smart contract, activation of the fourth smart contract, or expiration of the fourth smart contract.
[0395] In one possible implementation, the network functions of the core network are used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0396] In one possible implementation method, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0397] When used to implement the function of the deployment node of the fifth smart contract, for other functions that the communication device 140 can implement, please refer to the relevant introduction of the embodiment shown in Figure 10, and no further details will be given.
[0398] Alternatively, illustratively, the communication device 140 is used to implement the function of a deployment node of the fourth smart contract. The communication device 140 is, for example, a deployment node of the fourth smart contract described in the embodiment shown in FIG11 .
[0399] The processing module 1401 is configured to monitor the second subscription event. For example, the processing module 1401 is configured to execute S1101.
[0400] Interface module 1402 is configured to send status information of the fourth smart contract to the deployment node of the fifth smart contract when the second subscription event is triggered. The fifth smart contract subscribes to the fourth smart contract, and at least one of the fourth smart contract and the fifth smart contract has core network network functionality. For example, interface module 1402 is further configured to execute S1102.
[0401] In a possible implementation, the processing module 1401 is further configured to set a second subscription event.
[0402] In one possible implementation, the triggering condition of the second subscription event includes: updating of the fourth smart contract, cancellation of the fourth smart contract, activation of the fourth smart contract, or expiration of the fourth smart contract.
[0403] In one possible implementation, the network functions of the core network are used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0404] In one possible implementation method, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0405] When used to implement the function of the deployment node of the fourth smart contract, for other functions that the communication device 140 can implement, please refer to the relevant introduction of the embodiment shown in Figure 11, and no further details will be given.
[0406] Alternatively, illustratively, the communication device 140 is used to implement the function of the execution node of the sixth smart contract. The communication device 140 is, for example, the execution node of the sixth smart contract described in the embodiment shown in FIG12 or the embodiment shown in FIG13.
[0407] Processing module 1401 is configured to determine third call information. The third call information is used to call a seventh smart contract, and the third call information includes first information, where the first information is used to obtain access rights for the sixth smart contract to access the seventh smart contract, and at least one of the sixth smart contract or the seventh smart contract has a core network function. For example, processing module 1401 is configured to execute S1201.
[0408] The interface module 1402 is configured to send the third call information. For example, the interface module 1402 is configured to execute S1202.
[0409] In one possible implementation, the first information includes access permission information for the sixth smart contract to access the seventh smart contract; or, the first information includes an identifier of a third blockchain, and the access permission information for the sixth smart contract to access the seventh smart contract is stored on a node of the third blockchain.
[0410] In one possible implementation, the access permission information includes at least one of the following: the effective time of the sixth smart contract accessing the seventh smart contract, or access scope information of the sixth smart contract accessing the seventh smart contract.
[0411] In one possible implementation, the interface module 1402 is further used to send a fourth call message, where the fourth call message is used to call an eighth smart contract, and the eighth smart contract is used to determine the access rights of the sixth smart contract to the seventh smart contract; the interface module 1402 is also used to receive the first information.
[0412] In one possible implementation, the fourth call information includes an identifier of the sixth smart contract and an identifier of the seventh smart contract.
[0413] In one possible implementation, the fourth call information also includes at least one of the following: an identifier of the blockchain where the sixth smart contract is located, information about the location of the sixth smart contract, information about the access location of the sixth smart contract, or an identifier of the blockchain where the seventh smart contract is located.
[0414] In one possible implementation, the interface module 1402 is further used to send a first request, where the first request is used to request the sixth smart contract to access the seventh smart contract; the interface module 1402 is further used to receive the first information.
[0415] In one possible implementation, the network functions of the core network are used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0416] In one possible implementation method, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0417] When used to implement the function of the execution node of the sixth smart contract, regarding other functions that can be implemented by the communication device 140, reference can be made to the relevant introduction of the embodiment shown in Figure 12 or the embodiment shown in Figure 13, and no further details will be given.
[0418] Alternatively, illustratively, the communication device 140 is used to implement the function of the execution node of the eighth smart contract. The communication device 140 is, for example, the execution node of the eighth smart contract described in the embodiment shown in FIG13 .
[0419] The interface module 1402 is configured to receive the fourth call information. The fourth call information is used to call the eighth smart contract. For example, the interface module 1402 is configured to execute S1301.
[0420] Processing module 1401 is configured to execute the eighth smart contract and obtain access permission information for the sixth smart contract to access the seventh smart contract. At least one of the sixth smart contract, the seventh smart contract, or the eighth smart contract has a core network function. For example, processing module 1401 is configured to execute S1302.
[0421] The interface module 1402 is further configured to send a first message, where the first message is used to obtain access rights for the sixth smart contract to access the seventh smart contract. For example, the interface module 1402 is further configured to execute S1303.
[0422] In one possible implementation, the first information includes access permission information; or, the first information includes an identifier of a third blockchain, and the access permission information is stored on a node of the third blockchain.
[0423] In one possible implementation, the access permission information includes at least one of the following: the effective time of the sixth smart contract accessing the seventh smart contract, or access scope information of the sixth smart contract accessing the seventh smart contract.
[0424] In one possible implementation, the interface module 1402 is further configured to send the execution result of the eighth smart contract to the node on the blockchain where the eighth smart contract is located.
[0425] In one possible implementation, the network functions of the core network are used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0426] In one possible implementation method, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0427] When used to implement the function of the execution node of the eighth smart contract, for other functions that can be implemented by the communication device 140, please refer to the relevant introduction of the embodiment shown in Figure 13, and no further details will be given.
[0428] Alternatively, illustratively, the communication device 140 is used to implement the function of the execution node of the seventh smart contract. The communication device 140 is, for example, the execution node of the seventh smart contract described in the embodiment shown in FIG12 .
[0429] Interface module 1402 is configured to receive third call information. The third call information is used to call a seventh smart contract. The third call information includes first information, and the first information is used to obtain access rights for the sixth smart contract to access the seventh smart contract. At least one of the sixth smart contract or the seventh smart contract has core network functionality. For example, interface module 1402 is configured to execute S1202.
[0430] The processing module 1401 is configured to determine whether to execute the seventh smart contract based on the third call information. For example, the processing module 1401 is configured to execute S1203.
[0431] In one possible implementation, the first information includes access permission information for the sixth smart contract to access the seventh smart contract; or, the first information includes an identifier of a third blockchain, and the third blockchain stores access permission information for the sixth smart contract to access the seventh smart contract.
[0432] In one possible implementation, the first information includes access permission information for the sixth smart contract to access the seventh smart contract; and the processing module 1401 is specifically configured to determine whether to execute the seventh smart contract based on the access permission information.
[0433] In one possible implementation, the first information includes an identifier of the third blockchain; the processing module 1401 is specifically configured to send query information to a node of the third blockchain through the interface module 1402, where the query information is used to query access rights of the sixth smart contract to the seventh smart contract; the processing module 1401 is further specifically configured to receive a query result through the interface module 1402; and the processing module 1401 is further specifically configured to determine whether to execute the seventh smart contract based on the query result.
[0434] In one possible implementation, the network functions of the core network are used to provide at least one of the following services: contract service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
[0435] In one possible implementation method, the network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network openness function, computing plane function, data plane function or intelligent plane function.
[0436] When used to implement the function of the execution node of the seventh smart contract, for other functions that the communication device 140 can implement, please refer to the relevant introduction of the embodiment shown in Figure 12, and no further details will be given.
[0437] In a simple embodiment, those skilled in the art may appreciate that the communication device 140 may be in the form shown in Figure 7. For example, the processor 701 in Figure 7 may call computer-executable instructions stored in the memory 703 to enable the communication device 140 to execute the method described in the above method embodiment.
[0438] Exemplarily, the functions / implementation processes of the processing module 1401 and the interface module 1402 in FIG14 may be implemented by the processor 701 in FIG7 calling computer-executable instructions stored in the memory 703. Alternatively, the functions / implementation processes of the processing module 1401 in FIG14 may be implemented by the processor 701 in FIG7 calling computer-executable instructions stored in the memory 703, and the functions / implementation processes of the interface module 1402 in FIG14 may be implemented by the communication interface 704 in FIG7.
[0439] It is understandable that one or more of the above modules or units can be implemented by software, hardware or a combination of the two. When any of the above modules or units is implemented by software, the software exists in the form of computer program instructions and is stored in a memory, and a processor can be used to execute the program instructions and implement the above method flow. The processor can be built into an SoC (system on chip) or an ASIC, or it can be an independent semiconductor chip. In addition to the core used to execute software instructions to perform calculations or processing within the processor, it can further include necessary hardware accelerators, such as field programmable gate arrays (FPGAs), PLDs (programmable logic devices), or logic circuits that implement dedicated logic operations.
[0440] When the above modules or units are implemented in hardware, the hardware can be any one or any combination of a CPU, a microprocessor, a digital signal processing (DSP) chip, a microcontroller unit (MCU), an artificial intelligence processor, an ASIC, a SoC, an FPGA, a PLD, a dedicated digital circuit, a hardware accelerator or a non-integrated discrete device, which can run the necessary software or not rely on the software to execute the above method flow.
[0441] Optionally, the present application also provides a chip system, comprising: at least one processor and an interface, wherein the at least one processor is coupled to a memory via the interface, and when the at least one processor executes a computer program or instruction in the memory, the method in any of the above method embodiments is executed. In one possible implementation, the chip system also includes a memory. Optionally, the chip system can be composed of a chip, or can include a chip and other discrete devices, which is not specifically limited in this application.
[0442] Optionally, the present application also provides a computer-readable storage medium. All or part of the processes in the above-mentioned method embodiments can be completed by a computer program to instruct the relevant hardware. The program can be stored in the above-mentioned computer-readable storage medium. When the program is executed, it can include the processes of the above-mentioned method embodiments. The computer-readable storage medium can be an internal storage unit of the communication device of any of the above-mentioned embodiments, such as a hard disk or memory of the communication device. The above-mentioned computer-readable storage medium can also be an external storage device of the above-mentioned communication device, such as a plug-in hard disk, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. equipped on the above-mentioned communication device. Furthermore, the above-mentioned computer-readable storage medium can also include both the internal storage unit of the above-mentioned communication device and an external storage device. The above-mentioned computer-readable storage medium is used to store the above-mentioned computer program and other programs and data required by the above-mentioned communication device. The above-mentioned computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0443] Optionally, the present application also provides a computer program product. All or part of the processes in the above method embodiments may be completed by a computer program instructing related hardware. The program may be stored in the above computer program product, and when executed, the program may include the processes in the above method embodiments.
[0444] Optionally, the present application also provides a computer instruction. All or part of the process in the above method embodiment can be completed by the computer instruction to instruct the relevant hardware (such as a computer or processor, etc.). The program can be stored in the above computer-readable storage medium or in the above computer program product.
[0445] Optionally, the present application also provides a communication system, including: the first node and the second node in the above embodiment.
[0446] Optionally, the present application further provides a communication system, comprising: an execution node for the sixth smart contract and an execution node for the seventh smart contract in the above embodiment. Optionally, the communication system further comprises an execution node for the eighth smart contract in the above embodiment.
[0447] Optionally, the present application also provides a communication system, including: the execution node of the sixth smart contract and the execution node of the eighth smart contract in the above embodiment.
[0448] Through the description of the above implementation methods, technical personnel in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0449] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules or units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0450] The units described as separate components may or may not be physically separate, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple places. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0451] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0452] The above is only a specific embodiment of the present application, but the scope of protection of this application is not limited to this. Any changes or substitutions within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A communication method based on smart contracts, characterized in that: The method comprises: Obtaining first call information, where the first call information is used to call a first smart contract, where the first smart contract is used to discover a second smart contract, where the second smart contract has a network function of a core network; The information of the second smart contract is obtained according to the first call information.
2. The method according to claim 1, characterized in that The acquiring the information of the second smart contract according to the first call information includes: Execute the first smart contract to obtain information about the second smart contract.
3. The method according to claim 2, characterized in that The method further comprises: The execution result of the first smart contract is sent to a node of the first blockchain, and the first blockchain deploys the first smart contract.
4. The method according to claim 1, characterized in that The acquiring the information of the second smart contract according to the first call information includes: Sending second call information to the execution node of the first smart contract, where the second call information is determined according to the first call information; Receive information about the second smart contract.
5. The method according to claim 1, characterized in that The acquiring the information of the second smart contract according to the first call information includes: Determining that the first smart contract and the second smart contract are located in different blockchains; Sending first cross-chain call information, where the first cross-chain call information is used to cross-chain call a third smart contract, where the third smart contract is used to discover the second smart contract, where the third smart contract and the second smart contract are located in the same blockchain; Receive information about the second smart contract.
6. The method according to claim 1 or 5, characterized in that: The method further comprises: Send first indication information, where the first indication information is used to indicate that the first smart contract and the second smart contract are located in different blockchains.
7. The method according to any one of claims 1 to 6, characterized in that The first call information includes at least one of the following: an identifier of the second smart contract, an identifier of the second blockchain, information of the first execution node, information of the first verification node, information of the first deployment node, or information of the first network function.
8. The method according to any one of claims 1 to 7, characterized in that The information of the second smart contract includes at least one of the following: an identifier of the blockchain where the second smart contract is located or an identifier of the second smart contract.
9. The method according to claim 8, characterized in that The information of the second smart contract also includes at least one of the following: information of the verification node of the second smart contract, information of the execution node of the second smart contract, information of the deployment node of the second smart contract, key information of the second smart contract, token access method information of the second smart contract, version identification information of the second smart contract, input parameters of the network function of the second smart contract, or information of the network function of the second smart contract.
10. The method according to any one of claims 1 to 9, characterized in that The method further comprises: Send the information of the second smart contract.
11. A communication method based on smart contracts, characterized in that: The method comprises: Sending first call information, where the first call information is used to call a first smart contract, where the first smart contract is used to discover a second smart contract, where the second smart contract has a network function of a core network; Receive information about the second smart contract.
12. The method according to claim 11, characterized in that The first call information includes at least one of the following: an identifier of the second smart contract, an identifier of the second blockchain, information of the first execution node, information of the first verification node, information of the first deployment node, or information of the first network function.
13. The method according to claim 11 or 12, characterized in that: The information of the second smart contract includes at least one of the following: an identifier of the blockchain where the second smart contract is located or an identifier of the second smart contract.
14. The method according to claim 13, characterized in that The information of the second smart contract also includes at least one of the following: information of the verification node of the second smart contract, information of the execution node of the second smart contract, information of the deployment node of the second smart contract, key information of the second smart contract, token access method information of the second smart contract, version identification information of the second smart contract, input parameters of the network function of the second smart contract, or information of the network function of the second smart contract.
15. The method according to any one of claims 11 to 14, characterized in that The method further comprises: Receive first indication information, where the first indication information is used to indicate that the first smart contract and the second smart contract are located in different blockchains; Send second cross-chain call information, where the second cross-chain call information is used to cross-chain call a third smart contract, where the third smart contract is used to discover the second smart contract, and where the third smart contract and the second smart contract are located in the same blockchain.
16. The method according to claim 15, characterized in that The first indication information includes information of the third smart contract.
17. A communication method based on smart contracts, characterized in that: The method comprises: The deployment node of the fifth smart contract monitors the first subscription event; When the first subscription event is triggered, the deployment node of the fifth smart contract obtains the status information of the fourth smart contract, and at least one of the fourth smart contract or the fifth smart contract has the network function of the core network.
18. The method according to claim 17, characterized in that The method further comprises: The deployment node of the fifth smart contract sets the first subscription event.
19. The method according to claim 17 or 18, characterized in that The triggering condition of the first subscription event includes: updating the fourth smart contract, canceling the fourth smart contract, activating the fourth smart contract, or expiration of the fourth smart contract.
20. A communication method based on smart contracts, characterized in that: The method comprises: The deployment node of the fourth smart contract monitors the second subscription event; When the second subscription event is triggered, the deployment node of the fourth smart contract sends the status information of the fourth smart contract to the deployment node of the fifth smart contract, the fifth smart contract subscribes to the fourth smart contract, and at least one of the fourth smart contract or the fifth smart contract has the network function of the core network.
21. The method according to claim 20, characterized in that The method further comprises: The deployment node of the fourth smart contract sets the second subscription event.
22. The method according to claim 21, characterized in that The triggering condition of the second subscription event includes: updating the fourth smart contract, canceling the fourth smart contract, activating the fourth smart contract, or expiration of the fourth smart contract.
23. A communication method based on smart contracts, characterized in that: The method comprises: The execution node of the sixth smart contract determines third call information, where the third call information is used to call the seventh smart contract, where the third call information includes first information, where the first information is used to obtain access rights of the sixth smart contract to access the seventh smart contract, and at least one of the sixth smart contract or the seventh smart contract has a network function of a core network; The execution node of the sixth smart contract sends the third call information.
24. The method according to claim 23, characterized in that The first information includes access permission information of the sixth smart contract to access the seventh smart contract; or, The first information includes an identifier of a third blockchain, and a node of the third blockchain stores access permission information of the sixth smart contract to access the seventh smart contract.
25. The method according to claim 24, characterized in that The access permission information includes at least one of the following: the effective time of the sixth smart contract accessing the seventh smart contract, or the access scope information of the sixth smart contract accessing the seventh smart contract.
26. The method according to any one of claims 23 to 25, characterized in that The method further comprises: The execution node of the sixth smart contract sends fourth call information, where the fourth call information is used to call an eighth smart contract, where the eighth smart contract is used to determine the access rights of the sixth smart contract to access the seventh smart contract; The execution node of the sixth smart contract receives the first information.
27. The method according to claim 26, characterized in that The fourth calling information includes an identifier of the sixth smart contract and an identifier of the seventh smart contract.
28. The method according to claim 27, characterized in that The fourth call information also includes at least one of the following: an identifier of the blockchain where the sixth smart contract is located, information about the location of the sixth smart contract, information about the access location of the sixth smart contract, or an identifier of the blockchain where the seventh smart contract is located.
29. The method according to any one of claims 23 to 25, characterized in that The method further comprises: The execution node of the sixth smart contract sends a first request, where the first request is used to request the sixth smart contract to access the access rights of the seventh smart contract; The execution node of the sixth smart contract receives the first information.
30. A communication method based on smart contracts, characterized in that: The method comprises: Receive fourth call information, where the fourth call information is used to call an eighth smart contract; Execute the eighth smart contract to obtain access permission information of the sixth smart contract to access the seventh smart contract, wherein at least one of the sixth smart contract, the seventh smart contract or the eighth smart contract has a network function of a core network; Sending first information, where the first information is used to obtain access rights for the sixth smart contract to access the seventh smart contract.
31. The method according to claim 30, characterized in that The first information includes the access permission information; or, The first information includes an identifier of a third blockchain, and the access permission information is stored on a node of the third blockchain.
32. The method according to claim 30 or 31, characterized in that The access permission information includes at least one of the following: the effective time of the sixth smart contract accessing the seventh smart contract, or the access scope information of the sixth smart contract accessing the seventh smart contract.
33. The method according to any one of claims 30 to 32, characterized in that The method further comprises: Send the execution result of the eighth smart contract to the node on the blockchain where the eighth smart contract is located.
34. A communication method based on smart contracts, characterized in that: The method comprises: The execution node of the seventh smart contract receives third call information, where the third call information is used to call the seventh smart contract, where the third call information includes first information, where the first information is used to obtain access rights of the sixth smart contract to access the seventh smart contract, and at least one of the sixth smart contract or the seventh smart contract has a network function of a core network; The execution node of the seventh smart contract determines whether to execute the seventh smart contract according to the third call information.
35. The method according to claim 34, characterized in that The first information includes access permission information of the sixth smart contract to access the seventh smart contract; or, The first information includes an identifier of a third blockchain, and the third blockchain stores access permission information of the sixth smart contract to access the seventh smart contract.
36. The method according to claim 35, characterized in that The first information includes access permission information of the sixth smart contract to access the seventh smart contract; The execution node of the seventh smart contract determines whether to execute the seventh smart contract according to the third call information, including: The execution node of the seventh smart contract determines whether to execute the seventh smart contract according to the access permission information.
37. The method according to claim 35, characterized in that The first information includes an identifier of a third blockchain; The execution node of the seventh smart contract determines whether to execute the seventh smart contract according to the third call information, including: The execution node of the seventh smart contract sends query information to the node of the third blockchain, where the query information is used to query the access rights of the sixth smart contract to the seventh smart contract; The execution node of the seventh smart contract receives the query result; The execution node of the seventh smart contract determines whether to execute the seventh smart contract according to the query result.
38. The method according to any one of claims 1 to 37, characterized in that The network function of the core network is used to provide at least one of the following services: subscription service, authentication service, registration service, mobility management service, policy management service, data processing service, billing service, session management service, computing service, perception service or artificial intelligence service.
39. The method according to any one of claims 1 to 38, characterized in that The network functions of the core network include at least one of the following: access function, mobility management function, network storage function, unified data management, authentication service function, session management function, user plane function, policy control function, network open function, computing plane function, data plane function or intelligent plane function.
40. A communication device, characterized in that: Comprising a module or device for executing the method as claimed in any one of claims 1 to 10, or comprising a module or device for executing the method as claimed in any one of claims 11 to 16, or comprising a module or device for executing the method as claimed in any one of claims 17 to 19, or comprising a module or device for executing the method as claimed in any one of claims 20 to 22, or comprising a module or device for executing the method as claimed in any one of claims 23 to 29, or comprising a module or device for executing the method as claimed in any one of claims 30 to 33, or comprising a module or device for executing the method as claimed in any one of claims 34 to 39.
41. A communication device, characterized in that: include: A processor, the processor being coupled to a memory, the memory being used to store a program or instruction, which, when executed by the processor, causes the apparatus to perform the method as claimed in any one of claims 1 to 10, or the method as claimed in any one of claims 11 to 16, or the method as claimed in any one of claims 17 to 19, or the method as claimed in any one of claims 20 to 22, or the method as claimed in any one of claims 23 to 29, or the method as claimed in any one of claims 30 to 33, or the method as claimed in any one of claims 34 to 39.
42. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instructions are executed, the computer performs the method as claimed in any one of claims 1 to 10, or the method as claimed in any one of claims 11 to 16, or the method as claimed in any one of claims 17 to 19, or the method as claimed in any one of claims 20 to 22, or the method as claimed in any one of claims 23 to 29, or the method as claimed in any one of claims 30 to 33, or the method as claimed in any one of claims 34 to 39.
43. A computer program product, comprising computer program code, characterized in that: When the computer program code runs on a computer, the computer implements the method of any one of claims 1 to 10, or implements the method of any one of claims 11 to 16, or implements the method of any one of claims 17 to 19, or implements the method of any one of claims 20 to 22, or implements the method of any one of claims 23 to 29, or implements the method of any one of claims 30 to 33, or implements the method of any one of claims 34 to 39.
44. A communication system, characterized in that: include: An apparatus for performing the method according to any one of claims 1 to 10, and / or an apparatus for performing the method according to any one of claims 11 to 16.
45. A communication system, characterized in that: include: An apparatus for performing the method according to any one of claims 23 to 29, and / or an apparatus for performing the method according to any one of claims 34 to 37.
46. The communication system according to claim 45, characterized in that The communication system further comprises: an apparatus for executing the method as claimed in any one of claims 30 to 33.