CN113064764A - Method and apparatus for performing blocks in a blockchain system - Google Patents

Method and apparatus for performing blocks in a blockchain system Download PDF

Info

Publication number
CN113064764A
CN113064764A CN202110419704.2A CN202110419704A CN113064764A CN 113064764 A CN113064764 A CN 113064764A CN 202110419704 A CN202110419704 A CN 202110419704A CN 113064764 A CN113064764 A CN 113064764A
Authority
CN
China
Prior art keywords
transaction
transactions
node
sub
cross
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110419704.2A
Other languages
Chinese (zh)
Other versions
CN113064764B (en
Inventor
郑子彬
徐泉清
郑沛霖
闫莺
张辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd, Ant Blockchain Technology Shanghai Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202110419704.2A priority Critical patent/CN113064764B/en
Publication of CN113064764A publication Critical patent/CN113064764A/en
Application granted granted Critical
Publication of CN113064764B publication Critical patent/CN113064764B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

The present specification provides a method and an apparatus for performing a block in a blockchain system, where the blockchain system includes a first slice and a second slice, the first slice includes a first node therein, and the method is performed by the first node, and includes: receiving first information from the second partition in the process of executing the first block, wherein the first information indicates that an erroneous first transaction is executed in n transactions belonging to the first block, the first information is sent by the second partition after the execution of a first cross-partition sub-transaction corresponding to the first transaction fails, and the first cross-partition sub-transaction is a cross-partition sub-transaction belonging to a second block in the second partition; re-executing a plurality of transactions of the n transactions after the first transaction is removed.

Description

Method and apparatus for performing blocks in a blockchain system
Technical Field
One or more embodiments of the present disclosure relate to the field of blockchain technology, and more particularly, to a method and apparatus for performing blocks in a blockchain system.
Background
The block chain is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism, an encryption algorithm and the like, and essentially, the block chain is a shared database, and data or information stored in the shared database has the characteristics of difficulty in tampering, decentralization and the like. The block chain technology has great application potential in the scenes of finance, public welfare, judicial expertise, transaction and the like.
One of the most important factors that currently limit the large-scale application of blockchain technology is performance, which mainly includes throughput, which can be generally measured by Transaction Per Second (TPS). Developers have proposed various schemes to try to increase the throughput of blocks, a process known as "capacity expansion". The block chain fragmentation technology is a scheme for expanding a block chain. The basic idea of blockchain fragmentation is to divide nodes in a blockchain network into a plurality of relatively independent sub-networks, each sub-network forming a blockchain, i.e. a sub-network, i.e. a shard (shard). Through the parallel processing of a plurality of fragments, the throughput of the whole network can be improved.
In a blockchain system comprising shards, execution of a transaction in one shard may result in sub-transactions executing across shards, in which case execution of the transaction and execution of its sub-transactions need to satisfy transaction atomicity, i.e., both must succeed or fail at the same time, not allowing for intermediate state execution results. To address this problem, the atomicity of transactions in a block is guaranteed in a fragmentation scheme by introducing a 2-phase client-driven "lock/unlock" protocol. In another slicing scheme, an atomicity concept similar to a flexible transaction is provided, namely, an atomicity characteristic of the transaction is reflected after the transaction is completely executed for a period of time. In addition, a two-phase commit is performed by a committee coordinator in yet another fragmentation scheme, thereby addressing the atomicity of blockchain transactions.
Disclosure of Invention
Embodiments of the present disclosure are directed to providing a more efficient approach for executing blocks to more efficiently solve the atomicity problem of transactions.
To achieve the above object, one aspect of the present specification provides a method for executing a block in a blockchain system, the blockchain system including a first slice and a second slice, the first slice including a first node therein, the method being executed by the first node, including:
receiving first information from the second partition in the process of executing the first block, wherein the first information indicates that an erroneous first transaction is executed in n transactions belonging to the first block, the first information is sent by the second partition after the execution of a first cross-partition sub-transaction corresponding to the first transaction fails, and the first cross-partition sub-transaction is a cross-partition sub-transaction belonging to a second block in the second partition;
re-executing a plurality of transactions of the n transactions after the first transaction is removed.
Another aspect of the present specification provides an apparatus for performing a block in a blockchain system, the blockchain system including a first segment and a second segment, the first segment including a first node, the apparatus being deployed at the first node, including:
a receiving unit, configured to receive, during execution of a first block, first information from the second partition, where the first information indicates that an erroneous first transaction is executed among n transactions belonging to the first block, where the first information is sent by the second partition after execution of a first cross-partition sub-transaction corresponding to the first transaction fails, where the first cross-partition sub-transaction is a cross-partition sub-transaction belonging to a second block in the second partition;
and the re-execution unit is used for re-executing a plurality of transactions after the first transaction is removed from the n transactions.
Another aspect of the present specification provides a computer readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to perform any one of the above methods.
Another aspect of the present specification provides a computing device comprising a memory having stored therein executable code, and a processor that, when executing the executable code, implements any of the methods described above.
According to the block execution scheme provided by the embodiment of the description, by performing state rollback and block playback on error transactions, efficient error transaction elimination is realized, the transaction atomicity in the block execution process is ensured, in addition, by performing fragment broadcasting on error transaction information among mutually trusted nodes of each fragment, efficient broadcasting on error transaction information is provided, and the block execution efficiency in a block chain system is improved.
Drawings
The embodiments of the present specification may be made more clear by describing the embodiments with reference to the attached drawings:
FIG. 1 shows an architecture diagram of a blockchain system in accordance with one embodiment;
fig. 2 is a schematic diagram illustrating a process of executing a plurality of sliced execution blocks in a blockchain system according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram illustrating another process of executing a plurality of tiled execution blocks in a blockchain system according to an embodiment of the present disclosure;
FIG. 4 is a flowchart of a method for performing blocks in a blockchain system according to an embodiment of the present disclosure;
fig. 5 illustrates a device architecture diagram for performing a block in a block chain system according to an embodiment of the present disclosure.
Detailed Description
The embodiments of the present specification will be described below with reference to the accompanying drawings.
As mentioned previously, the fragmentation technique aims at improving the throughput of the block. Specifically, the fragmentation technology can be divided into three types according to different fragmentation mechanisms: network sharding (network sharding), transaction sharding (transaction sharding), state sharding (state sharding). Network fragmentation is the most fundamental way of fragmentation, including dividing the entire blockchain network into multiple sub-networks, i.e., multiple fragments. In this way, multiple slices in a blockchain network can process different transactions in the network in parallel. The transaction slicing is to distribute the transaction to different slices according to a certain rule, thereby achieving the purpose of parallel processing. The premise of transaction fragmentation is that network fragmentation is performed first. The key of the state fragmentation is to separate the whole storage area, so that different fragments store the states of different accounts, and each fragment is only responsible for storing the world states of a part of accounts belonging to the fragment, but not storing the world states of all accounts of the block chain system. State fragmentation can solve the storage capacity bottleneck problem. The scheme provided by the embodiment of the present specification can be applied to state fragmentation, and it can be understood that the scheme of the embodiment of the present specification can also be applied to other types of fragmentation.
After the blockchain network is divided into a plurality of fragments, the processing of cross-fragment services is involved, so that the above-mentioned transaction atomicity problem exists. The embodiment of the specification provides a scheme for executing the block, wherein the block is re-executed after the block error transaction is eliminated through the fragmentation broadcast, so that the transaction atomicity is ensured. Hereinafter, a block execution scheme provided by the embodiment of the present specification will be described by taking the block chain system according to the embodiment of the present specification shown in fig. 1 as an example.
Fig. 1 shows an architecture diagram of a blockchain system according to one embodiment. As shown in fig. 1, the blockchain system may include a shard 1, a shard 2 and a shard 3 (not shown in fig. 1), wherein a plurality of nodes of different shards communicating with each other may form a set, and the set may include 3 nodes respectively belonging to the 3 shards, and the nodes may be implemented as any device having computing and processing capabilities, a server or a device cluster, and the like. Specifically, for example, the nodes 1A, 1B, and 1C in the segment 1 may construct a block chain 1, the nodes 2A, 2B, and 2C in the segment 2 may construct a block chain 2, and the nodes 3A, 3B, and 3C in the segment 3 may construct a block chain 3. And carrying out consensus among all participant nodes in each fragment. For example, the blockchain system may be a federation chain system, which may include a federation party a, a federation party B, a federation party C, and a federation party D, each federation party being a set of the above-mentioned mutually trusted nodes including different shards. It will be appreciated that fig. 1 is merely illustrative of three shards and four federating parties, and that in fact any number of shards and federating parties may be included in a blockchain system. In the following, a federation chain system will be used as an example, and it is understood that the embodiments of the present specification are not limited to being applied to a federation chain system, but can be applied to any blockchain system.
In the blockchain system shown in fig. 1, a plurality of nodes included in one alliance party respectively belonging to different segments may be connected through an intranet of the alliance party, for example. When one fragment in the system needs to send a cross-fragment sub-transaction to another fragment, cross-fragment communication can be performed in nodes of the two fragments of one alliance party, so that a faster communication speed can be provided. In addition, because the nodes included by one alliance party trust each other, authentication is not needed in the cross-fragment communication process, and the processing efficiency of the system can be further improved.
It is to be understood that the solution provided by the embodiments of the present specification is not limited to be used in the blockchain system shown in fig. 1, but can be applied to any blockchain system including shards.
Fig. 2 is a schematic process diagram of executing a chunk with multiple slices in a chunk chain system according to an embodiment of the present disclosure. In fig. 2, each node included in federation party a is described as representing each shard as an example, and it is understood that the process of executing blocks by multiple shards shown in fig. 2 is not limited to being executed by multiple nodes in one federation party, but may be executed by any other node in each shard.
As shown in fig. 2, in the process of executing the partition, the nodes 1A to 3A simultaneously execute the partitioned partitions having the same height. For example, node 1A performs a tile of slice 1 of height M (i.e., slice 1 tile M), while node 2A performs a tile of slice 2 of height M (i.e., slice 2 tile M), and node 3A performs a tile of slice 3 of height M (i.e., slice 3 tile M).
The fact that the slices 1 to 3 execute respective blocks with the same height at the same time may be to ensure atomicity of execution results of the sub-transactions of different slices including the cross-slice transaction. Specifically, the segment 1, the segment 2, and the segment 3 respectively start to execute respective creation blocks (hereinafter referred to as block 0), and the respective segments are stored in the respective creation blocks after being respectively identified in common, where the creation blocks generally include configuration information, such as a segment node included in the segment, an IP address and a port number of each segment node, a public key list of each segment node, and an identification of the identified node in the segment. After executing the created tiles, tile 1, tile 2, and tile 3 begin executing respective tile 1. Specifically, after determining the multiple transactions belonging to the block 1 and the execution sequence of the multiple transactions through consensus respectively, the slice 1, the slice 2, and the slice 3 start to execute the multiple transactions in the respective block 1 through consensus respectively. Wherein, segment 1 may generate a cross-segment sub-transaction to be executed by segment 2 in the process of executing the transaction. If the transaction corresponds to execution of a transaction, slice 1 can determine that execution of the corresponding transaction is successful after determining that execution of the cross-slice sub-transaction of the transaction is successful. Accordingly, slice 1 can only determine that multiple transactions in block 1 are successfully executed if it is determined that the cross-slice sub-transactions sent to all other slice nodes are successfully executed. In the above and following description, a "transaction" is used to indicate a plurality of transactions belonging to a block that are commonly recognized in a slice, and a "cross-slice sub-transaction" is used to indicate a sub-transaction generated by performing a transaction or a cross-slice sub-transaction.
Similarly, the node 2A and the node 3A may also send the cross-segment sub-transaction to other nodes in the federation party a, and similarly, it can be determined that multiple transactions in the block 1 of the corresponding segment are successfully executed until it is determined that the cross-segment sub-transaction sent to all other nodes is successfully executed. Therefore, in order to ensure the correctness of the execution of the transactional transaction in each partitioned block 1, the nodes 1A to 3A respectively wait for all the nodes in the federation party a to finish the execution of the cross-partitioned sub-transactions, and after determining that the execution of the cross-partitioned sub-transactions is successful, start to perform the following operations: the world state of the segment to which the current transaction belongs is updated, that is, the world state of the segment to which the current transaction belongs, which corresponds to the block 1, is stored, the block 1 of the segment to which the current transaction belongs (that is, the block body and the block head of the block 1) is generated, and the block 1 is stored, so that the execution of the block 1 of the segment to which the current transaction belongs is finished, and thus, the atomicity of the transactional transaction in the block 1 of each segment is ensured.
Each of the nodes 1A to 3A starts execution of the block 2 after determining that all the nodes end execution of the block 1, and so on, and each of the nodes 1A to 3A starts execution of the block 3 after determining that all the nodes end execution of the block 2. Thus, the execution of the blocks between nodes 1A to 3A (i.e. different slices) is synchronized, and each node has the same block height at the same time.
It is to be understood that, although fig. 2 illustrates that the nodes 1A to 3A execute the same height of the belonging partitioned blocks at the same time, the embodiment of the present specification is not limited thereto, and the embodiment of the present specification may also be combined with other technologies for ensuring transaction atomicity, in which different partitions may execute different height blocks, that is, the nodes 1A to 3A may execute different height blocks at the same time.
As can be seen from the above description, in the blockchain system including multiple shards provided in the embodiments of the present specification, the process of executing a block includes the following steps performed in this order: determining a plurality of transactions of a block (such as a block M) belonging to the same height by the fragments substantially simultaneously through consensus, executing a plurality of respective transactions belonging to the block M by the fragments, executing a plurality of cross-fragment sub-transactions from other fragments, updating a world state, namely storing the world state corresponding to the block M, generating the block body and the block header of the block M, and storing the block M by the fragments respectively based on state information corresponding to execution results of the plurality of transactions and the plurality of cross-fragment sub-transactions after determining that the fragments complete the execution of the cross-fragment sub-transactions and do not generate a new cross-fragment sub-transaction. It will be appreciated that in the event that none of the slices generate a cross-slice sub-transaction during execution of a plurality of transactions belonging to tile M, the process of executing the tile will not include the process of executing the cross-slice sub-transaction described above.
Specifically, as shown in fig. 2, taking each node in the federation party a to execute the block M as an example, after determining n transactions belonging to the respective block M by consensus on the segment 1, the segment 2, and the segment 3, the node 1A, the node 2A, and the node 3A respectively start to execute n transactions belonging to the block M of the corresponding segment (as shown by a rectangular box labeled "n" in fig. 2, the execution process of a transaction or a cross-segment sub-transaction is represented by the same rectangular box), and the execution process of the n transactions may be regarded as a 1 st round transaction execution process in the process of executing the block M. It is to be understood that, although the node 1A, the node 2A, and the node 3A are shown in fig. 2 as examples to execute n transactions belonging to the partition 1 partition M, the partition 2 partition M, and the partition 3 partition M respectively in the 1 st round of transaction execution process, the embodiments of the present specification are not limited thereto, and the partition 1, the partition 2, and the partition 3 may set the number of transactions belonging to the partition 1 partition M, the partition 2 partition M, and the partition 3 partition M respectively, and the number of transactions may be unequal. It is understood that tile 1, tile M, represents a tile with a height M in tile 1, tile 2, tile M, represents a tile with a height M in tile 2, and so on, and thus tile 1, tile 2, tile M, and tile 3, tile M represent different tiles.
After the 1 st round transaction execution process of the block M is executed, one or more cross-fragment sub-transactions are respectively generated by each fragment, and the cross-fragment sub-transactions are respectively sent to the nodes of the corresponding fragments. For example, node 1A, after executing n transactions, generates one or more cross-shard sub-transactions corresponding to shard 2 and sends these cross-shard sub-transactions to node 2A, generates one or more cross-shard sub-transactions corresponding to shard 3, and sends the write cross-shard sub-transactions to node 3A. Node 2A and node 3A similarly engage in cross-slice communication. Finally, node 1A receives q cross-tile sub-transactions and executes the q cross-tile sub-transactions, e.g., from node 2A and node 3A, node 2A receives M cross-tile sub-transactions and executes the M cross-tile sub-transactions, e.g., from node 1A and node 3A, and node 3A receives p cross-tile sub-transactions and executes the p cross-tile sub-transactions, e.g., from node 1A and node 2A, as shown in fig. 2, which may be regarded as the 2 nd round transaction execution process of each node in the process of executing block M. Meanwhile, each node may generate a new cross-fragment sub-transaction after completing the 2 nd round transaction execution process, and may send the newly generated cross-fragment sub-transaction to the corresponding node, so that the node starts a new round of transaction execution process.
The cross-partition sub-transaction is a transaction generated in the process of executing a block, and specifically may be a sub-transaction that needs to be executed in a cross-partition manner and is generated in the process of executing a plurality of transactions belonging to a block, or may be a sub-transaction that needs to be executed in a cross-partition manner and is generated in the process of executing a cross-partition sub-transaction. The cross-segment sub-transaction includes, for example, an operation instruction to instruct an operation corresponding to the operation instruction to be performed in the corresponding segment. The sub-transaction may be in the same form as the transaction, i.e., include a sending account, a receiving account, a data field, etc. In the case where the sub-transaction is sent between multiple mutually trusted nodes included in the same federation party, the plurality of nodes need not verify the sub-transaction therebetween, and thus the sub-transaction may not include a digital signature. Where the blockchain system includes state shards, the cross-shard sub-transaction is used to query or alter the state (i.e., world state) of accounts in the corresponding shard, for example, by invoking contracts in the corresponding shard. In one embodiment, a hash value of the corresponding original transaction may be included in the cross-sharded sub-transaction. In another embodiment, corresponding execution turn information may be included in the cross-slice sub-transaction, which may indicate, for example, a turn of a transaction execution process that generated the cross-slice sub-transaction.
That is, the execution process of each node on the block may include multiple rounds of transaction execution processes, where one round of transaction execution process may be followed by a cross-shard communication process, and the cross-shard communication process may send a cross-shard sub-transaction across the shards, so that a node receiving the cross-shard sub-transaction performs a next round of transaction execution process to execute the cross-shard sub-transaction, and the multiple rounds of transaction execution processes executed by each node are also substantially synchronized.
Fig. 3 is a schematic diagram illustrating another process of executing a plurality of tiled execution blocks in a blockchain system according to an embodiment of the present disclosure. As shown in fig. 3, it is assumed that the node 1A fails to execute some sub-transaction sutx 1 in the ith round of transaction execution process of block M, the sub-transaction sutx 1 includes the hash value of the transaction Tx1, that is, the sub-transaction sutx 1 corresponds to the transaction Tx1, for example, the sub-transaction sutx 1 is a cross-shard sub-transaction corresponding to shard 1 generated by the node 2A after executing the transaction Tx 1. The node 1A sends the information that the transaction Tx1 is an error transaction to the node 2A and the node 3A through the fragmentation broadcast, so that the node 1A, the node 2A and the node 3A perform the block playback, that is, roll back the status information, and re-perform the block M. Wherein the node 2A will re-execute the transactions belonging to the block M after eliminating the transaction Tx1 from the transactions belonging to the block M, thereby achieving the transaction atomicity.
Wherein node 1A may fail to execute the cross-sharded sub-transaction substx 1 in a number of cases, for example transaction Tx1 is a transfer transaction, in one case there is no account in shard 1 to which substx 1 needs to be transferred, so node 1A will determine that execution fails on substx 1; in another case, some businesses set an upper limit on the amount of daily transactions, and when node 1A determines that the amount of transactions to the posting account has reached the upper limit while performing SubTx1, then node 1A may determine that the performance of SubTx1 has failed. The SubTx1 calls, for example, an intelligent contract deployed in shard 1, and other conditions that need to be satisfied are set in the intelligent contract, and when the node 1A determines that any preset condition is not satisfied during the execution of the SubTx1, it may determine that the execution of the SubTx1 fails.
Fig. 4 is a flowchart of a method for performing a partition in a blockchain system according to an embodiment of the present disclosure, where the method is performed by the blockchain system including fragmentation, and includes the following steps:
step S401, a fragment of the blockchain system receives error transaction information from other fragments in the course of executing the block; in step S403, the segment re-executes multiple transactions after the error-removed transaction of the block. The method illustrated in fig. 4 will be described below in conjunction with fig. 3.
First, in step S401, a partition of the blockchain system receives error transaction information from other partitions during the course of executing a block.
Referring to fig. 3, the node 1A may perform fragmentation broadcasting immediately after determining that the sub-transaction subfx 1 fails to be executed during the execution of the ith round of transaction in the block M, or may perform fragmentation broadcasting after completing the execution of the ith round of transaction, in which case, the node 1A may determine multiple error transactions (including the transaction Tx1) and perform fragmentation broadcasting on information of the multiple error transactions, so that more efficient elimination of the error transactions may be achieved.
The node 1A may broadcast a data packet including error transaction information when performing the fragmentation broadcast. In one embodiment, the data packet includes, for example, at least a hash value of each erroneous transaction. In another embodiment, the data packet may include fields and their field values as shown in table 1, for example.
TABLE 1
Field(s) Field value
BlockNum (Block height) M
ErrorCount (number of error transactions) 1
ErrorTx[](hash value array for error transactions) 0x1756…
PacketID (round of transaction execution process) i
FromShard (starting fragment) Segment 1
Toshard (target slicing)
Wherein, a BlockNum field is included in the packet to indicate the height of the block corresponding to the packet. In the case of a fragmented delayed receive packet due to network delay, by including the chunk height in the packet, erroneous transactions for earlier chunks in time can be handled first. In addition, since the transaction hash values may be the same under different encryption schemes, especially in the case of transactions without nonce values, discrimination by the chunk height may be made when broadcasting erroneous transaction hash values.
The ErrorCount field is included in the data packet to indicate the number of error transactions in the data packet, so that when the data packet is compressed, by setting the element length of the hash value array to be a fixed length, there is no need to use a delimiter for processing between each error transaction hash value, and decompression processing can be accelerated.
The ErrorTx [ ] field is the hash value array for error transactions, whose array element length is determined by the particular hash value algorithm, and can take 256 bits in general.
The PacketID field indicates the round of transaction execution for the packet. Under distributed broadcasting in a fragmented environment, due to network delay and other factors, the order of arrival of messages may be out of order, so that by including the round of transaction execution in the data packet, consistency of execution is ensured. For example, assuming that the node 2A simultaneously receives a packet corresponding to the ith round from the node 1A and a packet corresponding to the (i + 1) th round from the node 3A, the node 2A may perform block playback based on the packet of the ith round according to the round information.
The fromsard field indicates the initial fragment of the packet, i.e. the fragment from which the packet is sent, and in a high security service scenario, the field value of the field may be a digital signature of the packet from the node that sent the fragment of the packet.
The ToShard field indicates the target fragment of the packet, i.e., the fragment to which the packet is to be broadcast. This field value leave empty may indicate that the target fragment is all fragments except the starting fragment (i.e., fragment 1).
It is to be understood that the content of the data packet is not limited to the content shown in table 1, and fields included in the data packet of the slice broadcast may be set as needed in the blockchain system.
In order to simplify the cost of cross-segment communication, only the hash value of the original transaction is usually included in the cross-segment sub-transaction, and the source segment of the original transaction is not included, so that after the execution of the cross-segment sub-transaction (for example, SubTx1) fails, the node 1A cannot know the source segment of the corresponding error transaction, and thus cannot determine the target segment of the error transaction. In this case, node 1A may leave the ToShard field empty to send the data packets to node 2A and node 3A, respectively, and node 2A and node 3A may determine whether each error transaction in the transaction packet is a transaction in the chunk M of the belonging slice based on the locally recorded hash value of the transaction included in the chunk M of the belonging slice, respectively.
Node 2A (i.e., slice 2), for example, slice 2 of the blockchain system, receives a broadcasted data packet from node 1A (i.e., from slice 1) during the execution of tile M, which includes a hash value of transaction Tx1 to indicate that transaction Tx1 is an error transaction. Thus, node 2A may determine that transaction Tx1 is one of the transactions belonging to shard 2 chunk M based on the locally recorded hash values of the transactions belonging to shard 2 chunk M. After making the above determination, node 2A may terminate local execution of block M, or may terminate execution of block M after completing the ith round of transaction execution, buffer the packet received from node 1A after terminating execution of block M, and wait to determine whether node 3A sent a packet including erroneous transaction information.
Node 3A, upon receiving the same data packet from node 1A, may determine that transaction Tx1 is not among the plurality of transactions belonging to tile 3, block M, and may determine whether there is a sub-transaction execution failure after completing the ith round of transaction execution process. In the case where it is determined that there is a sub-transaction execution failure, similar to the node 1A, data packets including error transaction information are respectively transmitted to the node 1A and the node 2A, and in the case where it is determined that there is no sub-transaction execution failure, the node 1A and the node 2A may also be notified, respectively.
In step S403, the tile re-executes the plurality of transactions following the error-removed transaction of the tile.
The node 2A of the segment 2 will be described as an example, and it is understood that the other nodes in the segment 2 and the other segments may perform the step with reference to the process description of performing the step on the node 2A of the segment 2.
Referring to fig. 3, the node 2A performs the operation of the block playback after receiving the above-described packet from the node 1A, or the node 2A may perform the operation of the block playback after receiving the packet including the error transaction information from both the node 1A and the node 2A, or the node 2A may perform the operation of the block playback after receiving the packet from the node 1A and receiving the information that the error transaction does not occur from the node 2A. The latter two cases may enable tile playback after as many false transactions as possible are found, providing more efficient culling of false transactions.
After starting tile playback, first, the node 2A performs a 1' round transaction execution process, that is, rolling back the state to the world state corresponding to the tile 2 tile M-1, and executing a plurality of transactions belonging to the tile 2 tile M after rejecting erroneous transactions based on the world state corresponding to the tile 2 tile M-1. For example, if node 2A receives a data packet including error transaction information from both node 1A and node 3A, where both data packets may include the i-th round information, and node 2A determines that k error transactions corresponding to partition 2 block M are shared according to the two data packets, node 2A removes the k transactions from the initial n transactions belonging to partition 2 block M, and re-executes the n-k transactions after removal in the 1' round transaction execution process. When the n-k transactions are executed, the n-k transactions are verified by digital signatures in the 1 st round transaction execution process, so that the n-k transactions do not need to be verified by digital signatures again in the re-execution process.
As shown in fig. 3, in the 1 'round transaction execution process, if the node 1A and/or the node 3A does not receive error transaction information from other shards, the node 1A and/or the node 3A do not need to re-execute multiple transactions of the corresponding shard block M, but in the 1' round transaction execution process, since it receives a new cross-shard sub-transaction from the node 2A, it needs to re-execute the 2 'round transaction execution process based on the state information corresponding to the original 1' round transaction execution process. And the state information corresponding to the 1 st round transaction execution process comprises a record of the value of the written variable in the 1 st round transaction execution process. If node 1A and/or node 3A also received error transaction information from other fragments, it performs the same procedure as node 2A.
In the 2 ' round transaction execution process after the chunk playback, as shown in fig. 3, if neither node 1A nor node 3A re-executes multiple transactions belonging to the corresponding sliced chunk M, therefore, the cross-slice sub-transaction that node 2A needs to execute in the 2 ' round transaction execution process does not change, and therefore, node 2A also does not need to re-execute in the 2 ' round transaction execution process.
Through the block playback process, the block is executed again after the error transaction is eliminated, so that the transaction atomicity is guaranteed in the block execution process. After the block playback, if the situation of the cross-segmentation sub-transaction execution failure occurs again, the block playback can be performed again until all error transactions included in the block are eliminated.
It may be understood that, although it is shown that each segment performs chunk playback after an error transaction is found in a certain round of transaction execution of the chunk M, this embodiment of the present specification is not limited to this, for example, each segment may buffer the error transaction information after an error transaction is found in a certain round of transaction execution, and after the chunk M is executed, send a data packet including information of the error transaction to other segments to perform chunk playback.
Fig. 5 is an architecture diagram of an apparatus for performing a tile in a blockchain system according to an embodiment of the present specification, the apparatus being configured to perform the method for performing a tile shown in fig. 4, the blockchain system including a first tile and a second tile, the first tile including a first node therein, the apparatus being deployed at the first node and including:
a receiving unit 51, configured to receive, during execution of a first block, first information from the second partition, where the first information indicates that an erroneous first transaction is executed among n transactions belonging to the first block, where the first information is sent by the second partition after execution of a first cross-partition sub-transaction corresponding to the first transaction fails, where the first cross-partition sub-transaction is a cross-partition sub-transaction belonging to a second block in the second partition;
a re-execution unit 52, configured to re-execute a plurality of transactions after the first transaction is removed from the n transactions.
In one embodiment, the first node and a second node in the second slice are mutually trusted nodes, and the first node receiving the first information from the second slice comprises the first node receiving the first information from the second node.
In one embodiment, the blockchain system comprises a federation chain system, the first node and the second node belonging to the same federation member.
In one embodiment, the first cross-slice sub-transaction includes an identification of the first transaction.
In one embodiment, the apparatus further comprises: a generating unit 53, configured to generate a plurality of second cross-segment sub-transactions corresponding to the second segment after re-executing the plurality of transactions belonging to the first block, and send the plurality of second cross-segment sub-transactions to the second segment, so that the second segment executes the plurality of second cross-segment sub-transactions based on first state information, where the first state information is generated by the second segment by executing the plurality of transactions belonging to the second block.
In an embodiment, the blockchain system includes a plurality of second shards, and the re-execution unit is specifically configured to, after determining that the first information is received from all of the second shards, re-execute a plurality of transactions of the n transactions after removing the first transaction included in all of the first information.
In one embodiment, the plurality of first information includes the same turn information, and the turn information indicates a turn of a transaction execution process included in an execution process of a second block corresponding to the first cross-slice sub-transaction.
In one embodiment, the first cross-slice sub-transaction is a cross-slice sub-transaction in a first round of transaction execution process of the second slice belonging to the second block, and the first information is sent by the second slice after the first round of transaction execution process is completed.
In one embodiment, the re-execution unit is specifically configured to re-execute a plurality of transactions of the n transactions after removing the first transaction based on a world state of a block previous to the first block.
Another aspect of the present specification provides a computer readable storage medium having a computer program stored thereon, which, when executed in a computer, causes the computer to perform any one of the above methods.
Another aspect of the present specification provides a computing device comprising a memory having stored therein executable code, and a processor that, when executing the executable code, implements any of the methods described above.
According to the block execution scheme provided by the embodiment of the description, by performing state rollback and block playback on error transactions, efficient error transaction elimination is realized, the transaction atomicity in the block execution process is ensured, in addition, by performing fragment broadcasting on error transaction information among mutually trusted nodes of each fragment, efficient broadcasting on error transaction information is provided, and the block execution efficiency in a block chain system is improved.
It is to be understood that the terms "first," "second," and the like, herein are used for descriptive purposes only and not for purposes of limitation, to distinguish between similar concepts.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
It will be further appreciated by those of ordinary skill in the art that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application. The software modules may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above-mentioned embodiments are intended to illustrate the objects, technical solutions and advantages of the present invention in further detail, and it should be understood that the above-mentioned embodiments are merely exemplary embodiments of the present invention, and are not intended to limit the scope of the present invention, and any modifications, equivalent substitutions, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (21)

1. A method of performing a tile in a blockchain system, the blockchain system including a first tile including a first node and a second tile, the method performed by the first node, comprising:
receiving first information from the second partition in the process of executing the first block, wherein the first information indicates that an erroneous first transaction is executed in n transactions belonging to the first block, the first information is sent by the second partition after the execution of a first cross-partition sub-transaction corresponding to the first transaction fails, and the first cross-partition sub-transaction is a cross-partition sub-transaction belonging to a second block in the second partition;
re-executing a plurality of transactions of the n transactions after the first transaction is removed.
2. The method of claim 1, wherein the first node and a second node in the second slice are mutually trusted nodes, the first node receiving first information from the second slice comprising the first node receiving first information from the second node.
3. The method of claim 1 or 2, wherein the blockchain system comprises a federation chain system, the first node and the second node belonging to the same federation member.
4. The method of claim 1 or 2, wherein the first cross-tile sub-transaction includes an identification of the first transaction.
5. The method of claim 1 or 2, further comprising:
after the plurality of transactions belonging to the first block are re-executed, a plurality of second cross-fragment sub-transactions corresponding to the second fragment are generated, and the plurality of second cross-fragment sub-transactions are sent to the second fragment, so that the second fragment executes the plurality of second cross-fragment sub-transactions based on first state information generated by the second fragment through execution of the plurality of transactions belonging to the second block.
6. The method of claim 1 or 2, the blockchain system comprising a plurality of second shards, the re-executing the plurality of transactions of the n transactions subsequent to the removal of the first transaction comprising re-executing the plurality of transactions of the n transactions subsequent to the removal of the first transaction included in all of the first information after determining that first information was received from all of the second shards.
7. The method of claim 6, wherein the plurality of first information includes the same turn information indicating a turn of transaction execution processes included in execution processes of the second chunk corresponding to the first cross-slice sub-transaction.
8. The method of claim 1 or 2, wherein the first cross-tile sub-transaction is a cross-tile sub-transaction performed in the second tile during a first round of transaction execution for a second tile, the first information being sent by the second tile after completion of the first round of transaction execution.
9. The method of claim 1 or 2, wherein re-executing the plurality of the n transactions subsequent to the removal of the first transaction comprises re-executing the plurality of the n transactions subsequent to the removal of the first transaction based on a world state of a block previous to the first block.
10. The method of claim 1, wherein said re-executing of a plurality of said n transactions subsequent to said removing of said first transaction does not include a verification process of a transaction digital signature.
11. An apparatus for performing a tile in a blockchain system, the blockchain system including a first tile including a first node therein and a second tile, the apparatus disposed at the first node, comprising:
a receiving unit, configured to receive, during execution of a first block, first information from the second partition, where the first information indicates that an erroneous first transaction is executed among n transactions belonging to the first block, where the first information is sent by the second partition after execution of a first cross-partition sub-transaction corresponding to the first transaction fails, where the first cross-partition sub-transaction is a cross-partition sub-transaction belonging to a second block in the second partition;
and the re-execution unit is used for re-executing a plurality of transactions after the first transaction is removed from the n transactions.
12. The apparatus of claim 11, wherein the first node and a second node in the second slice are mutually trusted nodes, the first node receiving first information from the second slice comprising the first node receiving first information from the second node.
13. The apparatus of claim 11 or 12, wherein the blockchain system comprises a federation chain system, the first node and the second node belonging to the same federation member.
14. The apparatus of claim 11 or 12, wherein an identification of the first transaction is included in a first cross-tile sub-transaction.
15. The apparatus of claim 11 or 12, further comprising:
and a generating unit, configured to generate a plurality of second cross-segment sub-transactions corresponding to the second segment after re-executing the plurality of transactions belonging to the first block, and send the plurality of second cross-segment sub-transactions to the second segment, so that the second segment executes the plurality of second cross-segment sub-transactions based on first state information, where the first state information is generated by the second segment by executing the plurality of transactions belonging to the second block.
16. The apparatus according to claim 11 or 12, wherein the blockchain system comprises a plurality of second shards, and the re-executing unit is specifically configured to, after determining that the first information is received from all of the second shards, re-execute a plurality of transactions of the n transactions after removing the first transaction included in all of the first information.
17. The apparatus of claim 16, wherein the plurality of first information includes the same turn information indicating a turn of transaction execution processes included in execution processes of the second chunk corresponding to the first cross-slice sub-transaction.
18. The apparatus according to claim 11 or 12, wherein the first cross-tile sub-transaction is a cross-tile sub-transaction performed during a first round of transaction execution for a second tile in the second tile, the first information being sent by the second tile after completion of the first round of transaction execution.
19. The apparatus according to claim 11 or 12, wherein the re-execution unit is specifically configured to re-execute the plurality of transactions of the n transactions after removing the first transaction based on a world state of a block previous to the first block.
20. A computer-readable storage medium, on which a computer program is stored which, when executed in a computer, causes the computer to carry out the method of any one of claims 1-10.
21. A computing device comprising a memory having executable code stored therein and a processor that, when executing the executable code, implements the method of any of claims 1-10.
CN202110419704.2A 2021-04-19 2021-04-19 Method and apparatus for executing blocks in a blockchain system Active CN113064764B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110419704.2A CN113064764B (en) 2021-04-19 2021-04-19 Method and apparatus for executing blocks in a blockchain system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110419704.2A CN113064764B (en) 2021-04-19 2021-04-19 Method and apparatus for executing blocks in a blockchain system

Publications (2)

Publication Number Publication Date
CN113064764A true CN113064764A (en) 2021-07-02
CN113064764B CN113064764B (en) 2023-10-27

Family

ID=76567013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110419704.2A Active CN113064764B (en) 2021-04-19 2021-04-19 Method and apparatus for executing blocks in a blockchain system

Country Status (1)

Country Link
CN (1) CN113064764B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254171A (en) * 2021-06-17 2021-08-13 支付宝(杭州)信息技术有限公司 Method for quitting cross-chip transaction, block chain system and main chain node
CN113468200A (en) * 2021-09-01 2021-10-01 支付宝(杭州)信息技术有限公司 Method and device for expanding fragments in block chain system
TWI808890B (en) * 2021-11-09 2023-07-11 大陸商中國銀聯股份有限公司 A business processing method and device based on alliance chain system

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109325762A (en) * 2018-08-30 2019-02-12 杭州复杂美科技有限公司 Across the chain method of commerce of parallel chain, equipment and storage medium
US20190199515A1 (en) * 2017-12-26 2019-06-27 Akamai Technologies, Inc. Concurrent transaction processing in a high performance distributed system of record
KR20190142649A (en) * 2018-06-18 2019-12-27 주식회사 비즈모델라인 Method for Trading Information by using Blockchain based on POS
CN110808838A (en) * 2019-10-24 2020-02-18 华东师范大学 Alliance chain-oriented fragmentation method
CN111047445A (en) * 2019-12-11 2020-04-21 深圳区块大陆科技有限公司 Completely decentralized side chain crossing method
CN111046437A (en) * 2019-10-31 2020-04-21 中国科学院计算技术研究所 Block chain parallel transaction processing method and system based on isomorphic multi-chain and terminal
US20200210451A1 (en) * 2019-01-02 2020-07-02 Jiaping Wang Scale out blockchain with asynchronized consensus zones
CN111680050A (en) * 2020-05-25 2020-09-18 杭州趣链科技有限公司 Fragmentation processing method, device and storage medium for alliance link data
CN112261162A (en) * 2020-12-21 2021-01-22 支付宝(杭州)信息技术有限公司 Method and system for executing cross-slice transaction, main chain node and target slicing node
CN112287029A (en) * 2020-11-17 2021-01-29 北京物资学院 Block chain multi-chain cross-chain system and implementation mechanism thereof
CN112435123A (en) * 2020-11-25 2021-03-02 国网能源研究院有限公司 Transaction method, system and storage medium based on isomorphic multi-chain system
CN112579261A (en) * 2020-12-21 2021-03-30 支付宝(杭州)信息技术有限公司 Method and system for quitting cross-fragment transaction, main chain node and target fragment node
CN112667647A (en) * 2020-12-11 2021-04-16 深圳前海微众银行股份有限公司 Block chain transaction data transmission method and device

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190199515A1 (en) * 2017-12-26 2019-06-27 Akamai Technologies, Inc. Concurrent transaction processing in a high performance distributed system of record
KR20190142649A (en) * 2018-06-18 2019-12-27 주식회사 비즈모델라인 Method for Trading Information by using Blockchain based on POS
CN109325762A (en) * 2018-08-30 2019-02-12 杭州复杂美科技有限公司 Across the chain method of commerce of parallel chain, equipment and storage medium
US20200210451A1 (en) * 2019-01-02 2020-07-02 Jiaping Wang Scale out blockchain with asynchronized consensus zones
CN110808838A (en) * 2019-10-24 2020-02-18 华东师范大学 Alliance chain-oriented fragmentation method
CN111046437A (en) * 2019-10-31 2020-04-21 中国科学院计算技术研究所 Block chain parallel transaction processing method and system based on isomorphic multi-chain and terminal
CN111047445A (en) * 2019-12-11 2020-04-21 深圳区块大陆科技有限公司 Completely decentralized side chain crossing method
CN111680050A (en) * 2020-05-25 2020-09-18 杭州趣链科技有限公司 Fragmentation processing method, device and storage medium for alliance link data
CN112287029A (en) * 2020-11-17 2021-01-29 北京物资学院 Block chain multi-chain cross-chain system and implementation mechanism thereof
CN112435123A (en) * 2020-11-25 2021-03-02 国网能源研究院有限公司 Transaction method, system and storage medium based on isomorphic multi-chain system
CN112667647A (en) * 2020-12-11 2021-04-16 深圳前海微众银行股份有限公司 Block chain transaction data transmission method and device
CN112261162A (en) * 2020-12-21 2021-01-22 支付宝(杭州)信息技术有限公司 Method and system for executing cross-slice transaction, main chain node and target slicing node
CN112579261A (en) * 2020-12-21 2021-03-30 支付宝(杭州)信息技术有限公司 Method and system for quitting cross-fragment transaction, main chain node and target fragment node

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘秋妍;张忠皓;李福昌;冯毅;李佳俊;: "5G+区块链网络分片技术", 移动通信, no. 04 *
周业军;王丛虎;高友富;潘辉;: "区块链技术在公共资源交易领域的应用研究", 中国招标, no. 07 *
朱立;俞欢;詹士潇;邱炜伟;李启雷;: "高性能联盟区块链技术研究", 软件学报, no. 06 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254171A (en) * 2021-06-17 2021-08-13 支付宝(杭州)信息技术有限公司 Method for quitting cross-chip transaction, block chain system and main chain node
CN113468200A (en) * 2021-09-01 2021-10-01 支付宝(杭州)信息技术有限公司 Method and device for expanding fragments in block chain system
TWI808890B (en) * 2021-11-09 2023-07-11 大陸商中國銀聯股份有限公司 A business processing method and device based on alliance chain system

Also Published As

Publication number Publication date
CN113064764B (en) 2023-10-27

Similar Documents

Publication Publication Date Title
CN113064764B (en) Method and apparatus for executing blocks in a blockchain system
CN109189751B (en) Data synchronization method based on block chain and terminal equipment
CN109886681B (en) Block chain consensus method and system
JP7154234B2 (en) Methods and specialized network nodes for fast propagation in blockchain networks
US7801997B2 (en) Asynchronous interconnect protocol for a clustered DBMS
CN114401150A (en) Method for adding node in block chain network and block chain system
US8291101B1 (en) Synchronization of mutually shared data stored on network devices
CN111526186A (en) Distributed server cluster configuration method based on Raft
CN111163148B (en) Synchronization method and related equipment for consensus state of block chain system
Duan et al. FIN: practical signature-free asynchronous common subset in constant time
CN111046109A (en) Cross-chain task processing method, device and equipment and readable storage medium
CN115098229A (en) Transaction processing method, device, node equipment and storage medium
WO2019109953A1 (en) Log processing method, related device, and system
CN110597922A (en) Data processing method, device, terminal and storage medium
CN111401904B (en) Consensus method and system in alliance chain
US10362105B1 (en) Generating probalistic data structures in gossip protocols
CN113157450A (en) Method and apparatus for performing blocks in a blockchain system
CN112612855B (en) High-availability database log receiving queue, synchronization method and device
CN111444204A (en) Synchronous processing method, device, equipment and medium
CN113064768B (en) Method and device for switching fragment nodes in block chain system
CN113268382B (en) Method and device for switching fragment nodes in block chain system
CN110162511B (en) Log transmission method and related equipment
CN114499874B (en) Bayesian-busy-family fault-tolerant consensus optimization method applied to industrial Internet
CN113468200B (en) Method and device for expanding fragments in block chain system
CN115426125A (en) Block validity verification method for block chain fragmentation system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant