A high-performance blockchain network data processing method and system

By configuring work nodes and service nodes in the blockchain network, using asynchronous verification mechanism, remote process call framework, data compression and regional consensus mechanism, optimizing transaction execution, the performance problems of the blockchain network are solved and transaction speed and efficiency are improved.

CN120125226BActive Publication Date: 2025-09-02ZHONGJINKE INFORMATION TECH CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510615853.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-14
Publication Date
2025-09-02
Estimated Expiration
2045-05-14

AI Technical Summary

Technical Problem

During peak transactions, blockchain networks are seriously congested and delayed, with slow transaction speed and long confirmation time, and high cost of communication and synchronization between nodes, resulting in performance problems.

Method used

By configuring work nodes and service nodes in the blockchain network, using asynchronous verification mechanism, remote process calling framework, data compression algorithm (such as Deflate algorithm) and regional consensus mechanism, network expansion and transaction execution capabilities are optimized, block generation strategies are modified in real time, and external chain codes are introduced to optimize transaction execution.

Benefits of technology

It improves the transaction processing speed and efficiency of the blockchain network, shortens the transaction confirmation time, reduces the communication and synchronization costs between nodes, and improves the network's connection capability and data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120125226B_ABST
    Figure CN120125226B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a high-performance blockchain network data processing method and system. The method can obtain on-chain transaction data when the transaction initiating node initiates an on-chain transaction, and perform verification on the on-chain transaction based on the on-chain transaction data to generate a transaction data packet. Then, a transaction block is generated based on the transaction data packet and the configured block generation strategy. After obtaining the proposal response from the working node, the on-chain transaction can send the transaction data packet to the service node without enabling event monitoring. By sending the transaction ID to the transaction initiating node, the transaction initiating node can obtain the transaction result based on the asynchronous verification mechanism and the scheduled task by sending a query instruction. The method can comprehensively utilize enhanced network expansion capabilities and optimized transaction execution capabilities to build a blockchain network and achieve fast, efficient, and stable transaction data processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of blockchain technology, and in particular to a high-performance blockchain network data processing method and system. Background Art

[0002] Blockchain technology is a decentralized, immutable method for processing transaction data. It allows multiple participants (nodes) to jointly maintain a growing list of data records, called blocks. Each block contains a series of transaction records, which are linked together and cryptographically guaranteed to be tamper-proof and unforgeable. Blockchain technology has applications in a variety of fields, including finance, supply chain management, and the Internet of Things. However, as blockchain networks continue to develop and scale, performance issues are becoming a bottleneck hindering their further application and expansion.

[0003] Because blockchain networks require multiple nodes to maintain data records and perform cryptographic processing when processing transactions, they suffer from slow transaction speeds, long confirmation times, and poor scalability. Network congestion and delays are particularly prominent during peak trading periods, severely impacting user experience and the practical application of blockchain technology.

[0004] Furthermore, as blockchain networks expand, the number of nodes they contain also increases. For example, to enhance security and maintain decentralized transactions, public blockchain networks can include as many as 8,000 to 10,000 nodes, with nodes deployed worldwide. Obviously, with such a large number of widely distributed nodes, inter-node communication and synchronization costs increase, further exacerbating performance issues. Summary of the Invention

[0005] In view of this, the embodiments of the present application provide a high-performance blockchain network data processing method and system to solve the problem of poor blockchain network performance.

[0006] According to one aspect of the present application, a high-performance blockchain network data processing method is provided, which is applied to a blockchain network, wherein the blockchain network includes working nodes and service nodes; the blockchain network is configured to configure or modify block generation strategies in real time in a proposal manner; the method includes:

[0007] The transaction initiating node broadcasts the on-chain transaction data. The transaction initiating node is the working node that initiates the on-chain transaction, or the service node, or an external node connected to the blockchain network;

[0008] The working node verifies the on-chain transaction according to the on-chain transaction data, generates a transaction data packet, and sends the transaction data packet to the service node; after the working node sends the transaction data packet to the service node, the on-chain transaction does not start event monitoring;

[0009] The service node generates a transaction block according to the transaction data packet and the configured block generation strategy, and sends a transaction ID to the transaction initiation node;

[0010] The transaction initiating node queries the working node for the transaction result corresponding to the transaction ID through a scheduled task based on an asynchronous verification mechanism.

[0011] Optionally, the working node and the service node establish a communication connection through a remote procedure call framework, and implement a data compression function based on a decompression Deflate algorithm; the method further includes:

[0012] The working node obtains a communication configuration file;

[0013] The working node adds a communication configuration field and a compression configuration field to the communication configuration file, wherein the communication configuration field is used to indicate the communication mode of opening the remote procedure call framework; the compression configuration field is used to indicate the data compression mode of opening the Deflate algorithm;

[0014] The working node reads the communication configuration field and the compression configuration field when creating the remote procedure call framework client;

[0015] The working node adds a communication configuration item of the remote procedure call framework according to the communication configuration field and the compression configuration field.

[0016] Optionally, the method further includes:

[0017] The working node obtains a block generation strategy modification instruction input based on the network configuration page, where the block generation strategy modification instruction corresponds to modifying at least one of the following: block generation time, block transaction number, block capacity, and priority block transaction volume;

[0018] The working node initiates a block strategy modification proposal in response to the block strategy modification instruction, and broadcasts the block strategy modification proposal. The block strategy modification proposal includes a proposal operation object corresponding to the authority of the subject inputting the block strategy modification instruction; the proposal operation object is a network or a channel;

[0019] The first associated node modifies the proposal according to the block generation strategy and performs voting, and feeds back the voting result to the working node. The first associated node is a working node and / or service node associated with the proposal operation object in the blockchain network;

[0020] The working node updates the configuration block through event triggering based on the voting result, so as to modify the block generation strategy of the node corresponding to the proposal operation object to the content specified by the block generation strategy modification instruction.

[0021] Optionally, the blockchain network is further configured to implement network expansion based on a regional consensus mechanism; and the method further comprises:

[0022] A joining request initiated by a newly joined organization node to the working node;

[0023] The working node defines the organizational identity of the newly joined organization in response to the joining request, where the organizational identity is a consensus organization or a non-consensus organization; the service node deployed by the non-consensus organization is set to not participate in the manager election of the service cluster;

[0024] The working node initiates an organization joining proposal according to the organization identity, and broadcasts the organization joining proposal;

[0025] The second associated node performs voting according to the joining proposal request and sends the voting result to the working node, wherein the second associated node is a working node and / or a service node associated with the organization joining function in the blockchain network;

[0026] The working node updates the configuration block through event triggering based on the voting results to execute the organization information on the chain.

[0027] Optionally, the working node updates the configuration block through event triggering based on the voting result to execute the organization information on-chain, including:

[0028] Obtain the identity information file of the newly joined organization, the identity information file includes the organization information required to form the configuration block, the organization information includes the organization name, map certificate and default policy information;

[0029] The organization information is updated into a configuration block application module of a second associated node in the blockchain network.

[0030] Optionally, the method further includes:

