CN114390063A - Message broadcasting method for block chain network, block chain node and block chain system - Google Patents

Message broadcasting method for block chain network, block chain node and block chain system Download PDF

Info

Publication number
CN114390063A
CN114390063A CN202210180901.8A CN202210180901A CN114390063A CN 114390063 A CN114390063 A CN 114390063A CN 202210180901 A CN202210180901 A CN 202210180901A CN 114390063 A CN114390063 A CN 114390063A
Authority
CN
China
Prior art keywords
message
node
blockchain
message data
application layer
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.)
Granted
Application number
CN202210180901.8A
Other languages
Chinese (zh)
Other versions
CN114390063B (en
Inventor
焦梦洪
曾超
孙赫
徐文博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202210180901.8A priority Critical patent/CN114390063B/en
Publication of CN114390063A publication Critical patent/CN114390063A/en
Priority to PCT/CN2022/135445 priority patent/WO2023160089A1/en
Application granted granted Critical
Publication of CN114390063B publication Critical patent/CN114390063B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

The embodiment of the specification provides a message broadcasting method for a block chain network, a block chain node and a block chain system. The message broadcasting method comprises the following steps: the second block link node receives message data from the first block link node; when the second block link node receives a piece of message data, copying the piece of message data and forwarding the piece of message data to the third block link node; and after receiving all message data corresponding to the complete application layer message at the second block link point, generating the application layer message according to all message data.

Description

Message broadcasting method for block chain network, block chain node and block chain system
Technical Field
The embodiment of the present specification belongs to the technical field of block chains, and in particular, relates to a message broadcasting method, a block chain node, and a block chain system for a block chain network.
Background
The underlying component of a blockchain system (e.g., a federation chain system) is typically a distributed point-to-point (P2P) network. The number of accessed block chain nodes may vary from tens, hundreds, or even thousands of access chain nodes in different block chain networks. In a blockchain system, application layer messages are typically required to be propagated between blockchain nodes in a blockchain network (e.g., broadcast from one blockchain node to other blockchain nodes) when performing transactions, contracts, etc. Moreover, in the blockchain network, the broadcast is in high demand and high frequency, so there is a need for an improved message broadcast mechanism in the blockchain network.
Disclosure of Invention
An object of one or more embodiments of the present specification is to provide a message broadcasting method, a blockchain node, and a blockchain system for a blockchain network to improve efficiency of message propagation.
In accordance with a first aspect of one or more embodiments of the present specification, there is provided a message broadcasting method for a blockchain network including at least a first blockchain node, a second blockchain node, and a third blockchain node, the message broadcasting method including:
the second block link node receiving message data from the first block link node;
each time the second block link node receives a piece of message data, copying and forwarding the piece of message data to the third block link node; and
and after the second block chain node receives all message data corresponding to the complete application layer message, generating the application layer message according to all the message data.
According to a second aspect of one or more embodiments of the present specification, there is provided a block link point, including:
a communication module configured to:
receiving message data from a first blockchain node different from the blockchain node; and
each time the block link node receives a piece of message data, copying and forwarding the piece of message data to a third block chain node different from the block chain node and the first block chain node; and
a network module of a blockchain system, the network module configured to generate an application layer message according to all message data corresponding to a complete application layer message after the blockchain link point receives the all message data.
According to a third aspect of one or more embodiments of the present specification, there is provided a blockchain system comprising a blockchain node as described above.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments described in the present disclosure, and it is obvious for a person skilled in the art to obtain other drawings based on these drawings without inventive labor.
FIG. 1 is a block chain network in one embodiment of the present disclosure;
FIG. 2 is a block chain network in another embodiment of the present disclosure;
FIG. 3 is a schematic diagram of a blockchain network in accordance with another embodiment of the present disclosure;
fig. 4 is a flowchart illustrating a message broadcasting method for a blockchain network according to an embodiment of the present disclosure;
fig. 5 is a flowchart illustrating a step S300 in a message broadcasting method for a blockchain network in a specific example of the present specification;
fig. 6 is a flow chart illustrating a message broadcasting method for a blockchain network according to another embodiment of the present disclosure;
fig. 7 is a flowchart illustrating step S700 in a message broadcasting method for a blockchain network in a specific example of the present specification.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person skilled in the art based on the embodiments in the present specification without any inventive step should fall within the scope of protection of the present specification.
The blockchain is a distributed network data storage technology constructed by using an encryption algorithm and a point-to-point transmission technology, and has the characteristics of decentralization, tamper resistance, traceability and the like. In blockchains, data may no longer be stored in a centralized hardware or management, but rather is commonly maintained by rights and obligations peering blockchain nodes; data can be recorded on a plurality of nodes of the system of the block chain technical component, and the data stored in the local block chain of any node can be viewed at any time; once the data is verified and added to the blockchain, the data can be stored permanently, and the data can be not tampered by using a consensus algorithm and a hash chain data storage technology, so that the safety and the authenticity of the data are guaranteed. By using the point-to-point network technology, the nodes of each block can be formed into a distributed network, wherein the position of each node is equal. Transaction data may be communicated to each node over the network, and the node may verify the validity of the transaction and add the corresponding tile to its local tile chain if the verification passes. The block chain node can locally store a complete transaction book copy, namely a local block chain, so that the transaction book copy of the node is synchronously updated, and decentralized consensus is achieved.
For blockchain networks, e.g., containing 1000 or more blockchain nodes, the blockchain network may be organized using, e.g., a tree topology, due to the large number of nodes therein. In particular, a blockchain node that initiates a broadcast of an application layer message may transmit the application layer message to several neighboring nodes of its next layer, and at least one of the nodes may continue to transmit the application layer message to several neighboring nodes of its next layer, and so on, until the application layer message is broadcast to all or most blockchain nodes in the blockchain network. In some embodiments, to maintain stability and reliability of the tree topology, the number of neighbor nodes of its next layer corresponding to each tile link point may be equal, e.g., 2, 4, or 8, etc. The number of neighbor nodes in the next layer corresponding to each node in the tree topology structure can be determined according to parameters such as the total number of the block link points in the block chain network and the expected broadcast depth (the longest broadcast link or the largest broadcast hop count which can be passed in one broadcast). In such blockchain networks, when an application layer message is to be broadcast, it is possible for the application layer message to be transmitted in hops between blockchain nodes. Depending on the depth of the tree topology and the goodness of the broadcast algorithm, there is often a high transmission delay when this application layer message is propagated to all (or most) of the blockchain nodes in the blockchain network, which can be simply expressed as: the transmission delay is the average transmission delay between hops of the blockchain node.
The transmission of the application layer message may be initiated by one of the blockchain nodes, where the blockchain node transmits the application layer message to the next blockchain node, and the next blockchain node may continue to transmit the application layer message to the next blockchain node, and so on until the application layer message is transmitted to the blockchain node serving as the transmission interruption point or the transmission end point. In one specific example, as shown in fig. 1, the first blockchain node 910 initiates a broadcast of an application layer message, wherein the first upper layer module 915 of the blockchain system may obtain corresponding data from, for example, a data layer module on the blockchain or other databases below the blockchain, and prepare the application layer message to be broadcast according to the data, wherein the application layer message includes but is not limited to a blockchain message, a consensus message, and the like. The first upper layer module 915 may then transmit the prepared application layer message to the first network module 914 of the blockchain system in the first blockchain node 910. The first network module 914 may communicate with the network layer of the first blockchain node 910 (including the first buffer 913 and the first network card 911 shown in fig. 1, etc.), package the application layer message to be transmitted into one or more message data (typically, the size of each message data is smaller than that of the application layer message to facilitate transmission) under the action of the network layer of the first blockchain node 910 and the first kernel 912 (which is the operating system core of the first blockchain node 910), and serially transmit to the second network card 921 in the second blockchain node 920 through network transmission via the first network card 911. In the second blockchain node 920, one or more pieces of message data received by the second network card 921 are uploaded into the second buffer 923 by the second core 922. The second network module 924 of the blockchain network in the second blockchain node 920 may receive the message data from the second buffer 923 and combine the message data into a complete application layer message after receiving all message data corresponding to at least one application layer message. The second network module 924 may then upload the application layer message to a second upper module 925 of the blockchain system, and the second upper module 925 may perform authentication, encryption, decryption, etc. operations on the application layer message. When the application layer message is verified by the second upper module 925, indicating that the application layer message is legitimate, it may be passed on to the third blockchain node 930. Similar to the process in the first blockchain node 910, the verified application layer message may sequentially pass through the corresponding processing of the second network module 924, the second buffer 923, the second core 922, and the second network card 921, and is serially transmitted to the third network card 931 in the third blockchain node 930 by the second network card 921 through network transmission. In the third blockchain node 930, one or more pieces of message data may be obtained in a similar manner in the second blockchain node 920, the message data is combined to generate a complete application layer message, and the combined application layer message is verified, encrypted, decrypted, and the like by the third upper module 935 of the blockchain system in the third blockchain node 930. When the third blockchain node 930 is a transmission break point or a transmission end point, the application layer message may not be transmitted to the next blockchain node; and when the third blockchain node 930 is not a transmission break point or transmission end point, the transmission of the application layer message to the next blockchain node can be continued in a similar manner.
Based on the above process, in the blockchain network, the transmission delay between each hop can be expressed as follows: the transmission delay between each hop is the processing delay of the block chain system of the sending node + the delay of the buffer area of the sending node + the transmission delay from the sending node to the receiving node + the delay of the buffer area of the receiving node + the processing delay of the block chain system of the receiving node. The processing delay of the sending node blockchain system may specifically include a delay of a network layer in a blockchain node sending an application layer message for acquiring message data from the blockchain system, including time required by an upper module of the blockchain system to prepare the application layer message and time required by the network module to perform corresponding processing on the application layer message and transmit the application layer message to the network layer; the sending node buffer delay includes a time for transferring one or more message data associated with the application layer message in the buffer, and particularly when there are already multiple message data associated with multiple application layer messages in the buffer, it is usually necessary to wait for the sending of one or more message data corresponding to the current application layer message to turn to the sending of one or more message data corresponding to the current application layer message after the previous application layer message is completely sent in series, which may result in a longer sending node buffer delay; the transmission delay from the sending node to the receiving node refers to the time required for transmitting message data from the network card of the block chain node which sends the application layer message to the network card of the block chain node which receives the application layer message through the network; the receiving node buffer time delay refers to the time required by the message data to transit in the buffer of the blockchain node receiving the application layer message; and receiving node blockchain system processing latency refers to the time required for combining one or more pieces of message data from a buffer to generate a complete application layer message and for performing processing such as verification on the application layer message in a blockchain node receiving the application layer message.
It can be seen that, when the application layer message is broadcasted in the blockchain network, the transmission delay is likely to be significantly amplified due to the existence of multiple hops, which eventually results in low message broadcasting efficiency in the blockchain network, and further may cause adverse effects on the upper layer service in the blockchain system.
In order to solve the above problem, one or more embodiments of the present specification provide a message broadcasting method for a blockchain network, where a design scheme of a transparent route is adopted to optimize a broadcasting process of an application layer message, so as to reduce a transmission delay in the blockchain network. As shown in fig. 1, the blockchain network may include at least a first blockchain node 910, a second blockchain node 920, and a third blockchain node 930. In some embodiments, the blockchain network may have a tree topology, wherein the second blockchain node 920 may be a neighbor node of the first blockchain node 910 and the third blockchain node 930 may be a neighbor node of the second blockchain node 920. As shown in fig. 4, the message broadcasting method may include:
in step S100, the second blockchain node 920 receives the message data from the first blockchain node 910.
Where the message data may be generated by the first blockchain node 910 from the application layer message to be transmitted. Typically, the size of a complete application layer message may be 1-2 MB or more, while the size of each message data generated according to the application layer message may be, for example, 64kB for ease of transmission. In each blockchain node, the message data may exist in the form of message stream data, message frame data, or message packet data, etc. In some embodiments, as shown in fig. 2 and 3, the first blockchain node 910 may utilize the first network card 911 therein to transmit the message data to the second network card 921 in the second blockchain node 920 through a wired or wireless network transmission or the like.
Further, as shown in fig. 4, the message broadcasting method may further include:
in step S300, each time the second blockchain node 920 receives a piece of message data, it copies a piece of message data and forwards a piece of message data to the third blockchain node 930.
Specifically, the second blockchain node 920 may immediately copy and forward one message data to the next blockchain node, i.e., the third blockchain node 930, upon receiving the message data, without waiting for all message data corresponding to the complete application layer message to be received, generating an application layer message from the message data and successfully verifying the application layer message, and then forwarding to the third blockchain node 930, as explained above with reference to fig. 1. This is because in blockchain networks, especially blockchain systems under certain specific scenarios, such as private chain, federated chain systems, each blockchain node typically has a strong trust base, i.e., the blockchain node is typically trusted and will not corrupt or tamper with the data. Accordingly, in the broadcasting process of the application layer message, basically, the verification of the application layer message by each block chain node can be successfully passed, so that in the block chain node, the message data can be immediately copied and forwarded after each message data is received, one message data can continuously circulate in the block chain node to participate in generating the application layer message in the subsequent steps, and further the verification and other operations of the application layer message are realized, and the other message data can be simultaneously or parallelly forwarded to the next block chain node, so that the average transmission delay between each hop is reduced, and the transmission efficiency of the message broadcasting is improved. Of course, it will be appreciated that even if blockchain nodes are rogue, other methods and means may be employed in the blockchain system to locate and penalize the rogue nodes.
In one or more embodiments of the present description, there are various ways to perform the copying and forwarding of a piece of message data upon receipt of the message data. In an exemplary embodiment, step S300 may include:
each time the second network card 921 of the second blockchain node 920 receives one message data from the first network card 911 of the first blockchain node 910, the second blockchain node 920 copies one message data and sends one message data to the third network card 931 of the third blockchain node 930.
As shown in fig. 2, the processing involved in the dashed box may be performed simultaneously or in parallel with the forwarding of message data from the second network card 921 to the third network card 931. That is, the core bypass mode can be adopted to sink the forwarding of the message data (for example, in the form of ethernet frame) to the level of the network card, without passing through the core, buffer and other components in the blockchain node, and the average transmission delay between each hop is reduced through such transparent forwarding. In some embodiments, replication and forwarding of message data may also be accomplished using, for example, switches, bridges, and the like.
In another exemplary embodiment, as shown in fig. 5, step S300 may include:
step S331, each time the second network card 921 of the second block chain node 920 receives one message data from the first network card 911 of the first block chain node 910, the second kernel 922 of the second block chain node 920 receives one message data from the second network card 921;
step S333, the second core 922 converts a message data into a message data packet, and stores the message data packet in the second buffer 923 of the second blockchain node 920; and
in step S335, the second blockchain node 920 copies a message packet in the second buffer 923 and sends a message packet to the third blockchain node 930.
As shown in fig. 3, the processing involved in the dashed box may be performed simultaneously or in parallel with the transmission of the message data into the third block chain node 930 via the second network card 921, the second core 922, and the second buffer 923. That is, in the present embodiment, the message data (e.g., in the form of a TCP stream) can be copied and forwarded at the level of the buffer without waiting for the result of the higher-layer processing of the message data by the second network module 924 and the second upper-layer module 925 of the blockchain system, so as to reduce the average transmission delay between each hop. The message data transmitted to the third blockchain node 930 through the second network card 921 of the second blockchain node 920 may be received by the third network card 931 in the third blockchain node 930, and processed by the third core 932 in the third blockchain node 930, and stored in the third buffer 933 of the third blockchain node 930 to be further processed.
It will be appreciated that in other embodiments, message data may also be replicated and forwarded at other levels, e.g., in the data link layer, network layer, etc., without waiting for the results of higher layer processing of the message data by the corresponding modules of the blockchain system in the blockchain nodes to reduce the average transmission delay between hops.
In some embodiments, the second blockchain node 920 may communicate with the first blockchain node 910 and the third blockchain node 930 based on a transmission control protocol/internet protocol TCP/IP. Accordingly, the first buffer 913, the second buffer 923, and the third buffer 933 may be socket buffers (sockets), and the message data may be a socket byte stream.
Further, as shown in fig. 4, the message broadcasting method may further include:
in step S500, after the second blockchain node 920 receives all message data corresponding to the complete application layer message, the application layer message is generated according to all message data.
Wherein the application layer message may include at least one of a tile message and a consensus message, the tile message may characterize a tile to be added to the blockchain, the tile may be a set describing a series of transaction information, and the consensus message may characterize consensus information of the blockchain node. In the second blockchain node 920, all message data corresponding to the complete application layer message may be received by the second network module 924 of the blockchain system and the application layer message may be generated based on the message data.
As can be seen from the above description, in a blockchain node, at least one of the copying and forwarding of message data may be performed in parallel with the generation of the application layer message. That is to say, in the broadcasting process of the application layer message, in each block chain node, the message data may not need to be forwarded until the generation of the application layer message is completed, but the message data may be copied, and one of the two copied message data is used to continue the further processing of the message data in the block chain node, while the other message data is forwarded to the next block chain node simultaneously or in parallel, so as to reduce the broadcast transmission delay of the message data.
In one or more embodiments of the present specification, as shown in fig. 6, the message broadcasting method may further include:
in step S700, the second blockchain node 920 performs preset processing on the application layer message.
The preset processing of the application layer message may include processing of authentication, encryption and/or decryption, and the like, of the application layer message. Verifying the application layer message may help determine whether the application layer message has been tampered with maliciously, etc., to ensure that data and operations corresponding to the application layer message are reliable. The security of the application layer message can be better guaranteed by encrypting the application layer message. And, the block chain nodes in the same block chain network can decrypt the application layer messages received by the block chain nodes based on a predetermined mode so as to obtain the required information. It is to be understood that other predetermined processing of the application layer message may be performed based on the blockchain system (e.g., based on an intelligent contract in the blockchain system, etc.), and is not limited herein.
Specifically, step S700 may include:
step S711, the second upper module 925 of the blockchain system of the second blockchain node 920 obtains the application layer message from the second network module 924 of the blockchain system of the second blockchain node 920; and
in step S713, the second upper module 925 performs a preset process on the application layer message.
Wherein the upper layer modules of the blockchain system may include, for example, at least one of a consensus layer module, an application layer module, a stimulus layer module, and a contract layer module. The consensus layer module may include a consensus algorithm and a consensus mechanism that is responsible for efficient identification and authentication in a point-to-point mode, enabling highly dispersed blockchain nodes to efficiently agree on the validity of blockchain data in a decentralized blockchain network. The application layer module may implement various application scenarios, which may include various application scenarios and cases. The incentive layer module can comprise an economic incentive issuing system, an economic incentive distributing system and the like so as to provide certain incentive measures and encourage the nodes to participate in the safety verification work of the block chain. The contract layer modules may include various scripts, code, algorithmic mechanisms, and intelligent contracts, which are the basis for the block chain to be programmable.
It is to be understood that at least one of the copying and forwarding of the message data and the pre-set processing of the application layer message may also be performed in parallel. That is, in the process of broadcasting the application layer message, in each blockchain node, the message data can be directly forwarded without waiting for the result of the preset processing on the application layer message. The message data is copied, one of the two copied message data is used for continuing further processing of the message data and the application layer message in the block chain node, and the other message data is forwarded to the next block chain node simultaneously or in parallel, so that the broadcast transmission delay of the message data is reduced.
In one or more embodiments of the present specification, a transparent routing technology is adopted to parallelize a process of receiving and verifying a complete application layer message and a process of transmitting message data for composing the application layer message, each time a block link node receives a piece of message data from its previous block link node, the current block link node can immediately copy the message data and forward the message data to its next block link node or nodes without waiting for the current block link node to receive the complete block link application layer message, and while forwarding the message data to the next block link node or nodes, the current block link node can concurrently wait for receiving other message data associated with the complete application layer message, assemble and merge the message data to generate a final complete application layer message, and the application layer message is transmitted to an upper layer module in the block chain system for further processing, so that the time for waiting for receiving all message data corresponding to the complete application layer message in each hop of the broadcast application layer message, the time for combining to form the application layer message and checking the application layer message and the like, and the time for splitting the application layer message into one or more message data again to be transmitted to the next block chain node can be saved, in other words, the processing and forwarding logic of the application layer message is not required to be concerned when a certain node looks at by reducing the node hop times or reducing the node packet receiving processing flow as much as possible, thereby reducing the transmission delay. Especially, when the blockchain network includes more blockchain nodes and the broadcast depth is deeper, the overall transmission delay can be significantly reduced by this transmission method, for example, the transmission delay can be reduced by more than 30%.
Furthermore, one or more embodiments herein also provide a block link point, which may be, for example, the first block link node 910, the second block link node 920, or the third block link node 930 shown in fig. 1 to 3. Taking the second blockchain node 920 as an example, it may include a communication module and a network module (second network module 924) of the blockchain system. Wherein the communication module may be configured to: receiving message data from a first blockchain node different from the blockchain node; and each time a piece of message data is received by the block link node, copying and forwarding a piece of message data to a third block link node different from the block link node and the first block link node. The network module may be configured to generate the application layer message from all message data after the tile link node receives all message data corresponding to the complete application layer message.
In some embodiments, the communication module may include a network card (e.g., the second network card 921) and a buffer (e.g., the second buffer 923). The network card may be configured to receive message data from a first blockchain node different from the blockchain node, and the network card may be further configured to transmit a piece of message data to a third blockchain node different from the blockchain node and the first blockchain node. Further, the buffer may be configured to store a message packet converted from the message data, the message packet in the buffer being configured to be transmitted to a third blockchain node different from the blockchain node and the first blockchain node.
In some embodiments, the blockchain node may further include an upper layer module (e.g., the second upper layer module 925) of the blockchain system, which may be configured to obtain the application layer message from the network module and perform a predetermined process on the application layer message. In particular, the upper layer module may include at least one of a consensus layer module, an application layer module, a stimulus layer module, and a contract layer module.
As described above, at least one of the copying and forwarding of the message data and at least one of the generation and the presetting process of the application layer message may be performed in parallel. Wherein the preset process may include at least one of authentication, encryption, and decryption.
Further, one or more embodiments of the present specification also provide a blockchain system, which may include the blockchain node as described above. The blockchain network of the blockchain system may have a tree topology.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by user programming of the Device. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a server system. Of course, this application does not exclude that with future developments in computer technology, the computer implementing the functionality of the above described embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device or a combination of any of these devices.
Although one or more embodiments of the present description provide method operational steps as described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive approaches. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or end product executes, it may execute sequentially or in parallel (e.g., parallel processors or multi-threaded environments, or even distributed data processing environments) according to the method shown in the embodiment or the figures. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in a process, method, article, or apparatus that comprises the recited elements is not excluded. For example, if the terms first, second, etc. are used to denote names, they do not denote any particular order.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, when implementing one or more of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, etc. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, one or more embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
One or more embodiments of the present description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description of the specification, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is merely exemplary of one or more embodiments of the present disclosure and is not intended to limit the scope of one or more embodiments of the present disclosure. Various modifications and alterations to one or more embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present specification should be included in the scope of the claims.

Claims (23)

1. A message broadcasting method for a blockchain network comprising at least a first blockchain node, a second blockchain node and a third blockchain node, the message broadcasting method comprising:
the second block link node receiving message data from the first block link node;
each time the second block link node receives a piece of message data, copying and forwarding the piece of message data to the third block link node; and
and after the second block chain node receives all message data corresponding to the complete application layer message, generating the application layer message according to all the message data.
2. The message broadcasting method of claim 1, wherein at least one of the copying and forwarding of the message data is performed in parallel with the generation of the application layer message.
3. The message broadcasting method of claim 1, wherein the application layer message comprises at least one of a block message and a consensus message.
4. The message broadcasting method according to claim 1, wherein duplicating and forwarding one piece of message data to the third block chaining node each time the second block chaining node receives the one piece of message data comprises:
when the second network card of the second block chain node receives a piece of message data from the first network card of the first block chain node, the second block chain node copies the piece of message data and sends the piece of message data to the third network card of the third block chain node.
5. The message broadcasting method according to claim 1, wherein duplicating and forwarding one piece of message data to the third block chaining node each time the second block chaining node receives the one piece of message data comprises:
when a second network card of the second blockchain node receives a piece of message data from a first network card of the first blockchain node, a second kernel of the second blockchain node receives the piece of message data from the second network card;
the second kernel converts the message data into a message data packet and stores the message data packet into a second buffer of the second blockchain node; and
the second blockchain node duplicates the one message packet in the second buffer and sends the one message packet to the third blockchain node.
6. The message broadcasting method according to claim 1, wherein the second block link node communicates with the first and third block link nodes based on a transmission control protocol/internet protocol TCP/IP.
7. The message broadcasting method of claim 1, wherein generating the application layer message according to all message data after the second tile link node receives all message data corresponding to a complete application layer message comprises:
and after a second network module of the block chain system of the second block chain node receives all message data corresponding to the complete application layer message, generating the application layer message according to all the message data.
8. The message broadcasting method of claim 1, further comprising:
and the second block chain link point performs preset processing on the application layer message.
9. The message broadcasting method of claim 8, wherein at least one of the copying and forwarding of the message data is performed in parallel with the preset processing of the application layer message.
10. The message broadcasting method according to claim 8, wherein the preset processing includes at least one of authentication, encryption, and decryption.
11. The message broadcasting method according to claim 8, wherein the second block link point performing the predetermined processing on the application layer message comprises:
a second upper layer module of the blockchain system of the second blockchain node acquires the application layer message from a second network module of the blockchain system of the second blockchain node;
and the second upper layer module performs preset processing on the application layer message.
12. The message broadcasting method according to claim 11, wherein the second upper layer module includes at least one of a consensus layer module, an application layer module, a stimulus layer module, and a contract layer module.
13. The message broadcasting method according to claim 1, wherein the blockchain network has a tree topology, the second blockchain node is a neighbor node of the first blockchain node, and the third blockchain node is a neighbor node of the second blockchain node.
14. A block link point, comprising:
a communication module configured to:
receiving message data from a first blockchain node different from the blockchain node; and
each time the block link node receives a piece of message data, copying and forwarding the piece of message data to a third block chain node different from the block chain node and the first block chain node; and
a network module of a blockchain system, the network module configured to generate an application layer message according to all message data corresponding to a complete application layer message after the blockchain link point receives the all message data.
15. The blockchain node of claim 14, wherein at least one of copying and forwarding of message data is performed in parallel with generation of the application layer message.
16. The blockchain node of claim 14, wherein the communication module includes:
a network card configured to receive message data from a first blockchain node different from the blockchain node; and
a buffer configured to store message data packets converted from message data.
17. The blockchain node of claim 16, wherein the network card is further configured to transmit the piece of message data to a third blockchain node different from the blockchain node and the first blockchain node.
18. The blockchain node of claim 16, wherein the message packet in the buffer is configured to be sent to a third blockchain node different from the blockchain node and the first blockchain node.
19. The block link point of claim 14, further comprising:
an upper layer module of the blockchain system, wherein the upper layer module is configured to acquire the application layer message from the network module and perform preset processing on the application layer message.
20. The blockchain node of claim 19, wherein the preset processing includes at least one of authentication, encryption, and decryption.
21. The blockchain node of claim 19, wherein the upper layer modules include at least one of a consensus layer module, an application layer module, a stimulus layer module, and a contract layer module.
22. A blockchain system comprising a blockchain link point according to any one of claims 14 to 21.
23. The blockchain system of claim 22, wherein the blockchain network of the blockchain system has a tree topology.
CN202210180901.8A 2022-02-25 2022-02-25 Message broadcasting method for blockchain network, blockchain node and blockchain system Active CN114390063B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210180901.8A CN114390063B (en) 2022-02-25 2022-02-25 Message broadcasting method for blockchain network, blockchain node and blockchain system
PCT/CN2022/135445 WO2023160089A1 (en) 2022-02-25 2022-11-30 Message broadcasting method for blockchain network, and blockchain node and blockchain system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210180901.8A CN114390063B (en) 2022-02-25 2022-02-25 Message broadcasting method for blockchain network, blockchain node and blockchain system

Publications (2)

Publication Number Publication Date
CN114390063A true CN114390063A (en) 2022-04-22
CN114390063B CN114390063B (en) 2023-09-29

Family

ID=81204826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210180901.8A Active CN114390063B (en) 2022-02-25 2022-02-25 Message broadcasting method for blockchain network, blockchain node and blockchain system

Country Status (2)

Country Link
CN (1) CN114390063B (en)
WO (1) WO2023160089A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116170388A (en) * 2022-12-30 2023-05-26 蚂蚁区块链科技(上海)有限公司 Forwarding table generation method of block chain network and data transmission method thereof
WO2023160089A1 (en) * 2022-02-25 2023-08-31 蚂蚁区块链科技(上海)有限公司 Message broadcasting method for blockchain network, and blockchain node and blockchain system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109784857A (en) * 2019-01-16 2019-05-21 杭州基尔区块链科技有限公司 Data processing method, device and system based on block chain
CN110741372A (en) * 2017-06-07 2020-01-31 区块链控股有限公司 Computer-implemented system and method for managing transactions on a blockchain network
CN110945548A (en) * 2017-07-24 2020-03-31 区块链控股有限公司 Computer-implemented system and method for managing large distributed storage pools in a blockchain network
US20200389521A1 (en) * 2019-06-07 2020-12-10 Holo Limited Holochain - A Framework For Distributed Applications
US20220019505A1 (en) * 2014-06-04 2022-01-20 Pure Storage, Inc. Message persistence in a zoned system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977537B2 (en) * 2018-12-28 2024-05-07 Hefei Dappworks Technology Co., Ltd. Method and device of processing data for blockchain, and blockchain system
CN110493020A (en) * 2019-07-05 2019-11-22 深圳壹账通智能科技有限公司 Broadcast message transmission method, device and system based on block chain technology
CN112565389B (en) * 2020-11-30 2021-09-24 网易(杭州)网络有限公司 Block chain based message broadcasting method and device, electronic equipment and storage medium
CN114390063B (en) * 2022-02-25 2023-09-29 蚂蚁区块链科技(上海)有限公司 Message broadcasting method for blockchain network, blockchain node and blockchain system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220019505A1 (en) * 2014-06-04 2022-01-20 Pure Storage, Inc. Message persistence in a zoned system
CN110741372A (en) * 2017-06-07 2020-01-31 区块链控股有限公司 Computer-implemented system and method for managing transactions on a blockchain network
CN110945548A (en) * 2017-07-24 2020-03-31 区块链控股有限公司 Computer-implemented system and method for managing large distributed storage pools in a blockchain network
CN109784857A (en) * 2019-01-16 2019-05-21 杭州基尔区块链科技有限公司 Data processing method, device and system based on block chain
US20200389521A1 (en) * 2019-06-07 2020-12-10 Holo Limited Holochain - A Framework For Distributed Applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023160089A1 (en) * 2022-02-25 2023-08-31 蚂蚁区块链科技(上海)有限公司 Message broadcasting method for blockchain network, and blockchain node and blockchain system
CN116170388A (en) * 2022-12-30 2023-05-26 蚂蚁区块链科技(上海)有限公司 Forwarding table generation method of block chain network and data transmission method thereof

Also Published As

Publication number Publication date
CN114390063B (en) 2023-09-29
WO2023160089A1 (en) 2023-08-31

Similar Documents

Publication Publication Date Title
CN111541727B (en) Block chain all-in-one machine and automatic chain building method and device thereof
US20210328773A1 (en) Trusted startup methods and apparatuses of blockchain integrated station
WO2023160089A1 (en) Message broadcasting method for blockchain network, and blockchain node and blockchain system
US11171774B2 (en) System for synchronizing a cryptographic key state through a blockchain
US11616636B2 (en) Hash updating methods and apparatuses of blockchain integrated station
JP2022185070A (en) Method for high-speed transmission in block chain network and special network node
CN108256354B (en) Test data-based storage method and storage medium
US11336660B2 (en) Methods and apparatuses for identifying replay transaction based on blockchain integrated station
CN112235193B (en) Data transmission method, device, equipment and medium based on cross-network multi-level routing
CN114868359B (en) Multi-block inter-chain light communication protocol device and method
CN111226209A (en) Performing mapping iterations in a blockchain based system
CN115134075A (en) Cross-subnet calling method and device, electronic equipment and storage medium
Wang Sok: Applying blockchain technology in industrial internet of things
CN114844904B (en) System and method for cross-blockchain interactions
CN115129728A (en) File checking method and device
CN110995447B (en) Data storage method, device, equipment and medium
CN115174572B (en) Data multicasting method in blockchain, blockchain node and storage medium
CN114844905B (en) System and method for cross-blockchain interactions
CN115174573B (en) Data broadcasting method in block chain system, node and block chain system
CN115118486B (en) Internet of things system, method and device for acquiring data based on blockchain, storage medium and computing device
CN115037548B (en) System, method, device, medium and equipment for secure multiparty computation of data based on blockchain
CN115134145B (en) Consensus method, apparatus, computing device and computer readable storage medium in blockchain system
WO2024092930A1 (en) Transaction execution method in blockchain system, and node
CN115204880A (en) Consensus method and device for blockchain transaction
CN115174574A (en) Data broadcasting method in block chain system, node and block chain system

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
GR01 Patent grant
GR01 Patent grant