Communication method and apparatus
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2023-10-25
- Publication Date
- 2026-05-29
AI Technical Summary
Traditional blockchain protocols and protocol stacks cannot be directly applied to telecommunications networks, and it is necessary to study how to apply blockchain to telecommunications networks.
Provide a communication method and device, by deploying a blockchain enable module or blockchain client in a telecommunications network node, realizing the discovery and election of blockchain nodes, and using TBWP or GTP-U messages for dynamic blockchain connection and data transmission.
It improves the accuracy and efficiency of blockchain node discovery and elections, realizes the effective application of blockchain in telecommunications networks, and enhances the security and flexibility of communication networks.
Smart Images

Figure CN122122880A_ABST
Abstract
Description
Communication method and device Technical Field
[0001] The present application relates to the field of communications, and in particular to a communication method and device. Background Art
[0002] Essentially, blockchain is a shared database. The data or information stored in it is unforgeable, traceable, transparent, and collectively maintained. Blockchain technology may be introduced into telecommunications networks (or communication networks).
[0003] Some current mainstream blockchains, such as Bitcoin and Hyperledger, integrate all blockchain functions into a single protocol stack. Others, such as Ethereum, separate blockchain functions into two main categories: connectivity and transaction transmission. Currently, traditional blockchain protocols and stacks cannot be directly applied to telecommunications networks. Therefore, research is needed on how to apply blockchain to telecommunications networks.
[0004] Summary of the Invention
[0005] The present application provides a communication method and apparatus for applying blockchain to a telecommunications network.
[0006] In a first aspect, an embodiment of the present application provides a communication method. The method can be applied to a first node in a telecommunications network. The first node can be a node that has a blockchain enabling module or a blockchain client deployed, or an independent blockchain enabling module or blockchain client. For example, the first node can be a terminal, an access network device, or a core network device, or a module (such as a circuit, a chip, a chip system, or a processor) in the terminal, access network device, or core network device, or a logical node, logical module, or software that can implement all or part of the functions of the terminal, access network device, or core network device. The method may include: the first node obtains and sends a first message. The first message is used to implement at least one of the following: discovery of blockchain nodes, election of blockchain nodes. The first message includes information about the first node, and the information about the first node is used to indicate at least one of the following: the node type of the first node, and the authority of the first node.
[0007] Through this method, when discovering and / or electing blockchain nodes, a first node can send information about the first node to a second node. The information about the first node can indicate the node type and / or authority of the first node. In this way, the second node can discover and / or elect blockchain nodes suitable for telecommunications networks based on the node type and / or authority of the first node, thereby improving the accuracy and efficiency of blockchain node discovery and / or blockchain node election.
[0008] In some possible designs, the first message is used to discover a blockchain node, and the information about the first node also includes information indicating the blockchain to be joined. In this way, the first node can accurately indicate the blockchain to be joined.
[0009] In some possible designs, the first message is used to discover blockchain nodes. The first node may also receive a second message. This second message includes information about M nodes, where M is a positive integer. The M nodes are some or all of the multiple nodes included in the blockchain to be joined by the first node. The information about the M nodes indicates at least one of the following: the node types of the M nodes and the permissions of the M nodes. This allows the first node to quickly obtain information about the M nodes in the blockchain to be joined, thereby enabling blockchain node discovery.
[0010] In some possible designs, the first message is used to implement blockchain node election, where the first node is any node in the first blockchain. The first node can send the first message to a second node in the first blockchain. The second node is any node in the first blockchain other than the first node. The first node's information also indicates at least one of the following: the first node's computing power, the first node's storage capacity, the first node's connectivity, and the first node's influence factor. In this way, nodes receiving the first message can accurately determine their voting opinions based on the first node's information, thereby electing a suitable supernode.
[0011] In some possible designs, a first node can send a first message to a second node via TBWP. The first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, the first node and the second node are both access network devices; or, the first node and the second node are both core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal. This design allows the first and second nodes to communicate via TBWP related to the blockchain's dynamic connection functionality. TBWP can be an independent protocol designed for this blockchain's dynamic connection functionality, facilitating the independent configuration and evolution of blockchain capabilities. Furthermore, this protocol can be downloaded, activated, disabled, or deleted along with the blockchain enabler or blockchain client, thereby conserving node storage resources.
[0012] In some possible designs, the protocol layer corresponding to the TBWP is located at the top layer of the wireless network protocol stack. In this way, the protocol layer corresponding to the TBWP can be located above the protocol layer that supports connection establishment, and the first node can establish a connection according to the protocol corresponding to the protocol layer that supports connection establishment, thereby communicating through the TBWP.
[0013] In some possible designs, a first node sends a first message to a second node via a first-type TBWP; where the first node is a terminal and the second node is an access network device; or, alternatively, the first node is an access network device and the second node is a terminal. Alternatively, the first node sends the first message to the second node via a second-type TBWP; where the first node is a terminal and the second node is a core network device; or, alternatively, the first node is a core network device and the second node is a terminal. In the wireless network protocol stack, the protocol layer corresponding to the second-type TBWP is above the protocol layer corresponding to the first-type TBWP. With this design, the first-type TBWP can be used for communication between a terminal and an access network device, while the second-type TBWP can be used for communication between a terminal and a core network device, thereby improving communication efficiency.
[0014] In some possible designs, a first node may send a GTP-U message to a second node. The value of the GTP-U extension header of this GTP-U message is a first value, which is used to indicate that the first message is used to implement the blockchain dynamic connection function. Exemplarily, the blockchain dynamic connection function includes at least one of the following: blockchain node discovery and blockchain node election. With this design, the first node can accurately indicate, through the first value, that the first message is used to implement blockchain node discovery and / or blockchain node election in the blockchain dynamic connection function. Furthermore, this approach can reuse GTP-U messages in the telecommunications network, requiring minimal changes to the telecommunications network, improving compatibility, and reducing implementation complexity.
[0015] In some possible designs, the first node may send a GTP-U message to the second node. The GTP-U message includes a first information element, which includes information about the first node. This design allows for reuse of GTP-U messages in the telecommunications network, requiring minimal changes to the telecommunications network, ensuring high compatibility, and reducing implementation complexity.
[0016] In a second aspect, an embodiment of the present application provides a communication method. The method can be applied to a second node in a telecommunications network. The second node can be a node that has a blockchain enabling module or a blockchain client deployed, or an independent blockchain enabling module or blockchain client. For example, the second node can be a terminal, an access network device, or a core network device, or a module (such as a circuit, a chip, a chip system, or a processor) in the terminal, access network device, or core network device, or a logical node, logical module, or software that can implement all or part of the functions of the terminal, access network device, or core network device. The method may include: the second node receives and processes a first message from the first node. The first message is used to implement at least one of the following: discovery of blockchain nodes, election of blockchain nodes. The first message includes information about the first node, and the information about the first node is used to indicate at least one of the following: the node type of the first node, and the authority of the first node.
[0017] In some possible designs, the first message is used to realize the discovery of blockchain nodes, and the information of the first node also includes: indication information of the blockchain to be joined.
[0018] In some possible designs, the first message is used to discover blockchain nodes. The second node may send a second message that includes information about M nodes. M is a positive integer, and the M nodes are some or all of the multiple nodes included in the blockchain that the first node is to join. The information about the M nodes indicates at least one of the following: the node types of the M nodes, and the permissions of the M nodes.
[0019] In some possible designs, the first message is used to implement blockchain node election. The first node is any node in the first blockchain, and the second node is any node in the first blockchain other than the first node. The first node information is further used to indicate at least one of the following: the computing power of the first node, the storage capacity of the first node, the connectivity capacity of the first node, and the influence factor of the first node.
[0020] In some possible designs, the second node may receive the first message from the first node via the TBWP. The first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, the first node and the second node are both access network devices; or, the first node and the second node are both core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal.
[0021] In some possible designs, the protocol layer corresponding to TBWP is located at the top layer of the wireless network protocol stack.
[0022] In some possible designs, a second node receives a first message from a first node via a first-type TBWP; wherein the first node is a terminal and the second node is an access network device; or, alternatively, the first node is an access network device and the second node is a terminal. Alternatively, the second node receives a first message from a first node via a second-type TBWP; wherein the first node is a terminal and the second node is a core network device; or, alternatively, the first node is a core network device and the second node is a terminal. In the wireless network protocol stack, the protocol layer corresponding to the second-type TBWP is above the protocol layer corresponding to the first-type TBWP.
[0023] In some possible designs, the second node may receive a GTP-U message from the first node. The value of the GTP-U extension header of the GTP-U message is a first value, and the first value is used to indicate that the first message is used to implement a blockchain dynamic connection function. Exemplarily, the blockchain dynamic connection function includes at least one of the following: blockchain node discovery and blockchain node election.
[0024] In some possible designs, the second node may receive a GTP-U message from the first node. The GTP-U message includes a first information element, and the first information element includes information of the first node.
[0025] In a third aspect, embodiments of the present application provide a communication method. This method can be applied to a first node in a telecommunications network. The first node can be a node deployed with a blockchain-enabled module or a blockchain client, or a standalone blockchain-enabled module or blockchain client. For example, the first node can be a terminal, an access network device, or a core network device, or a module (e.g., a circuit, chip, chip system, or processor) within the terminal, access network device, or core network device, or a logical node, logical module, or software that implements all or part of the functions of the terminal, access network device, or core network device. The method can include: the first node obtaining a third message. The third message is used for at least one of: transmitting blockchain data or querying blockchain data. The third message includes at least one of: data to be transmitted or information indicating data to be queried. The first node can send the third message to a second node; wherein the second node and the first node belong to the same blockchain, and the second node has permission to query the blockchain ledger.
[0026] In telecommunications networks, different nodes may belong to different blockchains, and some nodes may not have permission to query blockchain ledgers. With this method, a first node sends a third message to a second node only after determining that the second node belongs to the same blockchain as the first node and has permission to query the blockchain ledger. This prevents the transmission of blockchain data to nodes on other blockchains and prevents the target receiving node from lacking permission to query the blockchain ledger, thereby improving communication security.
[0027] In some possible designs, the first node can send a third message to the second node via TBDP. Here, the first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, the first node and the second node are both access network devices; or, the first node and the second node are both core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal. With this design, the first and second nodes can communicate related to blockchain data functions via TBDP. TBDP can be an independent protocol designed for blockchain data functions, thereby facilitating the independent configuration and evolution of blockchain capabilities. Furthermore, this protocol can be downloaded, activated, disabled, or deleted along with the blockchain enabler or blockchain client, thereby conserving node storage resources.
[0028] In some possible designs, the protocol layer corresponding to TBDP is located at the top layer of the wireless network protocol stack. In this way, the protocol layer corresponding to TBDP can be located above the protocol layer supporting connection establishment, and the first node can establish a connection according to the protocol corresponding to the protocol layer supporting connection establishment, thereby communicating through TDWP.
[0029] In some possible designs, a first node sends a GTP-U message to a second node. The value of the GTP-U extension header in this GTP-U message is a second value. The second value is used to indicate that the third message is used to implement a blockchain data function. Exemplarily, the blockchain data function includes at least one of the following: blockchain data transmission or blockchain data query. With this design, the first node can accurately indicate, using the second value, that the third message is used to implement the blockchain data function. Furthermore, this approach reuses the G-PDU messages within the GTP-U protocol in the telecommunications network, requiring minimal changes to the telecommunications network, ensuring high compatibility and low implementation complexity.
[0030] In a fourth aspect, embodiments of the present application provide a communication method. This method can be applied to a second node in a telecommunications network. The second node can be a node that has a blockchain-enabled module or a blockchain client deployed, or an independent blockchain-enabled module or blockchain client. For example, the second node can be a terminal, an access network device, or a core network device, or a module (such as a circuit, chip, chip system, or processor) in the terminal, access network device, or core network device, or a logical node, logical module, or software that can implement all or part of the functions of the terminal, access network device, or core network device. The method may include: the second node receiving and processing a third message from the first node. The third message is used for at least one of the following: transmission of blockchain data or querying of blockchain data. The third message includes at least one of the following: data to be transmitted or information indicating data to be queried. The second node and the first node belong to the same blockchain, and the second node has permission to query the blockchain ledger.
[0031] In some possible designs, the second node may receive the third message from the first node via TBDP. The first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, the first node and the second node are both access network devices; or, the first node and the second node are both core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal.
[0032] In some possible designs, the protocol layer corresponding to TBDP is located at the top layer of the wireless network protocol stack.
[0033] In some possible designs, the second node may receive a GTP-U message from the first node. The value of the GTP-U extension header of the GTP-U message is a second value, and the second value is used to indicate that the third message is used to implement a blockchain data function. Exemplarily, the blockchain data function includes at least one of the following: transmission of blockchain data and query of blockchain data.
[0034] In a fifth aspect, an embodiment of the present application provides a communication method. The method can be applied to a first node in a telecommunications network. The first node can be a node that has a blockchain enabling module or a blockchain client deployed, or an independent blockchain enabling module or blockchain client. For example, the first node can be a terminal, an access network device, or a core network device, or a module (such as a circuit, a chip, a chip system, or a processor) in the terminal, access network device, or core network device, or a logical node, logical module, or software that can implement all or part of the functions of the terminal, access network device, or core network device. The method may include: the first node obtains a fourth message, wherein the fourth message is used to implement a blockchain node check, and the fourth message includes: the blockchain parameters of the first node. The first node is any node in the first blockchain, and the first node sends a fourth message to a second node in the first blockchain, and the second node and the first node are connected.
[0035] In traditional blockchains, all nodes support blockchain capabilities. In telecom network blockchains, blockchain capabilities can be configured on demand, and not all nodes support them. Using this method, when checking a blockchain node, a first node can send its blockchain parameters to a second node. This allows the second node to perform a check on a blockchain node suitable for telecom networks based on the first node's blockchain parameters, thereby improving the accuracy and efficiency of blockchain node checks.
[0036] In some possible designs, a first node receives a first request from a second node, requesting a blockchain node check on the first node. With this design, the first node sends a fourth message based on the second node's request, allowing the fourth message to be sent on demand, reducing overhead.
[0037] In some possible designs, the blockchain parameters include a status of a blockchain enabling unit or a blockchain client. Based on the status of the blockchain enabling unit or the blockchain client, the second node performs an inspection of the blockchain node applicable to the telecommunications network, thereby improving the accuracy and efficiency of the blockchain node inspection.
[0038] In some possible designs, the first node can send the fourth message to the second node via TBWP. Here, the first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, the first node and the second node are both access network devices; or, the first node and the second node are both core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal. With this design, the first and second nodes can communicate via TBWP regarding the blockchain's dynamic connection functionality. TBWP can be an independent protocol designed for this blockchain's dynamic connection functionality, facilitating the independent configuration and evolution of blockchain capabilities. Furthermore, this protocol can be downloaded, activated, disabled, or deleted along with the blockchain enabler or blockchain client, thereby conserving node storage resources.
[0039] In some possible designs, the protocol layer corresponding to the TBWP is located at the top layer of the wireless network protocol stack. In this way, the protocol layer corresponding to the TBWP can be located above the protocol layer that supports connection establishment, and the first node can establish a connection according to the protocol corresponding to the protocol layer that supports connection establishment, thereby communicating through the TBWP.
[0040] In some possible designs, a first node sends a fourth message to a second node via a first-type TBWP; where the first node is a terminal and the second node is an access network device; or, alternatively, the first node is an access network device and the second node is a terminal. Alternatively, the first node sends the fourth message to the second node via a second-type TBWP; where the first node is a terminal and the second node is a core network device; or, alternatively, the first node is a core network device and the second node is a terminal. In the wireless network protocol stack, the protocol layer corresponding to the second-type TBWP is above the protocol layer corresponding to the first-type TBWP. With this design, the first-type TBWP can be used for communication between a terminal and an access network device, while the second-type TBWP can be used for communication between a terminal and a core network device, thereby improving communication efficiency.
[0041] In some possible designs, the first node may send a GTP-U message to the second node. The value of the GTP-U extension header in this GTP-U message is a first value, which is used to indicate that the fourth message is used to implement the blockchain dynamic connection function. Exemplarily, the blockchain dynamic connection function includes checking blockchain nodes. With this design, the first node can accurately indicate, through the first value, that the first message is used to implement the blockchain node check in the blockchain dynamic connection function. Furthermore, this approach can reuse GTP-U messages in the telecommunications network, requiring minimal changes to the telecommunications network, improving compatibility, and reducing implementation complexity.
[0042] In a sixth aspect, an embodiment of the present application provides a communication method. The method can be applied to a second node in a telecommunications network. The second node can be a node that has a blockchain enabling module or a blockchain client deployed, or an independent blockchain enabling module or blockchain client. For example, the second node can be a terminal, an access network device, or a core network device, or a module (such as a circuit, chip, chip system, or processor) in the terminal, access network device, or core network device, or a logical node, logical module, or software that can implement all or part of the functions of the terminal, access network device, or core network device. The method may include: the second node receives a fourth message from the first node. The first node is any node in the first blockchain, the second node is a node in the first blockchain other than the first node, and the second node and the first node are connected. The fourth message is used to implement the inspection of the blockchain node, and the fourth message includes the blockchain parameters of the first node.
[0043] In some possible designs, the second node may also send a first request to the first node, where the first request is used to request a blockchain node inspection of the first node.
[0044] In some possible designs, the blockchain parameter includes the state of a blockchain enabling unit or a blockchain client.
[0045] In some possible designs, the second node may receive the fourth message from the first node via the TBWP. The first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, the first node and the second node are both access network devices; or, the first node and the second node are both core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal.
[0046] In some possible designs, the protocol layer corresponding to TBWP is located at the top layer of the wireless network protocol stack.
[0047] In some possible designs, the second node receives the fourth message from the first node via a first-type TBWP; wherein the first node is a terminal and the second node is an access network device; or, alternatively, the first node is an access network device and the second node is a terminal. Alternatively, the second node receives the fourth message from the first node via a second-type TBWP; wherein the first node is a terminal and the second node is a core network device; or, alternatively, the first node is a core network device and the second node is a terminal. In the wireless network protocol stack, the protocol layer corresponding to the second-type TBWP is above the protocol layer corresponding to the first-type TBWP.
[0048] In some possible designs, the second node may receive a GTP-U message from the first node. The value of the GTP-U extension header of the GTP-U message is a first value, and the first value is used to indicate that the fourth message is used to implement a blockchain dynamic connection function. Exemplarily, the blockchain dynamic connection function includes checking blockchain nodes.
[0049] In a seventh aspect, the present application provides a communication device. The communication device has the functions of implementing the first, third or fifth aspects above. The communication device may be a terminal, an access network device or a core network device, or a module (such as a circuit, a chip, a chip system or a processor) in a terminal, an access network device or a core network device, or a logical node, a logical module or software that can implement all or part of the functions of a terminal, an access network device or a core network device. The functions of the communication device can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the above functions.
[0050] In one possible design, the communication device includes a processing unit and an interface unit. The interface unit can be used to send and receive signals to enable communication between the communication device and other devices; the processing unit can be used to perform certain internal operations of the communication device. The functions performed by the processing unit and the interface unit can correspond to the operations described in the first, third, or fifth aspects above.
[0051] In one possible design, the communication device includes a processor, which can be coupled to a memory. The memory can store the necessary computer programs or instructions for implementing the functions of the first, third, or fifth aspects described above. The processor can execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the communication device implements the method of any possible design of the first, third, or fifth aspects described above.
[0052] In one possible design, the communication device includes a processor and a memory. The memory may store the necessary computer programs or instructions for implementing the functions of the first, third, or fifth aspects described above. The processor may execute the computer program or instructions stored in the memory. When the computer program or instructions are executed, the communication device implements the method of any possible design of the first, third, or fifth aspects described above.
[0053] In one possible design, the communication device includes a processor and an interface circuit, wherein the processor is used to communicate with other devices through the interface circuit and execute the method in any possible design of the first aspect, the third aspect or the fifth aspect above.
[0054] In an eighth aspect, the present application provides a communication device. The communication device has the functions of implementing the second, fourth, or sixth aspects above. The communication device may be a terminal, an access network device, or a core network device, or a module (such as a circuit, a chip, a chip system, or a processor) in a terminal, an access network device, or a core network device, or a logical node, a logical module, or software that can implement all or part of the functions of a terminal, an access network device, or a core network device. The functions of the communication device may be implemented by hardware or by hardware executing corresponding software, and the hardware or software may include one or more modules or units corresponding to the above functions.
[0055] In one possible design, the communication device includes a processing unit and an interface unit. The interface unit can be used to send and receive signals to enable communication between the communication device and other devices, and the processing unit can be used to perform certain internal operations of the communication device. The functions performed by the processing unit and the interface unit can correspond to the operations described in the second, fourth, or sixth aspects above.
[0056] In one possible design, the communication device includes a processor, which can be coupled to a memory. The memory can store the necessary computer programs or instructions for implementing the functions of the second, fourth, or sixth aspects described above. The processor can execute the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the communication device implements the method of any possible design of the second, fourth, or sixth aspects described above.
[0057] In one possible design, the communication device includes a processor and a memory, where the memory may store the necessary computer programs or instructions for implementing the functions of the second, fourth, or sixth aspects. The processor may execute the computer program or instructions stored in the memory. When the computer program or instructions are executed, the communication device implements the method of any possible design of the second, fourth, or sixth aspects.
[0058] In one possible design, the communication device includes a processor and an interface circuit, wherein the processor is used to communicate with other devices through the interface circuit and execute the method in any possible design of the second aspect, fourth aspect or sixth aspect above.
[0059] It can be understood that in the seventh aspect or the eighth aspect above, the processor can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor can be a general-purpose processor, which is implemented by reading the software code stored in the memory. In addition, the above processors can be one or more, and the memories can be one or more. The memory can be integrated with the processor, or the memory and the processor can be set separately. In the specific implementation process, the memory can be integrated with the processor on the same chip, or can be set on different chips respectively. The embodiment of the present application does not limit the type of memory and the setting method of the memory and the processor.
[0060] In a ninth aspect, the present application provides a communication system, which may include the communication device described in the seventh aspect and the communication device described in the eighth aspect. For example, the communication system includes a terminal and an access network device; wherein the terminal is used to execute the communication method provided in the first aspect, and the access network device is used to execute the communication method provided in the second aspect; or, the terminal is used to execute the communication method provided in the third aspect, and the access network device is used to execute the communication method provided in the fourth aspect; or, the terminal is used to execute the communication method provided in the fifth aspect, and the access network device is used to execute the communication method provided in the sixth aspect.
[0061] In the tenth aspect, the present application provides a computer-readable storage medium, which stores a computer program or instruction. When the computer program or instruction is executed, the method in any possible design of any aspect from the first to the sixth aspect is implemented.
[0062] In an eleventh aspect, the present application provides a computer program product, which includes a computer program code. When the computer program code is executed, the method in any possible design of any aspect from the first to the sixth aspects is implemented.
[0063] In a twelfth aspect, the present application provides a chip for reading a computer program stored in a memory to execute a method in any possible design of any one of the first to sixth aspects above.
[0064] The technical effects that can be achieved in any of the above-mentioned second, fourth, sixth to twelfth aspects can refer to the description of the technical effects that can be achieved in any possible design in any of the above-mentioned first, third and fifth aspects, and repetitions will not be discussed. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] FIG1 is an architecture diagram of a communication system provided in an embodiment of the present application;
[0066] FIG2 is a schematic diagram of a state transition provided in an embodiment of the present application;
[0067] FIG3 is a flow chart of a communication method provided in an embodiment of the present application;
[0068] 4A to 4D are schematic diagrams of several protocol stacks provided in embodiments of the present application;
[0069] FIG5 is a schematic diagram of a method for establishing a connection between a first node and a second node provided in an embodiment of the present application;
[0070] 6A to 6B are flowcharts of several possible examples of the method shown in FIG. 3 provided in an embodiment of the present application;
[0071] FIG7 is a flow chart of another communication method provided in an embodiment of the present application;
[0072] 8A and 8B are schematic diagrams of several other protocol stacks provided in embodiments of the present application;
[0073] FIG9 is a schematic diagram of the structure of a service data adaptation protocol (SDAP) message provided in an embodiment of the present application;
[0074] 10A to 10B are flowcharts of several possible examples of the method described in FIG. 7 provided in an embodiment of the present application;
[0075] FIG11 is a flowchart of another communication method provided in an embodiment of the present application;
[0076] FIG12 is a flowchart of another communication method provided in an embodiment of the present application;
[0077] 13A and 13B are schematic diagrams of several further protocol stacks provided in embodiments of the present application;
[0078] FIG14 is a structural diagram of a communication device provided in an embodiment of the present application;
[0079] FIG15 is a structural diagram of another communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0080] The present application provides a communication method and apparatus. The method and apparatus are based on the same technical concept. Since the method and apparatus solve similar problems, the implementation of the apparatus and method can refer to each other, and the repetitive parts will not be repeated.
[0081] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0082] Figure 1 is an architecture diagram of a communication system provided in an embodiment of the present application. As shown in Figure 1, the communication system includes: a terminal, an access network (AN) device, and a core network (CN) device. The terminal can access the data network through the AN device and the CN device.
[0083] In the embodiments of the present application, the terminal may also be referred to as user equipment (UE), access terminal, subscriber unit, user station, mobile station, mobile station (MS), remote station, remote terminal, mobile device, user terminal, terminal equipment, wireless communication equipment, user agent or user device.
[0084] A terminal can be a device that provides wireless communication capabilities, such as a handheld device or vehicle-mounted device with wireless connection capabilities. Currently, some examples of terminals include: mobile phones, satellite mobile terminals, cellular phones, smart phones, tablet computers, laptop computers, PDAs, mobile internet devices (MIDs), wearable devices (such as smart watches, smart bracelets, pedometers, smart glasses, etc.), vehicle-mounted devices (such as cars, bicycles, electric vehicles, airplanes, ships, trains, high-speed trains, etc.), satellite terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point of sale (POS) machines, customer-premises equipment (CPE), wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, and wireless terminals in smart homes. The fifth generation of wireless communication technology includes wireless terminals in homes (e.g., refrigerators, televisions, air conditioners, electric meters, etc.), intelligent robots, robotic arms, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to wireless modems, flying devices (e.g., intelligent robots, hot air balloons, drones, airplanes), and the fifth generation of wireless communication technology. thThe present invention relates to a terminal in a 5G (5G generation) network or a terminal in a future-evolved public land mobile network (PLMN), etc., which is not limited in the embodiments of the present application. As an example and not a limitation, in the embodiments of the present application, the terminal may also be a mobile terminal (mobile termination, MT) in an integrated access and backhaul (IAB) node. When the IAB node faces its parent node, it can be regarded as a terminal. In this case, the IAB node plays the role of the MT.
[0085] The embodiments of this application do not limit the device form factor of the terminal. The device used to implement the terminal's function can be a terminal; it can also be a device that supports the terminal in implementing the function, such as a chip system. The device can be installed in the terminal or used in conjunction with the terminal. In the embodiments of this application, the chip system can be composed of a chip or include a chip and other discrete components.
[0086] In this application, AN device is a device that provides wireless communication functions for terminals. As a node in the radio access network, the AN device can also be called a base station, a radio access network (RAN) node (or device), or an access point (AP). The AN device is used to help terminals achieve wireless access. The communication system may include multiple AN devices, and the multiple AN devices can be nodes of the same type or different types. In some scenarios, the roles of the AN device and the terminal are relative. For example, network element #A can be a helicopter or a drone, which can be configured as a mobile base station and access the RAN through network element #B. For those terminals that access the RAN through network element #A, network element #A is a base station; but for network element #B, network element #A is a terminal. AN devices and terminals are sometimes referred to as communication devices.
[0087] In one possible scenario, an AN device can be a base station, an evolved NodeB (eNodeB), a transmitting and receiving point (TRP), a transmitting point (TP), a next-generation NodeB (gNB), a next-generation base station in a sixth-generation (6G) mobile communication system, a base station in a future mobile communication system, a satellite, or an access point (AP) in a wireless fidelity (WiFi) system, an IAB node, or a mobile switching center. AN devices in non-terrestrial network (NTN) communication systems can be deployed on high-altitude platforms or satellites. AN devices can be macro base stations, micro base stations, indoor stations, relay nodes, donor nodes, or wireless controllers in cloud RAN (CRAN) scenarios. AN devices can also serve as base station functions in device-to-device (D2D) communications, vehicle-to-vehicle communications, drone communications, and machine communications. Optionally, the AN device may also be a server, a wearable device, a vehicle or an onboard device, etc. For example, the access network device in the vehicle to everything (V2X) technology may be a road side unit (RSU).
[0088] In another possible scenario, multiple AN devices collaborate to assist the terminal in achieving wireless access, and different AN devices respectively implement part of the functions of the base station. For example, the AN device can be a centralized unit (CU), a distributed unit (DU), a CU-control plane (CP), a CU-user plane (UP), or a radio unit (RU). The CU and DU can be set separately, or they can also be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio frequency device or a radio frequency unit, such as a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). It can be understood that the AN device can be a CU node, a DU node, or a device including a CU node and a DU node. In addition, the CU can be divided into an AN device in the access network RAN, or the CU can be divided into an AN device in the core network CN, which is not limited here.
[0089] 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 the 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 uses 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.
[0090] In the embodiments of the present application, the form of the AN device is not limited. The device used to implement the functions of the AN device can be the AN device; it can also be a device that can support the AN device to implement the functions, such as a chip system. The device can be installed in the AN device or used in conjunction with the AN device.
[0091] AN devices and terminals can be fixed or mobile. They can be deployed on land, indoors or outdoors, handheld or vehicle-mounted; on water; or in the air on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of AN devices and terminals.
[0092] In this application, a CN device is a network element included in the CN portion of a mobile communication system. For example, a CN device is a network function (NF) network element and a user plane function (UPF) network element included in the CN portion. The CN device can connect a terminal to different data networks and perform services such as billing, mobility management, session management, and user plane forwarding. Currently, some examples of NF network elements include: a unified data management (UDM) network element, a unified data repository (UDR) network element, a network exposure function (NEF) network element, an application function (AF) network element, a policy control function (PCF) network element, an access and mobility management function (AMF) network element, a session management function (SMF) network element, and a network repository function (NRF) network element.
[0093] To introduce blockchain into the telecommunications network, the communication system further includes: a ledger anchor function (LAF). Optionally, the communication system further includes at least one of the following: a blockchain enabler (BC enabler) and a blockchain client (BC client).
[0094] LAF is the overall management and associated anchor point of the 6G blockchain. It can perform blockchain management functions, blockchain creation, blockchain access control, BC enabler registration management, BC enabler activation, and other functions. LAF can usually be deployed in the core network as a NF.
[0095] Optionally, LAF may also have a hierarchical structure (also referred to as a hierarchical architecture, a hierarchical structure, or a hierarchical architecture). In one possible implementation, part of the LAF is deployed in the core network, and another part of the LAF is deployed in the access network; that is, part of the LAF is a core network device or a module in a core network device, and another part of the LAF is an access network device or a module in an access network device. Among them, the LAF deployed in the access network can be named a sub-LAF (sub LAF). The LAF deployed in the core network can manage and configure the sub-LAF, and the sub-LAF can manage and configure the blockchain enabling unit and / or blockchain client of the access network device to which it is connected, and / or the blockchain enabling unit and / or blockchain client of the terminal. The access network devices and terminals governed (or managed) by the sub-LAF can be referred to as the "subdomain" to which the sub-LAF belongs, that is, the subdomain associated with the sub-LAF. The subdomain can refer to all nodes (including terminals and access network devices) governed by the sub-LAF that are deployed with blockchain enabling units and / or blockchain clients. Under a LAF, one or more nodes (for example, access network devices or terminals) deployed with blockchain enabling units and / or blockchain clients can be set up, and one or more subdomains can also be set up; one or more nodes deployed with blockchain enabling units and / or blockchain clients and one or more subdomains can also be set up. Exemplarily, after the LAF sets up a subdomain, the LAF does not directly manage the nodes deployed with blockchain enabling units and / or blockchain clients in the subdomain, nor does it need to perceive their specific information. It only needs to issue instructions to the sub-LAF based on the entire subdomain, which can reduce the workload of the LAF. In another possible implementation, the access network may have a hierarchical structure, that is, there are multiple layers of LAFs in the access network, and the LAFs at the higher level can manage and configure the LAFs at the lower level.
[0096] The blockchain enabling unit, also known as the blockchain enabling module or BC enabling unit, is configured and managed by the LAF. It differentiates the permissions of nodes on different blockchains based on their capabilities and performs one or more of the following functions: transaction proposal, transaction endorsement / execution, deployment and execution of smart contracts, consensus, transaction / block synchronization, or blockchain ledger storage. The blockchain enabling unit can reside in nodes within the communication system, such as terminals, AN devices, or one or more of the network function (NFs). All nodes with blockchain capabilities can deploy the blockchain enabling unit. Optionally, within the core network, the blockchain enabling unit can function as a standalone NF, providing blockchain proxy capabilities to other NFs. Optionally, within the access network, the blockchain enabling unit can function as a standalone node, providing blockchain proxy capabilities to other access network devices.
[0097] The blockchain client accepts configuration and management from the LAF and performs blockchain transaction generation and transmission. The blockchain client can reside in nodes within the communication system, such as terminals, AN devices, or one or more NFs. All nodes with blockchain capabilities can deploy the blockchain client. Optionally, within the core network, the blockchain client can function as a standalone NF, providing other NFs with the ability to generate blockchain transactions. Alternatively, within the access network, the blockchain client can function as a standalone node, providing other access network devices with the ability to generate blockchain transactions.
[0098] It is understood that the above-mentioned network element or function can be a network component in a hardware device or a logical function. As a possible implementation method, the above-mentioned network element or function can be implemented by a single device, can be implemented by multiple devices, or can be a functional module within a single device. This embodiment of the present application does not specifically limit this.
[0099] It should be noted that the communication system shown in FIG1 does not constitute a limitation on the communication systems to which the embodiments of the present application can be applied. Therefore, the communication method provided in the embodiments of the present application can also be applied to communication systems of various standards, such as: long term evolution (LTE) communication systems, 5G communication systems, 6G communication systems and future communication systems, V2X, long term evolution-vehicle network (LTE-vehicle, LTE-V), vehicle to vehicle (vehicle to vehicle, V2V), vehicle network, machine type communication (Machine Type Communications, MTC), Internet of Things (Internet of things, IoT), long term evolution-machine to machine (LTE-machine to machine, LTE-M), machine to machine (machine to machine, M2M), Internet of Things, NTN system, etc. In addition, it should be noted that the embodiments of the present application do not limit the names of the network elements in the communication system. For example, in communication systems of different standards, each network element may have other names; for example, when multiple network elements are integrated into the same physical device, the physical device may also have other names.
[0100] To facilitate understanding of this application, some of the terms used in this application are explained below.
[0101] 1) Functions of blockchain:
[0102] In order to introduce blockchain technology into telecommunications networks, this application defines new blockchain functions, namely, dividing blockchain functions into blockchain management functions, blockchain control functions, blockchain dynamic connection functions, and blockchain data functions, etc., and provides possible protocol stack designs for blockchain dynamic connection functions and blockchain data functions suitable for telecommunications networks.
[0103] An example of a blockchain management function, a blockchain control function, a blockchain dynamic connection function, and a blockchain data function is as follows:
[0104] (1) Blockchain management function: used to deploy and manage the blockchain capabilities of the node, including at least one of the following: installing / deleting blockchain capabilities (i.e., blockchain enabling modules), activating, updating, locking, and shutting down blockchain capabilities, etc.
[0105] (2) Blockchain control function: used to deploy and configure the blockchain, including at least one of the following: transmitting chain establishment requirements (i.e., transmitting the need to establish a blockchain), establishing / updating / deleting a blockchain, configuring blockchain connections / node attributes, etc. The blockchain control function also includes the transmission of setting parameters, such as the request / subscription / notification of blockchain information and blockchain capability information.
[0106] (3) Blockchain dynamic connection function: used to establish connections between blockchain nodes and dynamically configure connections between blockchain nodes, including: blockchain node discovery, blockchain node inspection, blockchain node election, etc. Among them, since the connection between blockchain nodes is a connection between peer nodes, no central node is required. Therefore, blockchain node discovery is node discovery between peer nodes. Blockchain node inspection can be used to check the connection status between two nodes on the blockchain. Blockchain node election can be used to elect a super node. The specific content of the super node will be explained in point 3) below and will not be expanded here. The connection between blockchain nodes can be used to transmit blockchain data. In this application, a blockchain node refers to a node that has a blockchain enabling unit / blockchain client deployed, or an independent blockchain enabling unit / blockchain client.
[0107] (4) Blockchain data function: It can also be called the function of transmitting blockchain data, which is used to transmit blockchain data between blockchain nodes, including: request / send / response of blockchain data, query of blockchain data, etc.
[0108] It should be noted that this application does not limit the functions implemented by the blockchain management function, blockchain control function, blockchain dynamic connection function, and blockchain data function. Some functions implemented by the blockchain control function can be implemented by the blockchain management function. For example, the blockchain management function implements the creation, update, and deletion of blockchains. In this application, the blockchain may be referred to as a chain.
[0109] The following uses a node in a telecommunications network as an example to illustrate the relationship between the four major functions: First, a node deploys / activates blockchain capabilities through the blockchain management function. After deploying / activating blockchain capabilities, the node can be called a blockchain node; the LAF executes the blockchain control function to establish a blockchain, and only nodes with blockchain capabilities can join this blockchain; the LAF can also configure an established blockchain or configure nodes joining the blockchain through the blockchain control function; nodes can dynamically exit or join a blockchain through the blockchain dynamic connection function; and nodes participating in the blockchain synchronize data through the blockchain data function.
[0110] The above blockchain functions can be used with the 3GPP (3 rd Generation Partnership Project (3GPP) protocol plane. Exemplarily, the first blockchain function is any of the aforementioned blockchain functions. If the first blockchain function corresponds to the first protocol plane of 3GPP, then the first protocol plane supports the first blockchain function. For example, if the blockchain data function corresponds to the data plane of 3GPP, then the data plane of 3GPP may support the blockchain data function.
[0111] There are many ways to correspond the above-mentioned blockchain functions and the 3GPP protocol plane, for example, method 1, method 2 or method 3.
[0112] Method 1: Divide the protocol stack based on functionality. Specifically, the blockchain management function corresponds to the 3GPP management plane (MP); the blockchain control function corresponds to the 3GPP control plane (CP); the blockchain data function corresponds to the 3GPP user plane (UP) (or data plane); and the blockchain dynamic connection function corresponds to the 3GPP plane other than the management plane, control plane, and user plane, for example, the new plane.
[0113] Method 1 facilitates protocol stack deployment. The LAF deploys the management plane protocol (supporting blockchain management functions) and the control plane protocol (supporting blockchain control functions). Nodes deployed with blockchain enablers or blockchain clients deploy protocols from all four planes. Method 1 sets different planes for different blockchain functions, aligning with the principle of protocol plane partitioning in telecom networks and providing a clearer functional division of the protocol planes.
[0114] Method 2: Divide the protocol stack based on node type. Specifically, the blockchain management function corresponds to the 3GPP management plane; the blockchain control function corresponds to the 3GPP control plane; and the blockchain dynamic connection function and blockchain data function correspond to the 3GPP user plane. Method 2 uses the same protocol to implement both the blockchain dynamic connection function and the blockchain data function. This method facilitates protocol stack deployment, as each node only needs to deploy the protocol stack relevant to it. For example, the LAF only deploys the protocol stacks for the blockchain management function and the blockchain control function, while nodes equipped with a blockchain enabler or blockchain client deploy protocols for all four planes.
[0115] Method 3: Divide the protocol stack based on message type. Specifically, the blockchain dynamic connection function and blockchain control function correspond to one 3GPP protocol plane (e.g., the control plane), while the blockchain data function corresponds to another 3GPP protocol plane (e.g., the user plane). In this way, control plane interaction messages do not contain blockchain data, while service plane interaction messages contain only blockchain data.
[0116] It should be understood that the protocol plane in the above 3GPP can also have other names, as long as the specific functions are the same. For example, if the 6G network establishes a trusted plane (or called "security plane"), that is, the security function is independently designed in the protocol plane, then the blockchain function can correspond to the trusted plane. For example, if the trusted plane is divided into a trusted management plane, a trusted control plane, and a trusted business plane (which respectively perform the management, configuration, and data transmission of security functions), then the above blockchain function can also correspond to one or more of the trusted management plane, the trusted control plane, and the trusted business plane.
[0117] 2) The state of the blockchain enabling unit / blockchain client:
[0118] The status of a blockchain-enabled unit is related to the blockchain capabilities of the node where it resides. If the blockchain capabilities of the node where the blockchain-enabled unit resides are installed or activated, the status of the blockchain-enabled unit is configured, indicating that the blockchain capabilities of the node where the blockchain-enabled unit resides can be invoked and / or updated. If the blockchain capabilities of the node where the blockchain-enabled unit resides are locked, the status of the blockchain-enabled unit is locked, indicating that the blockchain capabilities of the node where the blockchain-enabled unit resides can be invoked but cannot be updated. If the blockchain capabilities of the node where the blockchain-enabled unit resides are disabled, the status of the blockchain-enabled unit is disabled, indicating that the blockchain capabilities of the node where the blockchain-enabled unit resides cannot be invoked or updated.
[0119] The state of a blockchain-enabled unit is not static; it can transition. Figure 2 illustrates possible state transitions. A blockchain-enabled unit can transition from a configured state to a locked state or a closed state. A blockchain-enabled unit can transition from a locked state to a configured state or a closed state. A blockchain-enabled unit can transition from a closed state to a configured state.
[0120] The specific content of the status of the blockchain client can be referred to the description of the status of the blockchain enabling unit, except that the blockchain enabling unit is replaced by the blockchain client, and no further details are given here.
[0121] 3) Super Node:
[0122] Super nodes can be located in the blockchain of the telecommunications network and can be used to dynamically verify nodes joining the blockchain, save blockchain topology information, configure blockchain information for nodes in the blockchain, etc. Super nodes can be configured by the LAF through the blockchain control function or they can be periodically elected by nodes in the blockchain.
[0123] In the following text of this application, "sending information to a device (such as a terminal)" can be understood as the destination of the information being the device, and can include sending information to the device directly or indirectly. "Receiving information from a device (such as a terminal)" or "receiving information from a device (such as a terminal)" can be understood as the source of the information being the device, and can include receiving information from the device directly or indirectly. The information may be processed as necessary between the source and destination of the information, such as format changes, but the destination can understand the valid information from the source. Similar expressions in this application can be understood similarly and will not be repeated here.
[0124] Some current mainstream blockchains, such as Bitcoin and Hyperledger, integrate all blockchain functions into a single protocol stack. This is inconsistent with the separation of management, control, and user planes in telecommunications networks. Other blockchains, such as Ethereum, separate blockchain functions into two main categories: connectivity and transaction transmission. Currently, traditional blockchain protocols and stacks cannot be directly applied to telecommunications networks. Therefore, research is needed on how to apply blockchain to telecommunications networks. For example, nodes in traditional blockchains are peer-to-peer, and therefore, their protocol stacks are also designed for peer-to-peer communication. However, in telecommunications networks, nodes are not necessarily peer-to-peer. Further research is needed on how to design protocol stacks for blockchains in telecommunications networks.
[0125] In view of this, an embodiment of the present application provides a communication method. Figure 3 is a flow chart corresponding to the communication method provided in an embodiment of the present application. Figure 3 illustrates the method by taking the first node and the second node in the telecommunications network as the execution subjects of the interaction as an example. Among them, the first node can be a node that has a blockchain enabling module or a blockchain client deployed, or an independent blockchain enabling module or blockchain client; the second node can also be a node that has a blockchain enabling module or a blockchain client deployed, or an independent blockchain enabling module or blockchain client. Exemplarily, the first node can be a terminal, access network device or core network device, or a module (such as a circuit, chip, chip system or processor) in the terminal, access network device or core network device, or a logical node, logical module or software that can implement all or part of the functions of the terminal, access network device or core network device; the second node can be a terminal, access network device or core network device, or a module (such as a circuit, chip, chip system or processor) in the terminal, access network device or core network device, or a logical node, logical module or software that can implement all or part of the functions of the terminal, access network device or core network device. Wherein, the first node and the second node are different nodes. In the method shown in FIG3 , the correspondence between the blockchain function and the 3GPP protocol plane can be the above-mentioned method 1, method 2 or method 3.
[0126] As shown in FIG3 , the method includes:
[0127] S301: A first node obtains a first message.
[0128] The first message can be used to implement a dynamic blockchain connection function. Exemplarily, the first message is used to implement at least one of the following: blockchain node discovery and blockchain node election.
[0129] The first message may include information about the first node. Exemplarily, the information about the first node is used to indicate at least one of the following:
[0130] 1. Node type of the first node: The node type may be a node type in a telecommunications network, such as a terminal, an AN device, or a CN device (eg, a NF).
[0131] 2. Permissions of the first node: The permissions of the first node include, for example, at least one of the following: permission to query the blockchain ledger, permission to write to the blockchain ledger, permission to participate in blockchain consensus, routing permission, permission to provide authentication and authorization for other nodes in the blockchain where the first node is located except the first node, and permission to provide endorsement for other nodes in the blockchain where the first node is located except the first node.
[0132] In some examples, the information of the first node may directly indicate the permissions of the first node. For example, if the information of the first node includes the permission to query the blockchain ledger and the permission to write to the blockchain ledger, then the permissions of the first node include: the permission to query the blockchain ledger and the permission to write to the blockchain ledger.
[0133] In other examples, the information about the first node may include the role of the first node. The role of the first node corresponds to the permissions of the first node. If the first node has a blockchain enablement unit deployed, or is an independent blockchain enablement unit, the role of the first node is the blockchain enablement unit, and the first node has the permission to generate transactions and read and write blockchain ledgers. If the first node has a blockchain client deployed, or is an independent blockchain client, the role of the first node is the blockchain client, and the first node has the permission to generate transactions.
[0134] In some further examples, the information of the first node may include the role of the blockchain-enabled unit in the first node. The role of the blockchain-enabled unit in the first node corresponds to the permissions of the first node. For example, the role of the blockchain-enabled unit can be further divided according to permissions, for example, the role of the blockchain-enabled unit can be a full node, a light node, or a micro node. Full node permissions include generating transactions, querying ledgers, generating blocks, participating in consensus, writing ledgers, and saving ledgers. Light node permissions include generating transactions, querying ledgers, generating blocks, and participating in consensus. Micro node permissions include generating transactions, querying ledgers, and generating blocks.
[0135] S302: The first node sends a first message; correspondingly, the second node receives the first message.
[0136] The specific content of S302 will be explained in the following method a1 and method a2, and will not be expanded here.
[0137] S303: The second node processes the first message.
[0138] Optionally, the second node may parse the first message to obtain information about the first node. Based on the information about the first node, the second node may then perform at least one of the following: blockchain node discovery or blockchain node election. The details of how the second node discovers a blockchain node based on the information about the first node are described in detail in Figure 6A below, and how the second node elects a blockchain node based on the information about the first node is described in detail in Figure 6B below, which are not discussed here.
[0139] Using the method shown in FIG3 , when discovering and / or electing blockchain nodes, a first node may send information about the first node to a second node. The information about the first node may indicate the node type and / or the authority of the first node. In this way, the second node may discover and / or elect blockchain nodes suitable for telecommunications networks based on the node type and / or authority of the first node, thereby improving the accuracy and efficiency of blockchain node discovery and / or blockchain node election.
[0140] There are many ways to implement S302, for example, way a1 or way a2.
[0141] Method a1: The first node sends a first message to the second node via the Trustworthiness Blockchain Wire Protocol (TBWP). In response, the second node receives the first message from the first node via the TBWP. In this case, the first message is a TBWP message.
[0142] The first node is a terminal and the second node is an AN device; or the first node is an AN device and the second node is a CN device; or the first node is a CN device and the second node is an AN device; or the first node is an AN device and the second node is a terminal; or both the first node and the second node are AN devices; or both the first node and the second node are CN devices; or the first node is a terminal and the second node is a CN device; or the first node is a CN device and the second node is a terminal. When the first node is one of the terminal and the CN device and the second node is the other of the terminal and the CN device, the first node may send the first message to the second node via the AN device.
[0143] Optionally, in the wireless network protocol stack, the protocol layer corresponding to the TBWP may be located above the protocol layer supporting connection establishment. In this way, the first node may establish a connection according to the protocol corresponding to the protocol layer supporting connection establishment, thereby communicating via the TBWP. Exemplarily, the protocol layer corresponding to the TBWP is located at the top layer of the wireless network protocol stack. For example, as shown in FIG4A , in the protocol stacks of the terminal, AN device (e.g., gNB), and CN device (e.g., NF), the protocol layer corresponding to the TBWP is located at the top layer. For another example, as shown in FIG4B , in the protocol stacks of the AN device (e.g., gNB) and CN device (e.g., NF), the protocol layer corresponding to the TBWP is located at the top layer.
[0144] Through method a1, the first and second nodes can communicate via TBWP related to the blockchain's dynamic connection functionality. TBWP can be an independent protocol designed for this purpose, facilitating the independent configuration and evolution of blockchain capabilities. Furthermore, the protocol can be downloaded, activated, disabled, or deleted along with the blockchain enabler or blockchain client, thereby conserving node storage resources.
[0145] Mode a2: The first node sends a General Packet Radio Service (GPRS) Tunneling Protocol-User Plane (GTP-U) message to the second node; in response, the second node receives the GTP-U message. In other words, the first message is a GTP-U message.
[0146] Currently, GTP-U messages can include GPRS tunneling protocol (GTP) signaling messages and GTP packet data unit (G-PDU) messages. GTP signaling messages can be used for user plane path management and user plane tunnel management, while G-PDU messages are used for data transmission.
[0147] In some possible implementations, the first message in this application may be a GTP signaling message in a GTP-U message. The GTP-U message (e.g., a GTP signaling message) includes a first information element (IE), which includes information about a blockchain node. For example, the first information element includes information about the first node. Exemplarily, as shown in Table 1, the first information element may be an information element with an information element type value of 133. In this manner, the first node can conveniently send information about the blockchain node.
[0148] Table 1
[0149] In other possible embodiments, the first message in the present application may be a G-PDU message in a GTP-U message. The value of the GTP-U extension header of the GTP-U message (e.g., G-PDU message) is a first value, which is used to indicate that the first message is used to implement a blockchain dynamic connection function, which includes, for example, at least one of the following: blockchain node discovery and blockchain node election. Exemplarily, as shown in Table 2, the first value is 1000 0100, which corresponds to a blockchain connection packet data unit (PDU) container and is used to indicate that the first message is used to implement a blockchain dynamic connection function.
[0150] Table 2
[0151] In this manner, the first node can accurately indicate the first message using the first value to implement the dynamic blockchain connection function. Furthermore, this approach can reuse GTP-U messages in the telecommunications network, requiring minimal changes to the telecommunications network, ensuring high compatibility and low implementation complexity.
[0152] Optionally, in method a2, the first node is an AN device and the second node is a CN device; or, the first node is a CN device and the second node is an AN device; or, the first node and the second node are both AN devices; or, the first node and the second node are both CN devices.
[0153] It should be understood that Methods a1 and a2 are described using the first message as an example. Messages transmitted between a first node and a second node for implementing the dynamic blockchain connection function can be transmitted using either Method a1 or Method a2. For example, in S602a below, the second message can be transmitted between the second node and the first node using either Method a1 or Method a2, with the first node and the second node being interchanged.
[0154] In some possible approaches, all nodes in the telecommunication network can communicate using approach a1. That is, no matter what kind of nodes the first node and the second node are in the telecommunication network, the first node and the second node can communicate using approach a1.
[0155] For example, as shown in FIG4A , the protocol stacks of the terminal, AN device (e.g., gNB), and CN device (e.g., NF) all include a protocol layer corresponding to TBWP, namely, a TBWP layer. Thus, in any of the following cases, the first node can send a first message to the second node via TBWP: the first node is a terminal and the second node is an AN device; or the first node is an AN device and the second node is a CN device; or the first node is a CN device and the second node is an AN device; or the first node is an AN device and the second node is a terminal; or both the first node and the second node are AN devices; or both the first node and the second node are CN devices; or the first node is a terminal and the second node is a CN device; or the first node is a CN device and the second node is a terminal.
[0156] The TBWP layer is located at the top of the wireless network protocol stack. When the first node is a terminal or an AN device, and the second node is the other of the two, the next protocol layer below the TBWP layer is the Packet Data Convergence Protocol (PDCP) layer. When the first node is an AN device or a CN device, and the second node is the other of the two, or when both the first and second nodes are AN devices, the next protocol layer below the TBWP layer is the Stream Control Transmission Protocol (SCTP) layer. When both the first and second nodes are CN devices, the next protocol layer below the TBWP layer is the Transmission Control Protocol (TCP) layer.
[0157] It should be understood that in this approach, the first node can send the first message directly to the second node, or it can forward the first message to the second node through another node. Therefore, when the first node is a terminal, the terminal can send the first message to the AN device. The AN device can be the second node or a node that forwards the first message. In this way, the AN device can process the first message in multiple ways, such as approach b1 or approach b2. The following explanation uses the example of the first message header including indication information of the second node (e.g., the second node's identity (ID) 1 and / or Internet Protocol (IP) 1 address) as an example.
[0158] Method b1:
[0159] In method b1, the AN device is able to parse the TBWP message, that is, the AN device includes a blockchain enabling unit or a blockchain client, or the AN device supports blockchain functions or deploys blockchain protocols.
[0160] In some implementations, if the indication information of the blockchain enabling unit or blockchain client in the AN device (e.g., ID2 and / or IP2) is the same as the indication information of the second node in the message header of the first message (e.g., ID1 and / or IP1), then the AN device is the second node and can parse the first message.
[0161] In some other implementations, if the blockchain-enabled unit or blockchain client's indication information (e.g., ID2 and / or IP2) in the AN device differs from the indication information of the second node in the message header of the first message (e.g., ID1 and / or IP1), the AN device is not the second node and may not parse the first message. If the node information list of the blockchain-enabled unit or blockchain client in the AN device contains the indication information of the second node in the message header of the first message, that is, the AN device and the first node belong to the same blockchain, the AN device may forward the first message to the second node. If the node information list of the blockchain-enabled unit or blockchain client in the AN device does not contain the indication information of the second node in the message header of the first message, that is, the AN device assumes that the AN device and the first node do not belong to the same blockchain, the AN device forwards the first message to a third node. This third node can be another AN device, such as a CU; or it can be a CN device. This third node can be the second node or the node that forwarded the first message. In some examples, the third node's processing of the first message can refer to Method b1 or Method b2, except that the AN device is replaced by the third node. In other examples, the third node is LAF. Since LAF stores information of all blockchain nodes, after receiving the first message, LAF can forward the first message to the second node.
[0162] In traditional blockchains, nodes are connected point-to-point. In telecom network blockchains, however, terminals can connect to CN devices via AN devices. The terminal and AN device may belong to the same blockchain or different blockchains. Using method b1, the AN device can accurately forward the first message, thus enabling dynamic blockchain connectivity.
[0163] Method b2: The AN device is unable to parse the TBWP message, meaning it does not include a blockchain-enabled unit or a blockchain client. In this case, the AN device is not a second node and may not parse the first message, forwarding it to a third node. After receiving the first message, the third node's processing is similar to that of Method b1 and will not be further elaborated here.
[0164] In traditional blockchains, nodes are connected point-to-point. However, in telecom network blockchains, terminals can connect to CN devices via AN devices. Because blockchain functionality is optional, AN devices may not include a blockchain-enabling unit or a blockchain client, meaning they lack blockchain functionality. Using method b2, AN devices without blockchain functionality can promptly forward the first message, thus enabling dynamic blockchain connectivity.
[0165] In other possible modes, both AN devices and CN devices in the telecommunications network can communicate via mode a1. That is, when the first node is an AN device or a CN device, and the second node is an AN device or a CN device, the first node and the second node can communicate via mode a1.
[0166] For example, as shown in Figure 4B , the protocol stacks of both the AN device (e.g., gNB) and the CN device (e.g., NF) include a protocol layer corresponding to TBWP, namely, the TBWP layer. Thus, a first node can send a first message to a second node via TBWP in any of the following situations: the first node is an AN device and the second node is a CN device; or the first node is a CN device and the second node is an AN device; or both the first node and the second node are AN devices; or both the first node and the second node are CN devices.
[0167] The TBWP layer is located at the top of the wireless network protocol stack. When the first node is an AN or CN device, and the second node is an AN or CN device, the next protocol layer below the TBWP layer is the User Datagram Protocol (UDP) layer. That is, the underlying protocol of TBWP is UDP. This allows the first and second nodes to establish a connection via the UDP protocol, eliminating the need for a reliable connection. This speeds up blockchain connection establishment and reduces overhead. Furthermore, in a blockchain, upon receiving a message from another node in the blockchain, a node can forward the message to other nodes whose addresses it has stored. This allows for messages to be disseminated to all nodes in the blockchain through a limited number of forwardings (e.g., less than or equal to three). Therefore, even if nodes in a blockchain lack reliable connections, meaning they don't store the addresses of all nodes, this does not affect blockchain performance.
[0168] In some other possible implementations, TBWPs may include: first-type TBWPs and second-type TBWPs. Terminals and AN devices communicate via first-type TBWPs, while terminals and CN devices communicate via second-type TBWPs. Thus, when the first node is either a terminal or an AN device, and the second node is the other of the two, the first node can communicate with the second node via the first-type TBWP. When the first node is either a terminal or a CN device, and the second node is the other of the two, the first node can communicate with the second node via the second-type TBWP. In this implementation, the first and second nodes can communicate using implementation a1.
[0169] For example, as shown in Figure 4C , the protocol stacks of both the terminal and the AN device (e.g., gNB) include a protocol layer corresponding to the first type of TBWP, namely, a first type of TBWP layer; and the protocol stacks of both the terminal and the CN device (e.g., NF) include a protocol layer corresponding to the second type of TBWP, namely, a second type of TBWP layer. The protocol layer corresponding to the TBWP is located at the top layer of the wireless network protocol stack. In the terminal's protocol stack, the second type of TBWP layer is located above the first type of TBWP layer. Thus, in any of the following situations, a first node can send a first message to a second node via the first type of TBWP: the first node is an AN device and the second node is a terminal; or the first node is a terminal and the second node is an AN device. In any of the following situations, the first node can send a first message to a second node via the second type of TBWP: the first node is a CN device and the second node is a terminal; or the first node is a terminal and the second node is a CN device.
[0170] Optionally, in this approach, when the first node is a terminal, before sending the first message, the first node may determine whether to send the first message via a first-type TBWP or a second-type TBWP based on the type of the second node. If the second node is an AN device, the first node may determine to send the first message via a first-type TBWP; if the second node is a CN device, the first node may determine to send the first message via a second-type TBWP. The type of the second node may be determined based on instructions from a blockchain-enabling unit or blockchain client in the second node.
[0171] Furthermore, in this approach, if the AN device receives the first message, the AN device may determine whether to parse the first message based on the message type of the first message. The message type of the first message may be a first-type TBWP message or a second-type TBWP message. If the first message is sent via a first-type TBWP, the message type of the first message is a first-type TBWP message, and the AN device may parse the first message. If the first message is sent via a second-type TBWP, the message type of the first message is a second-type TBWP message, and the AN device does not parse the first message and forwards it to the CN device.
[0172] In some other possible implementations, some nodes in the telecommunications network communicate using implementation a1, while other nodes communicate using implementation a2. Specifically, communication between a terminal and an AN device occurs using implementation a1, while communication between AN devices, between CN devices, and between AN devices and CN devices occurs using implementation a2. Thus, when the first node is one of the terminal and the AN device, and the second node is the other of the two, the first and second nodes can communicate using implementation a1. When the first node is either an AN device or a CN device, and the second node is either an AN device or a CN device, the first and second nodes can communicate using implementation a2.
[0173] For example, as shown in Figure 4D, the protocol stacks of both the terminal and the AN device (e.g., gNB) include a protocol layer corresponding to TBWP, namely, the TBWP layer. The protocol stacks of both the AN device (e.g., gNB) and the CN device (e.g., NF) include a protocol layer corresponding to GTP-U, namely, the GTP-U layer. The TBWP layer and the GTP-U layer may be located at the top layer of the wireless network protocol stack. Thus, a first node may send a first message to a second node via TBWP in any of the following situations: the first node is a terminal and the second node is an AN device; or the first node is an AN device and the second node is a terminal. The first node may send a GTP-U message to the second node in any of the following situations: the first node is an AN device and the second node is a CN device; or the first node is a CN device and the second node is an AN device; or both the first node and the second node are AN devices; or both the first node and the second node are CN devices.
[0174] To achieve communication between the first node and the second node, the first node and the second node may establish a connection. As shown in FIG5 , there are multiple ways to establish the connection, for example, way c1 or way c2.
[0175] Method c1: The LAF configures a node information list 1 for the first node through the blockchain control function. This node information list 1 may include information about one or more nodes in blockchain 1. For the specific content of each node's information, refer to S301 in Figure 3 and / or S601a in Figure 6A (red) regarding the first node. The information of the one or more nodes in node information list 1 may correspond to one or more nodes that are part or all of the nodes in blockchain 1. These one or more nodes may include the second node. Thus, the first node can obtain the address information of the second node (e.g., the IP address of the second node) based on this node information list, thereby establishing a connection with the second node.
[0176] In some examples, when establishing blockchain 1, if the first node is a node in blockchain 1, the LAF may configure node information list 1 for the first node. Node information list 1 may include information of all nodes in blockchain 1.
[0177] In other examples, when adding a first node to blockchain 1, the LAF may configure node information list 1 for the first node. Node information list 1 may include information about some or all nodes in blockchain 1. Optionally, if node information list 1 includes information about some nodes in blockchain 1, the first node may obtain information about all nodes in blockchain 1 through the blockchain dynamic connection function, for example, through method c2 below to obtain information about all nodes in blockchain 1.
[0178] Method c2: The second node obtains the first node's information through blockchain node discovery, thereby establishing a connection with the first node. The details of blockchain node discovery are described in Figure 6A below and are not expanded here.
[0179] In some possible approaches, in approach c1 and approach c2, the first node and the second node may also be replaced with each other.
[0180] Figures 6A and 6B illustrate a possible example of the method shown in Figure 3. In Figure 6A, the first message is used to discover blockchain nodes; in Figure 6B, the first message is used to elect blockchain nodes. Figures 6A and 6B are described below.
[0181] As shown in FIG6A , the method includes:
[0182] S601a: The first node sends a first message; in response, the second node receives the first message. The first message is used to discover blockchain nodes. For example, the first message is called a BC node information message.
[0183] For the specific content of S601a, reference may be made to the description of S301 and S302 in FIG. 3 , and repeated details will be omitted.
[0184] The first message may include information about the first node. Thus, after receiving the first message, the second node can obtain the first node's information, thereby discovering the first node and achieving blockchain node discovery. Exemplarily, the first node information indicates at least one of the following: the first node's node type and the first node's permissions. The specific content of the first node information is described in S301 and will not be further elaborated here.
[0185] Optionally, the first node's information also includes information indicating the blockchain to be joined. For example, if the blockchain to be joined is Blockchain 1, the first node's information includes the name and / or ID of Blockchain 1. Thus, after receiving the first node's information, the second node can quickly and accurately determine that the blockchain to be joined is Blockchain 1. It should be understood that the information indicating the blockchain to be joined is optional. For example, if there is only one existing blockchain, the first node's information may not indicate the blockchain to be joined.
[0186] Optionally, the information of the first node further includes indication information of the first node, for example, the ID and / or IP of the first node.
[0187] In some possible approaches, the first node can proactively send the first message. For example, the first node wants to join blockchain 1, and the LAF configures the first node with the address information of the second node in blockchain 1. The first node can initiate the node discovery process by sending the first message to the second node.
[0188] In other possible approaches, the first node may send a first message after receiving Request 1 from the second node. Request 1 is used to request information about the first node. Request 1 is named, for example, a BC get node information message. Optionally, Request 1 includes a reason parameter that indicates the reason for obtaining information about the first node. Exemplarily, the reason includes at least one of the following: the first node intends to join blockchain 1, the second node intends to join blockchain 1, periodic updates to the node information list, or a request to establish a connection between the first and second nodes to transmit a predetermined service.
[0189] S602a: The second node sends a second message; correspondingly, the first node receives the second message.
[0190] S602a is an optional step.
[0191] In some possible embodiments, the second message is a response message to the first message, used to indicate successful receipt of the first message. In this case, the second message may be named a BC node information ack message.
[0192] In other possible implementations, the second message includes information about M nodes, where M is a positive integer. The information about the M nodes is used to indicate at least one of the following: the node types of the M nodes, and the permissions of the M nodes. The specific content of the information about the M nodes can be found in the description of the information about the first node in S301, except that the first node is replaced by the M nodes, and no further description is given here. In this case, the second message can be named a BC node information message.
[0193] In some examples, the M nodes may be some or all of the multiple nodes included in the blockchain to be joined. For example, the blockchain to be joined is blockchain 1, the first node wants to join blockchain 1, and the second node is a node in blockchain 1. If the second node stores information about all nodes in blockchain 1, then the M nodes are all nodes in blockchain 1. If the second node stores information about only some nodes in blockchain 1, then the M nodes are only some nodes in blockchain 1.
[0194] In other examples, the blockchain to be joined is blockchain 1, the second node wishes to join blockchain 1, and the first node is a node in blockchain 1. The M nodes may be second nodes. The first message may include information about N nodes, including the first node. The specific content of the information about the N nodes can be found in the description of the information about the first node in S301, with the first node replaced by the N nodes. This description is omitted here. If the first node stores information about all nodes in blockchain 1, then the N nodes represent all nodes in blockchain 1. If the first node stores information about only some nodes in blockchain 1, then the N nodes represent some nodes in blockchain 1.
[0195] Through the method shown in Figure 6A, the first node can send the information of the first node to the second node, and accordingly, the second node can obtain the information of the first node, thereby realizing the discovery of blockchain nodes.
[0196] As shown in FIG6B , the method includes:
[0197] S601b: The first node sends a first message; in response, the second node receives the first message. The first message is used to implement the election of blockchain nodes. The name of the first message is, for example, a BC election start message.
[0198] For the specific content of S601b, reference may be made to the description of S301 and S302 in FIG. 3 , and repeated details will be omitted.
[0199] The first node is any node in the first blockchain; the second node is any node in the first blockchain other than the first node. When the first node participates in an election, that is, when the first node wishes to become a supernode, the first node may broadcast a first message to some or all nodes in the first blockchain. The method shown in Figure 6B is illustrated using the example of the second node receiving the first message.
[0200] The first message may include information about the first node. Exemplarily, the information about the first node is used to indicate at least one of the following: 1. the node type of the first node; 2. the authority of the first node. The specific content of the information about the first node can be found in S301 and will not be repeated here.
[0201] Optionally, the information of the first node is further used to indicate at least one of the following:
[0202] 1. Computing power of the first node: The computing power of the first node may be related to the CPU and / or memory of the first node. For example, the computing power of the first node is proportional to the performance of the CPU of the first node. The better the performance of the CPU of the first node, the stronger the computing power of the first node; and vice versa. The performance of the CPU of the first node may be proportional to the number of cores of the CPU of the first node. The more cores the CPU of the first node has, the better the performance of the CPU of the first node; and vice versa. For another example, the computing power of the first node is proportional to the size of the memory of the first node. The larger the memory of the first node, the stronger the computing power of the first node; and vice versa.
[0203] 2. Storage Capacity of the First Node: The storage capacity of the first node may be related to the storage space of the first node. For example, the storage capacity of the first node is proportional to the size of the storage space of the first node. The larger the storage space of the first node, the stronger the storage capacity of the first node, and vice versa.
[0204] 3. Connectivity of the First Node: The connectivity of the first node is related to the number of nodes it can connect to. For example, the connectivity of the first node is proportional to the number of nodes it can connect to. The more nodes the first node can connect to, the stronger its connectivity, and vice versa. The number of nodes the first node can connect to can be determined based on a node address list stored by the first node. The larger the node address list, the greater the number of nodes the first node can connect to, and vice versa.
[0205] 4. Impact factor of the first node: used to indicate the importance of the first node in the network. The impact factor of the first node may be related to at least one of the following: the priority of the first node, the priority and number of services supported by the first node, etc. The priority of the first node may be set by the operator through the management plane. The higher the priority of the first node, the higher the impact factor of the first node, and vice versa. The higher the priority of the service supported by the first node, the higher the impact factor of the first node, and vice versa. The more services supported by the first node, the higher the impact factor of the first node, and vice versa.
[0206] Optionally, the first node may also send the status of the first node's blockchain-enabling unit or blockchain client to the second node. The status of the first node's blockchain-enabling unit or blockchain client may be included in the first message or in another message. The specific content of the status of the blockchain-enabling unit or blockchain client can be found in the Glossary section and will not be further elaborated here.
[0207] S602b: The second node votes.
[0208] For example, the second node may enter its voting opinion in the location corresponding to the vote in the second node's blockchain ledger. If the second node agrees with the first node as a supernode, the second node may enter its acceptance opinion and send a BC election accept message to all nodes in the first blockchain except the second node. If the second node disagrees with the first node as a supernode, the second node may enter its rejection opinion and send a BC election reject message to all nodes in the first blockchain except the second node.
[0209] Optionally, the second node may determine a voting opinion based on the information of the first node and an election rule, wherein the election rule may be pre-set, for example, defined by a protocol, or configured by the LAF.
[0210] For example, the election rules include selecting the node with the highest authority as the supernode. The order of authority, from highest to lowest, is: full node, light node, micro node, client. If the information from the first node indicates that the first node is a full node, the second node can determine that the vote is to approve the first node as the supernode.
[0211] For example, the election rules include selecting the node with the strongest connectivity as the supernode. If the nodes participating in the election include a first node and node a, and a second node determines, based on information about the first node and node a, that the first node's connectivity is stronger than node a's, the second node may vote in favor of the first node as the supernode.
[0212] For another example, the election rule includes selecting the node with the greatest influence factor as a supernode. If the nodes participating in the election include a first node and node a, and a second node determines, based on information about the first node and node a, that the first node's influence factor is less than the connection capacity of node a, the second node may determine that the first node's influence factor is less than the connection capacity of node a. Therefore, the second node may vote to reject the first node as a supernode.
[0213] For another example, the election rules include: nodes whose blockchain capabilities can be invoked can serve as supernodes; in other words, nodes whose blockchain capabilities cannot be invoked cannot serve as supernodes. If the blockchain-enabling unit or blockchain client of the first node is in the configured or locked state, that is, the blockchain capabilities of the first node can be invoked, the second node can determine the voting opinion to approve the first node as a supernode. If the blockchain-enabling unit or blockchain client of the first node is in the disabled state, that is, the blockchain capabilities of the first node cannot be invoked, the second node can determine the voting opinion to reject the first node as a supernode.
[0214] Multiple nodes in the first blockchain can vote. The voting method for each node can be referenced by the voting method for the second node and will not be further described here. In this way, the voting opinions of multiple nodes, i.e., the consensus result, can be used to determine the election result of the first node. For example, if more than a first ratio threshold of nodes in the multiple nodes agree that the first node will be the supernode, the election result is: the first node will be the supernode. The first ratio threshold can be pre-set, for example, defined by the protocol, or it can be configured by the LAF.
[0215] S603b: The first node sends a message 1 to the second node, where the message 1 is used to instruct the first node to give up the election. The name of the message 1 is, for example, a BC election quit message.
[0216] S603b is an optional step.
[0217] When the first node abandons the election, the first node may broadcast Message 1 to some or all nodes in the first blockchain. The method shown in FIG6B is illustrated using the second node as an example of the node receiving Message 1. There are various reasons why the first node may abandon the election, for example, the blockchain capability of the first node may be disabled or deleted, the blockchain enabling unit or blockchain client of the first node may exit the first blockchain, or the blockchain enabling unit or blockchain client of the first node may receive a BC election start message from a node other than the first node in the first blockchain.
[0218] It should be understood that when the first node gives up the election, the first node may have become a super node, or the election result may not have been announced yet.
[0219] Through the method shown in Figure 6B, when the first node in the first blockchain wants to participate in an election, the first node can send the first node's information to the second node in the first blockchain. In this way, the second node can vote based on the information of the first node, thereby realizing the election of blockchain nodes.
[0220] The present application provides another communication method. Figure 7 is a flow chart corresponding to the communication method provided in the present application. Figure 7 illustrates the method using the first node and the second node in the telecommunications network as examples of the execution entities of the interaction. The first node may be a node that has a blockchain-enabled module or a blockchain client deployed, or an independent blockchain-enabled module or a blockchain client; the second node may also be a node that has a blockchain-enabled module or a blockchain client deployed, or an independent blockchain-enabled module or a blockchain client. Exemplarily, the first node may be a terminal, an access network device, or a core network device, or a module (such as a circuit, chip, chip system, or processor) in the terminal, access network device, or core network device, or a logical node, logical module, or software that can implement all or part of the functions of the terminal, access network device, or core network device; the second node may be a terminal, an access network device, or a core network device, or a module (such as a circuit, chip, chip system, or processor) in the terminal, access network device, or core network device, or a logical node, logical module, or software that can implement all or part of the functions of the terminal, access network device, or core network device. The first node and the second node are different nodes. In the method shown in FIG7 , the correspondence between the blockchain function and the 3GPP protocol plane may be method 1, method 2, or method 3 described above.
[0221] S701: The first node obtains a third message.
[0222] The third message can be used to implement a blockchain data function. Exemplarily, the third message is used to implement at least one of the following: blockchain data transmission; blockchain data query. The blockchain data can include at least one of the following: a block, a block hash, or a block header.
[0223] The third message may include at least one of the following: data to be transmitted, or information indicating the data to be queried. The data to be transmitted may also be referred to as blockchain data to be transmitted. When the third message is used to transmit blockchain data, the third message includes the data to be transmitted. The information indicating the data to be queried may also be referred to as information indicating the blockchain data to be queried, and may be the ID or index of the data to be queried. When the third message is used to query blockchain data, the third message includes information indicating the data to be queried.
[0224] S702: The first node sends a third message to the second node; correspondingly, the second node receives the third message from the first node.
[0225] The second node and the first node belong to the same blockchain, and the second node has permission to query the blockchain ledger. In other words, the first node sends the third message to the second node only when it determines that the second node and the first node belong to the same blockchain and the second node has permission to query the blockchain ledger.
[0226] The first node can determine that the second node and the first node belong to the same blockchain based on its locally stored node information list. For example, when the node information list stored by the first node includes information about the second node, the first node can determine that the second node and the first node belong to the same blockchain. For another example, when the node information list stored by the first node does not include information about the second node, but the node information obtained by the first node from a node included in the node information list stored by the first node includes information about the second node, the first node can determine that the second node and the first node belong to the same blockchain. For another example, when the node information list stored by the first node does not include information about the second node, and the node information obtained by the first node from a node included in the node information list stored by the first node does not include information about the second node, the first node can assume that the second node and the first node do not belong to the same blockchain. The specific content of the second node's information can be found in the description of the first node's information in S301 and / or S601a, with the first node replaced by the second node. This description will not be repeated here.
[0227] Based on the information about the second node, the first node can determine whether the second node has permission to query the blockchain ledger. The second node information can be obtained by the first node from a locally stored node information list or from the second node. In some examples, the second node information directly indicates the second node's permissions. If the permissions indicated by the second node information include permission to query the blockchain ledger, the first node determines that the second node has permission to query the blockchain ledger. If the permissions indicated by the second node information do not include permission to query the blockchain ledger, the first node determines that the second node does not have permission to query the blockchain ledger. In other examples, the second node information indicates the role of the second node. If the role of the second node is not a blockchain client, for example, the role of the second node is a blockchain enabler, the first node determines that the second node has permission to query the blockchain ledger. In still other examples, the second node information indicates the role of the blockchain enabler within the second node. If the role of the blockchain enabler within the second node is a full node, light node, or micro node, the first node determines that the second node has permission to query the blockchain ledger.
[0228] S703: The second node processes the third message.
[0229] Optionally, the second node may parse the third message to obtain indication information of the data to be transmitted and / or the data to be queried, thereby enabling the transmission of blockchain data and / or the query of blockchain data.
[0230] In a telecommunications network, different nodes may belong to different blockchains, and some nodes may not have permission to query blockchain ledgers. Using the method shown in Figure 7, the first node sends the third message to the second node only after determining that the second node and the first node belong to the same blockchain and that the second node has permission to query the blockchain ledger. This prevents the transmission of blockchain data to nodes on other blockchains and prevents the target receiving node from not having permission to query the blockchain ledger, thereby improving communication security.
[0231] There are many ways to implement S702, for example, way d1, way d2 or way d3.
[0232] Method d1: The first node sends a third message to the second node via the Trustworthiness Blockchain Data Protocol (TBDP). In response, the second node receives the third message from the first node via TBDP. In this case, the third message is a TBDP message.
[0233] The first node is a terminal and the second node is an AN device; or the first node is an AN device and the second node is a CN device; or the first node is a CN device and the second node is an AN device; or the first node is an AN device and the second node is a terminal; or both the first node and the second node are AN devices; or both the first node and the second node are CN devices; or the first node is a terminal and the second node is a CN device; or the first node is a CN device and the second node is a terminal. When the first node is one of a terminal and a CN device and the second node is the other of the terminal and the CN device, the first node may send a third message to the second node via the AN device.
[0234] Optionally, in the wireless network protocol stack, the protocol layer corresponding to TBDP may be located above the protocol layer supporting connection establishment, so that the first node can establish a connection according to the protocol corresponding to the protocol layer supporting connection establishment, thereby communicating through TDWP. Exemplarily, the protocol layer corresponding to TBDP is located at the top layer of the wireless network protocol stack. For example, as shown in Figure 8A, in the protocol stacks of the terminal, AN device (e.g., gNB) and CN device (e.g., NF), the protocol layer corresponding to TBDP is located at the top layer.
[0235] Through this method d1, the first and second nodes can communicate related to blockchain data functions via TBDP. TBDP can be an independent protocol designed for blockchain data functions, facilitating the independent configuration and evolution of blockchain capabilities. Furthermore, the protocol can be downloaded, activated, disabled, or deleted along with the blockchain enabler or blockchain client, thereby conserving node storage resources.
[0236] Mode d2: The first node sends a GTP-U message to the second node; in response, the second node receives the GTP-U message from the first node. In other words, the third message is a GTP-U message. Currently, GTP-U messages can include signaling messages and G-PDU messages. Signaling messages can be used for user plane path management and user plane tunnel management, while G-PDU messages are used for data transmission. The third message in this application can be a G-PDU message.
[0237] The value of the GTP-U extension header of the GTP-U message is a second value, and the second value is used to indicate that the third message is used to implement a blockchain data function, which includes, for example, at least one of the following: transmission of blockchain data and query of blockchain data. Exemplarily, as shown in FIG3 , the second value is 1000 0111, which corresponds to a blockchain data PDU container and indicates that the third message is used to implement a blockchain data function.
[0238] Table 3
[0239] Through this method d2, the first node can accurately indicate the third message using the second value to implement the blockchain data function. Furthermore, this method reuses the G-PDU message in the GTP-U of the telecommunications network, making minimal changes to the telecommunications network, ensuring high compatibility and low implementation complexity.
[0240] Optionally, in mode d2, the first node is an AN device and the second node is a CN device; or, the first node is a CN device and the second node is an AN device; or, the first node and the second node are both AN devices; or, the first node and the second node are both CN devices.
[0241] In some possible approaches, the next protocol layer below the GTP-U layer is the UDP layer. Due to the large amount of blockchain data transmitted and the high frequency of transmission, in order to improve the reliability of transmission, the first node can transmit the third message through a check function such as retransmission.
[0242] Method d3: The first node sends a Service Data Adaptation Protocol (SDAP) message to the second node; in response, the second node receives the SDAP message from the first node. In other words, the third message is an SDAP message. For example, the structure of an SDAP message may be as shown in Figure 9. Information indicating the data to be transmitted and / or the data to be queried may be located in the data portion of the SDAP message.
[0243] Optionally, in mode d3, the first node is an AN device and the second node is a terminal; or, the first node is a terminal and the second node is an AN device.
[0244] For example, the first node may transmit the third message via a blockchain data bearer. A mapping relationship exists between the blockchain data bearer and a quality of service (QoS) flow, such that the first node may determine the blockchain data bearer based on the mapping relationship and thereby transmit the third message.
[0245] Through this method d3, SDAP messages in the telecommunications network can be reused, which makes little change to the telecommunications network, has high compatibility, and reduces implementation complexity.
[0246] It should be understood that methods d1 to d3 are described using the third message as an example. Messages transmitted between the first node and the second node for implementing the blockchain data function can be transmitted using any of methods d1 to d3.
[0247] In some possible manners, all nodes in the telecommunication network can communicate using the manner d1. That is, no matter what kind of nodes the first node and the second node are in the telecommunication network, the first node and the second node can communicate using the manner d1.
[0248] For example, as shown in FIG8A , the protocol stacks of the terminal, the AN device (e.g., gNB), and the CN device (e.g., NF) all include a protocol layer corresponding to TBDP, namely, a TBDP layer. Thus, in any of the following cases, the first node can send a third message to the second node via TBDP: the first node is a terminal and the second node is an AN device; or the first node is an AN device and the second node is a CN device; or the first node is a CN device and the second node is an AN device; or the first node is an AN device and the second node is a terminal; or both the first node and the second node are AN devices; or both the first node and the second node are CN devices; or the first node is a terminal and the second node is a CN device; or the first node is a CN device and the second node is a terminal.
[0249] The TBDP layer is located at the top of the wireless network protocol stack. When the first node is either a terminal or an AN device, and the second node is the other of the two, the PDCP layer is the next protocol layer below the TBDP layer. When the first node is either an AN device or a CN device, and the second node is either an AN device or a CN device, the TCP layer is the next protocol layer below the TBDP layer.
[0250] It should be understood that in this approach, the first node can send the third message directly to the second node, or it can forward the third message to the second node via another node. Therefore, when the first node is a terminal, the terminal can send the third message to the AN device. The AN device can be the second node or a node that forwards the third message. The AN device's processing of the third message can be similar to that of approaches b1 and b2, with the first message replaced by the third message and TBWP replaced by TBDP. This will not be further elaborated here.
[0251] In other possible approaches, some nodes in the telecommunications network communicate using approach d2, while other nodes communicate using approach d3. Specifically, communication between a terminal and an AN device occurs via approach d3, while communication between AN devices, between CN devices, and between AN devices and CN devices occurs via approach d2. Thus, when the first node is one of the terminal and the AN device, and the second node is the other of the two, the first and second nodes can communicate using approach d3. When the first node is either an AN device or a CN device, and the second node is either an AN device or a CN device, the first and second nodes can communicate using approach d2.
[0252] For example, as shown in Figure 8B , the protocol stacks of both the terminal and the AN device (e.g., gNB) include a protocol layer corresponding to SDAP, namely, the SDAP layer. The protocol stacks of both the AN device (e.g., gNB) and the CN device (e.g., NF) include a protocol layer corresponding to GTP-U, namely, the GTP-U layer. Thus, when the first node is one of the terminal and the AN device, and the second node is the other of the terminal and the AN device, the first node can send an SDAP message to the second node. When the first node is an AN device or a CN device, and the second node is either an AN device or a CN device, the first node can send a GTP-U message to the second node.
[0253] Figures 10A and 10B each illustrate a possible example of the method shown in Figure 7. In Figure 10A, the third message is used to transmit blockchain data; in Figure 10B, the third message is used to query blockchain data. Figures 10A and 10B are described below.
[0254] As shown in FIG10A , the method includes:
[0255] S1001a: The first node sends a third message to the second node; correspondingly, the second node receives the third message from the first node.
[0256] In some examples, the name of the third message is, for example, a BC block / hash / header message. The second node and the first node belong to the same blockchain, and the second node has permission to query the blockchain ledger.
[0257] In other examples, the name of the third message is, for example, BC data / transaction, wherein the second node and the first node belong to the same blockchain.
[0258] For the specific content of S1001a, please refer to the description of S701 and S702 in Figure 7 above, and the repeated parts will be omitted.
[0259] The third message may include data to be transmitted. The specific content of the data to be transmitted can be referred to S701 and will not be described in detail here.
[0260] In some possible implementations, the first node may proactively send the third message. For example, the first node and the second node are different nodes in blockchain 1. After generating the data to be transmitted, the first node may broadcast the third message to all nodes in blockchain 1 other than the first node. This allows the second node to receive the third message.
[0261] In other possible embodiments, the first node may send a third message after receiving request 2 from the second node. Request 2 is used to request the acquisition of data to be transmitted. The name of request 2 is, for example, a BC get data / transaction / block / hash / header message. Optionally, request 2 includes an index of the data to be transmitted. Exemplarily, the index of the data to be transmitted includes at least one of the following: the name of the data to be transmitted, the transaction ID of the data to be transmitted, the block ID of the data to be transmitted, the transaction initiator ID of the data to be transmitted, the transaction recipient ID of the data to be transmitted, the transaction type of the data to be transmitted, etc.
[0262] Optionally, after receiving Request 2 from the second node, if the first node does not find data corresponding to Request 2, the first node may send Message 2 to the second node, where Message 2 is used to indicate that data corresponding to Request 2 was not found. The name of Message 2 is, for example, a BC data / transaction / block / hash / header not found message.
[0263] S1002a: The second node sends message 3; in response, the first node receives message 3. Message 3 is a response message to the third message, indicating successful receipt of the third message. Message 3 may be named, for example, a BC data / transaction / block / hash / header ack message.
[0264] S1002a is an optional step.
[0265] Optionally, in the method shown in FIG10A , the first node and the second node may establish a connection before the first node sends the third message to the second node; that is, blockchain data is transmitted between the first node and the second node only after the connection is established. The method for establishing the connection between the first node and the second node can refer to Method C1 or Method C2 above and will not be repeated here.
[0266] Through the method shown in FIG10A , the first node can send the data to be transmitted to the second node through the third message, thereby realizing the transmission of blockchain data.
[0267] As shown in FIG10B , the method includes:
[0268] S1001b: The second node sends message 4; in response, the first node receives message 4. Message 4 is used to query the first node for the existence of blockchain data 1, which may also be referred to as the data to be queried. Message 4 may be named, for example, a BC find data / transaction / block / hash / header / index message.
[0269] Optionally, message 4 includes an index of blockchain data 1. Exemplarily, the index of blockchain data 1 includes at least one of the following: the name of blockchain data 1, the transaction ID of blockchain data 1, the block ID of blockchain data 1, the transaction initiator ID of blockchain data 1, the transaction recipient ID of blockchain data 1, the transaction type of blockchain data 1, etc.
[0270] S1002b: If blockchain data 1 exists on the first node, the first node sends a third message to the second node; accordingly, the second node receives the third message from the first node. If the type of the data to be queried is block / block hash / block header, the second node and the first node belong to the same blockchain, and the second node has permission to query the blockchain ledger, the first node may execute S1002b. For example, the name of the third message is a BC data / transaction / block / hash / header message.
[0271] For the specific content of S1002b, please refer to the description of S701 and S702 in Figure 7 above, and the repeated parts will be omitted.
[0272] The third message may include: blockchain data 1 indication information, i.e., indication information of the data to be queried. The specific content of the indication information of the data to be queried can be referred to S701 and will not be repeated here.
[0273] S1003b: If blockchain data 1 does not exist in the first node, the first node may send a message 5 to the second node, where the message 5 is used to indicate that blockchain data 1 is not found. The name of the message 5 is, for example, a BC data / transaction / block / hash / header not found message.
[0274] S1003b is an optional step.
[0275] Through the method shown in Figure 10B, the first node can send indication information of the data to be queried to the second node through the third message, thereby realizing the query of blockchain data.
[0276] The present application provides another communication method. Figure 11 is a flow chart corresponding to the communication method provided in the present application. Figure 11 illustrates the method using the first node and the second node in the telecommunications network as examples of the execution entities of the interaction. The first node may be a node that has a blockchain-enabled module or a blockchain client deployed, or an independent blockchain-enabled module or a blockchain client; the second node may also be a node that has a blockchain-enabled module or a blockchain client deployed, or an independent blockchain-enabled module or a blockchain client. Exemplarily, the first node may be a terminal, an access network device, or a core network device, or a module (e.g., a circuit, a chip, a chip system, or a processor) in the terminal, an access network device, or a core network device, or a logical node, a logical module, or software that can implement all or part of the functions of the terminal, an access network device, or a core network device; the second node may be a terminal, an access network device, or a core network device, or a module (e.g., a circuit, a chip, a chip system, or a processor) in the terminal, an access network device, or a core network device, or a logical node, a logical module, or software that can implement all or part of the functions of the terminal, an access network device, or a core network device. The first node and the second node are different nodes. In the method shown in FIG11 , the correspondence between the blockchain function and the 3GPP protocol plane may be method 1, method 2, or method 3 described above.
[0277] As shown in FIG11 , the method includes:
[0278] S1101: The first node obtains the fourth message.
[0279] The fourth message is used to check the blockchain node. Exemplarily, the fourth message is used to check at least one of the following: whether the connection between the first node and the second node is maintained, and whether the connection between the first node and the second node continues to be maintained.
[0280] The fourth message may include the blockchain parameters of the first node. In this way, the second node can check the first node based on the blockchain parameters of the first node. Exemplarily, the blockchain parameters of the first node include the status of the blockchain enablement unit or blockchain client in the first node. The status of the blockchain enablement unit or blockchain client is described in the Glossary section and is not further detailed here.
[0281] S1102: The first node sends a fourth message; correspondingly, the second node receives the fourth message.
[0282] The specific content of S1102 can refer to S302, except that the first message is replaced by the fourth message, which will not be repeated here.
[0283] In some possible implementations, the first node may proactively send the fourth message. For example, after joining blockchain 1, the first node may periodically send the fourth message to some or all nodes in blockchain 1 (including the second node). The sending period may be pre-set, for example, as specified by the protocol, or configured by the LAF.
[0284] In other possible implementations, the first node may send a fourth message after receiving a first request from the second node. The first request is used to request a blockchain node check on the first node. The first request is called, for example, an echo request message, and the fourth message is called, for example, an echo response message.
[0285] It should be understood that after sending the first request, the second node may or may not receive the fourth message. If the second node receives the fourth message after sending the first request, the second node can determine that the connection between the first node and the second node still exists. If the second node does not receive the fourth message after sending the first request, the second node can determine that the connection between the first node and the second node is interrupted.
[0286] S1103: The second node processes the fourth message.
[0287] Optionally, the second node may parse the fourth message to obtain the blockchain parameters of the first node. In this way, the second node can perform a blockchain node check based on the blockchain parameters of the first node. Exemplarily, the fourth message carries the status of the blockchain-enabling unit or blockchain client in the first node. The second node may determine whether to maintain the connection between the first node and the second node based on the status of the blockchain-enabling unit or blockchain client in the first node. For example, if the blockchain-enabling unit or blockchain client in the first node is in a configured state or a locked state, the second node may determine to maintain the connection between the first node and the second node. For another example, if the blockchain-enabling unit or blockchain client in the first node is in a disabled state, the second node may determine to discontinue the connection between the first node and the second node.
[0288] It should be understood that in the method shown in Figure 11, before the first node sends the fourth message to the second node, the first node and the second node may establish a connection. The manner in which the first node and the second node establish a connection can refer to the above-mentioned manner c1 or manner c2, and will not be repeated here.
[0289] In traditional blockchains, all nodes support blockchain capabilities. In telecom network blockchains, blockchain capabilities can be configured on demand, and not all nodes support them. Using the method shown in Figure 11, when checking a blockchain node, a first node can send its blockchain parameters to a second node. This allows the second node to perform a check on a blockchain node suitable for telecom networks based on the first node's blockchain parameters, thereby improving the accuracy and efficiency of blockchain node checks.
[0290] The present application provides another communication method. Figure 12 is a flow chart corresponding to the communication method provided in the present application. Figure 12 illustrates the method using a first node and a second node in a telecommunications network as examples of the execution entities of the interaction. The first node may be a node that has a blockchain-enabled module or a blockchain client deployed, or an independent blockchain-enabled module or a blockchain client; the second node may also be a node that has a blockchain-enabled module or a blockchain client deployed, or an independent blockchain-enabled module or a blockchain client. For example, the first node may be a terminal, an access network device, or a core network device, or a module (e.g., a circuit, a chip, a chip system, or a processor) in the terminal, an access network device, or a core network device, or a logical node, a logical module, or software that can implement all or part of the functions of the terminal, an access network device, or a core network device; the second node may be a terminal, an access network device, or a core network device, or a module (e.g., a circuit, a chip, a chip system, or a processor) in the terminal, an access network device, or a core network device, or a logical node, a logical module, or software that can implement all or part of the functions of the terminal, an access network device, or a core network device. The first node and the second node are different nodes. In the method shown in FIG12 , the correspondence between the blockchain function and the 3GPP protocol plane may be method 3 described above.
[0291] As shown in FIG12 , the method includes:
[0292] S1201: The first node obtains the fifth message.
[0293] The fifth message can be used to implement a blockchain dynamic connection function and / or a blockchain data function. Exemplarily, the fifth message is used to implement at least one of the following: blockchain node discovery, blockchain node election, blockchain node inspection, blockchain data transmission, and blockchain data query.
[0294] In some possible implementations, the fifth message is used to implement at least one of the following: blockchain node discovery and blockchain node election. The fifth message may include information about the first node. For details about the first node information, refer to the description of the first node information in S301 of FIG. 3 , S601a of FIG. 6A , and S601b of FIG. 6B , and will not be repeated here.
[0295] In other possible implementations, the fifth message is used to implement at least one of the following: blockchain data transmission or blockchain data query. The fifth message may include at least one of the following: data to be transmitted or information indicating data to be queried. The specific contents of the data to be transmitted and the information indicating data to be queried are described in S701 and are not further described here.
[0296] In some other possible implementations, the fifth message is used to implement blockchain verification. The fifth message may include the blockchain parameters of the first node. The specific content of the blockchain parameters of the first node can be found in the description of S1101 in Figure 11 above and will not be repeated here.
[0297] S1202: The first node sends a fifth message; correspondingly, the second node receives the fifth message.
[0298] If the fifth message is used to implement at least one of the following: transmission of blockchain data, query of blockchain data, then the specific content of S1202 can refer to the description of S702 in Figure 7 above, and the repeated parts will not be repeated.
[0299] The specific content of S1202 will be explained in the following method e1 and method e2 and will not be expanded here.
[0300] S1203: The second node processes the fifth message.
[0301] In some possible implementations, the fifth message is used to implement at least one of the following: discovery of blockchain nodes, and election of blockchain nodes. For details of S1203 , please refer to the description of S303 in FIG. 3 , and will not be repeated here.
[0302] In other possible embodiments, the fifth message is used to implement at least one of the following: transmission of blockchain data, query of blockchain data. The specific content of S1203 can be found in the description of S703 in Figure 7 above, and will not be repeated here.
[0303] In some other possible ways, the fifth message is used to implement the blockchain inspection. The specific content of S1203 can be referred to the description of S1103 in Figure 11 above, and will not be repeated here.
[0304] There are many ways to implement S1202, for example, way e1 or way e2.
[0305] Method e1: The first node sends a fifth message to the second node via the Trustworthiness Blockchain Service Protocol (TBSP); in response, the second node receives the fifth message from the first node via TBSP. In this case, the fifth message is a TBSP message.
[0306] The first node is a terminal and the second node is an AN device; or the first node is an AN device and the second node is a CN device; or the first node is a CN device and the second node is an AN device; or the first node is an AN device and the second node is a terminal; or both the first node and the second node are AN devices; or both the first node and the second node are CN devices; or the first node is a terminal and the second node is a CN device; or the first node is a CN device and the second node is a terminal. When the first node is one of a terminal and a CN device and the second node is the other of the terminal and the CN device, the first node may send the fifth message to the second node via the AN device.
[0307] Optionally, in the wireless network protocol stack, the protocol layer corresponding to the TBSP may be located above the protocol layer that supports establishing a connection, so that the first node can establish a connection according to the protocol corresponding to the protocol layer that supports establishing a connection, thereby communicating through the TBSP. Exemplarily, the protocol layer corresponding to the TBSP is located at the top layer of the wireless network protocol stack. For example, as shown in Figure 13A, in the protocol stacks of the terminal, AN device (e.g., gNB) and CN device (e.g., NF), the protocol layer corresponding to the TBSP is located at the top layer.
[0308] Through this method (e1), the first and second nodes can communicate via TBSP regarding blockchain dynamic connection and blockchain data functions. TBSP can be an independent protocol designed for these functions, facilitating the independent configuration and evolution of blockchain capabilities. Furthermore, this protocol can be downloaded, activated, disabled, or deleted along with the blockchain enabler or blockchain client, thereby conserving node storage resources.
[0309] Mode e2: The first node sends a GTP-U message to the second node; correspondingly, the second node receives the GTP-U message. In other words, the fifth message is a GTP-U message.
[0310] In some possible ways, the fifth message in this application may be a GTP signaling message in a GTP-U message. The specific content of the GTP-U message can refer to way a2 and will not be repeated here.
[0311] In other possible implementations, the fifth message in this application may be a G-PDU message within a GTP-U message. In some implementations, the value of the GTP-U extension header of the GTP-U message is a third value, which indicates that the fifth message is used to implement a blockchain dynamic connection function and / or a blockchain data function. The blockchain dynamic connection function, for example, includes at least one of the following: blockchain node discovery, blockchain node election, and blockchain node inspection; the blockchain data function, for example, includes at least one of the following: blockchain data transmission and blockchain data query. In other implementations, the value of the GTP-U extension header of the GTP-U message is a first value, which indicates that the fifth message is used to implement the blockchain dynamic connection function. For details, refer to method a2 and are not further described here. And / or, the value of the GTP-U extension header of the GTP-U message is a second value, which indicates that the fifth message is used to implement a blockchain data function. For details, refer to method d2 and are not further described here.
[0312] In this manner, the first node can accurately indicate, through the value of the GTP-U extension header, that the fifth message is used to implement the blockchain dynamic connection function and / or blockchain data function. Furthermore, this approach reuses GTP-U messages in the telecommunications network, requiring minimal changes to the telecommunications network, ensuring high compatibility and low implementation complexity.
[0313] In some implementations, the protocol layer below the GTP-U layer is the UDP layer. Due to the large amount of blockchain data transmitted and the high frequency of transmission, to improve the reliability of transmission, the first node can transmit the fifth message through a check function such as retransmission.
[0314] It should be understood that mode e1 and mode e2 are described using the fifth message as an example. Messages transmitted between the first node and the second node for implementing the blockchain dynamic connection function and / or blockchain data function can be transmitted using mode e1 or mode e2.
[0315] In some possible modes, all nodes in the telecommunication network can communicate using mode e1. That is, no matter what kind of nodes the first node and the second node are in the telecommunication network, the first node and the second node can communicate using mode e1.
[0316] Exemplarily, as shown in FIG13A , the protocol stacks of the terminal, AN device (e.g., gNB), and CN device (e.g., NF) all include a protocol layer corresponding to TBSP, namely, a TBSP layer. Thus, in any of the following cases, the first node can send the fifth message to the second node via TBSP: the first node is a terminal and the second node is an AN device; or the first node is an AN device and the second node is a CN device; or the first node is a CN device and the second node is an AN device; or the first node is an AN device and the second node is a terminal; or both the first node and the second node are AN devices; or both the first node and the second node are CN devices; or the first node is a terminal and the second node is a CN device; or the first node is a CN device and the second node is a terminal.
[0317] The TBSP layer is located at the top of the wireless network protocol stack. When the first node is either a terminal or an AN device, and the second node is the other of the two, the PDCP layer is the protocol layer below the TBSP layer. When the first node is either an AN device or a CN device, and the second node is either an AN device or a CN device, the TCP layer is the protocol layer below the TBSP layer.
[0318] It should be understood that in this approach, the first node can send the fifth message directly to the second node, or it can forward the fifth message to the second node via another node. Therefore, when the first node is a terminal, the terminal can send the fifth message to the AN device. The AN device can be the second node or a node that forwards the fifth message. The AN device's processing of the fifth message can be similar to that of approaches b1 and b2, except that the first message is replaced by the fifth message and TBWP is replaced by TBSP. This will not be further elaborated here.
[0319] In other possible modes, some nodes in the telecommunications network communicate using mode e1, while other nodes communicate using mode e2. Specifically, communication between terminals and AN devices occurs via mode e1, while communication between AN devices, between CN devices, and between AN devices and CN devices occurs via mode e2. Thus, when the first node is one of the terminal and the AN device, and the second node is the other of the two, the first and second nodes can communicate using mode e1. When the first node is either an AN device or a CN device, and the second node is either an AN device or a CN device, the first and second nodes can communicate using mode e2.
[0320] Exemplarily, as shown in FIG13B , the protocol stacks of both the terminal and the AN device (e.g., gNB) include a protocol layer corresponding to TBSP, namely, a TBSP layer. The protocol stacks of both the AN device (e.g., gNB) and the CN device (e.g., NF) include a protocol layer corresponding to GTP-U, namely, a GTP-U layer. Thus, when the first node is one of the terminal and the AN device, and the second node is the other of the terminal and the AN device, the first node can send the fifth message to the second node via TBSP. When the first node is an AN device or a CN device, and the second node is an AN device or a CN device, the first node can send a GTP-U message to the second node.
[0321] Based on the same technical concept as the above-mentioned method embodiment, the embodiment of the present application provides a corresponding communication device that can be used to perform the functions of the relevant steps in the above-mentioned method embodiment. This function can be implemented by hardware, can be implemented by software, or can be implemented by hardware executing the corresponding software. The hardware or software includes one or more modules corresponding to the above-mentioned functions. The communication device can be a node that deploys a blockchain enabling module or a blockchain client, or an independent blockchain enabling module or a blockchain client. The communication device can be a terminal, an access network device, or a core network device, or a module (such as a circuit, a chip, a chip system, or a processor) in the terminal, access network device, or core network device, or a logical node, logical module, or software that can implement all or part of the functions of the terminal, access network device, or core network device.
[0322] In one possible implementation, the structure of the communication device provided in the embodiment of the present application is shown in FIG14 , and includes a processing unit 1402. Optionally, the communication device further includes an interface unit 1401. The functions of each unit in the communication device 1400 are described below.
[0323] Interface unit 1401 is used to input and / or output information. Input information can be replaced by receiving information, and output information can be replaced by sending information. When outputting information, interface unit 1401 can output information to other devices outside communication device 1400, or it can output information to other units in communication device 1400. In some embodiments, interface unit 1401 can be implemented by at least one of a physical interface, a communication module, a communication interface, and an input / output interface. In other embodiments, interface unit 1401 can be implemented by an interface circuit, for example, a mobile communication module. The mobile communication module may include one or more of at least one antenna, at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc.
[0324] The processing unit 1402 can be used to support the communication device 1400 in performing the processing actions in the above-mentioned method embodiment. The processing unit 1402 can be implemented by one or more processors. For example, the processor can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor.
[0325] In one embodiment, the communication device 1400 is applied to the first node in the embodiment of the present application shown in Figure 3. The specific functions of the processing unit 1402 in this embodiment are introduced below.
[0326] Processing unit 1402 is used to obtain a first message, and the first message is used to achieve at least one of the following: discovery of blockchain nodes, election of blockchain nodes; the first message includes information of the communication device 1400, and the information of the communication device 1400 is used to indicate at least one of the following: the node type of the communication device 1400, the authority of the communication device 1400; the first message is sent through the interface unit 1401.
[0327] In some possible embodiments, the processing unit 1402 is further used to: when the first message is used to realize the discovery of blockchain nodes, receive a second message through the interface unit 1401, the second message including information of M nodes, M is a positive integer, the M nodes are part or all of the multiple nodes included in the blockchain to be joined by the communication device 1400, and the information of the M nodes is used to indicate at least one of the following: the node type of the M nodes, the authority of the M nodes.
[0328] In other possible embodiments, the processing unit 1402 is specifically used to: when the first message is used to implement the election of a blockchain node, send the first message to the second node in the first blockchain through the interface unit 1401, the communication device 1400 is any node in the first blockchain, and the second node is any node in the first blockchain except the communication device 1400, and the information of the communication device 1400 is also used to indicate at least one of the following: the computing power of the communication device 1400, the storage capacity of the communication device 1400, the connection capability of the communication device 1400, and the influence factor of the communication device 1400.
[0329] In some examples, the processing unit 1402 is specifically used to: send a first message to the second node through the interface unit 1401 through the TBWP; wherein, the communication device 1400 is a terminal and the second node is an access network device; or, the communication device 1400 is an access network device and the second node is a core network device; or, the communication device 1400 is a core network device and the second node is an access network device; or, the communication device 1400 is an access network device and the second node is a terminal; or, the communication device 1400 and the second node are both access network devices; or, the communication device 1400 and the second node are both core network devices; or, the communication device 1400 is a terminal and the second node is a core network device; or, the communication device 1400 is a core network device and the second node is a terminal.
[0330] In some other examples, processing unit 1402 is specifically configured to: send a GTP-U message to the second node via interface unit 1401, where a value of a GTP-U extension header of the GTP-U message is a first value, and the first value is used to indicate that the first message is used to implement a blockchain dynamic connection function. Exemplarily, the blockchain dynamic connection function includes at least one of the following: blockchain node discovery and blockchain node election.
[0331] In some further examples, the processing unit 1402 is specifically configured to: send a GTP-U message to the second node through the interface unit 1401 , where the GTP-U message includes a first information element, and the first information element includes information of the communication device 1400 .
[0332] In another embodiment, the communication device 1400 is applied to the second node in the embodiment of the present application shown in Figure 3. The specific functions of the processing unit 1402 in this embodiment are introduced below.
[0333] Processing unit 1402 is used to receive a first message from the first node through interface unit 1401; the first message is used to implement at least one of the following: discovery of blockchain nodes, election of blockchain nodes; the first message includes information about the first node, and the information about the first node is used to indicate at least one of the following: the node type of the first node, the authority of the first node; and process the first message.
[0334] In some possible embodiments, the processing unit 1402 is further used to: when the first message is used to realize the discovery of blockchain nodes, send a second message through the interface unit 1401, the second message including information of M nodes, M is a positive integer, the M nodes are part or all of the multiple nodes included in the blockchain to be joined by the first node, and the information of the M nodes is used to indicate at least one of the following: the node type of the M nodes, and the authority of the M nodes.
[0335] In some examples, the processing unit 1402 is specifically used to: receive a first message from the first node through the interface unit 1401 through the TBWP; wherein the first node is a terminal and the communication device 1400 is an access network device; or, the first node is an access network device and the communication device 1400 is a core network device; or, the first node is a core network device and the communication device 1400 is an access network device; or, the first node is an access network device and the communication device 1400 is a terminal; or, the first node and the communication device 1400 are both access network devices; or, the first node and the communication device 1400 are both core network devices; or, the first node is a terminal and the communication device 1400 is a core network device; or, the first node is a core network device and the communication device 1400 is a terminal.
[0336] In some other examples, processing unit 1402 is specifically configured to: receive, via interface unit 1401, a GTP-U message from a first node, wherein a value of a GTP-U extension header of the GTP-U message is a first value, and the first value is used to indicate that the first message is used to implement a blockchain dynamic connection function. Exemplarily, the blockchain dynamic connection function includes at least one of the following: blockchain node discovery and blockchain node election.
[0337] In some further examples, the processing unit 1402 is specifically configured to: receive a GTP-U message from the first node through the interface unit 1401, where the GTP-U message includes a first information element, and the first information element includes information of the first node.
[0338] In yet another embodiment, the communication device 1400 is applied to the first node in the embodiment of the present application shown in Figure 7. The specific functions of the processing unit 1402 in this embodiment are introduced below.
[0339] Processing unit 1402 is used to obtain a third message, where the third message is used for at least one of the following: transmission of blockchain data, query of blockchain data; the third message includes at least one of the following: data to be transmitted, indication information of data to be queried; the third message is sent to the second node through interface unit 1401; wherein the second node and communication device 1400 belong to the same blockchain, and the second node has the authority to query the blockchain ledger.
[0340] In some examples, the processing unit 1402 is specifically used to: send a third message to the second node through the interface unit 1401 through the TBDP; wherein, the communication device 1400 is a terminal and the second node is an access network device; or, the communication device 1400 is an access network device and the second node is a core network device; or, the communication device 1400 is a core network device and the second node is an access network device; or, the communication device 1400 is an access network device and the second node is a terminal; or, the communication device 1400 and the second node are both access network devices; or, the communication device 1400 and the second node are both core network devices; or, the communication device 1400 is a terminal and the second node is a core network device; or, the communication device 1400 is a core network device and the second node is a terminal.
[0341] In some other examples, processing unit 1402 is specifically configured to: send a GTP-U message to the second node via interface unit 1401, wherein a value of a GTP-U extension header of the GTP-U message is a second value, and the second value is used to indicate that the third message is used to implement a blockchain data function. Exemplarily, the blockchain data function includes at least one of the following: transmission of blockchain data, and query of blockchain data.
[0342] In yet another embodiment, the communication device 1400 is applied to the second node in the embodiment of the present application shown in Figure 7. The specific functions of the processing unit 1402 in this embodiment are introduced below.
[0343] Processing unit 1402 is used to receive a third message from the first node through interface unit 1401; the third message is used for at least one of the following: transmission of blockchain data, query of blockchain data; the third message includes at least one of the following: data to be transmitted, indication information of data to be queried; communication device 1400 and the first node belong to the same blockchain, and communication device 1400 has the authority to query the blockchain ledger; and process the third message.
[0344] In some examples, the processing unit 1402 is specifically used to: receive a third message from the first node through the interface unit 1401 through the TBDP; wherein the first node is a terminal and the communication device 1400 is an access network device; or, the first node is an access network device and the communication device 1400 is a core network device; or, the first node is a core network device and the communication device 1400 is an access network device; or, the first node is an access network device and the communication device 1400 is a terminal; or, the first node and the communication device 1400 are both access network devices; or, the first node and the communication device 1400 are both core network devices; or, the first node is a terminal and the communication device 1400 is a core network device; or, the first node is a core network device and the communication device 1400 is a terminal.
[0345] In some other examples, processing unit 1402 is specifically configured to: receive, via interface unit 1401, a GTP-U message from the first node, wherein a value of a GTP-U extension header of the GTP-U message is a second value, and the second value is used to indicate that the third message is used to implement a blockchain data function. Exemplarily, the blockchain data function includes at least one of the following: transmission of blockchain data, and querying of blockchain data.
[0346] A more detailed description of the processing unit 1402 and the interface unit 1401 can be directly obtained by referring to the relevant description in the method embodiment shown in Figure 3 or Figure 7, and is not repeated here.
[0347] It should be noted that the division of modules in the above embodiments of the present application is illustrative and is only a logical functional division. In actual implementation, there may be other division methods. In addition, the functional units in the various embodiments of the present application may be integrated into a processing unit, or may exist separately physically, or two or more units may be integrated into a single unit. The above-mentioned integrated units may be implemented in the form of hardware or in the form of software functional units.
[0348] If the above-mentioned integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0349] In one possible implementation, the communication device provided in an embodiment of the present application is shown in FIG15 . The communication device 1500 includes a processor 1502. Optionally, the communication device 1500 also includes an interface circuit 1501 and a memory 1503. The interface circuit 1501, the processor 1502, and the memory 1503 are coupled to each other.
[0350] Optionally, the interface circuit 1501, the processor 1502, and the memory 1503 are coupled to each other via a bus 1504. Bus 1504 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. Buses can be classified as address buses, data buses, control buses, etc. For ease of illustration, FIG15 shows only one thick line, but this does not mean that there is only one bus or only one type of bus.
[0351] Interface circuit 1501 is used to input and / or output information. Inputting information can be replaced by receiving information, and outputting information can be replaced by sending information. When outputting information, interface circuit 1501 can output information to other devices outside of communication device 1500, or to other units within communication device 1500. Exemplarily, interface circuit 1501 can be implemented via at least one of a physical interface, a communication module, a communication interface, an input / output interface, and a mobile communication module. The mobile communication module may include one or more of at least one antenna, at least one filter, a switch, a power amplifier, an LNA, and the like.
[0352] Processor 1502 can be used to support communication device 1500 in executing the processing actions in the above-described method embodiments. When communication device 1500 is used to implement the above-described method embodiments, processor 1502 can also be used to implement the functions of processing unit 1402. Processor 1502 can be a CPU, other general-purpose processors, DSPs, ASICs, FPGAs, other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0353] In one embodiment, the communication device 1500 is applied to the first node in the embodiment of the present application shown in Figure 3. The specific functions of the processor 1502 in this embodiment are introduced below.
[0354] Processor 1502 is used to: obtain a first message, the first message is used to achieve at least one of the following: discovery of blockchain nodes, election of blockchain nodes; the first message includes information of the communication device 1500, the information of the communication device 1500 is used to indicate at least one of the following: the node type of the communication device 1500, the authority of the communication device 1500; send the first message through the interface circuit 1501.
[0355] In another embodiment, the communication device 1500 is applied to the second node in the embodiment of the present application shown in Figure 3. The specific functions of the processor 1502 in this embodiment are introduced below.
[0356] Processor 1502 is used to: receive a first message from a first node through interface circuit 1501; the first message is used to implement at least one of the following: discovery of blockchain nodes, election of blockchain nodes; the first message includes information about the first node, and the information about the first node is used to indicate at least one of the following: the node type of the first node, the authority of the first node; and process the first message.
[0357] In yet another embodiment, the communication device 1500 is applied to the first node in the embodiment of the present application shown in Figure 7. The specific functions of the processor 1502 in this embodiment are described below.
[0358] Processor 1502 is configured to obtain a third message, the third message being used for at least one of the following: transmission of blockchain data or query of blockchain data; the third message including at least one of the following: data to be transmitted or indication information of data to be queried; and send the third message to the second node via interface circuit 1501; wherein the second node and communication device 1500 belong to the same blockchain, and the second node has permission to query the blockchain ledger.
[0359] In yet another embodiment, the communication device 1500 is applied to the second node in the embodiment of the present application shown in Figure 7. The specific functions of the processor 1502 in this embodiment are described below.
[0360] Processor 1502 is configured to: receive a third message from the first node via interface circuit 1501; the third message is used for at least one of the following: transmission of blockchain data, query of blockchain data; the third message includes at least one of the following: data to be transmitted, indication information of data to be queried; communication device 1500 and the first node belong to the same blockchain, and communication device 1500 has permission to query the blockchain ledger; and process the third message.
[0361] The specific functions of the processor 1502 can refer to the description of the communication method provided in the above embodiments and examples of the present application, as well as the specific functional description of the communication device 1400 in the embodiment of the present application shown in Figure 14, and will not be repeated here.
[0362] Memory 1503 is used to store program instructions and / or data, etc. Specifically, the program instructions may include program code, which includes computer operation instructions. Memory 1503 may include RAM, and may also include non-volatile memory (non-volatile memory), such as at least one disk storage. Processor 1502 executes the program instructions stored in memory 1503, and uses the data stored in memory 1503 to implement the above functions, thereby realizing the communication method provided in the above embodiment of the present application. Memory 1503 can be integrated with processor 1502, or it can be a memory outside the communication device.
[0363] It is understood that the memory 1503 in FIG. 15 of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a ROM, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a RAM, which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that memory of the systems and methods described herein is intended to comprise, but not be limited to, these and any other suitable types of memory.
[0364] Based on the above embodiments, an embodiment of the present application further provides a computer program product including computer-executable instructions. When the computer program product is run, the method provided in the above embodiments is executed.
[0365] Based on the above embodiments, an embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a computer, the computer executes the method provided in the above embodiments.
[0366] The storage medium may be any available medium that can be accessed by a computer. By way of example and not limitation, computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage media or other magnetic storage devices, 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.
[0367] Based on the above embodiments, an embodiment of the present application further provides a chip, which is used to read a computer program stored in a memory to implement the method provided in the above embodiments.
[0368] Based on the above embodiments, embodiments of the present application provide a chip system, which includes a processor for supporting a computer device to implement the functions involved in each device in the above embodiments. In one possible design, the chip system also includes a memory for storing the necessary programs and data for the computer device. The chip system can be composed of a chip or can include a chip and other discrete devices.
[0369] In the various embodiments of the present application, unless otherwise specified or there is any logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.
[0370] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each flow and / or box in the flow chart and / or block diagram, as well as the combination of the flow chart and / or box in the flow chart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for implementing the functions specified in one or more flow charts and / or one or more boxes in the block diagram.
[0371] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0372] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.
[0373] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. In the text description of this application, the character " / " generally indicates that the related objects are in an "or" relationship.
[0374] It is understood that the various numbers used in the embodiments of this application are merely for ease of description and are not intended to limit the scope of the embodiments of this application. The order of the sequence numbers of the above-mentioned processes does not necessarily imply a specific order of execution; the order of execution of the processes should be determined by their functions and inherent logic.
[0375] Obviously, those skilled in the art may make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include these modifications and variations.
Claims
1. A communication method, characterized in that: A first node applied in a telecommunication network, comprising: Obtaining a first message, where the first message is used to implement at least one of the following: discovery of a blockchain node, election of a blockchain node; the first message includes information about the first node, where the information about the first node is used to indicate at least one of the following: a node type of the first node, and authority of the first node; The first message is sent.
2. The method according to claim 1, characterized in that The first message is used to realize the discovery of blockchain nodes, and the information of the first node also includes: indication information of the blockchain to be joined.
3. The method according to claim 1 or 2, characterized in that The first message is used to realize the discovery of blockchain nodes, and also includes: A second message is received, where the second message includes information of M nodes, where M is a positive integer, and the M nodes are part or all of a plurality of nodes included in a blockchain to be joined by the first node, and the information of the M nodes is used to indicate at least one of the following: node types of the M nodes and permissions of the M nodes.
4. The method according to claim 1, characterized in that The first message is used to implement the election of a blockchain node, the first node is any node in the first blockchain, and sending the first message includes: The first message is sent to a second node in the first blockchain, where the second node is any node in the first blockchain except the first node, and the information of the first node is further used to indicate at least one of the following: the computing power of the first node, the storage capacity of the first node, the connection capacity of the first node, and the influence factor of the first node.
5. The method according to any one of claims 1 to 4, characterized in that: Sending the first message includes: Sending the first message to the second node through the trusted blockchain line protocol TBWP; The first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, both the first node and the second node are access network devices; or, both the first node and the second node are core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal.
6. The method according to claim 5, characterized in that The protocol layer corresponding to the TBWP is located at the top layer of the wireless network protocol stack.
7. The method according to any one of claims 1 to 4, characterized in that Sending the first message includes: A General Packet Radio Service GPRS Tunneling Protocol-User Plane GTP-U message is sent to the second node, wherein the value of a GTP-U extension header of the GTP-U message is a first value, and the first value is used to indicate that the first message is used to implement at least one of the following: discovery of blockchain nodes and election of blockchain nodes.
8. The method according to any one of claims 1 to 4, characterized in that Sending the first message includes: A GTP-U message is sent to the second node, where the GTP-U message includes a first information element, and the first information element includes information of the first node.
9. A communication method, characterized in that: A second node applied to a telecommunication network, comprising: Receive a first message from a first node; the first message is used to implement at least one of the following: discovery of blockchain nodes, election of blockchain nodes; the first message includes information of the first node, the information of the first node is used to indicate at least one of the following: node type of the first node, authority of the first node; The first message is processed.
10. The method according to claim 9, characterized in that The first message is used to realize the discovery of blockchain nodes, and the information of the first node also includes: indication information of the blockchain to be joined.
11. The method according to claim 9 or 10, characterized in that The first message is used to realize the discovery of blockchain nodes, and also includes: Send a second message, where the second message includes information of M nodes, where M is a positive integer, and the M nodes are part or all of the multiple nodes included in the blockchain to be joined by the first node, and the information of the M nodes is used to indicate at least one of the following: node types of the M nodes and permissions of the M nodes.
12. The method according to claim 9, characterized in that The first message is used to implement the election of a blockchain node, the first node is any node in the first blockchain, the second node is any node in the first blockchain except the first node, and the information of the first node is also used to indicate at least one of the following: the computing power of the first node, the storage capacity of the first node, the connection capacity of the first node, and the influence factor of the first node.
13. The method according to any one of claims 9 to 12, characterized in that: Receiving a first message from a first node includes: Receiving the first message from the first node through the trusted blockchain line protocol TBWP; The first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, both the first node and the second node are access network devices; or, both the first node and the second node are core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal.
14. The method according to claim 13, characterized in that The protocol layer corresponding to the TBWP is located at the top layer of the wireless network protocol stack.
15. The method according to any one of claims 9 to 12, characterized in that: Receiving a first message from a first node includes: Receive a General Packet Radio Service GPRS Tunneling Protocol-User Plane GTP-U message from the first node, where the value of a GTP-U extension header of the GTP-U message is a first value, and the first value is used to indicate that the first message is used to implement at least one of the following: discovery of blockchain nodes and election of blockchain nodes.
16. The method according to any one of claims 9 to 12, characterized in that: Receiving a first message from a first node includes: A GTP-U message is received from the first node, where the GTP-U message includes a first information element, and the first information element includes information of the first node.
17. A communication method, characterized in that: A first node applied in a telecommunication network, comprising: Obtain a third message, where the third message is used for at least one of the following: transmission of blockchain data, query of blockchain data; the third message includes at least one of the following: data to be transmitted, indication information of data to be queried; Sending the third message to a second node; wherein the second node and the first node belong to the same blockchain, and the second node has permission to query the blockchain ledger.
18. The method according to claim 17, characterized in that Sending the third message to the second node includes: Sending the third message to the second node through the trusted blockchain data protocol TBDP; The first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, both the first node and the second node are access network devices; or, both the first node and the second node are core network devices; or, the first node is a terminal and the second node is a core network device; or, the first node is a core network device and the second node is a terminal.
19. The method according to claim 18, characterized in that The protocol layer corresponding to the TBDP is located at the top layer of the wireless network protocol stack.
20. The method of claim 17, wherein: Sending the third message to the second node includes: A GTP-U message is sent to the second node, wherein the value of a GTP-U extension header of the GTP-U message is a second value, and the second value is used to indicate that the third message is used to implement at least one of the following: transmission of blockchain data and query of blockchain data.
21. A communication method, characterized in that: A second node applied to a telecommunication network, comprising: receiving a third message from the first node; the third message is used for at least one of the following: transmission of blockchain data, query of blockchain data; the third message includes at least one of the following: data to be transmitted, indication information of data to be queried; the second node and the first node belong to the same blockchain, and the second node has the authority to query the blockchain ledger; The third message is processed.
22. The method according to claim 21, characterized in that Receiving a third message from the first node includes: Receiving the third message from the first node through the trusted blockchain data protocol TBDP; The first node is a terminal and the second node is an access network device; or, the first node is an access network device and the second node is a core network device; or, the first node is a core network device and the second node is an access network device; or, the first node is an access network device and the second node is a terminal; or, both the first node and the second node are access network devices; or, both the first node and the second node are core network devices; or, the first node is a terminal and the second node is a core network device. Core network equipment; or, the first node is a core network equipment, and the second node is a terminal.
23. The method of claim 22, wherein: The protocol layer corresponding to the TBDP is located at the top layer of the wireless network protocol stack.
24. The method of claim 21, wherein: Receiving a third message from the first node, comprising: Receive a GTP-U message from the first node, where the value of a GTP-U extension header of the GTP-U message is a second value, and the second value is used to indicate that the third message is used to implement at least one of the following: transmission of blockchain data and query of blockchain data.
25. A communication device, characterized in that: include: An interface unit for receiving and sending information; A processing unit, configured to execute the method according to any one of claims 1 to 24 through the interface unit.
26. A communication device, characterized in that: The method comprises a processor configured to execute the method according to any one of claims 1 to 24.
27. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instructions. When the computer program or instructions are executed by the communication device, the method according to any one of claims 1 to 24 is implemented.
28. A computer program product, characterized in that The computer program product comprises: a computer program code, and when the computer program code is executed, the method according to any one of claims 1 to 24 is implemented.