[0031] The working node obtains the node type included in the newly joined organization;

[0032] If the node type includes a service node, the working node obtains service information of the service node, where the service information includes a TLS client certificate, a TLS server certificate, a service domain name, and a service port information;

[0033] The working node updates the service information to the configuration block consensus service module of the second associated node in the blockchain network.

[0034] Optionally, the method further includes:

[0035] The working node obtains a contract deployment instruction, which is input based on the contract management interface; the contract deployment instruction includes the contract to be deployed and the application chain to be deployed; the contract to be deployed is the contract selected in the contract repository;

[0036] The working node initiates a contract deployment proposal in response to the contract deployment instruction, and broadcasts the contract deployment proposal;

[0037] A third associated node performs voting on the contract deployment proposal and sends the voting result to the working node, wherein the third associated node is a working node and / or service node associated with the contract deployment function in the blockchain network;

[0038] The working node deploys the contract to be deployed on the node corresponding to the application chain to be deployed according to the voting result.

[0039] Optionally, the working node deploys the contract to be deployed on the node corresponding to the application chain to be deployed according to the voting result, including:

[0040] Determine the target working node of the current organization in at least one application chain to be deployed;

[0041] Invoke the chaincode service installation process, and send the contract package file to the target working node through the chaincode service installation process;

[0042] An installation notification instruction is sent to the target working node, where the installation notification instruction is used to enable the target working node to install the to-be-deployed contract based on the contract package file.

[0043] Optionally, the method further includes:

[0044] The working node reads the contract initialization tag in the contract deployment proposal;

[0045] If the contract initialization tag is set to enable initialization, the working node obtains initialization parameters, which are parameters filled in after the contract is installed and the contract is in a normal state;

[0046] The working node calls the chaincode service initialization process according to the initialization parameters, and performs contract initialization through the chaincode service initialization process;

[0047] The working node updates the initialization parameters to the contract information of the public chain node configured in the blockchain network.

[0048] According to another aspect of the present application, a high-performance blockchain network data processing system is provided, comprising a blockchain network, wherein the blockchain network comprises working nodes and service nodes; the blockchain network is configured to configure or modify a block generation strategy in real time in a proposal manner;

[0049] The working nodes of the blockchain network are configured as follows:

[0050] Obtaining on-chain transaction data broadcast by a transaction initiating node, where the transaction initiating node is the working node that initiates the on-chain transaction, or the service node, or an external node connected to the blockchain network;

[0051] Verify the on-chain transaction according to the on-chain transaction data, generate a transaction data packet, and send the transaction data packet to the service node; after the working node sends the transaction data packet to the service node, the on-chain transaction does not start event monitoring;

[0052] The service node is configured to: generate a transaction block according to the transaction data packet and the configured block generation strategy, and send a transaction ID to the transaction initiation node;

[0053] The transaction initiating node is configured to query the working node for a transaction result corresponding to the transaction ID through a scheduled task based on an asynchronous verification mechanism.

[0054] According to another aspect of the present application, a computer device is provided, including a storage medium, a processor, and a computer program stored on the storage medium and executable on the processor, wherein the processor implements the above-mentioned high-performance blockchain network data processing method when executing the program.

[0055] According to another aspect of the present application, a storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the above-mentioned high-performance blockchain network data processing method is implemented.

[0056] By leveraging the above technical solutions, embodiments of the present application provide a high-performance blockchain network data processing method and system. When a transaction initiating node initiates an on-chain transaction, the method obtains on-chain transaction data, verifies the on-chain transaction based on the on-chain transaction data, and generates a transaction data packet. Transaction blocks are then generated based on the transaction data packet and a configured block generation strategy. After receiving a proposal response from a working node, the on-chain transaction can send the transaction data packet to a service node without enabling event monitoring. By sending the transaction ID to the transaction initiating node, the initiating node can obtain transaction results by issuing query instructions based on a scheduled task using an asynchronous verification mechanism. The method combines enhanced network scalability and optimized transaction execution capabilities to build a blockchain network, achieving fast, efficient, and stable transaction data processing. Network scalability is enhanced by optimizing network transmission protocols, configuring block generation strategies, and adding a regional consensus mechanism, thereby improving the blockchain network's node connectivity and data transmission efficiency. Transaction execution is optimized through external chaincode and an asynchronous on-chain transaction development paradigm, increasing transaction processing speed and efficiency and shortening transaction confirmation time.

[0057] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0059] Figure 1 A schematic diagram of the blockchain network structure provided by an embodiment of the present application is shown;

[0060] Figure 2 A schematic diagram of the blockchain transaction process provided by an embodiment of the present application is shown;

[0061] Figure 3 A schematic diagram of the blockchain sub-network structure provided by an embodiment of the present application is shown;

[0062] Figure 4 A schematic diagram of the blockchain network communication and compression method provided in an embodiment of the present application is shown;

[0063] Figure 5 A schematic diagram of the process of modifying the block generation strategy provided in an embodiment of the present application is shown;

[0064] Figure 6 A schematic diagram of the organization joining process provided in an embodiment of the present application is shown;

[0065] Figure 7 A schematic diagram of the process of updating service information provided in an embodiment of the present application is shown;

[0066] Figure 8 A schematic diagram of the external chain code sub-network structure provided by an embodiment of the present application is shown;

[0067] Figure 9 A schematic diagram of the smart contract process provided by an embodiment of the present application is shown;

[0068] Figure 10 A schematic diagram of the process flow of a high-performance blockchain network data processing method provided by an embodiment of the present application is shown;

[0069] Figure 11 The following is a schematic diagram of the process of querying transaction results of a scheduled task provided by an embodiment of the present application;

[0070] Figure 12 A schematic diagram illustrating the performance improvement principle of a blockchain network provided by an embodiment of the present application is shown. DETAILED DESCRIPTION

[0071] The present application will be described in detail below with reference to the accompanying drawings and in combination with embodiments. It should be noted that, unless there is a conflict, the embodiments and features in the embodiments of the present application can be combined with each other.

[0072] The high-performance blockchain network data processing method described in the embodiment of this application can be applied to the blockchain network. Figure 1 As shown, a blockchain network is a multi-node network system built on blockchain technology. Blockchain technology is a decentralized, immutable method for processing transaction data. Blockchain technology allows multiple participants (nodes) to jointly maintain a continuously growing list of data records, called blocks.

[0073] A node in a blockchain network generally refers to an electronic device with data processing and communication capabilities. Therefore, such nodes include, but are not limited to, personal computers, servers, mobile terminals, smart wearable devices, industrial computers, data centers, and the like.

[0074] Nodes in a blockchain network, once connected, can build upon specific consensus mechanisms and smart contracts. Consensus refers to the process or algorithm used to reach consensus among multiple nodes (participants) in a distributed network. Because blockchain is a decentralized data processing network, processing is distributed across multiple nodes, each of which maintains a copy of the entire ledger. Therefore, the consensus mechanism ensures that all nodes can agree on updates to the ledger data. A smart contract is a computer program that automatically executes, controls, or records data processing events and actions. Smart contracts can communicate, verify, and execute data processing functions in an information-based manner.

