CN119814807A - Blockchain network data transmission method, device and blockchain network - Google Patents
Blockchain network data transmission method, device and blockchain network Download PDFInfo
- Publication number
- CN119814807A CN119814807A CN202510156394.8A CN202510156394A CN119814807A CN 119814807 A CN119814807 A CN 119814807A CN 202510156394 A CN202510156394 A CN 202510156394A CN 119814807 A CN119814807 A CN 119814807A
- Authority
- CN
- China
- Prior art keywords
- node
- interest packet
- block
- target
- interest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application provides a data transmission method, a device and a block chain network of a block chain network, wherein the method comprises the steps of obtaining a target interest packet in the block chain network, if the target interest packet is confirmed to be obtained for the first time, updating a local synchronous forwarding table according to an incoming node ID corresponding to the target interest packet and a node name of a source node which initiates the target interest packet and is generated in a naming mode of a named data network in advance, if the target interest packet is confirmed to exist in a downstream neighbor node in the block chain network, broadcasting the target interest packet to the downstream neighbor node to enable the target interest packet to be finally broadcast to the whole block chain network, and if another interest packet returned by the downstream neighbor node is received, judging whether to update the block state of the target interest packet and each downstream neighbor node or not according to the returned another interest packet, or sending a data packet corresponding to a new block to the downstream neighbor node which returns the another interest packet. The application can reduce the redundancy of data transmission of the block chain network and can improve the performance of the block chain system.
Description
Technical Field
The present application relates to the field of blockchain technologies, and in particular, to a blockchain network data transmission method and apparatus, and a blockchain network.
Background
The blockchain technology is widely applied to the fields of finance, supply chains, medical fields, digital asset management and the like as a decentralized distributed ledger technology. Its core characteristics include decentration, tamper resistance and transparency. However, with the continuous expansion of the blockchain network size, the efficiency of data synchronization and network performance among nodes become further critical issues that limit blockchain development. In view of the limitations of current network infrastructure architecture, most blockchain systems conduct data propagation and synchronization over IP-based point-to-point transport protocols, however, this network model presents a significant bottleneck.
Traditional blockchain systems are based on TCP/IP network architecture, and nodes identify themselves through IP addresses. The blockchain network adopts broadcasting or a propagation mode based on neighbor nodes, so that the network resource utilization rate is lower. Especially under the condition of huge number of nodes, the traditional mode easily causes honor of data packets, and the problems of insufficient bandwidth utilization and low transmission efficiency are caused.
Named Data Networking (NDN) is a new type of content-based network architecture that enables efficient routing distribution of data through content names rather than IP addresses. The network architecture provides a new idea for solving the problem of block chain network synchronization. Through the content caching and addressing according to the name of the NDN, data can be more efficiently transmitted among nodes, and the natural support of the NDN for broadcasting is more suitable for block chains, so that redundancy and overhead of data transmission are reduced.
However, more research and practice of replacing the blockchain network layer with NDN is that only data is transmitted and received, the naming design and the transmission design are simpler, and the adaptive method lacks full utilization of NDN performance. Because the generation position of the block data is not known, the NDN can send a large amount of request messages to occupy channel resources, and the characteristics of block chain node data transmission are ignored by using a broadcast transmission strategy, the data redundancy can be caused to a certain extent by the non-purpose NDN data request.
Disclosure of Invention
In view of the foregoing, embodiments of the present application provide a blockchain network data transmission method, apparatus, and blockchain network that obviate or mitigate one or more disadvantages in the prior art.
One aspect of the present application provides a blockchain network data transmission method, including:
Acquiring a target interest packet in a block chain network, and if the target interest packet is confirmed to be acquired for the first time, updating a local synchronous forwarding table according to an incoming node ID corresponding to the target interest packet and a node name of a source node which initiates the target interest packet and is generated in a naming mode of a naming data network in advance;
If the current existence of the downstream neighbor nodes in the block chain network is confirmed, broadcasting the target interest packet to all the downstream neighbor nodes so that the target interest packet is finally broadcasted to the block chain network whole network;
If another interest packet returned by the downstream neighbor node is received, judging whether to update the block state of the downstream neighbor node and the own block state according to the returned another interest packet, or sending a data packet corresponding to a new block to the downstream neighbor node returning the another interest packet.
In some embodiments of the application, the interest package comprises a corresponding application name, an interest type, interest information corresponding to the interest type and additional information, wherein the application name comprises a blockchain based on a named data network;
the interest type comprises a data request interest and an interest bulletin;
The interest information corresponding to the data request interest comprises information for representing a request block;
The interest information corresponding to the interest bulletin comprises information used for respectively representing connection establishment, connection rejection, response state, update state, connection ending and new area block generation;
The additional information comprises at least one of node names, block hash values and block states generated in a naming manner of a naming data network, wherein the block states comprise block heights;
the target interest packet refers to the interest packet containing information for representing the connection establishment, the response state, the update state, the connection end, the new block generation or the request block;
If the target interest packet contains information for representing the establishment of the connection, the target interest packet is a first interest packet;
If the target interest packet contains information for representing the response state, the target interest packet is a second interest packet;
If the target interest packet contains information for representing the request block, the target interest packet is a third interest packet;
if the target interest packet contains information for representing the update state, the target interest packet is a fourth interest packet;
and if the target interest packet contains information for representing the generation of the new block, the target interest packet is a fifth interest packet.
In some embodiments of the present application, the obtaining the target interest packet in the blockchain network, if confirming that the target interest packet is obtained for the first time, updating a local synchronous forwarding table according to an incoming node ID corresponding to the target interest packet and a node name of a source node initiating the target interest packet, which is generated in a naming manner of a naming data network in advance, includes:
In the block chain network, the self is taken as a source node to generate a first interest packet containing information for representing the establishment of the connection, or the first interest packet containing information for representing the establishment of the connection, which is broadcasted by an upstream neighbor node of the self, is received in the block chain network;
Judging whether the first interest packet is acquired for the first time or not, if so, adding a table item of a source node corresponding to the first interest packet in a local synchronous forwarding table, wherein the table item is used for storing a corresponding relation between a node name of the source node corresponding to the first interest packet and an incoming node ID corresponding to the first interest packet, which is generated in a naming mode of a naming data network in advance, wherein the incoming node ID is the ID of the source node if the first interest packet is generated locally;
if the fact that the downstream neighbor nodes exist in the blockchain network currently is confirmed, the IDs of the downstream neighbor nodes are used as the IDs of the outgoing nodes and added to the table entries of the source nodes corresponding to the first interest packets.
In some embodiments of the present application, if another interest packet returned by the downstream neighboring node is received, determining whether to update the block status of itself and each of the downstream neighboring nodes according to the returned another interest packet, or sending a data packet corresponding to a new block to the downstream neighboring node that returns the another interest packet, where the data packet includes:
If a second interest packet containing information for representing the response state returned by the downstream neighbor node is received, judging whether the block height indicated by the additional information in the second interest packet is higher than the current block height of the downstream neighbor node;
If so, determining a downstream neighbor node with the block height higher than the current block height of the target node as the current target node, updating the known block height of the target node according to the block height of the target node indicated by the additional information in the second interest packet, sending a third interest packet containing information for representing the request block to the target node so as to update the local block based on the data packet of the highest block returned by the target node, and broadcasting a fourth interest packet containing information for representing the update state and the block height of the target node to other downstream neighbor nodes except the target node so that the other downstream neighbor nodes except the target node update the known block height of the target node according to the block height of the target node and continue broadcasting a fourth interest packet containing information for representing the update state and the block height of the target node to the respective downstream neighbor node, thereby enabling the block heights of all nodes in the block chain network to be synchronized to the target node;
If not, determining a downstream neighbor node with the block height lower than the current block height as a current target node if the block height indicated by the additional information in the second interest packet is lower than the current block height of the target node, sending a fourth interest packet containing information for representing the update state and the block height of the target node to the target node so that the target node updates the known block height of the target node according to the block height of the target node and returns a third interest packet containing information for representing the request block, receiving the third interest packet returned by the target node, and sending the data packet of the current highest block of the target node to the target node so that the target node carries out local block update according to the received data packet of the highest block and continues sending the fourth interest packet containing information for representing the update state and the block height of the target node to the downstream neighbor node, thereby enabling the block heights of all nodes in the block chain network to be synchronous to the block height of the target node.
In some embodiments of the present application, the blockchain network data transmission method further includes:
In the block chain network, generating a sixth interest packet containing information for representing the ending connection by taking the block chain network as a source node, or receiving the sixth interest packet containing information for representing the ending connection broadcast by an upstream neighbor node of the block chain network;
Judging whether the source node obtains the sixth interest packet for the first time or not, if so, deleting the table entry of the source node corresponding to the sixth interest packet in a local synchronous forwarding table;
and if the downstream neighbor node exists in the blockchain network, broadcasting the sixth interest packet to all the downstream neighbor nodes so that the sixth interest packet is finally broadcast to the blockchain network whole network.
In some embodiments of the present application, the obtaining the target interest packet in the blockchain network, if confirming that the target interest packet is obtained for the first time, updating a local synchronous forwarding table according to an incoming node ID corresponding to the target interest packet and a node name of a source node initiating the target interest packet, which is generated in a naming manner of a naming data network in advance, includes:
Generating a fifth interest packet containing information for representing the new block by taking the fifth interest packet as a source node in the blockchain network, or receiving a fifth interest packet containing information for representing the new block, which is broadcasted by an upstream neighbor node of the fifth interest packet in the blockchain network;
Judging whether the fifth interest packet is acquired for the first time, if so, adding a table entry of a source node corresponding to the fifth interest packet to a local synchronous forwarding table, wherein the table entry of the source node corresponding to the fifth interest packet is used for storing a corresponding relation between a node name of the source node which is generated in a naming mode of a named data network in advance and an incoming node ID corresponding to the fifth interest packet, and if the fifth interest packet is generated locally, the incoming node ID is the ID of the source node, and if the fifth interest packet is received from an upstream neighbor node of the fifth interest packet, the incoming node ID is the ID of the upstream neighbor node;
if the fact that the downstream neighbor nodes exist in the blockchain network currently is confirmed, the IDs of the downstream neighbor nodes are used as the IDs of the outgoing nodes and added into the table entries of the source nodes corresponding to the fifth interest packets, and a third interest packet containing information used for representing the requested block is sent to the source nodes to obtain the data packet of the corresponding new block.
In some embodiments of the present application, if another interest packet returned by the downstream neighboring node is received, determining whether to update the block status of itself and each of the downstream neighboring nodes according to the returned another interest packet, or sending a data packet corresponding to a new block to the downstream neighboring node that returns the another interest packet, where the data packet includes:
and if a third interest packet containing information for representing the request block returned by the downstream neighbor node is received, sending a data packet of the new block prestored locally to the downstream neighbor node.
In some embodiments of the present application, the blockchain network data transmission method further includes:
And acquiring a target interest packet in the blockchain network, and if the target interest packet is confirmed to be acquired for the first time, transmitting a seventh interest packet containing information for indicating the connection rejection to an upstream neighbor node transmitting the target interest packet, so that the upstream neighbor node receiving the seventh interest packet deletes the ID of the node transmitting the seventh interest packet from the list item of the synchronous forwarding table of the node.
Another aspect of the present application provides a blockchain network data transmission device, comprising:
The synchronous forwarding table updating module is used for acquiring a target interest packet in the blockchain network, and if the target interest packet is confirmed to be acquired for the first time, updating a local synchronous forwarding table according to an incoming node ID corresponding to the target interest packet and a node name of a source node which initiates the target interest packet and is generated in a naming mode of a naming data network in advance;
The interest packet broadcasting module is used for broadcasting the target interest packet to all the downstream neighbor nodes if confirming that the target interest packet exists in the block chain network currently, so that the target interest packet is finally broadcasted to the block chain network whole network;
And the node and block synchronization module is used for judging whether to update the block states of the node and each downstream neighbor node according to the returned other interest packet if the other interest packet returned by the downstream neighbor node is received, or sending a data packet corresponding to a new block to the downstream neighbor node returning the other interest packet.
A third aspect of the present application provides a blockchain network, each node constituting the blockchain network being configured to perform the blockchain network data transmission method, respectively.
A fourth aspect of the application provides an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the blockchain network data transmission method when executing the computer program.
A fifth aspect of the present application provides a computer readable storage medium having stored thereon a computer program which when executed by a processor implements the blockchain network data transmission method.
A sixth aspect of the present application provides a computer program product comprising a computer program which when executed by a processor implements the blockchain network data transmission method.
The block chain network data transmission method provided by the application is characterized in that a target interest packet is acquired in a block chain network, if the target interest packet is confirmed to be acquired for the first time, a local synchronous forwarding table is updated according to an incoming node ID corresponding to the target interest packet and the node name of a source node which initiates the target interest packet and is generated in a naming mode of a naming data network in advance, if the target interest packet is confirmed to exist in the block chain network currently, the target interest packet is broadcasted to all the downstream neighbor nodes so that the target interest packet is finally broadcasted to the whole block chain network, if another interest packet returned by the downstream neighbor nodes is received, whether to update the block state of the target interest packet and each downstream neighbor node is judged according to the returned another interest packet, or the data packet corresponding to a new block is sent to the downstream neighbor node which returns the another interest packet, so that the naming mode of the naming data network can be fully utilized to reduce the data redundancy in the block chain network data transmission, and the block data synchronization efficiency and the block chain system performance can be improved.
Additional advantages, objects, and features of the application will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the application. The objectives and other advantages of the application may be realized and attained by the structure particularly pointed out in the written description and drawings.
It will be appreciated by those skilled in the art that the objects and advantages that can be achieved with the present application are not limited to the above-described specific ones, and that the above and other objects that can be achieved with the present application will be more clearly understood from the following detailed description.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate and together with the description serve to explain the application. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the application. Corresponding parts in the drawings may be exaggerated, i.e. made larger relative to other parts in an exemplary device actually manufactured according to the present application, for convenience in showing and describing some parts of the present application. In the drawings:
Fig. 1 is a schematic flow chart of a first method for transmitting blockchain network data according to an embodiment of the present application.
Fig. 2 is a schematic diagram illustrating a naming design of a data packet according to the present application.
Fig. 3 is a schematic diagram illustrating another naming design of a data packet according to the present application.
Fig. 4 is a schematic diagram illustrating a comparison of data propagation between the interest delivery method according to the present application and the existing original interest broadcasting method.
Fig. 5 is a schematic structural diagram of a synchronous forwarding expression according to the present application.
Fig. 6 is a second flowchart of a blockchain network data transmission method according to an embodiment of the application.
Fig. 7 is a third flowchart of a blockchain network data transmission method according to an embodiment of the application.
FIG. 8 is a schematic diagram of a new block propagation sample in an application example of the present application.
FIG. 9 is a system state diagram corresponding to a blockchain network in an embodiment of the present application.
Fig. 10 is a schematic diagram of a block chain network data transmission device according to an embodiment of the application.
Detailed Description
The present application will be described in further detail with reference to the following embodiments and the accompanying drawings, in order to make the objects, technical solutions and advantages of the present application more apparent. The exemplary embodiments of the present application and the descriptions thereof are used herein to explain the present application, but are not intended to limit the application.
It should be noted here that, in order to avoid obscuring the present application due to unnecessary details, only structures and/or processing steps closely related to the solution according to the present application are shown in the drawings, while other details not greatly related to the present application are omitted.
It should be emphasized that the term "comprises/comprising" when used herein is taken to specify the presence of stated features, elements, steps or components, but does not preclude the presence or addition of one or more other features, elements, steps or components.
It is also noted herein that the term "coupled" may refer to not only a direct connection, but also an indirect connection in which an intermediate is present, unless otherwise specified.
Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. In the drawings, the same reference numerals represent the same or similar components, or the same or similar steps.
In the existing blockchain network, data transmission and synchronization are core links for realizing normal operation of the decentralization system. However, with the increasing number and distribution of blockchain nodes, conventional IP-based point-to-point (P2P) network architectures have exposed a number of problems in handling large-scale data transmissions. Most prominent are the inefficiency of data redundancy in network data transmissions, which directly affects the performance and stability of the overall blockchain system.
Because the blockchain network employs a de-centralized architecture, each node needs to synchronize data from other nodes. To ensure data consistency, data transmission between blockchain nodes is often performed through a broadcast mechanism. Although this broadcast data transmission method can ensure that data finally reaches all nodes, in a large-scale network, a great redundancy transmission is easily caused. For example, when a new block needs to be synchronized by all nodes, the same packets may be repeatedly received between multiple nodes, which are redundant in nature and do not make efficient use of network bandwidth. In addition, data synchronization between nodes often adopts a request-response mechanism, and some nodes may continuously request data from other nodes, so that frequent data transmission and repeated exchange are caused, and further network burden is increased.
Although some research has been attempted in recent years to combine NDN with blockchain technology to explore how to optimize data transfer and synchronization of blockchains through NDN, most of these research focused on data request mechanisms and data naming, and the deep fusion potential of NDN and blockchain has not been exploited deeply. Existing NDN and blockchain binding studies have focused mainly on how to exploit the content naming and content addressing characteristics of NDNs to improve the data request and retrieval process in blockchain networks. For example, some researches are about the highest block state obtained by what naming method and the block data obtained by what name, and some researches are about providing a subscription method for data transmission in order to overcome the problem that NDN cannot push data actively. These methods also present overhead in maintaining the new structure. There is still a lot of room for the current solutions in general. In order to fully utilize the characteristics of NDN to accelerate the data transmission performance of a block chain network layer, the application designs and realizes a low-redundancy NDN block chain network high-efficiency synchronization mechanism based on directional forwarding. The synchronization mechanism can directionally send NDN interests according to the neighbor node list to form a full-network synchronous forwarding tree, so that a large number of redundant interest packets and corresponding response data packets caused by interest broadcasting are reduced. Finally, the design of the application proves that the network transmission redundancy can be reduced, and the performance of the block chain system can be improved.
The named data network is a novel internet architecture, inherits an hourglass type structure of an IP architecture, and improves a communication mode based on an IP address into a communication mode based on content. The naming data network names the data in the network according to the content, and matches and retrieves the names of the content data in the forwarding process, so the network architecture does not care about the storage position of the data any more and directly faces the data to provide service. Three data structures of NDN forwarding process (NFD), pending interest table PIT, forwarding information base FIB, and content cache CS table. The PIT is used for recording the interests to be satisfied and the corresponding interfaces thereof, the FIB stores the routing information, the PIT is used for controlling the forwarding of the interests, and the CS is used for caching the incoming data packets. The three structures cooperate with a forwarding strategy module to realize the interest forwarding and data response flow together. In NFD, the interface between a connection application and a network layer or network node is called a plane. When an NDN packet arrives at one face, the NFD processes the packet and sends the packet to the other face in a manner to arrive at the next hop of the packet. The NDN has the advantages of data caching, local multicasting, adaptive forwarding and the like, and can better solve the problems of low transmission efficiency, high data redundancy and the like of a block chain system. Meanwhile, each data packet is encrypted and signed in the NDN, so that the integrity and the authenticity of the data are ensured. Therefore, NDN has become a trend in blockchain systems as an underlying network architecture.
The NDN-based blockchain network transmission policy (i.e., blockNDN mechanism) is an NDN network design for trading blockchain systems, which aims to reduce the overhead of IP networks by utilizing the multicast-supporting nature of NDN. The method is named for block propagation suitable for transaction systems, in the design of the strategy, interests are divided into three parts, namely application, function and data summary, nodes locate missing blocks through the data summary, and corresponding block data are used as response data packets to be returned. The node also broadcasts interests when updating the state of the block, broadcasting the hash digest of the new block as part of the interests to the surroundings to inform other network nodes of the state of the new block.
The BoNDN mechanism considers the suitability of the blockchain network layer to NDN, and supports real-time broadcasting of blockchain transaction information through interest broadcasting, which has little influence on the network because of little interest. In addition, the mechanism uses a subscription push approach to support broadcasting of block data in the blockchain, considering that NDN does not support active pushing of data. The common node subscribes the miner node through interests, and the miner node maintains a subscription table to record subscription conditions. After the miner node generates a new block, the block data is reversely sent to the node subscribed to the miner node according to the information in the subscription table, so that the problem of active data pushing is solved.
The focus of the anchor mechanism is also in terms of communication overhead and redundant traffic, which considers the security and efficiency issues of simple blockchain and NDN combinations, thus introducing an anchor concept that connects nodes by clipping NDNs and cascading two NDN systems. In the first layer the anchor points act as consumers, each node acts as a potential producer, and in the second layer the anchor points act as producers. The newly generated data propagates through the first layer NDN to the anchor point, which relays through the second layer NDN to other nodes.
Therefore, in the present application, advantages and disadvantages of the above-mentioned strategies are comprehensively considered, a new blockchain network layer synchronization strategy is designed and implemented, and embodiments of the present application provide a blockchain network data transmission method, a blockchain network data transmission device, an entity device, a computer readable storage medium, a computer program product, and a blockchain network for executing the blockchain network data transmission method, respectively, which can fully utilize NDN characteristics, reduce data redundancy in data transmission, and improve the blockchain data synchronization efficiency.
The following examples are provided to illustrate the invention in more detail.
Based on this, an embodiment of the present application provides a blockchain network data transmission method that can be implemented by a blockchain network data transmission device, referring to fig. 1, the blockchain network data transmission method specifically includes the following contents:
Step 100, acquiring a target interest packet in a blockchain network, and if the target interest packet is confirmed to be acquired for the first time, updating a local synchronous forwarding table according to an incoming node ID corresponding to the target interest packet and a node name of a source node which initiates the target interest packet and is generated in a naming mode of a naming data network in advance.
In one or more embodiments of the application, the blockchain network data transmission device is disposed within a node in the blockchain network.
It can be understood that if the first interest packet is generated locally, the ID of the incoming node is the ID of the source node, and if the first interest packet is received from an upstream neighboring node of the first interest packet, the ID of the incoming node is the ID of the upstream neighboring node. That is, the node where the blockchain network data transmission device executing the blockchain network data transmission method is located may be a source node that generates the target interest packet, or may be an intermediate node that receives the target interest packet broadcast by its upstream neighboring node in the blockchain network.
In one or more embodiments of the present application, the incoming node ID may be abbreviated as an incoming plane ID or an incoming ID, the outgoing node ID mentioned in the subsequent embodiments may be abbreviated as an outgoing plane ID or an outgoing ID, and the target interest packet refers to an interest packet including information indicating that a connection (pull_status), a response state (answer), an update state (update), a new block generation (newblock), or a request block (request_block) is established, and the other interest packet in the step 300 refers to another target interest packet different from the target interest packet in the step 100. On this basis, the interest packet in the embodiment of the present application may further include information for indicating that the connection (occupied) is refused, which will be described in detail in the following embodiments. Wherein ID (Identity document) is a unique identification of a knuckle in the blockchain network, such as a code.
In one or more embodiments of the application, the interest package may also be abbreviated as interest.
Step 200, if confirming that the downstream neighbor node exists in the blockchain network, broadcasting the target interest packet to all the downstream neighbor nodes so that the target interest packet is finally broadcasted to the blockchain network whole network.
In step 200, if it is determined that there is no downstream neighboring node in the blockchain network, step 300 is not performed, and the target interest packet including the information for indicating the response status of the target interest packet is directly sent to the upstream neighboring node sending the target interest packet, where the additional information of the target interest packet including the information for indicating the response status of the target interest packet includes the current block status (e.g., the block height) of the target interest packet.
And 300, if another interest packet returned by the downstream neighbor node is received, judging whether to update the block state of the downstream neighbor node and the own block state according to the returned another interest packet, or sending a data packet corresponding to a new block to the downstream neighbor node returning the another interest packet.
In step 300, if another interest packet returned by the downstream neighboring node currently received includes a target interest packet for indicating the response status, it is indicated that the target interest packet is currently in a new node synchronization status, whether the block height indicated by the additional information in the target interest packet is higher than the current block height of the target interest packet is determined, and whether to update the local and block statuses of other downstream neighboring nodes except the downstream neighboring node is determined according to the determination result.
In step 300, if a target interest packet including information for representing the requested block returned by the downstream neighboring node is received, it indicates that in a new block synchronization state currently processed by the downstream neighboring node, a data packet of the new block pre-stored locally is sent to the downstream neighboring node.
As can be seen from the above description, the blockchain network data transmission method provided by the embodiments of the present application belongs to a transmission mechanism for reducing data redundancy of a blockchain network, and the mechanism is based on an NDN network, so as to optimize efficiency of the existing blockchain network in a data synchronization process. The block chain network data transmission method provided by the embodiment of the application uses the naming mode of the NDN as a routing mode to replace the fixed routing mode based on the IP address in the traditional block chain. By naming and identifying the block data and the block state, the node can complete the acquisition of different data through different kinds of interests. In the transmission mechanism of the present application, a new data structure named synchronous forwarding table is involved for storing synchronous state, and the request (interest) naming is designed. The process of synchronizing the parts can be divided into two parts, new node synchronization and new block propagation.
In order to further fully utilize the naming mode of the named data network to reduce the data redundancy in the data transmission of the blockchain network, in the data transmission method of the blockchain network provided by the embodiment of the application, referring to fig. 2 and 3, an interest packet contains a corresponding application name, an interest type, interest information corresponding to the interest type and additional information, wherein the application name comprises a blockchain (ndnblockchain) based on the named data network;
Referring to fig. 2 and 3, the interest types include a data request interest (request) and an interest bulletin (main);
The interest information corresponding to the data request interest includes information for representing a request block (request_block);
the interest information corresponding to the interest bulletin includes information for representing establishment of a connection (pull_status), rejection of the connection (occupied), response status (answer), update status (update), end of connection (finish), and generation of a new block (newblock), respectively;
the additional information includes at least one of a node name (e.g., node 1), a block hash value, and a block state generated in a naming manner of the naming data network, the block state including a block height (e.g., 3291, 3292, or 3295);
the target interest packet refers to the interest packet containing information for representing the connection establishment, the response state, the update state, the connection end, the new block generation or the request block;
If the target interest packet contains information for representing the establishment of the connection, the target interest packet is a first interest packet;
If the target interest packet contains information for representing the response state, the target interest packet is a second interest packet;
If the target interest packet contains information for representing the request block, the target interest packet is a third interest packet;
if the target interest packet contains information for representing the update state, the target interest packet is a fourth interest packet;
and if the target interest packet contains information for representing the generation of the new block, the target interest packet is a fifth interest packet.
It may be appreciated that the embodiment of the present application further provides a sixth interest packet and a seventh interest packet, which do not belong to the target interest packet, where the sixth interest packet refers to an interest packet containing information for indicating the ending connection, and the seventh interest packet refers to an interest packet containing information for indicating the ending connection.
In particular, the new data structure record interest forwarding situation for synchronization provided by the embodiment of the application additionally adds records of block height states of different forwarding planes for the transmission of the adaptive blockchain network. In order to obtain the block status of the block chain synchronous network, the application also designs six naming modes, and in addition, has independent naming design for block acquisition. The nodes newly joining the network firstly initiate the whole network synchronization, broadcast own information to other nodes, and then collect the states of other nodes of the whole network according to a specific mode. And sending a block request to surrounding nodes after the state is obtained. In the scene of generating the new block, the nodes generating the block inform surrounding nodes of the generation of the new block through the interest, and other nodes receiving the interest send the interest of the request block to the nodes, so that the new block is broadcasted to the whole network.
That is, referring to fig. 4, when a node requests data, it selectively sends a data request to a node connected to itself, and the node sends interest directionally according to feedback information of a downstream node, so as to reduce redundant requests in the network. That is, all nodes in the network are linked by interest announcements, and when a node initiates a synchronization request, the node pulls to the synchronization state of the whole network and keeps the whole network node in the latest state. This is equivalent to the fact that a synchronization node that receives interest later will create a subscription relationship to the node that forwards or sends the interest, and using this approach to route will also reduce redundant transmission of data, since only the nodes that receive the synchronization interest will return data, and intermediate routing nodes will aggregate the data, thereby reducing redundant traffic in the network. In summary, by designing the naming method and applying a new data structure, combining the characteristics of NDN, an NDN blockchain synchronization method capable of reducing redundancy is implemented.
In order to realize the functions of state acquisition and data request among nodes, the interest package and the data are named. The name structure of the interest package is composed of four parts, namely an application name, an interest type, type information and additional information. The additional information may be a node name, a chunk hash value, or a chunk height. The interest type is used to distinguish between an interest of the bulletin type and a general data request interest.
There are five types of interest announcements including set up connection (pull_status), reject connection (occupied), respond state (answer), update state (update), and end connection (finish), respectively. Therefore, the interest bulletin needs to carry three kinds of information, wherein the first kind of information is the type of the interest bulletin and is used for indicating the function exerted by the interest packet, the second kind of information is the identity information of the node which sends the interest packet and is used for distinguishing the interests sent by different nodes, and the third kind of information is that the interest name also carries the highest block number information per se in the interest of the update state and the response state.
In addition to the five interest announcements described above, there are also interest announcements of the newblock type for informing of the generation of new blocks. In the interest bulletin, the additional information field named for the interest carries the block number of the latest generated block.
The type information and the corresponding names of the six interest bulletins are shown in table 1:
TABLE 1
Type information | Naming examples |
pull_status | /ndnblockchain/main/pull_status/node1 |
occupied | /ndnblockchain/main/occupied/node2 |
answer | /ndnblockchain/main/answer/3291 |
update | /ndnblockchain/main/update/3292 |
finish | /ndnblockchain/main/finish/node1 |
newblock | /ndnblockchain/main/newblock/3295 |
In one or more embodiments of the application, the synchronous forwarding table is a data structure that each node maintains during synchronization. The structure of the synchronous forwarding table is defined as follows, each entry is composed of the name of the node initiating the synchronization, the incoming face ID (which may also be referred to as an incoming ID), and the outgoing face list (which may also be referred to as an outgoing list). In the outgoing face list, each entry is used to record the ID of the outgoing face (i.e., faceID) and the block height (simply referred to as height) of the outgoing face corresponding node. There may be multiple entries in the synchronization forwarding table of a node at the same time, for example, synchronization information 1 to synchronization information n in fig. 5, where n is a positive integer greater than 2, and corresponds to synchronization information of multiple nodes being synchronized.
Based on this, in order to further reduce the redundancy of transmission data in the synchronization process of the new node, in the blockchain network data transmission method provided in the embodiment of the present application, referring to fig. 6, step 100 of the blockchain network data transmission method specifically includes the following:
And 110, generating a first interest packet containing information for representing the establishment of the connection by taking the first interest packet as a source node in the blockchain network, or receiving the first interest packet containing information for representing the establishment of the connection, which is broadcasted by an upstream neighbor node of the first interest packet in the blockchain network.
Step 120, judging whether the first interest packet is acquired for the first time, if yes, adding a table entry of a source node corresponding to the first interest packet in a local synchronous forwarding table, wherein the table entry is used for storing a corresponding relation between a node name of the source node corresponding to the first interest packet and an incoming node ID corresponding to the first interest packet, which is generated in a naming mode of a naming data network in advance, wherein the incoming node ID is the ID of the source node if the first interest packet is generated locally;
and 130, if the fact that the downstream neighbor nodes exist in the blockchain network is confirmed, the IDs of the downstream neighbor nodes are used as the IDs of the outgoing nodes and added into the list items of the source nodes corresponding to the first interest packets.
Correspondingly, in the method for transmitting blockchain network data provided in the embodiment of the present application, referring to fig. 6, step 300 of the method for transmitting blockchain network data specifically includes the following steps:
step 310, if a second interest packet containing information for representing the response state returned by the downstream neighbor node is received, judging whether the block height indicated by the additional information in the second interest packet is higher than the current block height of the downstream neighbor node, if so, executing step 320, otherwise, executing step 330;
Step 320, determining a downstream neighbor node with a block height higher than the current block height of the target node as a current target node, updating the known block height of the target node according to the block height of the target node indicated by the additional information in the second interest packet, sending a third interest packet containing information for representing the request block to the target node so as to update the local block based on the data packet of the highest block returned by the target node, and broadcasting a fourth interest packet containing information for representing the update state and the block height of the target node to other downstream neighbor nodes except the target node so that the other downstream neighbor nodes except the target node update the known block height of the target node according to the block height of the target node and continue broadcasting a fourth interest packet containing information for representing the update state and the block height of the target node to the respective downstream neighbor node, thereby enabling the block heights of all nodes in the blockchain network to be synchronized to the target node;
And 330, if the block height indicated by the additional information in the second interest packet is lower than the current block height of the target node, determining a downstream neighbor node with the block height lower than the current block height as the current target node, sending a fourth interest packet containing information for representing the update state and the block height of the target node to the target node, so that the target node updates the known block height of the target node according to the block height of the target node and returns a third interest packet containing information for representing the requested block, receiving the third interest packet returned by the target node, and sending the current highest block data packet of the target node to the target node, so that the target node performs local block update according to the received highest block data packet and continues sending the fourth interest packet containing information for representing the update state and the block height of the target node to the downstream neighbor node, and further enabling the block heights of all nodes in the block chain network to be synchronous to the block height of the target node.
That is, if the block height indicated by the additional information in the second interest packet is the same as the current block height of the second interest packet, no processing is performed.
In order to further reduce transmission data redundancy in the new node synchronization process, in the blockchain network data transmission method provided by the embodiment of the application, referring to fig. 7, the blockchain network data transmission method further specifically includes the following contents:
Step 410, generating a sixth interest packet containing information for indicating the end of connection by taking the self as a source node in the blockchain network, or receiving the sixth interest packet containing information for indicating the end of connection broadcast by an upstream neighbor node of the self in the blockchain network;
Step 420, judging whether the sixth interest packet is acquired for the first time, if yes, deleting the table entry of the source node corresponding to the sixth interest packet in the local synchronous forwarding table.
Step 430, if it is confirmed that there is a downstream neighboring node in the blockchain network, broadcasting the sixth interest packet to all the downstream neighboring nodes so that the sixth interest packet is finally broadcast to the blockchain network.
In order to further reduce redundancy of transmission data in the new block synchronization process, in the method for transmitting blockchain network data provided in the embodiment of the present application, referring to fig. 7, step 100 in the method for transmitting blockchain network data further specifically includes the following:
and 140, generating a fifth interest packet containing information for representing the new block generation by taking the fifth interest packet as a source node in the blockchain network, or receiving a fifth interest packet containing information for representing the new block generation, which is broadcasted by an upstream neighbor node of the fifth interest packet in the blockchain network.
Step 150, judging whether the fifth interest packet is acquired for the first time, if yes, adding a table entry of a source node corresponding to the fifth interest packet to a local synchronous forwarding table, wherein the table entry of the source node corresponding to the fifth interest packet is used for storing a corresponding relation between a node name of the source node which is generated in a naming mode of a naming data network in advance and an incoming node ID corresponding to the fifth interest packet, if the fifth interest packet is generated locally, the incoming node ID is the ID of the source node, and if the fifth interest packet is received from an upstream neighbor node of the fifth interest packet, the incoming node ID is the ID of the upstream neighbor node.
Step 160, if it is confirmed that there is a downstream neighboring node in the blockchain network, the ID of each downstream neighboring node is used as an outgoing node ID and added to an entry of a source node corresponding to the fifth interest packet, and a third interest packet containing information for representing the requested block is sent to the source node to obtain a data packet of a corresponding new block.
Correspondingly, in the method for transmitting blockchain network data provided in the embodiment of the present application, referring to fig. 7, step 300 of the method for transmitting blockchain network data specifically includes the following steps:
Step 340, if a third interest packet containing information for representing the requested block returned by the downstream neighbor node is received, sending a data packet of the new block pre-stored locally to the downstream neighbor node.
In order to further reduce transmission data redundancy in the new node synchronization process, in the blockchain network data transmission method provided by the embodiment of the application, referring to fig. 7, the blockchain network data transmission method further specifically includes the following contents:
step 500, a target interest packet is acquired in a blockchain network, if the target interest packet is confirmed to be acquired for the first time, a seventh interest packet containing information for indicating the connection rejection is sent to an upstream neighbor node sending the target interest packet, so that the upstream neighbor node receiving the seventh interest packet deletes the ID of the node sending the seventh interest packet from the list item of the synchronous forwarding table of the node.
Based on this, in order to further explain the above embodiments, the present application further provides a specific application example of the blockchain network data transmission method, and the specific details are described by a new node synchronization method, a new block synchronization method, and a system state, which are specifically as follows:
New node synchronization method
The new node joins the network out of sync with the blockchain network and therefore needs to initiate synchronization in the network once. The general flow is that the new node needs to initiate full network synchronization by sending a set up connection (pull_status) request carrying the local node name, which the node needs to broadcast in order to ensure that it can get the truly synchronized block height itself. The node receiving the interest establishes a table item of a synchronous forwarding table, forwards the interest to other nodes continuously, takes the broadcasted node as a downstream node of the node, and starts to wait for the height transmitted by the downstream node. When a node in the synchronous state has no downstream node with unknown height, the self block height is returned to the upstream node. Therefore, through the two-step process of establishing the synchronization-return height, the node initiating the synchronization can obtain the latest block state in the current network, and send the interest of the request block to the neighbor direction of a certain highest block in the network through the content of the self-synchronization forwarding table. In this process, there may be other nodes in the network that are not in the highest state of the whole network as well, and then the state of the nodes is updated when the interests with block heights transmitted from upstream or downstream are received. The following will describe the types of messages involved in detail:
(1) When one node initiates synchronization, assuming that node M wants to initiate synchronization, then the interest of pull_status is sent to all neighbor nodes requesting to establish a synchronization connection with the neighbor nodes. And establishing an entry taking the local node as an identifier in a local synchronous forwarding table, and recording all FaceID issued by the pull_status interest into an issued list. When the neighbor node receives the request of pull_status, checking whether the neighbor node has received the request synchronization interest sent by the same node, if not, namely, if the interest notice is received for the first time, the neighbor node considers that the neighbor node is currently added into the whole network synchronization process, takes the source of the interest as the upstream of the neighbor node, establishes a synchronization forwarding relation table entry to maintain the synchronization relation, continues broadcasting the interest, and records FaceID of the neighbor node related to the self broadcasting in an outgoing surface list of the table entry.
(2) When there is an entry for node M in the synchronous forwarding table of node/occupied/, which indicates that the node is already in this synchronous relationship, it is necessary to send occupied type interest broadcast to the interested entry surface to refuse to establish synchronous connection when receiving the request for establishing synchronous relationship with the node identifier again. Similarly, the node that receives occupied types of interests deletes the interest's revenue plane from the local list of synchronized forwarding table entries.
(3) After the node has confirmed the state of all neighbor nodes around, the node without any downstream node or the node knowing the state of all downstream nodes carries its highest block state back to its "upstream" node within the name of the answer interest. The "upstream" node receives the answer interest with the block height to identify that the child node has completed the message synchronization of all its child nodes in the synchronization relationship, first determines the difference between the height and the known height of itself, if it is higher than the state of itself, updates the known highest height of itself, and requests the missing block from the downstream node, while using the update interest to inform other downstream nodes of itself to update the highest block of itself. If the update interest is lower than the known highest block, the update interest with the highest block number is sent to the downstream node to update the state of the downstream node.
(4) The update/{ height }/, indicates that the node has its highest block state lower than the highest block state of the upstream node when it receives the update interest, thus updating its highest known block number and sending a request block request to the upstream node, and sending update interests to other downstream nodes to update their highest known blocks.
(5) After all nodes except the node initiating the synchronization request feed back the own state to the upper node, the node initiating the synchronization request obtains the highest state of the whole network, and then the node initiating the synchronization sends a finish_pull interest indication to all exit faces in the synchronization forwarding table to finish secondary synchronization, and the table entry is deleted. The node receiving the finish_pull interest also forwards the interest according to the exit Face in the local table entry, and simultaneously deletes the table entry corresponding to the node in the local relation table.
(II) New Block synchronization method
When a new block is created, the node needs to publish it to the full network. NDN itself does not support broadcasting of data, however, and therefore, it is necessary to advertise interests to inform other nodes of the generation of new blocks for other nodes to perform block verification and data request. In the synchronization method of the application, after a miner node digs a new block, a message generated by the new block is firstly broadcast to other neighbor nodes through interests/ndnblockchain/main/newblock/{ number }, and the node receiving the interests continues to broadcast the interests and further broadcast the interests to the whole network. Since the status of the interested outgoing node is not needed in the scenario of the new block broadcast, it is only necessary to record the ID of the incoming plane in the synchronous forwarding table and send the interest of the requested block (e.g.,/ndnblockchain/request/request_block/{ number }) to the incoming plane, so that the latest block is obtained.
In this way, redundant interest broadcasting in the network can be reduced, and propagation of effective blocks, which are affected by response data generated by a plurality of different nodes to the interest, is prevented. FIG. 8 is a propagation sample, the new block generation node generating a new block and broadcasting the new block as follows:
Assuming that node A is a new block generating node, after node A (nodeA) generates a new block, 1. Interest/ndnblockchain/main/newblock/3213 is used to inform surrounding nodes of the generation of the new block. Node B (nodeB) and node C (nodeC) as neighbor nodes receive the interests of node A first, and after receiving, 2. Forward newblock interests towards their neighbors D and E respectively, record the incoming face ID of the interests sent by node A in a synchronous forwarding table, and under the guidance of the synchronous forwarding table, 2. Send request_block interests to node A. Node D (nodeD) and node E (nodeE) also update their own synchronized forwarding tables after receiving new block interests from nodes B and C, and 3. Send request_block interest request block to node B, C. Since node D is a neighbor node of B and C, two new block interests will be received, whereas the second interest will be combined in the NDN node, so the last node will only send the interests of the requested block to node B. After receiving newblock interests of node C, node E sends out request_block interest request block to node C.
When the interest returns, the node A normally processes the requests from the nodes B and C and returns corresponding data, when the node D sends the interest to the node C, the interest is aggregated because the node C has sent the interest of the request block, and when the node C receives the corresponding data, the corresponding data is stored in the local CS and then is forwarded to the node D. When node E's interest reaches node C, the packet is returned directly from the CS table because the local CS already has data satisfying the interest.
(III) System status
The system M can be defined approximately as:
M={Q,Σ,δ,Q0,ε}
wherein, referring to fig. 9, the state set Q is as follows:
Q=
{unsync,msgwaiting,requpdt,blockupdt,datawaiting,sync,reqblock,blockwaiting};
Wherein unsync can be written as un-sync, msgwaiting can be written as msg-waiting, requpdt can be written as req-updt, blockupdt can be written as block-updt, datawaiting can be written as data-waiting, reqblock can be written as req-block, blockwaiting can be written as block-waiting, and the specific meaning is described in detail later.
The un-sync in state is the initial state Q_0, while the normally operating node has no final state, so the application replaces the final state set with a null. When the system is in either state, a state transition occurs in a manner when an input of Σ= { E1, E2,..e11 } is received. The interpretation of the input Σ is seen in table 3.
TABLE 3 Table 3
Input device | Interpretation of the drawings |
E1 | After the node is started, the node receives the self-issued pull_status interest |
E2 | Receipt of pull_status interest |
E3 | Receiving interest of an answer or update type carrying no more than the per se known highest block |
E4 | Receiving an interest of an answer or update type higher than the known highest block |
E5 | Block receiving request |
E6 | After the block processing is finished |
E7 | Receiving interest of finish_pull type |
E8 | Finishing the data processing |
E9 | Receiving new block message or generating new block |
E10 | Forwarding new block notification message completion |
E11 | Receiving new block data and adding local block chain |
E12 | Rejoining blockchain networks |
The correspondence between each state and input is shown in table 4.
TABLE 4 Table 4
In the process of block synchronization, nodes in the system can be roughly divided into seven states.
(1) Un-sync the state of a node representing a newly joined node or rejoining the network after a long disconnection due to the network is the un-sync state. After joining the network, the nodes E1 actively send out the interest of the pull_status type to initiate the whole network synchronization and enter the msg-wait state.
(2) Msg-waiting-means that the node in mmsg-waiting state is the node in full network synchronization. These nodes will send out an answer or update type interest depending on the situation where the upstream and downstream messages are received. After receiving the interests of the answer or update type, the node in the message synchronization state compares the block numbers carried by the interests with the locally known highest block, if E3. receives the interests of the answer or update not higher than the local interests, the message synchronization state is maintained to continuously process the requests in the network, and if E4. receives the interests of the answer or update not higher than the local interests, the node enters the req-updt state and sends the request interests of the blocks. If a finish_pull interest is received in message synchronization state E7., this round of synchronization is terminated and the sync state is entered.
(3) Req-updt the node in req-updt state already knows the gap between its own local block and other synchronous nodes, sends the interest of the requested block according to the information of the synchronous information table, and enters block-updt state when E5. receives the requested block.
(4) Block-updt the node in block-updt state waits to receive the block data sent by other nodes, and at the same time, continues to process the requests in other synchronization processes in the network, if the answer or update interest is received in the state, the difference between the local and the block height carried in the interest is also judged, if 6. If the answer or update interest greater than the known highest local height is received, the request height of the node is returned to the req-updt state to update the own request height. When the node E6 receives all the block data of the request, the state of msg-waiting is returned to continuously participate in the whole network synchronization, or the E7 receives the interest of the finish type, the node enters the data-waiting state until the requested block is received and processed.
(5) Data-waiting, which means that the node knows the highest state of the whole network, in which the node will continue to process the received block. The sync state is entered after E8 receives and processes all requested blocks.
(6) Sync, which means that the synchronized state is the state of most nodes in the network that have the highest block of the whole network synchronized. The synchronized node E9 generates a new block or receives the interest generated by the new block to enter a req-block state. Or the node needs to rejoin the blockchain due to the network and the like, the node enters the un-sync state to reinitiate synchronization.
(7) Req-block, indicates that a new block is known to be generated. The node in this state will update its own synchronized interest table, record the direction in which the new block announces the interest is received, and continue broadcasting the interest. When E10, modifying the synchronous interest table is finished, entering the block-waiting state to prepare a new block.
(8) Block-waiting-the node in this state will send a new block request towards the incoming ID of the new block synchronization interest in the synchronization interest table and wait for the propagation of the block. When node e11 receives the new block and joins the local blockchain, it returns to the sync state.
In view of the software aspect, the present application further provides a blockchain network data transmission device for executing all or part of the blockchain network data transmission method, referring to fig. 10, the blockchain network data transmission device specifically includes the following contents:
The synchronous forwarding table updating module 10 is configured to acquire a target interest packet in a blockchain network, and if it is confirmed that the target interest packet is acquired for the first time, update a local synchronous forwarding table according to an incoming node ID corresponding to the target interest packet and a node name of a source node that initiates the target interest packet and is generated in a naming manner of a naming data network in advance;
the interest packet broadcasting module 20 broadcasts the target interest packet to all the downstream neighbor nodes if confirming that the downstream neighbor nodes exist in the blockchain network, so that the target interest packet is finally broadcast to the blockchain network;
and the node and block synchronization module 30 is configured to determine whether to update the block status of itself and each of the downstream neighboring nodes according to the returned another interest packet if another interest packet returned by the downstream neighboring nodes is received, or send a data packet corresponding to a new block to the downstream neighboring nodes that return the another interest packet.
The embodiment of the blockchain network data transmission device provided by the application can be particularly used for executing the processing flow of the embodiment of the blockchain network data transmission method in the embodiment, and the functions of the embodiment of the blockchain network data transmission device are not repeated herein, and can be referred to in the detailed description of the embodiment of the blockchain network data transmission method.
The part of the blockchain network data transmission device for performing blockchain network data transmission can be completed in a node such as a server or a client device. Specifically, the selection may be made according to the processing capability of the client device, and restrictions of the use scenario of the user. The application is not limited in this regard. If all operations are performed in the client device, the client device may further include a processor for performing the processing of the blockchain network data transmission.
The client device may have a communication module (i.e. a communication unit) and may be connected to a remote server in a communication manner, so as to implement data transmission with the server. The server may include a server on the side of the task scheduling center, and in other implementations may include a server of an intermediate platform, such as a server of a third party server platform having a communication link with the task scheduling center server. The server may include a single computer device, a server cluster formed by a plurality of servers, or a server structure of a distributed device.
Any suitable network protocol may be used between the server and the client device, including those not yet developed on the filing date of the present application. The network protocols may include, for example, TCP/IP protocol, UDP/IP protocol, HTTP protocol, HTTPS protocol, etc. Of course, the network protocol may also include, for example, RPC protocol (Remote Procedure Call Protocol ), REST protocol (Representational STATE TRANSFER) or the like used above the above-described protocol.
As can be seen from the above description, the blockchain network data transmission device provided by the embodiment of the application can fully utilize the naming mode of the naming data network to reduce the data redundancy in the blockchain network data transmission, and can improve the blockchain data synchronization efficiency and the blockchain system performance.
The embodiment of the application also provides a block chain network, and each node forming the block chain network is respectively used for executing the block chain network data transmission method.
The embodiment of the application also provides an electronic device, which may include a processor, a memory, a receiver and a transmitter, where the processor is configured to execute the blockchain network data transmission method mentioned in the foregoing embodiment, and the processor and the memory may be connected by a bus or other manners, for example, through a bus connection. The receiver may be connected to the processor, memory, by wire or wirelessly.
The processor may be a central processing unit (Central Processing Unit, CPU). The Processor may also be other general purpose processors, digital Signal Processors (DSP), application SPECIFIC INTEGRATED Circuits (ASIC), field-Programmable gate arrays (Field-Programmable GATE ARRAY, FPGA) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or a combination of the above.
The memory is used as a non-transitory computer readable storage medium for storing non-transitory software programs, non-transitory computer executable programs and modules, such as program instructions/modules corresponding to the blockchain network data transmission method in the embodiment of the application. The processor executes the non-transitory software programs, instructions and modules stored in the memory to perform various functional applications and data processing of the processor, i.e., to implement the blockchain network data transmission method in the above method embodiments.
The memory may include a storage program area that may store an operating system, application programs required for at least one function, and a storage data area that may store data created by the processor, etc. In addition, the memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory may optionally include memory located remotely from the processor, the remote memory being connectable to the processor through a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The one or more modules are stored in the memory that, when executed by the processor, perform the blockchain network data transmission method of the embodiments.
In some embodiments of the present application, a user equipment may include a processor, a memory, and a transceiver unit, which may include a receiver and a transmitter, the processor, the memory, the receiver, and the transmitter may be connected by a bus system, the memory being configured to store computer instructions, the processor being configured to execute the computer instructions stored in the memory to control the transceiver unit to transmit and receive signals.
As an implementation manner, the functions of the receiver and the transmitter in the present application may be considered to be implemented by a transceiver circuit or a dedicated chip for transceiver, and the processor may be considered to be implemented by a dedicated processing chip, a processing circuit or a general-purpose chip.
As another implementation manner, a manner of using a general-purpose computer may be considered to implement the server provided by the embodiment of the present application. I.e. program code for implementing the functions of the processor, the receiver and the transmitter are stored in the memory, and the general purpose processor implements the functions of the processor, the receiver and the transmitter by executing the code in the memory.
The embodiments of the present application also provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the aforementioned blockchain network data transmission method. The computer readable storage medium may be a tangible storage medium such as Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, floppy disks, hard disk, a removable memory disk, a CD-ROM, or any other form of storage medium known in the art.
Embodiments of the present application also provide a computer program product comprising a computer program which, when executed by a processor, performs the steps of the blockchain network data transmission method described above.
Those of ordinary skill in the art will appreciate that the various illustrative components, systems, and methods described in connection with the embodiments disclosed herein can be implemented as hardware, software, or a combination of both. The particular implementation is hardware or software dependent on the specific application of the solution and the design constraints. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, a plug-in, a function card, or the like. When implemented in software, the elements of the application are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine readable medium or transmitted over transmission media or communication links by a data signal carried in a carrier wave.
It should be understood that the application is not limited to the particular arrangements and instrumentality described above and shown in the drawings. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and shown as examples. The method processes of the present application are not limited to the specific steps described and shown, but various changes, modifications and additions, or the order between steps may be made by those skilled in the art after appreciating the spirit of the present application.
In this disclosure, features that are described and/or illustrated with respect to one embodiment may be used in the same way or in a similar way in one or more other embodiments and/or in combination with or instead of the features of the other embodiments.
The above description is only of the preferred embodiments of the present application and is not intended to limit the present application, and various modifications and variations can be made to the embodiments of the present application by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the protection scope of the present application.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202510156394.8A CN119814807A (en) | 2025-02-12 | 2025-02-12 | Blockchain network data transmission method, device and blockchain network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202510156394.8A CN119814807A (en) | 2025-02-12 | 2025-02-12 | Blockchain network data transmission method, device and blockchain network |
Publications (1)
Publication Number | Publication Date |
---|---|
CN119814807A true CN119814807A (en) | 2025-04-11 |
Family
ID=95259573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202510156394.8A Pending CN119814807A (en) | 2025-02-12 | 2025-02-12 | Blockchain network data transmission method, device and blockchain network |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119814807A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109451080A (en) * | 2019-01-14 | 2019-03-08 | 北京理工大学 | NDN interest packet method for reliable transmission under a kind of wireless scene |
CN110012071A (en) * | 2019-03-07 | 2019-07-12 | 北京邮电大学 | Caching method and device for Internet of Things |
KR20200065631A (en) * | 2018-11-30 | 2020-06-09 | 한국전자통신연구원 | Method and apparatus for NDN (Named Data Networking) based message delivery in publish and subscribe system using Rendezvous |
-
2025
- 2025-02-12 CN CN202510156394.8A patent/CN119814807A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200065631A (en) * | 2018-11-30 | 2020-06-09 | 한국전자통신연구원 | Method and apparatus for NDN (Named Data Networking) based message delivery in publish and subscribe system using Rendezvous |
CN109451080A (en) * | 2019-01-14 | 2019-03-08 | 北京理工大学 | NDN interest packet method for reliable transmission under a kind of wireless scene |
CN110012071A (en) * | 2019-03-07 | 2019-07-12 | 北京邮电大学 | Caching method and device for Internet of Things |
Non-Patent Citations (1)
Title |
---|
修佳鹏等: "NDN区块链网络拓扑结构性能分析及优化模型", 《通信学报》, vol. 45, no. 11, 27 December 2024 (2024-12-27) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7797375B2 (en) | System and method for responding to resource requests in distributed computer networks | |
US7978631B1 (en) | Method and apparatus for encoding and mapping of virtual addresses for clusters | |
US7783762B2 (en) | Scalable resource discovery and reconfiguration for distributed computer networks | |
US10681127B2 (en) | File upload method and system | |
CN101352002B (en) | Optimizing communication using scaleable peer groups | |
EP2618539B1 (en) | Method, system, and proxy node for P2P streaming media data distribution | |
CN100558042C (en) | A P2P live broadcast method based on super nodes | |
CN102932352B (en) | The method of communicating with the client and the server | |
US20200059353A1 (en) | Data fetching in data exchange networks | |
CN102308549A (en) | Network aware peer to peer | |
CN113572835B (en) | Data processing method, network element equipment and readable storage medium | |
CN102904903B (en) | Communication system and communication means | |
JP6597802B2 (en) | Group formation control in multi-group peer-to-peer networks | |
US9871754B2 (en) | Communicating messages between publishers and subscribers in a mesh routing network | |
WO2018121405A1 (en) | Method and device for transmitting stream data | |
CN102244670A (en) | Idle node assistance method for P2P (peer-to-peer) file transmission | |
Ahmed et al. | Connectivity framework for rendezvous and mobile producer nodes using NDN interest flooding | |
CN106899640A (en) | The acquisition methods and communication system of data resource | |
CN119814807A (en) | Blockchain network data transmission method, device and blockchain network | |
CN114866458B (en) | A management method and management system for producer movement in named data network | |
CN102098339A (en) | Audio file transmission method and system | |
CN114048270B (en) | Method and computer-readable storage medium for blockchain data synchronization | |
CN104580287A (en) | Data communication equipment and data communication method | |
US9392055B2 (en) | Data sharing method and system | |
Zhang et al. | Efficient blockchain synchronization mechanism over NDN based on directed Interest forwarding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |