Blockchain system operation method and device, electronic equipment and storage medium
By configuring nodes to verify and store transaction hashes in the blockchain system, and using the topology graph to determine transaction types for collaborative processing, the problem of low transaction processing efficiency in traditional blockchain systems is solved, achieving more efficient transaction processing and throughput.
Patent Information
- Application Number
- CN202411997622.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2044-12-31
AI Technical Summary
Traditional blockchain systems, due to their chain-like structure, can only process transactions serially, resulting in low transaction processing efficiency and scalability limited by block generation rate, block size, and serial processing capability.
By configuring nodes in the blockchain system to verify and store transactions in a local transaction pool upon receipt, and broadcasting transaction hashes, the transaction type is determined using a topology graph, enabling collaborative transaction processing, including both parallel and serial processing.
It improves transaction processing efficiency, reduces transaction verification waiting time, enhances the throughput and scalability of the blockchain system, and solves performance bottleneck problems.
Smart Images

Figure CN119938787B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of blockchains, in particular, to a running method and device of a blockchain system, an electronic device and a storage medium. BACKGROUND
[0002] Since the birth of the blockchain, the first generation of the blockchain provides infrastructure, and simple applications gradually emerge on the public blockchain, which are mainly focused on transfers and transactions. With the increasing demand for applications, the first generation of the blockchain cannot meet the complex needs, and thus the second generation of the blockchain is born. The second generation of the blockchain mainly refers to the ability to run smart contracts on the chain to conduct complex application activities, and thus most of the blockchain architectures are the second generation of the blockchain. However, with the increasing complexity of applications, the original serial structure of the blockchain has become a major performance bottleneck, and faces challenges in expansion, speed and reliability.
[0003] In the related art, due to the chain structure of the traditional blockchain system, transactions can only be processed in series, which limits the throughput and leads to low transaction processing efficiency. The scalability of the blockchain is limited by the block rate, block size and serial processing capability, thereby leading to poor transaction processing efficiency. SUMMARY
[0004] To solve the above technical problems, embodiments of the present application provide a running method and device of a blockchain system, an electronic device and a storage medium, so as to improve the transaction processing efficiency in the blockchain system.
[0005] According to an aspect of an embodiment of the present application, a running method of a blockchain system is provided, the blockchain system includes a plurality of nodes, the nodes are configured to verify transactions when receiving the transactions, and store the transactions in a local transaction pool of the nodes when the verification is passed; the nodes are also configured to broadcast the transactions to other nodes in the blockchain system when receiving the transactions; the method comprises: obtaining a block proposal broadcast by a first node; wherein the block proposal only includes transaction hashes corresponding to a plurality of transactions respectively; the first node is a node in the blockchain system that receives the plurality of transactions and broadcasts the plurality of transactions; querying in a local transaction pool of a second node according to the transaction hashes to obtain a query result; wherein the second node is a node in the blockchain system other than the first node; in a case where the query result is that the transaction hashes corresponding transactions exist in the local transaction pool of the second node, obtaining a transaction type corresponding to each transaction respectively; wherein the transaction type is used to represent whether there is a non-association relationship between transactions; and performing collaborative processing on transactions with the transaction type of existing non-association relationships.
[0006] In some embodiments, the underlying database of the blockchain system stores data modified by preset operations in each transaction in the form of key-value pairs, each transaction includes a plurality of different preset operations, and the value in the key-value pair corresponding to the preset operation is modified when the each transaction is executed; the obtaining of the transaction type corresponding to each transaction comprises: obtaining a key-value pair predicted modification state corresponding to the each transaction; wherein the key-value pair predicted modification state is used to represent whether the value in the key-value pair modified when the current transaction is executed is the same as the value in the key-value pair modified when other transactions are executed; if the key-value pair predicted modification state is used to represent that the value in the key-value pair modified when the current transaction is executed is not the same as the value in the key-value pair modified when other transactions are executed, it is determined that the transaction type corresponding to the current transaction is non-associated; if the key-value pair predicted modification state is used to represent that the value in the key-value pair modified when the current transaction is executed is the same as the value in the key-value pair modified when other transactions are executed, it is determined that the transaction type corresponding to the current transaction is non-associated.
[0007] In some embodiments, the obtaining of the key-value pair predicted modification state corresponding to each transaction comprises: obtaining a relationship index between the preset operation in the each transaction and the corresponding key-value pair; constructing a topology structure diagram of the preset operation in the each transaction and the corresponding key-value pair according to the relationship index; and determining the key-value pair predicted modification state corresponding to the each transaction from the topology structure diagram.
[0008] In some embodiments, the constructing of the topology structure diagram of the each transaction and the corresponding key-value pair according to the relationship index comprises: arranging a first node into a same branch structure according to a preset order; wherein the first node is a preset operation belonging to the same transaction, and the preset order is a time sequence of executing the preset operation; and connecting and sorting second nodes in different branch structures according to the preset order to obtain the topology structure diagram; wherein the second node is a preset operation belonging to different transactions and modifying the value in the same key-value pair.
[0009] In some embodiments, the determining, from the topology graph, the key-value pair predicted modification state corresponding to each transaction comprises: if there is a connection relationship between branch structures corresponding to each transaction in the topology graph, determining that the key-value pair predicted modification state corresponding to each transaction is used to represent that, when the current transaction is executed, the value in the key-value pair modified is the same value in the key-value pair modified when other transactions are executed; or, if there is no connection relationship in the branch structure corresponding to each transaction in the topology graph, determining that the key-value pair predicted modification state corresponding to each transaction is used to represent that, when the current transaction is executed, the value in the key-value pair modified is not the same value in the key-value pair modified when other transactions are executed.
[0010] In some embodiments, the processing the transactions of the transaction type of the transactions with non-association relationship in cooperation comprises: determining a first target operation and a second target operation from preset operations in the transactions of the transaction type of the transactions with non-association relationship; wherein the first target operation is a preset operation belonging to different transactions and modifying not the same value in the same key-value pair; the second target operation is a preset operation belonging to different transactions and modifying the same value in the same key-value pair; performing parallel processing on the first target operation and serial processing on the second target operation.
[0011] In some embodiments, the method further comprises: in response to an adjustment operation on the relationship index, performing self-defined adjustment on the relationship index.
[0012] In some embodiments, according to an aspect of some embodiments of the present application, an apparatus for operating a blockchain system is provided, the blockchain system comprising a plurality of nodes configured to, upon receiving a transaction, validate the transaction and, if the validation is passed, store the transaction into a local transaction pool of the node; the nodes are further configured to, upon receiving a transaction, broadcast the transaction to other nodes in the blockchain system; the apparatus comprises: a first obtaining module configured to obtain a block proposal broadcasted by a first node; wherein the block proposal comprises only a plurality of transaction hashes corresponding to a plurality of transactions respectively; the first node is a node in the blockchain system that receives and broadcasts the plurality of transactions; a querying module configured to query a local transaction pool of a second node according to the transaction hashes to obtain a query result; wherein the second node is a node in the blockchain system other than the first node; a second obtaining module configured to, if the query result indicates that the local transaction pool of the second node contains transactions corresponding to the transaction hashes, obtain a transaction type corresponding to each transaction respectively; wherein the transaction type is used to represent whether there is an unassociated relationship between transactions; and a processing module configured to process transactions with the transaction type indicating that there is an unassociated relationship between transactions cooperatively.
[0013] According to an aspect of some embodiments of the present application, an electronic device is provided, comprising: one or more processors; a storage apparatus configured to store one or more programs, when the one or more programs are executed by the one or more processors, the electronic device is caused to implement the method for operating a blockchain system as described above.
[0014] According to an aspect of some embodiments of the present application, a computer-readable storage medium is provided, and the computer-readable storage medium stores computer-readable instructions, when the computer-readable instructions are executed by a processor of a computer, the computer is caused to perform the method for operating a blockchain system as described above.
[0015] In the technical scheme provided in the embodiments of the present application, on the one hand, since the nodes in the blockchain system are configured to broadcast the transaction to other nodes in the blockchain system upon receiving the transaction, and the nodes in the blockchain system verify the transaction upon receiving the transaction and store the transaction into the local transaction pool of the node upon passing the verification, thus when making a proposal, only the transaction hashes of all the transactions in the local transaction pool need to be packaged to generate a block proposal for broadcasting, instead of packaging and broadcasting the complete transaction list, the time for the nodes in the blockchain system to receive the block proposal of the complete transaction list is saved, the transaction pre-broadcasting and transaction caching processing are realized in the blockchain system, and thus the transaction processing efficiency is improved; on the other hand, by obtaining the transaction type corresponding to each transaction respectively and performing collaborative processing on the transactions with the transaction type of non-association, the transaction collaborative processing is realized in the blockchain system, and thus the transaction processing efficiency is improved.
[0016] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory and are not restrictive of the present application. BRIEF DESCRIPTION OF DRAWINGS
[0017] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and serve to explain the principles of the present application. It is readily apparent to one of ordinary skill in the art that the accompanying drawings shown below are only some embodiments of the present application, and other drawings can be obtained by those of ordinary skill in the art without any creative effort based on the drawings. In the drawings:
[0018] Figure 1 is a schematic diagram of an exemplary implementation environment of the present application;
[0019] Figure 2 is an application schematic diagram of the consensus time length of a conventional blockchain system based on the PBFT consensus algorithm according to an exemplary embodiment of the present application;
[0020] Figure 3 is an application schematic diagram of the consensus time length of an improved blockchain system according to an exemplary embodiment of the present application;
[0021] Figure 4 is a flowchart of a running method of a blockchain system according to an exemplary embodiment of the present application;
[0022] Figure 5 is Figure 4 the flowchart of step S430 in the embodiment shown in FIG. 4 according to an exemplary embodiment;
[0023] Figure 6is a schematic diagram of a topology structure diagram shown in an example embodiment of the present application;
[0024] Figure 7 is an application diagram of a processing transaction before cooperative processing shown in an example embodiment of the present application;
[0025] Figure 8 is an application diagram of a processing transaction after cooperative processing shown in an example embodiment of the present application;
[0026] Figure 9 is a flow chart of a method for operating a blockchain system shown in another example embodiment of the present application;
[0027] Figure 10 is a structural schematic diagram of an operating device of a blockchain system shown in an example embodiment of the present application;
[0028] Figure 11 is a structural schematic diagram of a computer system of an electronic device shown in an example embodiment of the present application. DETAILED DESCRIPTION
[0029] The example embodiments will be described in detail herein with reference to the accompanying drawings. In the following description, the same numbers refer to the same or similar elements throughout the drawings. The implementations described in the following example embodiments are not meant to represent all implementations in which one can practice the present application. Rather, they are merely examples of apparatuses and methods in which one can practice the present application as detailed in the appended claims.
[0030] The block diagrams shown in the accompanying drawings are merely functional entities, and do not necessarily have to correspond to physically independent entities. That is, the functional entities can be implemented in the form of an application program, or in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0031] The flow charts shown in the accompanying drawings are merely exemplary illustrations, and do not necessarily include all contents and operations / steps, nor do they have to be executed in the order described. For example, some operations / steps can be further divided, and some operations / steps can be combined or partially combined, so that the actual execution order can be changed depending on the actual situation.
[0032] It should be noted that the term "a plurality of" as used in the present application means two or more. The term "and / or" describes the association relationship of associated objects, and means that there can be three relationships, for example, A and / or B can mean that A exists alone, A and B exist together, and B exists alone. The character " / " generally means that the associated objects before and after it are in an "or" relationship.
[0033] First of all, it is pointed out that the embodiments of the present application relate to blockchain technology. The blockchain technology is a new distributed infrastructure and computing method that uses a block chain data structure to verify and store data, uses a distributed node consensus algorithm to generate and update data, uses cryptography to ensure the security of data transmission and access, and uses a smart contract composed of automatic script code to program and operate data. Specifically, it is a data structure that arranges data blocks in time sequence in a way similar to a linked list, which can securely store data with a chronological relationship that can be verified within the system, and ensure data immutability and non-falsification through cryptography. Simply put, the blockchain is a decentralized distributed ledger, and each chain is equivalent to an independent ledger.
[0034] In related technologies, with the development of blockchain technology, the blockchain system has evolved from a single transfer and accounting system to an intelligent system that can run smart contracts to handle complex tasks. Even a modern operating system and cloud computing platform can run inside it. This brings great challenges to the performance of the blockchain system. The traditional blockchain system has the following performance problems: due to its chain structure, the traditional blockchain system can only process transactions in series, limiting the throughput and resulting in low transaction processing efficiency. The scalability of the blockchain is limited by the block rate, block size, and serial processing capabilities, resulting in poor transaction processing efficiency.
[0035] Therefore, in order to improve the transaction processing efficiency, the embodiments of the present application provide a blockchain system running method, device, electronic equipment and storage medium.
[0036] The blockchain system running method provided by the embodiments of the present application will be described in detail below.
[0037] Please refer to Figure 1 , Figure 1 is a schematic diagram of an exemplary implementation environment of the present application. Figure 1 The blockchain system shown includes a blockchain network 100, which can include node devices 10a, 10b, 10c, and 10d. Among them, the node devices 10a, 10b, 10c, and 10d are all Figure 1The blockchain nodes (simply referred to as nodes) in the illustrated blockchain network 100 can be any form of computing device accessing the blockchain network 100, such as a server, a user terminal, etc. The server can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and basic cloud computing services such as big data and artificial intelligence platforms. The terminal device can be a smartphone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto. The nodes can be directly or indirectly connected through wired or wireless communication, which is not limited in the present application. Figure 1 The node device 10a, the node device 10b, the node device 10c, and the node device 10d can also be connected to form the blockchain network 100 through network communication.
[0038] It should be understood that Figure 1 The nodes in the structure diagram of the illustrated blockchain network 100 can form a peer-to-peer (P2P) network, and the P2P protocol here can be an application layer protocol running on the transmission control protocol (TCP) protocol. In the network architecture corresponding to the blockchain network 100, any machine such as a server or a terminal can join as a node, and the node can specifically include a hardware layer, an intermediate layer, an operating system layer, and an application layer.
[0039] Each node in the blockchain network 100 can be used to maintain the same blockchain (i.e. Figure 1 The illustrated blockchain 10e), the blockchain 10e corresponding to the blockchain can pre-deploy multiple smart contracts, such as proxy contracts, permission management contracts, data contracts, proxy management contracts, and smart contracts with different data processing functions.
[0040] The blockchain network system in the embodiments of the present application is provided with a PBFT (Practical Byzantine Fault Tolerance) consensus algorithm, which is a distributed system consensus algorithm designed to solve the problem of how to make honest nodes in the system reach a consensus result in the presence of Byzantine errors (i.e. nodes may intentionally send false information or not respond).
[0041] The traditional PBFT consensus algorithm-based blockchain system usually sequentially and serially executes the following five steps in runtime: 1. proposal, 2. pre-vote, 3. pre-commit, 4. processing block transactions, and 5. submitting the final block, that is, a block proposer (a node receiving a transaction in the blockchain network) proposes a block proposal and broadcasts the block proposal to other nodes in the blockchain network, the other nodes perform the pre-vote and pre-commit stages, and if both are passed, the transactions in the block proposal are processed, and the final block is submitted. Each stage requires multiple rounds of interaction to reach consensus.
[0042] In the method for operating the blockchain system provided in the present application, the nodes are configured to verify a transaction when receiving the transaction and store the transaction in a local transaction pool of the node when the verification is passed; and the nodes are configured to broadcast the transaction to other nodes in the blockchain system when receiving the transaction. In this way, once a node receives a user transaction, it must immediately broadcast the transaction to other nodes, and the other nodes immediately verify the validity of the transaction after receiving the transaction and store the transaction that passes the verification in the local transaction pool. Then the block proposer packs the transactions in the memory pool to generate a block proposal. Since most transactions have been pre-propagated in the nodes, the block proposer only needs to include the transaction hash in the block proposal, without packing and broadcasting the complete transaction list, thereby greatly reducing the export bandwidth pressure of the master node. If the slave node finds that some transactions are missing before verification, it only needs to ask the master node for those missing transactions instead of asking for all transactions in the entire block.
[0043] For example, in combination with the examples shown in Figure 2 and Figure 3 , the application example embodiment of the present application shows the application diagram of the consensus duration of the traditional PBFT consensus algorithm-based blockchain system. Figure 2 is the application diagram of the consensus duration of the blockchain system improved by the method of the present application. Figure 3 is the application diagram of the consensus duration of the blockchain system improved by the method of the present application. Figure 2 In the method, the traditional PBFT consensus algorithm-based blockchain system usually sequentially and serially executes the following five steps in runtime: 1. proposal, 2. pre-vote, 3. pre-commit, 4. processing block transactions, and 5. submitting the final block, that is, a block proposer (a node receiving a transaction in the blockchain network) proposes a block proposal and broadcasts the block proposal to other nodes in the blockchain network, the other nodes perform the pre-vote and pre-commit stages, and if both are passed, the transactions in the block proposal are processed, and the final block is submitted. Each stage requires multiple rounds of interaction to reach consensus. Figure 3In the improved method, the broadcast block proposal only includes transaction hashes, and if the transaction corresponding to the transaction hash is stored in the local transaction pool of the node receiving the block proposal, the node directly finds the transaction from the local transaction pool through the index relationship between the transaction hash and the transaction after receiving the block proposal, and executes the transaction without waiting for the pre-voting and pre-committing processes. After executing the transaction, the result is written into the cache of the current node. If the block proposal is finally accepted by the blockchain network, the data in the cache will be submitted to the blockchain network, i.e., a formal block is generated. If the block proposal is rejected by the blockchain network, the data in the cache is discarded. Figure 3 As can be seen from the above, since the pre-voting and pre-committing processes are not needed, the time length for waiting for all transactions in the block proposal can be greatly saved. Only 200 ms is needed for the proposal step, 400 ms is needed for processing block transactions, and 100 ms is needed for submitting the final block, so the total consensus time length of the blockchain system is only 700 ms. Compared with the traditional PBFT-based consensus algorithm, the waiting time is greatly reduced, so that the transaction processing efficiency in the blockchain system can be improved. For example, this process significantly reduces the total time for validators to wait for blocks. The improved time of the theoretical delay is: min(T prevote +T precommit ,N·T);wherein T prevote is the time length needed for the pre-voting step, T precommit is the time length needed for the pre-committing step, N is the number of transactions, and T is the time length needed for processing one transaction.
[0044] Please continue to refer to Figure 4 , Figure 4 is a flowchart of a method for operating a blockchain system according to an example embodiment of the present application. The method can be applied to the implementation environment shown in Figure 1 and is specifically executed by a node in the blockchain network in the implementation environment. It should be understood that the method can also be applied to other example implementation environments and specifically executed by nodes in other implementation environments, and the present embodiment does not limit the implementation environment to which the method is applied.
[0045] The method for operating a blockchain system according to an example embodiment of the present application will be described in detail below with the computer as a specific execution subject.
[0046] As Figure 4As shown, in an exemplary embodiment, the blockchain system includes a plurality of nodes, which are configured to, in the case of receiving a transaction, verify the transaction and, in the case of passing the verification, store the transaction into a local transaction pool of the node; the nodes are also configured to, in the case of receiving a transaction, broadcast the transaction to other nodes in the blockchain system. The method for operating the blockchain system includes at least steps S410-S440, which are described in detail as follows.
[0047] In step S410, a block proposal broadcast by a first node is acquired. The block proposal includes only transaction hashes corresponding to a plurality of transactions; the first node is a node in the blockchain system that receives and broadcasts the plurality of transactions.
[0048] It can be understood that, after receiving a transaction from a client, the node in the blockchain system first stores the transaction in the local transaction pool, and then broadcasts the transaction to other nodes in the blockchain network. After packaging, the node only needs to package the transactions in the local transaction pool to generate a block proposal including only transaction hashes for broadcasting, without packaging and broadcasting the complete transaction list, thereby greatly reducing the export bandwidth pressure of the node and improving the broadcasting efficiency of the block proposal.
[0049] In step S420, a query is performed in the local transaction pool of a second node according to the transaction hash to obtain a query result. The second node is a node other than the first node in the blockchain system.
[0050] In the embodiment of the application, since most of the transactions on the blockchain network have been pre-propagated in the nodes, the transaction corresponding to the transaction hash can be directly queried by querying in the local transaction pool of the second node. If the corresponding transaction is not queried, it is considered that some transactions are missing, and only those missing transactions need to be obtained from the node instead of all transactions in the block.
[0051] In some embodiments, the query in the local transaction pool of the second node according to the transaction hash to obtain the query result includes: if the transaction corresponding to the transaction hash is matched from the local transaction pool, it is determined that the query result is that the transaction corresponding to the transaction hash is stored in the local transaction pool of the second node; if the transaction corresponding to the transaction hash is not matched from the local transaction pool, it is determined that the query result is that the transaction corresponding to the transaction hash is not stored in the local transaction pool of the second node.
[0052] In step S430, in the case that the query result is that the transaction corresponding to the transaction hash exists in the local transaction pool of the second node, a transaction type corresponding to each transaction is acquired. The transaction type is used to represent whether there is a non-association relationship between transactions.
[0053] In the embodiments of the present application, the transaction type can include RPT (Related Party Transaction) and UPT (Unrelated Party Transaction).
[0054] It can be understood that in the above processing block transaction step, the transactions in the block proposal are usually executed in sequence, and a block proposal usually contains hundreds or thousands of transactions. During the transaction processing, the state of the block chain changes, that is, the state of the Merkle tree changes. Therefore, all transactions must be performed in sequence. However, in the transactions in a block proposal, many transactions are not associated, and the order of execution has no effect on the result, that is, non-associated transactions; and some transactions are associated, and the order of execution has an effect on the result, that is, associated transactions.
[0055] In some embodiments, the associated transaction is used to represent transactions between which there is an association relationship; the non-associated transaction is a transaction between which there is no association relationship, that is, a transaction between which there is a non-association relationship.
[0056] For example, if multiple transactions have a non-association relationship, the multiple transactions are considered to be non-associated transactions; if multiple transactions do not have a non-association relationship, the multiple transactions are considered to be associated transactions.
[0057] In the blockchain system in the embodiments of the present application, the underlying database uses a structure similar to the Merkle tree, based on key-value pairs (K, V), and builds a root hash upwards. The state change caused by all transactions will change the value in a certain key-value pair (K, V) in the underlying database. Therefore, by ensuring that multiple transactions do not modify the value in the same key-value pair, non-associated transactions can be determined.
[0058] In combination with Figure 5 , as shown in FIG. 4, Figure 5 is Figure 4 the flowchart of the step S430 in the embodiment shown in FIG. 4, at least including steps S510 to S530 in an exemplary embodiment, which are described in detail as follows:
[0059] In step S510, the key-value pair predicted modification state corresponding to each transaction is obtained.
[0060] It can be understood that the key-value pair predicted modification state is used to represent whether the value in the key-value pair modified when the current transaction is executed is the same as the value in the key-value pair modified when other transactions are executed.
[0061] In the embodiments of the present application, the key-value pair prediction modification state corresponding to each transaction can be obtained through the following process, including:
[0062] In step S511, the relationship index between the preset operation in each transaction and the corresponding key-value pair is obtained.
[0063] In step S512, the topological structure diagram of the preset operation in each transaction and the corresponding key-value pair is constructed according to the relationship index.
[0064] In step S513, the key-value pair prediction modification state corresponding to each transaction is determined from the topological structure diagram.
[0065] It should be understood that a transaction can include multiple preset operations, wherein the preset operation can include a transfer operation, a document modification operation, and other operations that can cause the value in the key-value pair to change.
[0066] In some embodiments, constructing the topological structure diagram of the preset operation in each transaction and the corresponding key-value pair according to the relationship index includes: arranging the first nodes into the same branch structure according to the preset order; connecting and sorting the second nodes in different branch structures according to the preset order to obtain the topological structure diagram. Wherein the first node is a preset operation belonging to the same transaction, and the preset order is the time sequence of executing the preset operation; the second node is a preset operation belonging to different transactions and modifying the value in the same key-value pair.
[0067] For example, as shown in Figure 6 , Figure 6 is a schematic diagram of the topological structure diagram according to an example embodiment of the present application. Figure 6 In the example, the block proposal includes three transactions, the first transaction Tx1 includes four preset operations R1, W1, C1 and R2 in execution order, the second transaction Tx2 includes four preset operations C2, R3, W2 and C3 in execution order, and the third transaction Tx2 includes three preset operations B1, N1 and C4 in execution order. Then, Figure 6 The nodes in the branch structure of each column are first nodes, and the second nodes include R2 and R3, and C3 and C4.
[0068] In some embodiments, the preset operation R1 is used to represent the transfer of account A to account B, R2 is used to represent the transfer of account C to account B, and R3 is used to represent the transfer of account B to account D. The preset operation R1 will modify two key-value pairs, one is the key-value pair corresponding to account A, and the other is the key-value pair corresponding to account B; for example, the key-value pair corresponding to account A is {K(A), V(M A )}, and the key-value pair corresponding to account B is {K(B), V(M BK(A) is used to characterize account A, V(M) A K(M) represents the balance of account A, K(B) represents the balance of account B, and V(M) represents the balance of account B. B The key-value pair () is used to represent the balance of account B. If the preset operation R1 is to transfer 100 yuan from account A to account B, then after executing the preset operation R1, the key-value pair corresponding to account A will be modified to {K(A),V(M)}. A If the key-value pair corresponding to account B is {K(B),V(M)}, then the key-value pair will be modified to {K(B),V(M)}. B +100)}. Similarly, both preset operations R2 and R3 involve modifying the key-value pair corresponding to account B. Therefore, preset operations R1, R2, and R3 all modify the value in the same key-value pair. Thus, there is a relationship between preset operations R1, R2, and R3. Furthermore, preset operation R2 executes earlier than preset operation R3; therefore, preset operation R3 is placed after preset operation R2.
[0069] Furthermore, in transactions Tx2 and Tx3, preset operations C2 and B1 are other preset operations used to represent modifications to values in other key-value pairs, such as document modification operations and other operations. These differ from the transfer operations represented by R1, R2, and R3. Therefore, there is no correlation between preset operations R1, C2, and B1; that is, there is a non-correlation relationship between preset operations R1 and C2. In other words, transactions Tx1 and Tx2 are considered to have a non-correlation relationship.
[0070] In some embodiments, the key-value pair corresponding to preset operation C2 is {K(C), V(P)}, and the key-value pair corresponding to preset operation B1 is {K(B), V(Q)}. It can be seen that when preset operations R1, C2, and B1 are executed, the values in three different key-value pairs are modified. Furthermore, preset operations R1, C2, and B1 are executed at the same time, indicating they belong to different transactions. Therefore, they can be processed according to... Figure 6 The topology diagram is constructed by following the order in which the topology is constructed.
[0071] For example, determining the predicted modification state of the key-value pair corresponding to each transaction from the topology diagram includes: if there is a connection relationship between the branch structures corresponding to each transaction in the topology diagram, then determining that the predicted modification state of the key-value pair corresponding to each transaction is used to characterize the value in the key-value pair modified when the current transaction is executed, which is the same value in the key-value pair modified by other transactions when they are executed.
[0072] For example, by Figure 6As shown in the topology diagram, the preset operation R2 in the branch structure corresponding to the transaction Tx1 and the preset operation R3 in the branch structure corresponding to the transaction Tx2 are connected, that is, the preset operations in different transactions are connected, and it is determined that the key-value pair predicted modification state corresponding to the transaction Tx1 / Tx2 is used to represent the value in the key-value pair modified by the current transaction when executed, which is the same as the value in the key-value pair modified by other transactions when executed.
[0073] Exemplarily, the key-value pair predicted modification state corresponding to each transaction is determined from the topology diagram, including: if there is no connection relationship in the branch structure corresponding to each transaction in the topology diagram, it is determined that the key-value pair predicted modification state corresponding to each transaction is used to represent the value in the key-value pair modified by the current transaction when executed, which is not the same as the value in the key-value pair modified by other transactions when executed.
[0074] For example, if there is no connection relationship between all preset operations in a transaction and all preset operations in another transaction in the topology diagram, it is determined that the key-value pair predicted modification state corresponding to the transaction is used to represent the value in the key-value pair modified by the current transaction when executed, which is not the same as the value in the key-value pair modified by other transactions when executed.
[0075] In step S520, if the key-value pair predicted modification state is used to represent the value in the key-value pair modified by the current transaction when executed, which is not the same as the value in the key-value pair modified by other transactions when executed, it is determined that the transaction type corresponding to the current transaction is non-association relationship.
[0076] In step S530, if the key-value pair predicted modification state is used to represent the value in the key-value pair modified by the current transaction when executed, which is the same as the value in the key-value pair modified by other transactions when executed, it is determined that the transaction type corresponding to the current transaction is non-association relationship.
[0077] It can be understood that if the values in the key-value pairs modified by all preset operations in one transaction are the same as the values in the key-value pairs modified by all preset operations in another transaction, it is considered that there is no non-association relationship between the two transactions. For example, all preset operations in transaction 1 modify the key-value pair (K(A), V(J)), and all preset operations in transaction 2 modify the key-value pair (K(A), V(J)), and it is considered that there is no non-association relationship between transaction 1 and transaction 2, that is, there is an association relationship between transaction 1 and transaction 2. Therefore, the preset operations updating the same key-value pair need to be executed in order.
[0078] If the value in the key-value pair modified by a preset operation in one transaction is different from the value in the key-value pair modified by a preset operation in another transaction, it is considered that there is no association between the two transactions. Therefore, the preset operations that update the values in different key-value pairs can be processed cooperatively.
[0079] In step S440, the transactions of which the transaction types are non-associated are processed cooperatively.
[0080] In the embodiments of the present application, the cooperative processing includes parallel processing and serial processing.
[0081] In some embodiments, processing the transactions of which the transaction types are non-associated cooperatively includes: determining a first target operation and a second target operation from the preset operations in the transactions of which the transaction types are non-associated; processing the first target operation in parallel and processing the second target operation in series.
[0082] The first target operation is a preset operation that belongs to different transactions and modifies values in different key-value pairs, and the second target operation is a preset operation that belongs to different transactions and modifies values in the same key-value pair.
[0083] In combination with Figures 7-8 As shown in the drawings, Figure 7 is an application schematic diagram of processing transactions before cooperative processing according to an exemplary embodiment of the present application; Figure 8 is an application schematic diagram of processing transactions after cooperative processing according to an exemplary embodiment of the present application. Figure 7 In the embodiment, the transactions are executed according to the time sequence of each transaction, that is, the preset operation R1, the preset operation W1, the preset operation C1 and the preset operation R2 in the transaction Tx1 are processed first, then the preset operation C2, the preset operation R3, the preset operation W2 and the preset operation R3 in the transaction Tx2 are processed, and finally the preset operation B1, the preset operation N1 and the preset operation R4 in the transaction Tx3 are processed. Figure 8In the specific implementation, the transaction type is a transaction with a non-associated relationship, and the transaction type is determined as a first target operation and a second target operation from preset operations in the transaction type with the non-associated relationship. The first target operation includes preset operations R1 in the transaction Tx1, preset operations C2 in the transaction Tx2, and preset operations B1 in the transaction Tx3, and preset operations W1 in the transaction Tx1 and preset operations N1 in the transaction Tx3. The second target operation includes preset operations R2 in the transaction Tx1, preset operations R3 in the transaction Tx2, and preset operations R4 in the transaction Tx3. The first target operation is processed in parallel, and the second target operation is processed in series, so that the transaction is processed in cooperation, the speed of processing the transaction in the blockchain system is greatly improved, and the transaction processing efficiency is improved.
[0084] In some embodiments, the relationship analysis efficiency in the topology graph can be obtained by calculating T dependencyresolution = D x O(1), where T dependencyresolution is the relationship analysis efficiency, D is the total number of relationship indexes, that is, the number of transactions with an associated relationship in all transactions, and O(1) is the time complexity of analyzing each index relationship when constructing the topology graph.
[0085] In some embodiments, in the serial processing, the serial throughput of the blockchain system can be obtained by calculating , where Θ serial is the serial throughput of the blockchain system, n is the total number of transactions, and T dependencyresolution is the relationship analysis efficiency.
[0086] In the parallel processing, the parallel throughput of the blockchain system can be obtained by calculating , where Θ parallel is the parallel throughput of the blockchain system, n is the total number of transactions, and T dependencyresolution is the relationship analysis efficiency, that is, the total analysis time, and D is the total number of relationship indexes.
[0087] In some embodiments, by using the cooperative processing method in the embodiments of the present application, if the number of parallelization levels is m, and the efficiency of each parallelization level is r, the total efficiency is E total = (1 + r) m . It can be seen that by using the blockchain system running method of the present application to cooperatively process the transaction, the transaction processing efficiency can be improved by an exponential factor. Moreover, by using multi-level cooperation to reduce the delay and increase the throughput, the performance bottleneck problem of the blockchain can be solved.
[0088] Please refer to Figure 9 , Figure 9 is a flowchart of a method for operating a blockchain system according to another example embodiment of the present application. After obtaining the relationship index between the preset operation in each transaction and the corresponding key-value pair, the method for operating the blockchain system further includes at least step S910, which is described in detail as follows.
[0089] Step S910, in response to the adjustment operation on the relationship index, the relationship index is adjusted.
[0090] It can be understood that, in the embodiments of the present application, in addition to the transfer operation, the preset operation in each transaction may involve more complex operation types and more complex dependent states in the smart contract. For the operation type defined by the developer, the relationship index needs to be defined in the smart contract, and these relationship indexes are displayed when the contract is initialized, so that the relationship index can be processed more correctly and the accuracy of constructing the topology structure graph is improved. At the same time, by adjusting the relationship index, the transaction processing can be more in line with the user's needs.
[0091] It should be noted that the step content related to the embodiments of the present application is consistent with the corresponding step content described in the foregoing embodiments, therefore, the detailed description of these steps is described in the foregoing embodiments, and the embodiments of the present application will not be described again.
[0092] As shown in Figure 10 , Figure 10 is a running device of a blockchain system according to an example embodiment of the present application. The blockchain system includes a plurality of nodes, and the nodes are configured to verify transactions when receiving the transactions, and store the transactions in the local transaction pool of the nodes when the verification is passed. The nodes are also configured to broadcast the transactions to other nodes in the blockchain system when receiving the transactions. The device includes a first acquisition module 1010, a query module 1020, a second acquisition module 1030, and a processing module 1040. The first acquisition module 1010 is configured to acquire a block proposal broadcast by a first node; wherein the block proposal only includes transaction hashes corresponding to a plurality of transactions; the first node is a node in the blockchain system that receives and broadcasts a plurality of transactions; the query module 1020 is configured to query in the local transaction pool of a second node according to the transaction hashes to obtain a query result; wherein the second node is a node in the blockchain system other than the first node; the second acquisition module 1030 is configured to acquire a transaction type corresponding to each transaction in the case that the query result is that the local transaction pool of the second node has the transaction corresponding to the transaction hash; wherein the transaction type is used to represent whether there is a non-association relationship between the transactions; and the processing module 1040 is configured to cooperatively process the transactions with the transaction type being a non-association relationship.
[0093] In some embodiments, the underlying database of the blockchain system stores the data modified by the preset operations in each transaction in the form of key-value pairs, each transaction includes a plurality of different preset operations, and the value in the key-value pair corresponding to the preset operation is modified when each transaction is executed; the second acquisition module 1030 is configured to acquire the transaction type corresponding to each transaction by: acquiring the key-value pair predicted modification state corresponding to each transaction; wherein the key-value pair predicted modification state is used to represent whether the value in the key-value pair modified by the current transaction when the current transaction is executed is the same as the value in the key-value pair modified by other transactions when the other transactions are executed; if the key-value pair predicted modification state is used to represent that the value in the key-value pair modified by the current transaction when the current transaction is executed is not the same as the value in the key-value pair modified by other transactions when the other transactions are executed, it is determined that the transaction type corresponding to the current transaction is associated; if the key-value pair predicted modification state is used to represent that the value in the key-value pair modified by the current transaction when the current transaction is executed is the same as the value in the key-value pair modified by other transactions when the other transactions are executed, it is determined that the transaction type corresponding to the current transaction is not associated.
[0094] In some embodiments, the second acquisition module 1030 is further configured to acquire the key-value pair predicted modification state corresponding to each transaction by: acquiring the relationship index between the preset operation in each transaction and the corresponding key-value pair; constructing a topology structure diagram of the preset operation in each transaction and the corresponding key-value pair according to the relationship index; and determining the key-value pair predicted modification state corresponding to each transaction from the topology structure diagram.
[0095] In some embodiments, the second acquisition module 1030 is further configured to construct the topology structure diagram of each transaction and the corresponding key-value pair according to the relationship index by: arranging the first nodes into the same branch structure in a preset order; wherein the first nodes are the preset operations belonging to the same transaction, and the preset order is the time sequence of executing the preset operations; and connecting and sorting the second nodes in different branch structures in the preset order to obtain the topology structure diagram; wherein the second nodes are the preset operations belonging to different transactions and modifying the values in the same key-value pair.
[0096] In some embodiments, the second acquisition module 1030 is further configured to determine the key-value pair predicted modification state corresponding to each transaction from the topology structure diagram by: if there is a connection relationship between the branch structures corresponding to each transaction in the topology structure diagram, determining that the key-value pair predicted modification state corresponding to each transaction is used to represent that the value in the key-value pair modified by the current transaction when the current transaction is executed is the same as the value in the key-value pair modified by other transactions when the other transactions are executed; or,
[0097] If there is no connection relationship in the branch structure corresponding to each transaction in the topology diagram, it is determined that the key-value pair prediction modification state corresponding to each transaction is the value in the key-value pair modified by the current transaction when being executed, which is different from the value in the key-value pair modified by other transactions when being executed.
[0098] In some embodiments, the processing module 1040 is configured to cooperatively process the transaction of the transaction type of the transaction with non-association relationship by: determining a first target operation and a second target operation from the preset operations in the transaction of the transaction type of the transaction with non-association relationship; wherein the first target operation is a preset operation belonging to different transactions and modifying values in different key-value pairs; the second target operation is a preset operation belonging to different transactions and modifying values in the same key-value pair; and performing parallel processing on the first target operation and serial processing on the second target operation.
[0099] In some embodiments, the running device of the blockchain system further includes an adjusting module configured to perform customized adjustment on the relationship index in response to an adjustment operation on the relationship index.
[0100] The embodiments of the present disclosure further provide an electronic device, including a processor and a memory; the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory to enable the electronic device to perform the method described above.
[0101] Figure 11 The structure of the computer system of the electronic device suitable for implementing the embodiments of the present application is shown. It should be noted that, Figure 11 The computer system 1100 of the electronic device shown is only an example and should not limit the functions and use range of the embodiments of the present application.
[0102] As Figure 11 shown, the computer system 1100 includes a central processing unit (CPU) 1101, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 1102 or programs loaded from a storage portion 1108 into a random access memory (RAM) 1103, such as performing the methods in the above embodiments. In the random access memory 1103, various programs and data required for system operation are also stored. The central processing unit 1101, the read-only memory 1102, and the random access memory 1103 are connected to each other through a bus 1104. An input / output (I / O) interface 1105 is also connected to the bus 1104.
[0103] The following components are connected to the input / output interface 1105: an input portion 1106 including a keyboard, a mouse, etc.; an output portion 1107 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), etc., and a speaker, etc.; a storage portion 1108 including a hard disk, etc.; and a communication portion 1109 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication portion 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to the input / output interface 1105 as necessary. A removable media 1111 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is attached to the drive 1110 as necessary, so that a computer program read out therefrom is installed in the storage portion 1108 as necessary.
[0104] In particular, according to embodiments of the present application, the processes described above with reference to the flowcharts can be implemented as a computer software program. For example, embodiments of the present application include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing computer programs for executing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network by the communication portion 1109, and / or installed from the removable media 1111. When the computer program is executed by the central processing unit (CPU) 1101, various functions defined in the system of the present application are executed.
[0105] The embodiments of the present disclosure also provide a computer readable storage medium, having stored thereon computer readable instructions, which, when executed by a processor of a computer, cause the computer to perform the operation method of the blockchain system.
[0106] It should be noted that the computer-readable medium in the embodiments shown in the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium may, for example, be an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, the computer-readable signal medium can include a data signal propagating in a baseband or as a carrier wave in a propagated data signal, in which the computer-readable computer program is carried. Such a propagated data signal can take various forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, which can send, propagate or transmit programs for use by or in connection with an instruction execution system, device or component. The computer program contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, or the like, or any suitable combination of the above.
[0107] The flowcharts and block diagrams in the drawings illustrate the possible implementation architectures, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In the flowcharts or block diagrams, each block can represent a module, a program segment or a part of code, which contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions noted in the blocks can occur in different order than that shown in the drawings. For example, two blocks represented in succession can actually be executed substantially in parallel, and sometimes they can be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, and the combination of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or can be implemented by a combination of special-purpose hardware and computer instructions.
[0108] The units described in the embodiments of the present application can be implemented in the form of software, or can be implemented in the form of hardware, and the described units can also be arranged in a processor. In some cases, the names of the units do not constitute a limitation on the units themselves.
[0109] The present application also provides a computer readable storage medium having stored thereon a computer program, which, when executed by a processor, implements the operation method of the blockchain system as described above. The computer readable storage medium can be included in the electronic device described in the above embodiments, or can exist separately and not be assembled into the electronic device.
[0110] The above is only a preferred exemplary embodiment of the present application, and is not intended to limit the implementation of the present application. Those skilled in the art can easily make corresponding modifications or changes according to the main concept and spirit of the present application, and therefore the protection scope of the present application should be subject to the protection scope required by the claims.
Claims
1. A method for operating a blockchain system, characterized in that, The blockchain system comprises a plurality of nodes configured to validate a transaction upon receipt of the transaction and store the transaction into a local transaction pool of the node upon validation of the transaction; The nodes are further configured to broadcast the transaction to other nodes in the blockchain system upon receipt of the transaction; the method comprises: obtaining a block proposal broadcast by a first node; wherein the block proposal only comprises transaction hashes corresponding to a plurality of transactions; the first node is a node in the blockchain system that receives and broadcasts the plurality of transactions; querying the local transaction pool of a second node according to the transaction hashes to obtain a query result; wherein the second node is a node in the blockchain system other than the first node; in a case where the query result is that the local transaction pool of the second node contains transactions corresponding to the transaction hashes, obtaining a transaction type corresponding to each transaction; wherein the transaction type is used to represent whether there is a non-association relationship between transactions, each transaction comprises a plurality of different preset operations, and the value in the key-value pair corresponding to the preset operation is modified when the each transaction is executed; if the value in the key-value pair modified by a preset operation in one transaction is different from the value in the key-value pair modified by a preset operation in another transaction, it is considered that there is a non-association relationship between the two transactions; coordinately processing transactions with the transaction type of non-association relationship; The coordinately processing transactions with the transaction type of non-association relationship comprises: determining a first target operation and a second target operation from the preset operations in the transactions with the transaction type of non-association relationship; wherein the first target operation is a preset operation belonging to different transactions and modifying values in different key-value pairs; the second target operation is a preset operation belonging to different transactions and modifying values in the same key-value pair; the first target operation is processed in parallel, and the second target operation is processed in series.
2. The method of claim 1, wherein, The underlying database of the blockchain system stores the data modified by the preset operations in each transaction in the form of key-value pairs, and the obtaining of the transaction type corresponding to each transaction comprises: obtaining a key-value pair predicted modification state corresponding to each transaction; wherein the key-value pair predicted modification state is used to represent whether there is a key-value pair whose value is modified by other transactions when the current transaction is executed.
3. The method of claim 2, wherein, The obtaining of the key-value pair predicted modification state corresponding to each transaction comprises: obtaining a relationship index between the preset operation in each transaction and the corresponding key-value pair; constructing a topology structure diagram of the preset operation in each transaction and the corresponding key-value pair according to the relationship index; determining the key-value pair predicted modification state corresponding to each transaction from the topology structure diagram.
4. The method of claim 3, wherein, The constructing of the topology structure diagram of each transaction and the corresponding key-value pair according to the relationship index comprises: arranging the first nodes into the same branch structure according to a preset order; wherein the first nodes are preset operations belonging to the same transaction, and the preset order is a time sequence of executing the preset operations; connecting and sequencing the second nodes in different branch structures according to the preset order to obtain the topology structure diagram; wherein the second nodes are preset operations belonging to different transactions and modifying values in the same key-value pair.
5. The method of claim 3, wherein, The determining the key-value pair predicted modification state corresponding to each transaction from the topology structure diagram comprises: if there is a connection relationship between the branch structures corresponding to each transaction in the topology structure diagram, determining that the key-value pair predicted modification state corresponding to each transaction is used to represent that the value in the key-value pair modified by the current transaction when being executed is the same as the value in the key-value pair modified by other transactions when being executed; or if there is no connection relationship between the branch structures corresponding to each transaction in the topology structure diagram, determining that the key-value pair predicted modification state corresponding to each transaction is used to represent that the value in the key-value pair modified by the current transaction when being executed is not the same as the value in the key-value pair modified by other transactions when being executed.
6. The method of claim 3, wherein, The method further comprises: in response to an adjustment operation on the relationship index, customizing adjustment on the relationship index.
7. An operating device for a blockchain system, characterized in that, The blockchain system comprises a plurality of nodes, which are configured to verify transactions upon receiving the transactions, and store the transactions into a local transaction pool of the nodes upon passing the verification; The nodes are further configured to broadcast the transactions to other nodes in the blockchain system upon receiving the transactions; the apparatus comprises: a first acquisition module configured to acquire a block proposal broadcasted by a first node; wherein the block proposal only comprises transaction hashes corresponding to a plurality of transactions; the first node is a node in the blockchain system which receives the plurality of transactions and broadcasts the plurality of transactions; a query module configured to query in a local transaction pool of a second node according to the transaction hashes to obtain a query result; wherein the second node is a node in the blockchain system other than the first node; a second acquisition module configured to acquire a transaction type corresponding to each transaction in a case that the query result is that the transaction hashes corresponding transactions exist in the local transaction pool of the second node; wherein the transaction type is used to represent whether there is a non-association relationship between transactions, each transaction comprises a plurality of different preset operations, and the values in the key-value pairs corresponding to the preset operations are modified when the each transaction is executed; if the values in the key-value pairs modified by a preset operation in one transaction and the values in the key-value pairs modified by a preset operation in another transaction are not the same, it is considered that there is a non-association relationship between the two transactions; a processing module configured to cooperatively process the transactions with the transaction type being the transactions with the non-association relationship; The collaborative processing of the transaction type existing non-association transaction includes: determining a first target operation and a second target operation from preset operations in the transaction type existing non-association transaction; the first target operation is a preset operation belonging to different transactions and not modifying values in the same key-value pair; the second target operation is a preset operation belonging to different transactions and modifying values in the same key-value pair; the first target operation is processed in parallel, and the second target operation is processed in series.
8. An electronic device, comprising: Comprise: one or more processors; a storage device for storing one or more programs, which, when executed by the one or more processors, cause the electronic device to implement the operation method of the blockchain system as claimed in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, A computer readable instruction is stored thereon, which, when executed by a processor of a computer, causes the computer to execute the operation method of the blockchain system as claimed in any one of claims 1 to 6.
Citation Information
Patent Citations
Transaction processing method, system, apparatus and storage medium for license chain
CN109087098A
Block chain generation method and device, electronic equipment and storage medium
CN118057796A