[0075] After building a blockchain network based on smart contracts and a consensus mechanism, any node in the network can initiate a transaction, such as by sending cryptocurrency or invoking a smart contract. The transaction data is then signed using a private key to ensure transaction security and user authentication. The signed transaction data is then broadcast within the blockchain network, allowing working nodes to receive and verify the transaction. During the transaction verification process, working nodes can check the validity of the signature and whether the required quantity of the underlying assets is met. Consensus mechanisms such as Proof of Work (PoW) and Proof of Stake (PoS) are then used to reach consensus and confirm the validity of the transaction. Verified transaction data is then packaged into a new block. In blockchain networks that require puzzle solving or consensus, nodes must solve a mathematical puzzle or use other mechanisms to prove their authority to create a new block.

[0076] After a block is created, it can be broadcast to the entire network. At this point, nodes in the network verify the validity of the newly created block. By verifying the transaction data in the new block, they ensure that it complies with the blockchain's rules and protocols. Once the new block has been verified by a majority of nodes in the network, it is added to the blockchain, indicating that the corresponding transaction data is final. A ledger update is then executed, updating the ledgers of all nodes to include the new block information, ensuring that all participants have the latest ledger status. Once the ledger is updated, the transaction is confirmed. At this point, the smart contract is executed, allowing the relevant subject matter or data to be transferred across the blockchain network, completing the entire transaction process.

[0077] Because blockchain networks process transactions through multiple nodes, including broadcasting, verification, packaging, block generation, block verification, and ledger updates, multiple nodes must jointly maintain transaction data. Furthermore, these processes, including transaction verification, consensus mechanisms, and block verification, involve cryptographic data processing, resulting in high data transmission and processing volumes. Consequently, blockchain networks suffer from slow transaction speeds and long confirmation times. To increase transaction speeds and shorten confirmation times, nodes in the blockchain network can be configured to focus on executing specific transaction steps.

[0078] like Figure 2 As shown, in some embodiments, some nodes in a blockchain network can be configured as worker (peer) nodes. Worker nodes can be responsible for maintaining ledger data and executing smart contracts. Each worker node stores a copy of the ledger and can install and execute chaincode (smart contracts). Worker nodes can further include endorsing peers and committing peers. Endorsing peers are responsible for endorsing transaction proposals, verifying the legitimacy of transactions, and executing chaincode to simulate the effects of transactions. Committing peers are responsible for writing endorsed transactions to the ledger. Worker nodes are the infrastructure of the blockchain network, and all ledger queries and modifications can be performed through worker nodes.

[0079] In some embodiments, some nodes in a blockchain network can be configured as orderer nodes. Service nodes, also known as consensus nodes, are responsible for executing transaction ordering. In a blockchain network, service nodes receive transaction proposals from peer nodes and order them into blocks. Service nodes do not directly participate in transaction verification, but rather ensure that transactions are packaged into blocks in a specific order. These blocks are then sent to peer nodes for verification and final ledger updates.

[0080] It should be noted that in addition to the aforementioned worker nodes and service nodes, other types of nodes can be configured in a blockchain network based on transaction needs. For example, there are full nodes (FullNodes) that store and maintain a complete copy of blockchain data; light nodes (LightNodes) that communicate with full nodes or other nodes to obtain required blockchain information and verify the validity of transactions; miner nodes (MinerNodes) that create new blocks; validator nodes (ValidatorNodes) that verify the validity of transactions and participate in the consensus process; gateway nodes that connect the blockchain network to external networks; master nodes (MasterNodes) that manage and support advanced functions of the blockchain network; and lightning nodes that are used to expand the blockchain network.

[0081] like Figure 3 As shown, in some embodiments, a blockchain network may further include multiple sub-networks. Each sub-network may include a preset number of nodes based on specific functional deployment requirements. Depending on the permissions and scope of application when performing data processing, a certain number of nodes may be configured to form sub-networks such as a public blockchain, a consortium blockchain, or an application-specific blockchain.

[0082] A public chain is a completely open blockchain that any organization or client can participate in, without requiring specific permission. Public chains lack any centralized control and are maintained entirely by the nodes in the network. Furthermore, any participant, whether individual or organization, can access, transact, and view all data on the blockchain. Due to the large number of participants, public chains must be highly secure and difficult to attack or tamper with. All transactions on a public chain are public, and any participant can verify their legitimacy. Therefore, public chains are suitable for business scenarios that require a high degree of transparency and decentralization, such as cryptocurrencies and decentralized finance (DeFi).

[0083] A consortium chain is a blockchain jointly managed by multiple organizations or institutions. These organizations can be industry professionals, who work together to maintain the blockchain's operations and governance. A consortium chain is a partially decentralized blockchain network. Although managed by multiple organizations, it is less decentralized than a public chain. Only consortium members or authorized participants can access and participate in the blockchain network's management. Transactions and data are invisible to non-consortium members, ensuring a high level of privacy. Due to the limited number of participating nodes, transactions are faster than on a public chain, making it suitable for business scenarios requiring trust and collaboration among multiple organizations, such as finance and supply chain management.

[0084] Appchains are blockchains designed specifically for specific applications or services, optimized for specific business needs and functionality. Appchains can be customized to meet specific performance and security requirements. Appchains can exist independently of other blockchains, with their own consensus mechanisms and governance structures. Therefore, they can be applied to business scenarios requiring specialized functionality or performance, such as copyright protection and identity verification.

[0085] In addition to the aforementioned consortium chains, application chains, and public chains, blockchain networks can also deploy other types of sub-networks based on their intended functions. For example, system chains, private chains, main chains, side chains, and interchains. These different types of blockchains can be selected and combined based on specific application scenarios and requirements to meet diverse business needs.

[0086] It's important to note that subnetworks constructed based on specific functional deployments are independent of each other. This means that each subnetwork can execute data processing in its own domain based on its internal consensus mechanism and smart contracts. Therefore, a single subnetwork can include nodes configured for different functions, such as worker nodes and service nodes. Furthermore, multiple subnetworks can share nodes, and shared nodes can serve different roles in different subnetworks. For example, a node that partially meets the hardware requirements can function as both a worker node in one subnetwork and a service node in another.

[0087] Multiple sub-networks can work together to build a more powerful blockchain network. However, as the scale of the blockchain network expands, the communication and synchronization costs between nodes also increase, exacerbating the performance issues of the blockchain network.

[0088] To improve the performance of a blockchain network, some embodiments of this application provide a blockchain network. The blockchain network can establish a communication connection with a transaction initiation node, allowing users to initiate transactions based on the blockchain network through the transaction initiation node. The transaction initiation node can be an electronic device independent of the blockchain network that has data processing and communication capabilities. For example, the transaction initiation node is a personal computer connected to the blockchain network. The transaction initiation node can also be any node device in the blockchain network. For example, the transaction initiation node is a personal computer that functions as a working node in the blockchain network.

