Block broadcasting method based on erasure code and block chain system
By adopting the block broadcast method based on erasure coding in the blockchain system, ECCB blocks are generated for transmission, the problem of long block broadcast delay in the blockchain system is solved, and the system's scalability and resource utilization efficiency are improved.
Patent Information
- Application Number
- CN202510201272.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-24
- Publication Date
- 2025-06-20
AI Technical Summary
In existing blockchain systems, the block broadcast delay is long, resulting in poor scalability, especially on nodes with insufficient transaction pool capacity or limited resources, the block propagation speed is difficult to improve.
The block broadcast method based on erasure code is adopted, by determining the difference size between the local transaction pool and the block to be broadcast, the encoding parameters of the erasure code are calculated, the verification block is generated, and the block header, transaction hash, verification block and encoding parameters are packaged into ECCB blocks for transmission.
It effectively reduces block broadcast latency, improves the scalability of the blockchain, reduces the number of communication backs and data transmission, and is especially suitable for nodes with limited resources.
Smart Images

Figure CN120179430A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of blockchain, and more specifically, relates to a block broadcasting method and a blockchain system based on erasure codes. Background Art
[0002] Blockchain is a decentralized distributed ledger technology that organizes data into blocks in chronological order and links these blocks into a chain through encryption technology, thereby ensuring the transparency, security, and immutability of data. It allows multiple participants to jointly maintain and verify transaction records without a central administrator.
[0003] Scalability is a key factor affecting the performance of blockchain, usually measured by the number of transactions per second (TPS) of the blockchain system. This metric is affected by the block generation interval and the average number of transactions per block. Therefore, reducing the block generation interval is a way to improve scalability. However, considering the security of blockchain, the block generation interval should be longer than the propagation time of the latest block, because too short a block generation interval may lead to blockchain forks. Therefore, the propagation time determines the lower limit of the block generation interval and also limits the scalability of the blockchain system. Under the current block broadcasting protocol, some data in block broadcasting is redundant, and each broadcast requires multiple communications between nodes, resulting in high transmission and propagation delays. Optimizing the block broadcasting protocol can accelerate block propagation, significantly reduce the propagation time, and thus enhance the scalability of blockchain.
[0004] To solve these problems, some methods focus on optimizing the block broadcasting protocol. For example, Bitcoin's compact relay block protocol uses the transactions that the receiver has already received to reconstruct the original block. In this protocol, the sender transmits a compact block (composed of a block header and a transaction hash) to its neighbor nodes, and the neighbor nodes can search for transactions in their transaction pools according to the transaction hashes in the compact block, thereby restoring the missing transactions and reconstructing the original block.
[0005] However, the compact relay block protocol has poor effects on blockchains with small transaction pools (such as Ethereum). The reason is that in these systems, the capacity of the transaction pool is not sufficient to retain all transactions, resulting in some transactions being discarded, making it difficult for neighbor nodes to collect all the transactions in the original block. In this case, the nodes must request the missing transactions from their neighbors, which will lead to additional communication rounds and ultimately slow down the block propagation speed.
[0006] To solve this problem, some people propose to introduce a secondary transaction pool to retain the transactions discarded by the original transaction pool, thereby increasing the probability that nodes can find the transactions in the original block and reconstruct the block. However, this method essentially expands the scale of the transaction pool. Although it alleviates the problem of long-term reorganization of the original transaction pool to a certain extent, it fails to solve the memory usage challenges brought by a large transaction pool. This method is not applicable to resource-constrained nodes (such as nodes in the Internet of Things blockchain system).
[0007] Generally speaking, how to effectively reduce the block broadcast delay in the blockchain system to improve the scalability of the blockchain remains an urgent problem to be solved. Summary of the Invention
[0008] In view of the defects and improvement requirements of the prior art, the present invention provides a block broadcast method and a blockchain system based on erasure codes, aiming to effectively reduce the block broadcast delay in the blockchain system, thereby improving the scalability of the blockchain.
[0009] To achieve the above object, according to one aspect of the present invention, a block broadcast method based on erasure codes is provided, including: in the block broadcast of the current round, the block sender executes the block sending step; the block sending step includes:
[0010] Determine the total size S2 of the transactions missing in the local transaction pool compared to the block to be broadcast, and thereby determine the encoding parameters of the erasure code; the block to be broadcast includes a block header and the transactions to be broadcast, and the total size of the transactions is S1; the encoding parameters include the stripe size S chunk , the number of data stripes N data and the number of parity stripes N parity , and the encoding parameters satisfy: S chunk *N data ≥S1, S chunk *N parity ≥S2;
[0011] Based on the determined encoding parameters, use the erasure code to encode the transactions in the block to be broadcast to generate a parity block with a size of M; M = S chunk *N parity ;
[0012] Generate the transaction hashes corresponding to the transactions in the block, and pack the block header, transaction hashes, transaction sizes, parity block, and the encoding parameters of the erasure code of the block together into an ECCB block, and send it to the block receiver.
[0013] Furthermore, the block broadcast method based on erasure codes provided by the present invention further includes: if the block sender receives a transaction data slice request from the block receiver, obtain the corresponding data slice from the block to be broadcast and send it to the block receiver;
[0014] Among them, the transaction data slice request is used to request the data slice of the transaction data in the block to be broadcast.
[0015] Furthermore, the erasure code-based block broadcast method provided by the present invention further includes: after receiving the ECCB block, the block receiver executes a block reconstruction step; the block reconstruction step includes:
[0016] R1: Parse the block header, transaction hash, transaction size, check block, and encoding parameters of the erasure code from the ECCB block;
[0017] R2: By matching the transaction hash, determine the transactions that exist in both the block and the local transaction pool, obtain the hit transaction set T1, and determine the total size S2' of the missing transactions;
[0018] R3: According to the total size S2' of the missing transactions and the check block size M, determine whether the missing transactions can be recovered. If so, go to R4; otherwise, go to R5;
[0019] R4: Use the hit transaction set T1 and the check block to recover the missing transactions, and use the block header, the transactions in the hit transaction set T1, and the recovered transactions to reconstruct the block to be broadcast. The block reconstruction step ends;
[0020] R5: Generate a transaction data slice request for requesting the data slice of the missing transactions, and the total size of the requested data slices is not less than S2'-M. Send the transaction data slice request to the block sender so that the block sender sends the corresponding data slices to the block receiver;
[0021] R6: Use the hit transaction set T1, the received data slices, and the check block to recover the missing transactions, and use the block header, the transactions in the hit transaction set T1, and the recovered transactions to reconstruct the block to be broadcast. The block reconstruction step ends.
[0022] Furthermore, in R5, the data slices requested in the transaction data slice request are the data slices of the missing transactions with a total size not less than S2'-M.
[0023] Furthermore, the erasure code-based block broadcast method provided by the present invention further includes: after successfully reconstructing the block to be broadcast, the block receiver adds it to the local blockchain.
[0024] Further, the erasure code-based block broadcasting method provided by the present invention further includes: after successfully reconstructing the block to be broadcast, the block receiver determines whether all its neighbor nodes have received the block to be broadcast. If so, the block broadcasting ends; otherwise, the block receiver in the current round serves as the block sender in the next round, and randomly selects several neighbor nodes that have not received the block to be broadcast as the block receivers for the next round of block broadcasting, and starts the next round of block broadcasting.
[0025] Further, M = S2 * 101.8%.
[0026] According to another aspect of the present invention, a blockchain system is provided, in which each node is deployed with a local transaction pool and a local database. The local transaction pool is used to store the received transactions, and the local database is used to store the local blockchain; each node includes:
[0027] A computer-readable storage medium for storing a computer program;
[0028] And a processor for reading the computer program stored in the computer-readable storage medium and executing the above erasure code-based block broadcasting method provided by the present invention.
[0029] Generally speaking, through the above technical solutions conceived by the present invention, the following beneficial effects can be achieved:
[0030] (1) When the present invention performs block broadcasting, the block sender determines the total size of the locally missing transactions based on the size of the difference set between the transaction set included in the block to be broadcast and the transaction set included in the local transaction pool, and determines the encoding parameters of the erasure code based on the total size of the transactions to be broadcast and the total size of the locally missing transactions. The transactions in the block to be broadcast are encoded using the erasure code to generate check blocks of the corresponding size, and then the block header, transaction hash, the generated check blocks, and necessary parameters are packed to generate an ECCB block, and then the generated ECCB block is sent out; since the transaction repetition degree in the transaction pools between adjacent nodes is high, the total size of the transactions missing in the transaction pool of the neighbor nodes of the block sender is close to the total size of the transactions missing in the block sender, which makes it highly probable that after receiving the ECCB block sent by the block sender, the block receiver can directly reconstruct the original block through the existing transactions in the local transaction pool and the check blocks included in the ECCB block, thereby effectively eliminating redundant transactions, reducing the number of communication rounds required for block broadcasting, ultimately effectively reducing the block broadcasting delay, and improving the scalability of the blockchain.
[0031] (2) In the present invention, after the block receiver receives the ECCB block sent by the block sender, through hash matching, it can find some of the transactions included in the block to be broadcast from the local transaction pool. In all likelihood, by combining the check blocks in the received ECCB block, the original block can be reconstructed. That is to say, the block receiver and the block sender only need to communicate once, and the number of communication rounds is greatly reduced. In addition, in the case where the block reconstruction is unsuccessful, the total size of the transaction data that needs to be sent by the block sender subsequently is also smaller than the total size of the missing data. Compared with the existing broadcast method, the data transmission volume is also greatly reduced.
[0032] (3) In a preferred embodiment of the present invention, when the block receiver fails to directly reconstruct the original block based on the received ECCB block, it will request the smallest transaction data slice from the block sender, that is, the data slice with a total size not greater than S2'-M in the missing transactions of the receiver. This can ensure the reconstruction of the original block while minimizing the data transmission volume between the block sender and the block receiver to the greatest extent. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Figure 1 Schematic diagram of the erasure code-based block broadcast method provided by an embodiment of the present invention;
[0034] Figure 2 Example diagram of the block sender constructing and sending an ECCB block according to the block to be broadcast provided by an embodiment of the present invention;
[0035] Figure 3 Example diagram of the block receiver successfully reconstructing the original block according to the ECCB block provided by an embodiment of the present invention;
[0036] Figure 4 Example diagram of the block receiver failing to successfully reconstruct the original block according to the ECCB block provided by an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0037] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention. In addition, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.
[0038] In the present invention, the terms "first", "second", etc. (if any) in the present invention and the accompanying drawings are used to distinguish similar objects and do not necessarily need to describe a specific order or sequence.
[0039] The Ethereum native broadcast protocol has the following limitations:
[0040] The large amount of block data transmitted causes a large transmission delay.
[0041] The compact relay block protocol has the following limitations:
[0042] (1) Transaction broadcasting transmits the block header and transaction hashes, and multiple communications are required to complete block reconstruction.
[0043] (2) The size of the transaction pool is not sufficient to cover all transactions, and the frequent failure of block reconstruction during each broadcast will bring greater overhead.
[0044] The above limitations will affect the delay of block broadcasting, and thus affect the scalability of the blockchain system.
[0045] To solve the technical problem that the existing blockchain has poor scalability due to high block broadcasting delay, the present invention provides a block broadcasting method and a blockchain system based on erasure code. The overall idea is that, based on the node characteristics in the blockchain system, that is, the transaction repetition degree in the transaction pools of adjacent nodes is high, and at the same time, the difficulty of estimating the amount of missing transaction data is much less than the difficulty of estimating the specific missing transactions. The erasure code is used to calculate the missing data according to the determined data, so as to reduce the redundancy of transaction data and the communication rounds in the block broadcasting process, effectively reduce the block broadcasting delay, and improve the scalability of the blockchain system.
[0046] Based on the above concept, the present invention proposes a new data block, namely the ECCB (Eraseure-Coded Compact Block) block, which includes the block header of the block to be broadcast, the transaction hash, the parity block generated by encoding the transactions in the block to be broadcast using erasure code, and the encoding parameters of the erasure code. During the block broadcast process, instead of directly broadcasting the block, the corresponding ECCB block is broadcast. By reasonably designing the encoding parameters of the erasure code, nodes receiving the ECCB block can reconstruct the complete original block based on the parity block in the ECCB block and the transactions in the local transaction pool without significantly introducing additional bandwidth overhead. Based on the proposed ECCB block, when the present invention performs block broadcast, the block sender determines the total size of the locally missing transactions based on the size of the difference set between the transaction set included in the block to be broadcast and the transaction set included in the local transaction pool, and based on the characteristic that the transactions included in the transaction pools between adjacent nodes have a high degree of repetition, estimates the total size of the transactions missing from the neighbor nodes according to the total size of the locally missing transactions; determines the size of the parity block based on the estimation result, encodes the transactions in the block to be broadcast using erasure code to generate a parity block of the corresponding size, then packs the block header, transaction hash, the generated parity block together with the necessary parameters to generate an ECCB block, and then sends the generated ECCB block. After receiving the ECCB block sent by the block sender, the block receiver can, with a high probability, directly reconstruct the original block through the transactions already existing in the local transaction pool and the parity block included in the ECCB block, thereby effectively eliminating redundant transactions and reducing the number of communication rounds required for block broadcast, and finally effectively reducing the block broadcast delay.
[0047] The following are embodiments.
[0048] Embodiment 1:
[0049] An erasure code-based block broadcast method, as Figure 1 shown, includes: in the block broadcast of the current round, the block sender executes the block sending step; the block sending step includes:
[0050] Determine the total size S2 of the transactions missing in the local transaction pool compared to the block to be broadcast, and thereby determine the encoding parameters of the erasure code; the block to be broadcast includes a block header and the transactions to be broadcast, and the total size of the transactions is S1; the encoding parameters include the stripe size S chunk 、the number of data stripes N data and the number of parity stripes N parity , and, the encoding parameters satisfy: S chunk *N data ≥S1, S chunk *N parity ≥S2;
[0051] Based on the determined encoding parameters, use erasure codes to encode the transactions in the block to be broadcast, generating check blocks of size M; M = S chunk *N parity ;
[0052] Generate the transaction hashes corresponding to each transaction in the block, and pack the block header, transaction hashes, transaction sizes, check blocks, and the encoding parameters of the erasure code of the block together into an ECCB block, and send it to the block receiver.
[0053] Since the transaction duplication degrees in the transaction pools of adjacent nodes are relatively high, the total size of the missing transactions of the block sender is approximately equal to the total size of the missing transactions of its neighbor nodes. Based on this, in this embodiment, after determining the total size of the missing transactions locally, the block sending method will predict it as the total size of the missing transactions of the neighbor nodes; at the same time, considering that there are still certain differences in the transaction pools between adjacent nodes, the finally determined size of the check block may be slightly larger than the predicted size of the missing transactions to ensure as much as possible that the block receiver can directly reconstruct the original block according to the check block and the determined transactions.
[0054] As a preferred implementation manner, in this embodiment, after the block sender determines the total size S2 of the missing transactions of the local transaction pool compared with the block to be broadcast, the specific size of the determined check block is M = S2 * 101.8%. Through analysis and verification, this setting of the check block size can achieve the greatest benefits in terms of reducing the bandwidth overhead occupied by the check block and the block broadcast delay.
[0055] Considering that there is still a certain probability that the block receiver cannot directly reconstruct the complete original block after receiving the ECCB, this embodiment allows the block receiver to request the missing data slices from it when it cannot reconstruct the original block. Correspondingly, this embodiment also includes: if the block sender receives a transaction data slice request from the block receiver, obtain the corresponding data slice from the block to be broadcast and send it to the block receiver;
[0056] Among them, the transaction data slice request is used to request the data slice of the transaction data in the block to be broadcast.
[0057] This embodiment also includes: after the block receiver receives the ECCB block, execute the block reconstruction step; the block reconstruction step includes:
[0058] R1: Parse the block header, transaction hashes, transaction sizes, check blocks, and the encoding parameters of the erasure code from the ECCB block;
[0059] R2: By matching the transaction hashes, determine the transactions that exist in both the block and the local transaction pool, obtain the hit transaction set T1, and determine the total size S2' of the missing transactions;
[0060] R3: Determine whether the missing transaction can be recovered based on the total size S2' of the missing transactions and the check block size M. If so, go to R4; otherwise, go to R5.
[0061] R4: Recover the missing transaction using the hit transaction set T1 and the check block, and reconstruct the block to be broadcast using the block header, the transactions in the hit transaction set T1, and the recovered transaction. The block reconstruction step ends.
[0062] R5: Generate a transaction data slice request to request the data slices of the missing transaction, and the total size of the requested data slices is not less than S2'-M. Send the transaction data slice request to the block sender so that the block sender sends the corresponding data slices to the block receiver.
[0063] R6: Recover the missing transaction using the hit transaction set T1, the received data slices, and the check block, and reconstruct the block to be broadcast using the block header, the transactions in the hit transaction set T1, and the recovered transaction. The block reconstruction step ends.
[0064] Practice shows that in this embodiment, after receiving the ECCB block sent by the block sender, the probability that the block receiver directly reconstructs the complete original block is as high as 95%. That is to say, with a probability of 95%, the block receiver and the block sender only need to communicate once, and the number of communication rounds is greatly reduced. In addition, in the case where the block reconstruction is unsuccessful, the total size of the transaction data that needs to be sent by the block sender subsequently is also smaller than the total size of the missing data. Compared with the existing broadcast method, the data transmission volume is also greatly reduced.
[0065] It is easy to understand that in order to minimize the data transmission volume, in step R5, the data slices requested by the generated transaction data slice request should be the data set with the smallest total size in the data slice set of the missing transaction with a total size not less than S2'-M.
[0066] Furthermore, this embodiment further includes: after successfully reconstructing the block to be broadcast, the block receiver adds it to the local blockchain.
[0067] Furthermore, this embodiment further includes: after successfully reconstructing the block to be broadcast, the block receiver determines whether all its neighbor nodes have received the block to be broadcast. If so, the block broadcast ends; otherwise, the block receiver in the current round serves as the block sender in the next round, and randomly selects several neighbor nodes that have not received the block to be broadcast as the block receivers for the next round of block broadcast, and starts the next round of block broadcast.
[0068] The following combines Figure 2 、 Figure 3 and Figure 4For the specific scenario shown above, the above block broadcasting method will be further explained and illustrated.
[0069] Figure 2 As shown, it is an example of the block sender constructing an ECCB block based on the block to be broadcast and sending it. As Figure 2 shown, there are 4 transactions Tx1, Tx2, Tx3, Tx4 in the block to be broadcast, with sizes of 3, 2, 2, and 4 respectively. When the block sender obtains the block, it can query Tx1, Tx2, Tx3 in the transaction pool TxPool, and Tx4 is missing. According to the total transaction size of 11 and the total size of the missing transactions of 4, the encoding parameters are generated: stripe size S chunk = 2, the number of data stripes N data = 6, the number of parity blocks N parity = 4. The block sender takes all the transactions in the block to be broadcast as the original data, generates the parity block sender according to the encoding parameters, and packs the block header, transaction hash, transaction size, encoding parameters, and parity blocks together into an ECCB block, and sends it to the neighbor nodes, that is, the block receivers in the current broadcast round.
[0070] Figure 3 As shown, it is an example of the block receiver successfully reconstructing the original block directly based on the received ECCB block. Figure 3 In it, the block receiver matches Tx1 and Tx2 in the transaction pool according to the transaction hash in the ECCB block and fills them into the encoding matrix. D1 and D2 are the matching data blocks, and D3 - D6 are the missing data blocks. At this time, the number of parity blocks is equal to the number of missing data blocks. Combining with the parity blocks in the ECCB block, the block receiver can recover D3 - D6, so as to recover all transactions and complete the block reconstruction.
[0071] Figure 4 As shown, it is an example of the block receiver being unable to successfully reconstruct the original block based on the received ECCB block. Figure 4 In it, the block receiver matches Tx1 in the transaction pool according to the transaction hash in the ECCB block and fills it into the encoding matrix. D1 is the matching data block, and D2 - D6 are the missing data blocks. At this time, the number of parity blocks is less than the number of missing data blocks, so the minimum number of data blocks D2 needs to be requested. After receiving D2, the number of parity blocks is equal to the number of missing data blocks. Combining with the parity blocks in the ECCB block, the sender can recover D3 - D6, so as to recover all transactions and complete the block reconstruction.
[0072] Example 2:
[0073] A blockchain system, in which each node deploys a local transaction pool and a local database. The local transaction pool is used to store the received transactions, and the local database is used to store the local blockchain. Each node includes:
[0074] A computer-readable storage medium for storing a computer program;
[0075] And a processor for reading the computer program stored in the computer-readable storage medium and executing the erasure code-based block broadcasting method provided in Embodiment 1 above.
[0076] Those skilled in the art can easily understand that the above are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A block broadcasting method based on erasure coding, characterized in that: include: In the current round of block broadcasting, the block sender performs the block sending step; The block sending step comprises: Determine the total size S2 of missing transactions in the local transaction pool compared to the block to be broadcast, and determine the encoding parameters of the erasure code accordingly; the block to be broadcast includes the block header and the transactions to be broadcast, and the total transaction size is S1; the encoding parameters include the stripe size S chunk 、Number of data stripes data Sum check strip number N parity , and the encoding parameters satisfy: S chunk *N data ≥S1,S chunk *N parity ≥S2; Based on the determined encoding parameters, the transactions in the block to be broadcast are encoded using erasure codes to generate a check block of size M; M = S chunk *N parity ; Generate a transaction hash corresponding to each transaction in the block, package the block header, the transaction hash, the transaction size, the check block, and the encoding parameters of the erasure code of the block into an ECCB block, and send it to the block receiver.
2. The block broadcasting method based on erasure coding according to claim 1, characterized in that: Also includes: If the block sender receives a transaction data slice request from the block receiver, it obtains the corresponding data slice from the block to be broadcasted and sends it to the block receiver; The transaction data slice request is used to request a data slice of the transaction data in the block to be broadcast.
3. The block broadcasting method based on erasure coding according to claim 2, characterized in that: Also includes: After receiving the ECCB block, the block receiver performs the block reconstruction step; The block reconstruction step comprises: R1: Parse the block header, transaction hash, transaction size, checksum, and erasure code encoding parameters from the ECCB block; R2: By matching transaction hashes, determine the transactions that exist in both the block and the local transaction pool, obtain the hit transaction set T1, and determine the total size of the missing transactions S2'; R3: Determine whether the missing transactions can be recovered based on the total size of the missing transactions S2' and the size of the check block M. If so, proceed to R4; otherwise, proceed to R5; R4: Restore the missing transactions using the hit transaction set T1 and the check block, and reconstruct the block to be broadcast using the block header, the transactions in the hit transaction set T1, and the restored transactions. The block reconstruction step ends; R5: Generate a transaction data slice request for requesting data slices of missing transactions, and the total size of the requested data slices is not less than S2'-M. Send the transaction data slice request to the block sender, so that the block sender sends the corresponding data slices to the block receiver; R6: Restore the missing transactions using the hit transaction set T1, the received data slices and the check blocks, and reconstruct the block to be broadcast using the block header, the transactions in the hit transaction set T1 and the restored transactions. The block reconstruction step ends.
4. The block broadcasting method based on erasure coding according to claim 3, characterized in that: In R5, the data slice requested in the transaction data slice request is the data slice in the missing transaction whose total size is not less than S2'-M.
5. The block broadcasting method based on erasure coding according to claim 3, characterized in that: Also includes: After successfully reconstructing the block to be broadcast, the block receiver adds it to the local blockchain.
6. The block broadcasting method based on erasure coding according to claim 3, characterized in that: Also includes: After successfully rebuilding the block to be broadcast, the block receiver determines whether all its neighboring nodes have received the block to be broadcast. If so, the block broadcast ends; Otherwise, the block receiver of the current round serves as the block sender of the next round, and randomly selects several neighbor nodes that have not received the block to be broadcast as the block receivers of the next round of block broadcast, and starts the next round of block broadcast.
7. The block broadcasting method based on erasure coding according to any one of claims 1 to 6, characterized in that: M=S2*101.8%.
8. A blockchain system, wherein each node deploys a local transaction pool and a local database, wherein the local transaction pool is used to store received transactions, and the local database is used to store the local blockchain; characterized in that: Each node includes: A computer-readable storage medium for storing a computer program; and a processor, configured to read the computer program stored in the computer-readable storage medium and execute the erasure code-based block broadcasting method according to any one of claims 1 to 7.