[0089] In some embodiments, to implement transactions on a blockchain network, the transaction-initiating node and other nodes in the blockchain network can deploy transaction-related applications using a software development kit (SDK). The SDK makes it easier for node devices to interact with the blockchain network. The SDK also provides a set of application programming interfaces (APIs) and tool libraries, allowing node devices to build applications to access blockchain network resources, such as querying ledger data, submitting transactions, and deploying and managing smart contracts.

[0090] The blockchain network may include working nodes and service nodes. Figure 4 As shown, the worker nodes and service nodes establish a communication connection via a remote procedure call framework. The remote procedure call framework enables transparent communication between clients and blockchain network applications and supports multiple programming languages. For example, by setting the communication mechanism between blockchain network nodes to be based on the Google Remote Procedure Call (gRPC) framework developed by Google, network transmission protocols can be optimized. The gRPC framework can use a binary transmission protocol based on HTTP / 2, implementing features such as bidirectional streaming, header compression, and multiplexing, improving network transmission efficiency and performance. Furthermore, the gRPC framework's advantages, such as support for multi-language programming, automatic code generation, high scalability and security, support for multiple serialization protocols, and support for streaming data transmission, can be leveraged to improve the performance of the blockchain network.

[0091] Worker and service nodes can also implement data compression based on the Deflate decompression algorithm. The Deflate algorithm combines a variant of the LZ77 algorithm with Huffman Coding to achieve data compression. The Deflate algorithm is a reversible compression process, allowing the original data to be fully recovered from the compressed data.

[0092] When performing data compression based on the Deflate algorithm, the input data is segmented into fixed-size blocks, each of which can be independently compressed. The LZ77 algorithm's dictionary compression method then performs compression by searching for repeated or similar strings in the input data. The location and length of these strings are recorded and used to replace the original strings, thereby reducing the data size. The output of the LZ77 algorithm's compressed data is further compressed using the Huffman coding algorithm. This greedy algorithm constructs an optimal prefix code based on the frequency of occurrence of each character in the data, minimizing the total code length. Finally, the compressed data blocks are output, each of which is independent and can be decompressed independently. The Deflate algorithm improves compression rates, reduces data processing and transmission within blockchain networks, and enhances blockchain network performance.

[0093] In order to set the communication mechanism between blockchain network nodes to gRPC and implement data compression functions on the client and server using the Deflate algorithm. In some embodiments, one or more nodes in the blockchain network can obtain a communication configuration file and add a communication configuration field and a compression configuration field to the communication configuration file. The communication configuration field is used to indicate the communication method for enabling the remote procedure call framework; the compression configuration field is used to indicate the data compression method for enabling the Deflate algorithm. When creating a remote procedure call framework client, the communication configuration field and the compression configuration field are read. Then, communication configuration items for the remote procedure call framework are added based on the communication configuration field and the compression configuration field.

[0094] When processing transaction data on a blockchain network, data compression settings can be enabled on both the client and server. For client-side data compression, SDKs, peer nodes, and orderer nodes can enable data compression using the Deflate algorithm when creating a gRPC client. For server-side data compression, response data is compressed using the Deflate algorithm requested by the client.

[0095] For example, to enable data compression on the client side, you can do so through the SDK by adjusting the SDK configuration file, sdk.yaml, and adding the configuration option client.grpc.deflate: true. This configuration option is read when creating a grpcclient. If client.grpc.deflate: true is found, data compression is enabled. To do so, add the grpc option configuration option grpcOpts = append(grpcOpts,grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name))).

[0096] Similarly, to enable data compression on a peer node, adjust the peer node's core.yaml configuration file and add the following configuration: Peer.grpc.deflate: true . This configuration is then read when creating the grpc client. If data compression is enabled, a new grpc option is added: grpcOpts = append(grpcOpts, grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name))).

[0097] To enable data compression on the Orderer node, adjust the Orderer node's core.yaml configuration file and add the following configuration: general.grpc.deflate: true . This configuration is then read when creating the grpc client. If data compression is enabled, add a new grpc option: grpcOpts = append(grpcOpts, grpc.WithDefaultCallOptions(grpc.UseCompressor(gzip.Name))).

[0098] In addition, if data compression is enabled on the server side, peer and orderer nodes can enable data compression when creating the grpcserver. The server will then compress the response data according to the compression algorithm requested by the client. The corresponding compression algorithm is initialized during the initialization phase using the encoding.RegisterComperssor method.

[0099] When processing transaction data, the blockchain network is configured to configure or modify block generation strategies in real time through proposals. This means that the blockchain network can configure block generation strategies based on actual network or channel usage and can adjust and modify block generation strategies in real time based on proposals. Proposals are a decentralized policy processing method that utilizes voting and decision-making mechanisms. The proposed content will only be executed after a certain voter turnout rate is reached and the ledger reaches the contract validity level. Block generation strategies refer to the rules and parameters that determine when and how nodes in a blockchain network generate new blocks. Block generation strategies can include alliance and channel strategies.

[0100] The block generation strategy can be modified by initiating a block generation strategy modification proposal, such as Figure 5 As shown, in order to modify the block generation strategy in real time, in some embodiments, working nodes in the blockchain network can obtain block generation strategy modification instructions input based on the network configuration page. Depending on the type of block generation strategy, block generation strategy modification instructions can be input by organizational clients or nodes with different policy modification permissions. For modifying the alliance block generation strategy, an organization with permission to initiate a change to the alliance block generation strategy can submit a proposal to modify the alliance blockchain network's block generation strategy in the network configuration interface, with the proposal operating on the network. For modifying the channel block generation strategy, an organization with permission to initiate a channel block generation strategy change can submit a proposal to modify the block generation strategy for a specific application chain in the application chain management interface, with the proposal operating on the channel.

[0101] When modifying the block generation strategy, the modified content can be specified through the block generation strategy modification instruction. The block generation strategy content corresponding to the modified block generation strategy instruction includes at least one of the block generation time, block transaction number, block capacity, and priority block transaction volume.

[0102] After receiving a block generation strategy modification instruction, a working node in the blockchain network can respond to the block generation strategy modification instruction by initiating a block generation strategy modification proposal and broadcasting the block generation strategy modification proposal within the blockchain network. The block generation strategy modification proposal includes a proposal operation object corresponding to the permissions of the subject that input the block generation strategy modification instruction. Nodes associated with the proposal operation object in the blockchain network can vote based on the block generation strategy modification proposal and generate voting results. For ease of description, the nodes associated with the proposal operation object may be referred to as first associated nodes. The working node then obtains the voting results, i.e., the feedback from the nodes associated with the proposal operation object in the blockchain network after voting based on the block generation strategy modification proposal.

[0103] Based on the voting results, the configuration block is updated through an event trigger, thereby modifying the block generation strategy of the node corresponding to the proposed operation object to the content specified by the block generation strategy modification instruction. The voting results can include approval and disapproval. The working nodes in the blockchain network can count the voting results. When the number of approval results reaches a preset threshold, it indicates that the block generation strategy modification proposal has been voted through. At this time, the blockchain network can automatically update the configuration block by executing an operation triggered by the event.

[0104] For example, when modifying the alliance's block generation strategy, an organization with permission to initiate changes to the alliance's block generation strategy can modify the network's block generation strategy on the Modify Network Configuration page. Clicking Save will initiate a proposal to modify the block generation strategy. The proposal operates on the network. Once the proposal is voted on and passed, an event will trigger an automatic update of the configuration block, changing the block generation strategy in the system chain and public chain configuration blocks to the content specified in the proposal. After the configuration block is successfully modified, all orderer nodes in the blockchain network will determine whether to execute the block generation operation based on the new block generation strategy during subsequent block generation.

[0105] For example, when modifying a channel's block generation strategy, an organization with permission to initiate changes to the channel's block generation strategy can edit the strategy for a specific application chain on the application chain management page. Clicking Save initiates a proposal to modify the strategy, targeting the channel. Once the proposal is voted on and passed, an event triggers an automatic update of the configuration block, changing the strategy in the application chain's configuration block to the one specified in the proposal.

[0106] The blockchain network is also configured to achieve network expansion based on a regional consensus mechanism, that is, the blockchain network can define organizations in the alliance blockchain as consensus organizations or non-consensus organizations by adding a regional consensus mechanism, so that sub-networks associated with the organization can quickly join, change, and exit the blockchain network.

[0107] By setting up a regional consensus mechanism, organizations in the blockchain network can be divided into consensus organizations and non-consensus organizations. The difference is that all consensus nodes deployed by non-consensus organizations will not participate in the leader election of the consensus cluster, so the consensus nodes under this organization will not affect the stability of the consensus cluster.

[0108] like Figure 6 As shown, in some embodiments, when a new organization joins a blockchain network, a working node in the blockchain network can receive a join request from the newly joined organization. In response to the join request, the working node defines the new organization's identity. The organization's identity can be either a consensus organization or a non-consensus organization. Service nodes deployed by non-consensus organizations are configured not to participate in the service cluster manager election.

[0109] Based on the organization's identity, a proposal to join the organization is then initiated and broadcast. Nodes in the blockchain network associated with the organization's joining function can vote on the organization's joining proposal and generate voting results. For ease of description, nodes associated with the organization's joining function are referred to as second-association nodes. Working nodes receive the voting results from the second-association nodes in the blockchain network based on the joining proposal request and, based on these voting results, trigger an event to update the configuration block, thereby uploading the organization information to the blockchain.

[0110] For example, upon receiving a new organization's request to join, a node configured as a consortium administrator in the blockchain network can define the new organization's identity as either a consensus organization or a non-consensus organization. It then initiates a proposal request to invite the new organization to join the consortium blockchain. Once the proposal is voted on, an event triggers an action to automatically update the configuration block and upload the organization's information to the blockchain.

[0111] In some embodiments, to update the configuration block, a working node in the blockchain network may also obtain the identity information file of the newly joined organization when executing the step of updating the configuration block based on the voting results through an event trigger to upload the organization information to the blockchain. The identity information file includes the organization information required to compose the configuration block, including the organization name, map certificate, and default policy information. This organization information is then updated in the configuration block application module of the second associated node in the blockchain network.

[0112] For example, when updating the configuration block, after a new organization joins the consortium blockchain, the organization information required for the configuration block, including the organization name, map certificate, and default policy information, can be composed based on the organization's identity information file and updated to the configuration block Application module of the system chain and the public chain.

[0113] In some embodiments, the blockchain network can also perform consensus management for newly joined organizations. Figure 7 As shown, a working node in a blockchain network can obtain the node type of a newly joined organization. If the node type includes a service node, the working node obtains service information for the service node. This service information includes information such as the TLS client certificate, TLS server certificate, service domain name, and service port. This service information is then updated in the configuration block consensus service module of the second associated node in the blockchain network.

[0114] For example, nodes newly added to an organization can be configured with organizational information, including a built-in is_learner field to record the organization's identity. This information is used to determine whether the organization is participating in consensus when the consenters module of the configuration block is updated, such as when adding a new consensus node, creating an application chain, or when an organization joins an application chain. After the newly added organization connects to the blockchain network, the blockchain network can read the organization information to determine the node types included in the organization. If the new organization contains a consensus node, the consensus node's TLS client certificate, TLS server certificate, service domain name, service port information, and other content can be updated in the consenters module of the system chain and public chain configuration blocks.

[0115] In order to optimize the transaction execution capability of the blockchain network, improve the speed and efficiency of transaction processing, and reduce the transaction confirmation time and cost, the blockchain network can also implement the transaction execution optimization based on external chain codes. Figure 8 As shown, in some embodiments, the blockchain network also includes an external chaincode subnetwork, which is configured to execute smart contract services, including smart contract deployment, smart contract installation, and smart contract initialization. By introducing external chaincode, external contract services can be provided for operations such as smart contract deployment, installation, and initialization. Multiple peer nodes in the blockchain network can share a single contract service.

[0116] External chaincode runs as an independent service outside of a peer node. External chaincode offers greater flexibility and multi-language support, allowing developers to write chaincode in a variety of programming languages ​​capable of handling gRPC communication. External chaincode can run as an independent gRPC service, and peer nodes can call chaincode functions via gRPC to process transaction requests. Because external chaincode can run independently of Fabric nodes, resource management and deployment processes can be optimized. External chaincode can use the connection.json file to provide information such as the chaincode server endpoint and TLS configuration so that peer nodes can connect to the chaincode service. The TLS configuration in the connection.json file ensures secure communication between the chaincode service and peer nodes. By configuring and registering the chaincode service address, peer nodes can connect to the smart contract service in the external chaincode through the chaincode service address.

[0117] To this end, the working node in the blockchain network can obtain the service address of the external chaincode subnetwork and connect to the smart contract service according to the service address to perform at least one of smart contract deployment, smart contract installation and smart contract initialization.

[0118] like Figure 9 As shown, in some embodiments, during the smart contract deployment process, a working node in a blockchain network can obtain a contract deployment instruction. The contract deployment instruction is input based on the contract management interface. The contract deployment instruction can include the contract to be deployed and the application chain to be deployed. The contract to be deployed is the contract selected in the contract repository.

[0119] After receiving the contract deployment instruction, the blockchain network can initiate and broadcast a contract deployment proposal in response to the contract deployment instruction. Nodes associated with contract deployment in the blockchain network can vote on the contract deployment proposal and generate voting results. For ease of description, nodes associated with the contract deployment function may be referred to as third-association nodes. Working nodes can receive voting results from contract deployment-associated nodes in the blockchain network regarding the contract deployment proposal. Based on the voting results, the contract to be deployed is deployed on the working nodes corresponding to the application chain to be deployed.

[0120] For example, a node device initiating smart contract deployment can click the Deploy Contract button on the smart contract management interface, select a qualifying smart contract in the contract repository, and the application chain to be deployed. It then enters the endorsement policy and private data set to initiate a contract deployment proposal. The contract deployment proposal can be broadcasted across the blockchain network, allowing multiple relevant organizations connected to the blockchain network to vote on the contract deployment proposal. Once multiple organizations vote in favor of the proposal, the contract can be deployed on the designated peer nodes of the application chain to be deployed, according to the contract deployment proposal.

[0121] After deploying the smart contract to the corresponding blockchain network node, the contract can be installed based on the deployed smart contract. In some embodiments, the smart contract installation process can determine a target worker node for the current organization in at least one application chain to be deployed. The chaincode service installation process is then invoked, and the contract package file is sent to the target worker node via the chaincode service installation process. By sending an installation notification instruction to the target worker node, the target worker node installs the contract to be deployed based on the contract package file.

[0122] For example, to install a deployed contract on a specified peer node, after deploying the contract to be deployed on the worker node corresponding to the application chain to be deployed, you can select the peer nodes of your organization within multiple application chains to determine the target worker node. Then, call the ChaincodeService.Install process, send the contract package file to the specified peer node through the ChaincodeService.Install process, and notify the peer node contract service, so that the specified peer node installs the contract to be deployed based on the contract package file.

[0123] During smart contract installation, you can also determine whether this is the first time the current organization is installing the contract by reading the smart contract's deployment and installation log files. If the installation log file does not contain the node information corresponding to the current organization, it means that the current organization is installing the contract for the first time. Therefore, a corresponding contract container can be started in the K8S cluster for initial installation.

[0124] After a node installs a smart contract, it must also be initialized. Regarding the contract initialization process, in some embodiments, a working node in the blockchain network can read the contract initialization tag in the contract deployment proposal to determine whether contract initialization is required. If the contract initialization tag indicates that initialization is enabled, initialization parameters can be retrieved. These initialization parameters are those entered after the contract is installed and in a normal state.

[0125] Then, the chain code service initialization process is called according to the initialization parameters, and the contract initialization is performed through the chain code service initialization process. The initialization parameters are updated to the contract information of the public chain node configured in the blockchain network to perform the contract initialization process.

[0126] For example, if you choose to enable contract initialization when initiating a contract deployment proposal, the initiating organization can click the Initialize Contract button after installing the contract and ensuring the contract is in a normal state. Enter the initialization parameters, such as ["Method Name", "Parameter 1", "Parameter 2"]. After submission, the working nodes in the blockchain network will call the ChaincodeService.Init process, which will send an invoke request to the peer node that installed the contract, calling the contract method to initialize the contract. After contract initialization, the working nodes in the blockchain network can also update the initialization parameters to the contract information on the public chain, making them visible in the smart contract management interface.

[0127] In order to improve transaction throughput and reduce instantaneous network overhead, the blockchain network can also implement the transaction execution optimization based on the asynchronous development paradigm of on-chain transactions. Figure 10 As shown, when performing transaction data processing, the blockchain network can be configured to execute the steps corresponding to the high-performance blockchain network data processing method to apply the on-chain transaction asynchronous development paradigm, including the following:

[0128] S100: The transaction initiating node broadcasts the transaction data on the chain.

[0129] The transaction initiation node is the working node, service node, or external node connected to the blockchain network that initiates the on-chain transaction. The transaction initiation node can upload on-chain transaction data to the blockchain network during the transaction initiation process. On-chain transaction data is transaction-related data used to constitute a transaction within the blockchain network and ensure transaction integrity, security, and traceability. For example, on-chain transaction data may include the initiator's address, transaction amount, recipient's public key address, digital signature, transaction fee (Gas), maximum amount of Gas consumed by the transaction, price per Gas unit, number of transaction initiations, contract code or method code, transaction hash, timestamp, transaction status, block number, token transfer details, and more.

[0130] S200: The working node verifies the on-chain transaction according to the on-chain transaction data, generates a transaction data packet, and sends the transaction data packet to the service node.

[0131] After obtaining on-chain transaction data, working nodes in the blockchain network can verify the on-chain transaction based on the on-chain transaction data. Specific verification content may include: signature verification, address validity, balance check, whether the nonce value matches the current nonce value of the sender's account, whether the transaction fee is sufficient to cover gas consumption, whether the transaction gas limit exceeds the block gas limit, whether the transaction size meets the maximum limit set by the network, the correctness of the contract code and the legality of the contract call, whether the transaction is executed in the correct order, whether the same funds are reused, the integrity of the transaction data, whether the transaction timestamp is within a reasonable time range, and whether the transaction complies with other rules and standards of the specific blockchain network. By verifying transaction data, the security, reliability, and tamper resistance of the blockchain network can be ensured.

[0132] After the on-chain transaction data is verified, the blockchain network's working nodes can generate a transaction data packet. This transaction data packet is obtained by converting the on-chain transaction data into compressed data using the deflate algorithm described in the above embodiment. The transaction data packet is smaller than the original on-chain transaction data to accommodate transmission requirements within the blockchain network.

[0133] In order to improve transaction throughput and reduce instantaneous network overhead, the blockchain network can also optimize transactions based on the asynchronous development paradigm of on-chain transactions. In this case, after the working node sends the transaction data packet to the service node, the on-chain transaction does not start event monitoring.

[0134] In some embodiments, a working node in a blockchain network can add a monitoring configuration item for the transaction initiating node. The monitoring configuration item includes a field value indicating whether to disable event monitoring. Based on the field value, the event monitoring for the on-chain transaction is disabled.

[0135] For example, a working node in a blockchain network can add a new configuration option, client.txevent: false, to the transaction initiating node's configuration file, sdk.yaml, to disable event monitoring. During a transaction, the current value of this configuration option can be read. When the value is false, the SDK's CommitTxHandler event monitoring function is disabled. When event monitoring for on-chain transactions is disabled, transaction results are not monitored during the execution process, thereby reducing data transmission, improving transaction throughput, and lowering transient network overhead.

[0136] S300: The service node generates a transaction block according to the transaction data packet and the configured block generation strategy, and sends a transaction ID to the transaction initiating node.

[0137] After verifying the on-chain transaction, the blockchain network can generate a transaction block based on the transaction data packet and the configured block generation strategy. In some embodiments, to generate a transaction block, after generating the transaction data packet, the working nodes in the blockchain network can place the verified transaction data packet into the transaction pool, waiting for the service node to package it into a block. The service node then constructs a new block based on the transaction data packets in the transaction pool, specifically selecting transaction data packets from the transaction pool and sorting them according to the pre-set block generation rules.

[0138] Mining nodes in the blockchain network then obtain proof of work or proof of stake by competing to solve specific mathematical puzzles. Mining nodes that obtain proof of work or proof of stake then add new blocks to the blockchain. The smart contract's endorsing nodes then endorse the transaction to ensure it complies with the business logic. In blockchain networks with an ordering service, the transaction data packet is then sent to the ordering service, which packages the transactions into blocks and broadcasts them sequentially to storage nodes.

[0139] After a new block is broadcast to the network's storage nodes, they verify the block's validity, including all transactions within it and its structure. Once the block is verified, the storage node adds it to its own copy of the blockchain, adding one block to the length of the blockchain.

[0140] Since on-chain transactions don't enable event monitoring, the blockchain network only sends the transaction ID to the transaction initiating node during the transaction block generation process. After receiving the transaction ID, the transaction initiating node can enable the asynchronous verification mechanism to obtain the transaction results.

[0141] S400: The transaction initiating node queries the working node for the transaction result corresponding to the transaction ID through a scheduled task based on an asynchronous verification mechanism.

[0142] After receiving the transaction ID, the transaction initiating node can send a query command to the blockchain network. This query command is sent by the transaction initiating node based on the asynchronous verification mechanism. This query command is used to query the transaction results via a scheduled task. After receiving the transaction ID, the transaction initiating node can send the query command to the blockchain network via a scheduled task based on the enabled asynchronous verification mechanism. In response to the query command, the blockchain network sends the transaction result data to the transaction initiating node based on the transaction block's progress.

[0143] For example, Figure 11 As shown, the node device activates the asynchronous verification mechanism. After obtaining the transaction ID returned by the SDK, it records the transaction ID in persistent storage and periodically sends query instructions to the blockchain network based on the stored transaction ID to query the transaction results through a scheduled task. When querying transaction results through a scheduled task, the node device can read the transaction result data obtained by each scheduled task. If the transaction result data is obtained, that is, the transaction result is successfully obtained, the local transaction status is set to success and subsequent scheduled tasks for that transaction are stopped. If the transaction result data is not obtained, that is, the transaction result acquisition fails, the scheduled task continues to execute to obtain the transaction result. If the time to obtain the transaction result exceeds the preset time threshold during a scheduled task, indicating that the transaction has timed out, the transaction is re-initiated. If the time to obtain the transaction result does not exceed the preset time threshold, indicating that the transaction has not timed out, the scheduled task continues to execute to obtain the transaction result.

[0144] By applying the technical solution of this embodiment, a high-performance blockchain network data processing method and system provided by the embodiment of this application can obtain on-chain transaction data when the transaction initiating node initiates an on-chain transaction, and perform verification on the on-chain transaction based on the on-chain transaction data to generate a transaction data packet. Then generate a transaction block based on the transaction data packet and the configured block generation strategy. After obtaining the proposal response from the working node, the on-chain transaction can send the transaction data packet to the service node without turning on event monitoring. By sending the transaction ID to the transaction initiating node, the transaction initiating node can obtain the transaction result based on the asynchronous verification mechanism and send query instructions according to the scheduled task. Figure 12As shown, the described method can be used to comprehensively enhance network scalability and optimize transaction execution capabilities to build a blockchain network, achieving fast, efficient, and stable transaction data processing. By optimizing network transmission protocols, configuring block generation strategies, and adding regional consensus mechanisms, network scalability is enhanced to improve the blockchain network's node connectivity and data transmission efficiency. Transaction execution is optimized through the use of external chaincode and an asynchronous development paradigm for on-chain transactions, increasing transaction processing speed and efficiency and shortening transaction confirmation times.

[0145] Furthermore, as a specific implementation of the high-performance blockchain network data processing method described in the above embodiment, the embodiment of the present application provides a high-performance blockchain network data processing system, including a blockchain network, wherein the blockchain network includes working nodes and service nodes; the blockchain network is configured to configure or modify the block generation strategy in real time in the form of a proposal;

[0146] The working nodes of the blockchain network are configured as follows:

[0147] Obtaining on-chain transaction data broadcast by a transaction initiating node, where the transaction initiating node is the working node that initiates the on-chain transaction, or the service node, or an external node connected to the blockchain network;

[0148] Verify the on-chain transaction according to the on-chain transaction data, generate a transaction data packet, and send the transaction data packet to the service node; after the working node sends the transaction data packet to the service node, the on-chain transaction does not start event monitoring;

[0149] The service node is configured to: generate a transaction block according to the transaction data packet and the configured block generation strategy, and send a transaction ID to the transaction initiation node;

[0150] The transaction initiating node is configured to query the working node for a transaction result corresponding to the transaction ID through a scheduled task based on an asynchronous verification mechanism.

[0151] It should be noted that for other corresponding descriptions of the various functional units involved in a high-performance blockchain network data processing device provided in an embodiment of the present application, reference can be made to the corresponding descriptions in the high-performance blockchain network data processing method provided in the above embodiment, and will not be repeated here.

[0152] The embodiment of the present application also provides a computer device, which can be specifically a personal computer, a server, a network device, etc. The computer device includes a bus, a processor, a memory and a communication interface, and may also include an input and output interface and a display device. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store location information. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, the steps in each method embodiment are implemented.

[0153] Those skilled in the art will understand that the structure of the above-mentioned computer device is only a partial structure related to the solution of the present application and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components, or combine certain components, or have a different component arrangement.

[0154] In one embodiment, a computer-readable storage medium is provided. The computer-readable storage medium may be non-volatile or volatile, and stores a computer program thereon. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0155] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0156] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0157] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above-mentioned embodiments. In particular, any reference to memory, database, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The databases involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the various embodiments provided herein may be, but are not limited to, general-purpose processors, graphics processors, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, and the like.

[0158] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0159] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A high-performance blockchain network data processing method, characterized in that: Applied to a blockchain network, the blockchain network includes working nodes and service nodes; the blockchain network is configured to configure or modify a block generation strategy in real time in a proposal manner according to actual usage of the network or channel; the types of block generation strategies may include alliance block generation strategies and channel block generation strategies; the blockchain network also includes an external chaincode subnetwork; the external chaincode subnetwork is configured to execute smart contract services, and the smart contract services include smart contract deployment, smart contract installation, and smart contract initialization; the method includes: The working node obtains the service address of the external chaincode subnetwork and connects to the smart contract service according to the service address to perform at least one of smart contract deployment, smart contract installation, and smart contract initialization; The transaction initiating node broadcasts the on-chain transaction data. The transaction initiating node is the working node that initiates the on-chain transaction, or the service node, or an external node connected to the blockchain network; The working node verifies the on-chain transaction based on the on-chain transaction data based on the smart contract, generates a transaction data packet, and sends the transaction data packet to the service node; the working node adds a monitoring configuration item for the transaction initiating node, so that the on-chain transaction does not enable event monitoring after the working node sends the transaction data packet to the service node; wherein the monitoring configuration item includes a field value for indicating that the event monitoring of the on-chain transaction is disabled; The service node generates a transaction block according to the transaction data packet and the configured block generation strategy, and sends a transaction ID to the transaction initiation node; The transaction initiating node queries the working node for the transaction result corresponding to the transaction ID through a scheduled task based on an asynchronous verification mechanism; When modifying the block generation strategy in real time based on the actual usage of the network or channel, the working node obtains a block generation strategy modification instruction input based on the network configuration page. The block generation strategy modification instruction corresponds to modifying at least one of the following: block generation time, block transaction number, block capacity, and priority block transaction volume; The working node initiates a block strategy modification proposal in response to the block strategy modification instruction, and broadcasts the block strategy modification proposal. The block strategy modification proposal includes a proposal operation object corresponding to the authority of the subject inputting the block strategy modification instruction; the proposal operation object is a network or a channel; The first associated node modifies the proposal according to the block generation strategy and performs voting, and feeds back the voting result to the working node. The first associated node is a working node and / or service node associated with the proposal operation object in the blockchain network; The working node updates the configuration block through event triggering based on the voting result to modify the block generation strategy of the node corresponding to the proposal operation object to the content specified by the block generation strategy modification instruction. All service nodes in the blockchain network determine whether to perform the block generation operation according to the modified block generation strategy during the subsequent block generation process.

2. The method according to claim 1, characterized in that The working node and the service node establish a communication connection through a remote procedure call framework, and implement a data compression function based on a decompression Deflate algorithm; the method further includes: The working node obtains a communication configuration file; The working node adds a communication configuration field and a compression configuration field to the communication configuration file, wherein the communication configuration field is used to indicate the communication mode of opening the remote procedure call framework; the compression configuration field is used to indicate the data compression mode of opening the Deflate algorithm; The working node reads the communication configuration field and the compression configuration field when creating the remote procedure call framework client; The working node adds a communication configuration item of the remote procedure call framework according to the communication configuration field and the compression configuration field.

3. The method according to claim 1, characterized in that The blockchain network is further configured to implement network expansion based on a regional consensus mechanism; and the method further comprises: A joining request initiated by a newly joined organization node to the working node; The working node defines the organizational identity of the newly joined organization in response to the joining request, where the organizational identity is a consensus organization or a non-consensus organization; the service node deployed by the non-consensus organization is set to not participate in the manager election of the service cluster; The working node initiates an organization joining proposal according to the organization identity, and broadcasts the organization joining proposal; The second associated node performs voting according to the joining proposal request and sends the voting result to the working node, wherein the second associated node is a working node and / or a service node associated with the organization joining function in the blockchain network; The working node updates the configuration block through event triggering based on the voting results to execute the organization information on the chain.

4. The method according to claim 3, characterized in that The working node updates the configuration block based on the voting results through event triggering to execute the organization information on-chain, including: Obtain the identity information file of the newly joined organization, the identity information file includes the organization information required to form the configuration block, the organization information includes the organization name, map certificate and default policy information; The organization information is updated into a configuration block application module of a second associated node in the blockchain network.

5. The method according to claim 4, characterized in that The method further comprises: The working node obtains the node type included in the newly joined organization; If the node type includes a service node, the working node obtains service information of the service node, where the service information includes a TLS client certificate, a TLS server certificate, a service domain name, and a service port information; The working node updates the service information to the configuration block consensus service module of the second associated node in the blockchain network.

6. The method according to claim 1, wherein The method further comprises: The working node obtains a contract deployment instruction, which is input based on the contract management interface; the contract deployment instruction includes the contract to be deployed and the application chain to be deployed; the contract to be deployed is the contract selected in the contract repository; The working node initiates a contract deployment proposal in response to the contract deployment instruction, and broadcasts the contract deployment proposal; A third associated node performs voting on the contract deployment proposal and sends the voting result to the working node, wherein the third associated node is a working node and / or service node associated with the contract deployment function in the blockchain network; The working node deploys the contract to be deployed on the node corresponding to the application chain to be deployed according to the voting result.

7. The method according to claim 6, characterized in that The working node deploys the contract to be deployed on the node corresponding to the application chain to be deployed according to the voting result, including: Determine the target working node of the current organization in at least one application chain to be deployed; Invoke the chaincode service installation process, and send the contract package file to the target working node through the chaincode service installation process; An installation notification instruction is sent to the target working node, where the installation notification instruction is used to enable the target working node to install the to-be-deployed contract based on the contract package file.

8. The method according to claim 6, characterized in that The method further comprises: The working node reads the contract initialization tag in the contract deployment proposal; If the contract initialization tag is set to enable initialization, the working node obtains initialization parameters, which are parameters filled in after the contract is installed and the contract is in a normal state; The working node calls the chaincode service initialization process according to the initialization parameters, and performs contract initialization through the chaincode service initialization process; The working node updates the initialization parameters to the contract information of the public chain node configured in the blockchain network.

9. A high-performance blockchain network data processing system, characterized in that: The invention comprises a blockchain network, wherein the blockchain network comprises working nodes and service nodes; the blockchain network is configured to configure or modify a block generation strategy in real time in a proposal manner according to actual usage of the network or channel; the types of the block generation strategy may include a consortium block generation strategy and a channel block generation strategy; the blockchain network further comprises an external chain code subnetwork; the external chain code subnetwork is configured to execute smart contract services, wherein the smart contract services include smart contract deployment, smart contract installation, and smart contract initialization; The working nodes of the blockchain network are configured as follows: Obtaining a service address of the external chaincode subnetwork, and connecting to the smart contract service according to the service address to perform at least one of smart contract deployment, smart contract installation, and smart contract initialization; Obtaining on-chain transaction data broadcast by a transaction initiating node, where the transaction initiating node is the working node that initiates the on-chain transaction, or the service node, or an external node connected to the blockchain network; Based on the smart contract, the on-chain transaction is verified according to the on-chain transaction data, and a transaction data packet is generated, and the transaction data packet is sent to the service node; the working node adds a monitoring configuration item for the transaction initiating node, so that the on-chain transaction does not enable event monitoring after the working node sends the transaction data packet to the service node; wherein the monitoring configuration item includes a field value for indicating the closure of event monitoring for the on-chain transaction; The service node is configured to: generate a transaction block based on the transaction data packet and the configured block generation strategy, and send a transaction ID to the transaction initiating node; after modifying the block generation strategy in real time according to the actual usage of the network or channel, determine whether to perform a block splitting operation based on the modified block generation strategy; The transaction initiating node is configured to: query the transaction result corresponding to the transaction ID from the working node through a scheduled task based on an asynchronous verification mechanism; When modifying the block generation strategy in real time according to the actual usage of the network or channel, the working node is further configured to: obtain a block generation strategy modification instruction input based on the network configuration page, wherein the block generation strategy content corresponding to the block generation strategy modification instruction includes at least one of the block generation time, the number of block transactions, the block capacity, and the priority block generation transaction volume; in response to the block generation strategy modification instruction, initiate a block generation strategy modification proposal, and broadcast the block generation strategy modification proposal, wherein the block generation strategy modification proposal includes a proposal operation object corresponding to the authority of the subject that input the block generation strategy modification instruction; the proposal operation object is a network or channel; The first associated node is configured to: modify the proposal execution voting according to the block generation strategy, and feedback the voting result to the working node, and the first associated node is a working node and / or service node associated with the proposal operation object in the blockchain network; The working node is further configured to: update the configuration block through event triggering according to the voting result, so as to modify the block strategy of the node corresponding to the proposal operation object to the content specified by the block strategy modification instruction.

Citation Information

Patent Citations

  • Cloud service providing method for resource-constrained nodes in block chain

    CN116633675A

  • System for connecting medical block chain and Internet of Things

    CN117038037A

  • Block chain system based on credential environment

    CN118540061A