System and method for intershard transactions in a blockchain network

The system addresses scalability and security issues in blockchain networks by dynamically tracking and rebalancing shards, enabling efficient inter-shard transactions and preventing malicious control, thus enhancing network stability and security.

JP7782888B2Active Publication Date: 2025-12-09BLOOM TECH INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024571146
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-06-03
Filing Date
2023-03-16
Publication Date
2025-12-09
Estimated Expiration
2043-03-16

AI Technical Summary

Technical Problem

Blockchain networks face scalability issues due to conventional flooding methods and increased risk of data manipulation through consensus attacks after implementing sharding, which reduces the number of nodes verifying transactions and can lead to imbalances between shards, potentially allowing malicious nodes to control more than half of the total, thereby risking fake blocks being added to the chain.

Method used

A system and method for tracking the shard to which an account belongs and processing inter-shard transactions by calculating home shard information, requesting and updating working shard information, and managing transactions between accounts in a blockchain network with dynamic sharding technology, using peer-to-peer communication to maintain shard information accuracy.

Benefits of technology

This approach enhances scalability by reducing transaction processing volume and ledger size while preventing malicious node concentration through periodic rebalancing and tracking account shard changes, ensuring secure inter-shard transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007782888000001
    Figure 0007782888000001
  • Figure 0007782888000002
    Figure 0007782888000002
  • Figure 0007782888000003
    Figure 0007782888000003
Patent Text Reader

Abstract

The present invention relates to an inter-shard transaction system and method between accounts belonging to different shards (working shards) in a blockchain network to which a dynamic sharding technique is applied. The inter-shard transaction system in a blockchain network according to an embodiment of the present invention is included in a first node that manages a first sending account that executes a first transaction. The first node includes a home shard calculation unit that calculates home shard information of a first receiving account based on address information of the first receiving account that performs the first transaction and total shard number information, a working shard information request unit that requests working shard information of the first receiving account to a second node having the home shard of the first receiving account as a working shard, a working shard information receiving unit that receives the working shard information of the first receiving account from the second node, and a transaction sending unit that requests the first transaction to a node that manages the first receiving account.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an inter-shard transaction system and method in a blockchain network, and more particularly to an inter-shard transaction system and method between accounts belonging to different shards (working shards) in a blockchain network to which dynamic sharding technology is applied. [Background technology]

[0002] Blockchain is a decentralized distributed transaction management technology that emerged in an attempt to move away from the existing centralized system in which centralized institutions store transaction details in a single location. Blockchain is a distributed ledger system in which all participants in a P2P (Peer-to-Peer) network own a shared ledger determined through a consensus algorithm, making it impossible to falsify or tamper with records. In other words, a distributed ledger system is a system in which each node synchronizes and maintains a database called a ledger in a decentralized environment without the control of a central administrator.

[0003] In order for all nodes in a blockchain to maintain a synchronized ledger, all transactions and blocks occurring within the network must be stored.To do this, conventionally, all nodes in the blockchain network must receive and store all messages using a flooding method, which poses a problem of scalability.

[0004] To solve the scalability problem, the blockchain field has recently proposed a sharding method in which multiple nodes are divided into multiple shard groups and multiple transactions are divided and processed in parallel in each shard. Sharding is a method of dividing transactions and blocks generated in a blockchain network into small groups called shards, and nodes belonging to each shard process only the transactions and blocks of their own shard without having to process transactions and blocks of other shards, thereby reducing the transaction processing volume of the entire network and the size of the distributed ledger.

[0005] However, by introducing sharding techniques, the number of nodes that can verify transactions is reduced according to the number of shards, which increases the risk of data manipulation through consensus attacks by malicious nodes. Consensus attacks are the most dangerous type of attack against blockchain. In blockchain, a validation committee, which includes multiple nodes, basically verifies blocks through the consensus of the majority of the committee, and blocks that do not reach majority consensus are excluded from selection and separated from the chain.

[0006] In a typical blockchain, tens of thousands to hundreds of thousands of nodes are included in the validation committee, making it practically impossible for malicious nodes to account for more than half of the total. However, when sharding is introduced, differences in transaction frequency, number of nodes, and proportion of validators per shard can lead to imbalances between shards over time, potentially weakening the stability of some shards. In other words, it is possible for malicious nodes to account for more than half of the total in some shards. If the number of malicious nodes accounts for more than half of the total, there is a risk that fake blocks will be added to the chain. In other words, sharding reduces the number of nodes that an attacker needs to acquire, making it easier to acquire more than half of the total, thereby increasing the risk of fake blocks being added to the chain.

[0007] To solve this problem, even after the shards have been determined, it is necessary to re-allocate the shard members (nodes) to balance the shards. Also, if the overall traffic of the blockchain network increases, it is necessary to increase the number of shards. The applicant of the present invention proposes a technology for rebalancing shard members and increasing the number of shards as dynamic sharding technology.

[0008] On the other hand, in a blockchain network that uses sharding technology, accounts only share information about accounts belonging to their own shard and do not have information about accounts belonging to other shards. Therefore, when communicating inter-shard transactions between accounts belonging to different shards, the account must know the shard information to which the other account belongs.

[0009] Therefore, by applying dynamic sharding technology, even if the shard to which an account belongs changes, the shard information of the account must continue to be tracked and shared, and the shard information to which the account belongs must be able to be searched during inter-shard transactions. Summary of the Invention [Problem to be solved by the invention]

[0010] The object of the present invention is to meet the above-mentioned needs and to provide a system and method for tracking the shard (working shard) to which an account belongs and processing inter-shard transactions between accounts belonging to different shards (working shards) in a blockchain network to which dynamic sharding technology is applied. [Means for solving the problem]

[0011] The present invention can be implemented in numerous ways, including as an apparatus (system), a method, a computer program stored on a computer readable medium, or a computer readable medium having a computer program stored thereon.

[0012] An inter-shard transaction system in a blockchain network according to an embodiment of the present invention is included in a first node that manages a first sending account that executes a first transaction. The first node includes a home shard calculation unit that calculates home shard information of the first receiving account based on address information and total shard number information of the first receiving account that executes the first transaction, a working shard information request unit that requests working shard information of the first receiving account from a second node that has placed the home shard of the first receiving account as a working shard, a working shard information receiving unit that receives the working shard information of the first receiving account from the second node, and a transaction sending unit that requests the first transaction from a node that manages the first receiving account.

[0013] More preferably, the first node further includes a receiving account search unit that searches whether the first receiving account is included in the accounts belonging to the working shard of the first sending account.

[0014] More preferably, the working shard of the first node is the home shard of the second receiving account that performs the second transaction, and the first node further includes an account directory management unit that updates the working shard information of the second receiving account to the latest information and stores it in the account directory, an account directory search unit that searches the working shard information of the second receiving account from the account directory when the working shard information of the second receiving account is requested from the third node that manages the second sending account that performs the second transaction, and a working shard information transmission unit that transmits the searched working shard information of the second receiving account to the third node.

[0015] More preferably, the first node is a node that manages a third receiving account that executes the third transaction, and the first node further includes a transaction receiving unit that receives and processes the requested third transaction when the third transaction is requested from a fourth node that manages a third sending account that executes the third transaction.

[0016] More preferably, the working shard information request unit generates a working shard information request message requesting working shard information of the first receiving account, and transmits the working shard information request message to the communication target node based on the intra-shard communication node list and the inter-shard communication list via peer-to-peer communication so that it is received by the second node, and the transaction sending unit generates a transaction request message requesting a first transaction from the first receiving node, and transmits the transaction request message to the communication target node based on the intra-shard communication node list and the inter-shard communication list via peer-to-peer communication so that it is received by the node managing the first receiving account.

[0017] More preferably, the working shard information sending unit generates a receiving account working shard information message including working shard information of the second receiving account, and transmits the receiving account working shard information message via peer-to-peer communication to a communication target node based on the intra-shard communication node list and the inter-shard communication list, so that it can be received by a third node.

[0018] Furthermore, the intershard transaction according to the present invention is implemented by at least one processor in a first node that manages a first sending account that executes the first transaction. How to The method includes a step in which a first node calculates home shard information of a first receiving account that executes a first transaction based on address information and total shard number information of the first receiving account; a step in which the first node requests working shard information of the first receiving account from a second node that has the home shard of the first receiving account as a working shard; a step in which the first node receives the working shard information of the first receiving account from the second node; and a step in which the first node requests a first transaction from a node that manages the first receiving account.

[0019] More preferably, the method further includes the step of the first node searching whether the first receiving account is included in the accounts belonging to the working shard of the first sending account.

[0020] More preferably, the working shard of the first node is the home shard of the second receiving account that executes the second transaction, and the method further includes a step of the first node updating the working shard information of the second receiving account to the latest information and storing it in the account directory, a step of searching for the working shard information of the second receiving account from the account directory when the working shard information of the second receiving account is requested from a third node that manages the second sending account that executes the second transaction, and a step of the first node transmitting the searched working shard information of the second receiving account to the third node.

[0021] More preferably, the first node is a node that manages a third receiving account for executing the third transaction, and when the first node receives a request for the third transaction from a fourth node that manages a third sending account for executing the third transaction, the method further includes receiving and processing the requested third transaction.

[0022] More preferably, the step of requesting working shard information of the first receiving account from a second node having the home shard of the first receiving account as the working shard comprises generating a working shard information request message requesting the working shard information of the first receiving account, and transmitting the working shard information request message to a communication target node based on the intra-shard communication node list and the inter-shard communication list via peer-to-peer communication so that the message is received by the second node. The step of requesting the first transaction from a node managing the first receiving account comprises generating a transaction request message requesting the first transaction from the first receiving node, and transmitting the transaction request message to a communication target node based on the intra-shard communication node list and the inter-shard communication list via peer-to-peer communication so that the message is received by the node managing the first receiving account.

[0023] More preferably, the step of transmitting the working shard information of the searched second receiving account to the third node generates a receiving account working shard information message including the working shard information of the second receiving account, and transmits the receiving account working shard information message to the communication target node via peer-to-peer communication based on the intra-shard communication node list and the inter-shard communication list so that it is received by the third node. [Effects of the Invention]

[0024] The present invention has the following effects.

[0025] By dividing the blockchain network into shards and processing transactions and blocks, the present invention can reduce the transaction processing volume and the size of the distributed ledger, thereby increasing the scalability of the blockchain network.

[0026] The present invention can prevent the risk of malicious nodes being concentrated in any shard by periodically randomly changing and rebalancing the nodes and / or accounts belonging to the shard.

[0027] The present invention introduces the concepts of home shards and working shards, allowing the home shard information of any account to be derived through calculations, and stores the working shard information, which is the shard to which the account currently belongs, in the home shard of the account.When an account changes its working shard, the changed working shard information is updated in the home shard of the account, making it possible to track the working shard of the account even if the account moves working shards.

[0028] The present invention can support inter-shard transactions between any two accounts by allowing the transaction sending account to obtain the working shard information of the receiving account through the home shard of the receiving account.

[0029] It can be understood that the effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clear to a person having ordinary skill in the technical field to which the present invention pertains (referred to as an "ordinary engineer") from the claims. [Brief explanation of the drawings]

[0030] Embodiments of the present invention will be described, but not limited to, with reference to the accompanying drawings described below, in which like reference numerals indicate similar elements and in which:

[0031] [Figure 1] FIG. 1 shows a conceptual diagram of a blockchain network divided into three shards according to the present invention.

[0032] [Figure 2] FIG. 1 is a block diagram illustrating an exemplary configuration of a node including the account transaction system of the present invention.

[0033] [Figure 3] FIG. 2 illustrates information stored in a data store to implement the account transaction system of the present invention.

[0034] [Figure 4] FIG. 1 is a configuration diagram illustrating an intershard transaction system according to an embodiment of the present invention.

[0035] [Figure 5] 1 is an operational flowchart illustrating an inter-shard transaction method according to an embodiment of the present invention. [Explanation of symbols]

[0036] 222: Account Transaction System 224: Account management module 226: Peer-to-peer communication module 228: Working shard update module 230: Transaction processing module 232: Home shard calculation module 411: Receiving account search unit 412: Home shard calculation section 413: Working Shard Information Request Department 414: Working shard information receiver 415: Transaction sender 421: Account Directory Management Unit 422: Account directory search section 423: Working shard information transmission unit 431: Transaction receiver

[0037] Embodiments of the present invention will be described, but not limited to, with reference to the accompanying drawings described below, in which like reference numerals indicate similar elements and in which: DETAILED DESCRIPTION OF THE INVENTION

[0038] Hereinafter, specific details for carrying out the present invention will be described in detail with reference to the accompanying drawings. However, in the following description, specific descriptions of commonly known functions and configurations will be omitted if they may unnecessarily obscure the gist of the present invention.

[0039] In the accompanying drawings, identical or corresponding components are denoted by the same reference numerals. Note that in the following description of the embodiments, redundant descriptions of identical or corresponding components may be omitted. However, even if descriptions of techniques related to components are omitted, this does not mean that such components are not included in any embodiment.

[0040] The advantages and features of the embodiments disclosed herein, and methods for achieving them, will become apparent from the following description of the embodiments in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, and may be realized in various different forms. The present embodiments are merely provided to fully convey the scope of the invention to those skilled in the art.

[0041] Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used in the sense that they can be commonly understood by a person having ordinary knowledge in the technical field to which the present invention belongs. Furthermore, terms defined in commonly used dictionaries should not be idealized or excessively interpreted unless they are specifically defined.

[0042] For example, the term "technology" may refer to systems, methods, computer-readable instructions, modules, algorithms, hardware logic, and / or operations as permitted by the context and throughout the document.

[0043] The terms used in this specification will be briefly explained, and the disclosed embodiments will be described in detail. The terms used in this specification are currently widely used and general terms that are selected while taking into consideration the functions of the present invention. However, these terms may change depending on the intentions of engineers in the relevant field, precedents, or the emergence of new technologies. In addition, in certain cases, the applicant may arbitrarily select terms, and in such cases, the meanings thereof will be described in detail in the description of the invention. Therefore, the terms used in this specification should be defined based on the meanings of the terms and the overall content of the present invention, rather than simply the names of the terms.

[0044] In this specification, the singular expression includes the plural expression unless the context clearly dictates otherwise. Furthermore, the plural expression includes the singular expression unless the context clearly dictates otherwise. Throughout the specification, when a part is said to include a certain element, this does not mean that it excludes other elements, but that it may further include other elements, unless specifically stated to the contrary.

[0045] In the present invention, the terms "comprises", "comprising", and the like may indicate the presence of features, steps, operations, elements, and / or components, but such terms do not exclude the addition of one or more other features, steps, operations, elements, components, and / or combinations thereof.

[0046] In the present invention, when a particular component is referred to as being "bonded," "combined," "linked," "associated," or "reacting" with any other component, it means that the particular component can be, but is not limited to, directly bonded, combined, linked, and / or associated with or reacting with the other component. For example, one or more intermediate components may exist between the particular component and the other component. Furthermore, in the present invention, "and / or" may include each of one or more listed items or at least a partial combination of one or more items.

[0047] In the present invention, terms such as "first" and "second" are used to distinguish a specific component from other components, and are not intended to limit the aforementioned components. For example, a "first" component may be used to refer to an element that is the same as or similar to a "second" component.

[0048] In the present invention, a "blockchain network" is a collection of multiple computers (nodes) that participate in a blockchain system and communicate with each other peer-to-peer via the Internet or the like, and a "node" in the present invention can be a computer that participates in the blockchain network. Here, the term "computer" encompasses all devices that have a CPU, memory, communication, and input / output functions, and specifically includes server computers, personal computers (PCs), mobile phone terminals, small home appliances, etc.

[0049] Nodes can share and disseminate information through the blockchain network. Nodes manage user accounts. Accounts managed by nodes may include the node owner's account (hereinafter referred to as a host account) and accounts entrusted to them by other users (hereinafter referred to as guest accounts). Nodes store all information related to the host accounts and guest accounts they manage, transmit it to other nodes on the blockchain network, and can receive the latest information about the host accounts and guest accounts they manage from other nodes.

[0050] In the present invention, an "account" refers to a data structure representing a single user as a user account participating in a blockchain. An account can add information to the blockchain system by issuing transactions and can be a linked list of transactions issued by a user. A transaction can be a unit of data added by a user to the system. An account can own a node and directly manage its own transaction information, and such an account can be called a host account. Alternatively, an account can entrust other users' nodes with managing its transaction information, and such an account can be called a guest account, and the node entrusted with managing the account can be called a delegated node. The identity of the node and account can be verified using a cryptographic key, and transactions can be signed using the same cryptographic key. A guest account can operate its own node and become a host account, or it can change the delegated node, and a host account can select a delegated node and become a guest account.

[0051] In the present invention, a "transaction" is a unit of information added to a blockchain that can be issued independently by one account. The content of a transaction is nominally any information provided by a user, but in reality, it can be a meaningful message within the system. For example, a transaction may include messages such as "Account A sent 100 coins to Account B" or "Account B received 100 coins from Account A." In the present invention, transaction serial numbers are positive integers starting from 0 and increment by 1 for each transaction, and an Account-Wise Transaction Chain (AWTC) is used to manage ledgers for each account. The technology of the Account-Wise Transaction Chain (AWTC) can be understood by referring to the content described in Korean Patent Publication No. 2021-0015196.

[0052] A "block" in this invention can be a signed list of transactions that have been added to a shard or blockchain network for a particular period of time. A block can be generated by signing a list of transactions through a consensus algorithm. Blocks can be generated one at a time, and a blockchain can be constructed by adding a new block to the existing block list.

[0053] In the present invention, a "shard" can be a small set of nodes participating in a blockchain network. The entire blockchain network is divided into multiple shards, and each shard has a unique address. In general, a blockchain network that applies sharding technology performs peer-to-peer communication between nodes belonging to the same shard, and shares an account-specific transaction chain (AWTC) for all accounts belonging to the same shard.

[0054] In the present invention, every account can have one working shard and one home shard. The working shard and home shard of any account can be the same or different. In the present invention, the "home shard" of an account can be calculated based on a function with the account address and the total number of shards as parameters. The "working shard" of an account in the present invention can be a general shard, which is the shard to which the account currently belongs and operates. That is, in the present invention, working shards can communicate peer-to-peer with each other between the same nodes, and all accounts belonging to the same working shard can share the account-specific transaction chain (AWTC).

[0055] In the present invention, an "intra-shard transaction" may refer to a transaction between nodes having the same working shard. In the present invention, an "inter-shard transaction" may refer to a transaction between nodes having different working shards.

[0056] Each shard can have a set of nodes and accounts that use it as their home shard, and a set of nodes and accounts that use it as a working shard. A node must belong to exactly one working shard.

[0057] A node can move from one working shard to another, and when a node moves, the host and guest accounts managed by the node can move at the same time. Any account can move from one working shard to another working shard independently of the node.

[0058] In addition, each node belonging to the blockchain network includes a shard rebalancing algorithm, and when certain conditions are met, the shard rebalancing algorithm can be executed to change the working shards of the node and account.

[0059] In the present invention, "peer-to-peer communication" in a blockchain network and a shard may mean that when a node receives information, it replicates the received information and transmits it to other nodes, and the node that receives the information also replicates the information and repeats the transmission to other nodes, so that after a sufficient time, all nodes belonging to the blockchain network and the shard share the information.

[0060] In the present invention, an "adjacent shard" of a given shard may be a shard having an address that is a bit distance of 1 from the address of the given shard. A bit distance of 1 means that when comparing any two binary values ​​(binary numbers) digit by digit, only one digit value is different. For example, for the binary value "0101," a binary value that differs only in the first digit is "0100," a binary value that differs only in the second digit is "0111," a binary value that differs only in the third digit is "0001," and a binary value that differs by four digits is "1101." Therefore, for the binary value "0101," the binary value "0100," the binary value "0111," the binary value "0001," and the binary value "1101" are all binary values ​​that differ in only one digit value. In this way, in the present invention, a binary value that differs by only one digit value from an arbitrary binary value is defined as having a bit distance of 1, and a shard having an address that is a bit distance of 1 from the address of an arbitrary shard is defined as an adjacent shard.

[0061] The operating system described below constitutes one embodiment and does not limit the scope of the claims to any one operating environment, as other environments may be used without departing from the spirit and scope of the claimed subject matter.

[0062] FIG. 1 is a diagram illustrating a conceptual diagram of a blockchain network divided into three shards according to the present invention.

[0063] Multiple nodes constituting a blockchain network may be divided into, but are not limited to, three shards 110, 120, and 130. The number of shards can be increased as the number of nodes and accounts constituting the blockchain network increases, and in this case, one shard may be divided into two. Each shard 110, 120, and 130 may be a working shard for the nodes currently belonging to the shard. All nodes belonging to the current working shard can share the same information.

[0064] Each node can include an intra-shard communication node list that stores information on peer-to-peer communication targets (intra-shard communication nodes) among nodes within the working shard, and an inter-shard communication node list that stores information on peer-to-peer communication targets (inter-shard communication nodes) among nodes outside the working shard.

[0065] The intra-shard communication node, which is the communication target within each node's working shard, can be determined according to the Kademlia rule. The inter-shard communication node, which is the communication target outside each node's working shard, can be randomly determined by some of the nodes belonging to adjacent shards.

[0066] Based on the intra-shard communication node list and inter-shard communication node list determined in this manner, information sharing via peer-to-peer communication within and outside the working shard becomes possible. The information shared by any node with an intra-shard communication node may differ from the information shared with an inter-shard communication node. That is, the information shared with an inter-shard communication node may be more restrictive than the information shared with an intra-shard communication node. The intra-shard communication nodes and inter-shard communication nodes included in the intra-shard communication node list and inter-shard communication node list assigned to each node may be randomly reconfigured.

[0067] In FIG. 1, nodes 111, 121, and 131 that communicate with nodes within the working shard are shown as unhatched circles, and nodes 112, 122, and 132 that communicate with nodes outside the working shard are shown as hatched circles. Nodes 112, 122, and 132 that communicate with nodes outside the working shard can communicate with nodes belonging to adjacent shards based on the inter-shard communication node list. Here, adjacent shards may be shards whose shard addresses have a bit distance of 1. A bit distance of 1 may mean that the addresses of the shards differ by one bit value. That is, addresses with a bit distance of 1 from the address "00" may be "01" and "10."

[0068] In the example of FIG. 1, if the address of the first shard 110 is "00", the address of the second shard 120 is "01", and the address of the third shard 130 is "10", the addresses of the first shard 110 and the second shard 120 are "00" and "01", respectively, and differ by one digit value, so the bit distance is 1. Similarly, the addresses of the first shard 110 and the third shard 130 are "00" and "10", respectively, and differ by one digit value, so the bit distance is 1. However, the addresses of the second shard 110 and the third shard 130 are "01" and "10", respectively, and differ by two digit values, so the bit distance is not 1.

[0069] Therefore, the first and second shards are adjacent shards, and the first and third shards can communicate directly as adjacent shards. However, the second and third shards are not adjacent shards and cannot communicate directly, but can communicate via the first shard, which is an adjacent shard.

[0070] Each node in Figure 1 includes a shard rebalancing algorithm, which can be executed according to preset conditions. The shard rebalancing algorithm can use, but is not limited to, the Bounded Cuckoo algorithm. The Bounded Cuckoo algorithm is described in detail in the RapidChain introductory document (RapidChain: Scaling Blockchain via Full Sharding, see https: / / eprint.iacr.org / 2018 / 460.pdf). The present invention calculates the health index of shards based on the Bounded Cuckoo algorithm, classifies shards into strong and weak shards, and periodically randomly selects some nodes from strong shards and moves them to weak shards.

[0071] When the shard rebalancing algorithm is executed, a node to change the working shards is randomly selected, and the working shards of the node can be reassigned and changed. When the working shards of a node are changed, the node can execute the working shard change procedure for all host accounts and guest accounts it manages.

[0072] Furthermore, a node can perform separate working shard change procedures for the host account and guest account it manages. For example, if a guest account it delegates and manages changes its delegated node, but the delegated node to be changed belongs to another working shard, the node can perform the working shard change procedure for the guest account. Alternatively, if a third account that was managed by a node belonging to another working shard is newly delegated and managed, the node can perform the working shard change procedure for the third account.

[0073] 2 is a block diagram illustrating an exemplary configuration of a node 200 including the account transaction system of the present invention. Each node may be implemented as a computer device.

[0074] In some examples, various devices and / or components of node 200 may comprise distributed computing resources 250 that can communicate with each other and with external devices via one or more networks 260 .

[0075] In various embodiments, distributed computing resources 250 may include devices 250(1) through 250(N).

[0076] Embodiments of the present invention support scenarios in which distributed computing resources 250 may include one or more computing devices operating in a cluster or other grouped configuration to share resources, distribute load, improve performance, or for other purposes.

[0077] Distributed computing resources 250 may fall into various categories, such as traditional server-type devices, desktop computer-type devices, mobile devices, special-purpose devices, implantable devices, and / or wearable devices. Thus, although described as desktop and laptop computers, distributed computing resources 250 can include various types of devices and are not limited to any particular type of device. Distributed computing resources 250 may be an integrated component for inclusion in a desktop computer, server computer, web server computer, personal computer, mobile computer, laptop computer, tablet computer, wearable computer, implantable computer, communication device, automobile computer, network-enabled television, thin client, terminal, PDA, game console, gaming device, workstation, media player, personal video recorder (PVR), set-top box, camera, or computing device.

[0078] Node 200 may be one computing device that is a distributed computing resource 250. Node 200 may include any type of computing device having one or more processing units 202 operably connected to a computer readable medium (CRM) 204 via a bus 240. In some cases, it may include more than one of these.

[0079] Such buses 240 may include a system bus, a data bus, an address bus, a PCI bus, a mini-PCI bus, and various local, peripheral, and / or independent buses.

[0080] In node 200, processing unit 202 may include, for example, a processing unit 202 representing a CPU-type processing unit, a GPU-type processing unit, a field programmable gate array (FPGA), a digital signal processor (DSP), or other hardware logic component that may be driven by a CPU.

[0081] For example, such hardware logic components may include application-specific integrated circuits (ASICs), application-specific standard products (ASPs), system-on-a-chip (SOC) systems, complex programmable logic devices (CPLDs), etc. Specifically, CRM 204 may store instructions executable by an external processing unit 208, such as an external CPU-type processing unit 206, an external GPU-type processing unit 208, etc., and / or an external accelerator 210, such as an FPGA-type accelerator 210(1), a DSP-type accelerator 210(2), or another accelerator 210(N).

[0082] The CRM 204 described herein may include computer storage media and / or communication media.

[0083] Computer storage media may include types of storage units, removable and non-removable computer storage media, such as volatile memory, non-volatile memory, and / or other permanent or auxiliary computer storage media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data.

[0084] The computer storage medium may be RAM, static RAM (SRAM), dynamic RAM (DRAM), phase change memory (PRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, DVD, optical storage medium, magnetic cassette, magnetic tape, solid-state memory (SSD), etc.

[0085] Executable instructions stored in CRM 204 may include operating system 220 and other modules, programs, or applications that are loadable and executable by processing unit 202 .

[0086] Additionally or alternatively, the functionality described herein may be performed at least in part by one or more hardware logic components, such as an accelerator.

[0087] For example, exemplary hardware logic components that can be used include Field-Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application-Specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc. For example, the accelerator can be a hybrid device from XILINX or ALTERA that includes a CPU embedded in FPGA fabric.

[0088] In the illustrated embodiment, the CRM 204 may also include a data store 212. In some embodiments, the data store 212 may include a data store such as a database, a data warehouse, or other type of structured or unstructured data store.

[0089] In some embodiments, data store 212 may include a corpus and / or a relational database having one or more tables, indexes, stored procedures, etc. that enable data access such as web tables, including one or more Hypertext Markup Language (HTML) tables, Resource Description Framework (RDF) tables, Web Ontology Language (OWL) tables, and / or Extensible Markup Language (XML) tables.

[0090] For example, the data store 212 may store data and / or instructions for operation of processes, applications, components, and / or modules stored in the CRM 204 and executed by the processing unit 202 .

[0091] Node 200 may further include one or more input / output (I / O) interfaces 216, which may be I / O interfaces 216 that enable node 200 to communicate with input / output devices that can communicate with user input devices including peripheral input devices (e.g., keyboards, mice, pens, game controllers, voice input devices, touch input devices, gesture input devices, cameras, etc.) and peripheral output devices (e.g., displays, printers, etc.).

[0092] Additionally, node 200 may further include one or more input / output (I / O) network interfaces 218 that enable node 200 to communicate with other nodes of the blockchain network via network 260, which may be nodes of the blockchain network.

[0093] Such input / output (I / O) network interface 218 may include one or more network interface controllers (NICs) or other types of transceiver devices for sending and receiving communications over network 260 .

[0094] Network 260 may include a public network such as the Internet, a private network such as an institutional and / or personal intranet, or a combination of portions of a private and public network. Network 260 may include any type of wired and / or wireless network, including, but not limited to, a local area network (LAN), a wide area network (WAN), a satellite network, a cable network, a Wi-Fi network, or a WiMax network. Network 260 may include a mobile communication network (e.g., 3G, 4G, 5G, etc.), or any combination thereof. Network 260 may utilize communication protocols, including packet-based and / or datagram-based protocols, such as Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), or other types of protocols.

[0095] Additionally, network 260 may include multiple devices that facilitate network communications or form the hardware basis for the network, such as switches, routers, gateways, access points, firewalls, base stations, repeaters, backbone devices, etc.

[0096] In some embodiments, network 260 may further include devices that enable connection to a wireless network, such as a wireless access point (WAP). Embodiments of the present invention may support connection via WAPs that transmit and receive data over various electromagnetic frequencies (e.g., radio frequencies), including WAPs that support the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard (e.g., 802.11g, 802.11n, etc.).

[0097] In the illustrated embodiment, CRM 204 may include an operating system 220 and an account transaction system 222. Account transaction system 222 may include one or more of the modules and / or APIs illustrated in blocks (224, 226, 228, 230, and 232), although this is merely an example and there may be more or fewer. The functionality described with respect to each of blocks 224, 226, 228, 230, and 232 may be combined to be performed by fewer modules and / or APIs, or may be divided and performed by a greater number of modules and / or APIs.

[0098] Alternatively, some or all of the operating system, data stored in the data store, and account transaction system may be stored in separate memories 234, such as memory 214 on processing unit 202, memory 234(1) on CPU-based processing unit 206, memory 234(2) on GPU-based processing unit 208, memory 234(3) on FPGA-based accelerator 210(1), memory 234(4) on DSP-based accelerator 210(2), and / or memory 234(M) on other accelerators 210(N).

[0099] The account transaction system 222 can include an account management module 224 , a peer-to-peer communication module 226 , a working shard update module 228 , a transaction processing module 230 , and a home shard calculation module 232 .

[0100] The account management module 224 can manage host accounts and guest accounts. The account management module 224 can receive and store the account-specific transaction chains (AWTCs) of all accounts belonging to the same working shard.

[0101] The peer-to-peer communication module 226 can transmit any message generated within a working shard to other nodes within the working shard and nodes outside the working shard via peer-to-peer communication based on the intra-shard communication node list and the inter-shard communication node list. The peer-to-peer communication module 226 can receive and process messages generated within the node itself or messages shared by other nodes, or share them with other nodes. Such message sharing can occur across multiple nodes, but for convenience, the procedure for sharing messages will be omitted.

[0102] When the working shard of an account is changed, the working shard update module 228 can update the working shard information stored in the home shard of the account with the changed working shard information. In this case, the account whose working shard is changed can be called the moving account, the working shard of the moving account before the change can be called the departure shard, and the working shard of the moving account after the change can be called the destination shard.

[0103] In other words, when the working shard of a moving account is changed from a departure shard to a destination shard, the node belonging to the home shard of the moving account (the node with the home shard of the moving account as the working shard), the node belonging to the departure shard of the moving account (the node with the departure shard of the moving account as the working shard), and the node belonging to the destination shard of the moving account (the node with the destination shard of the moving account as the working shard) can each operate differently.

[0104] Therefore, the working shard update module 228 can determine whether it belongs to the home shard of the moving account, the departure shard of the moving account, or the destination shard of the moving account, and perform different working shard update operations for each.

[0105] The transaction processing module 230 can process transactions between any two accounts. The transaction processing module 230 can process intra-shard transactions, which are when any two accounts belong to the same working shard, and inter-shard transactions, which are when any two accounts belong to different working shards. In this case, the account attempting the transaction can be called the sending account, and the account that is the target of the transaction can be called the receiving account. The node that manages the sending account (sending node), the node that belongs to the home shard of the receiving account (node ​​that uses the home shard of the receiving account as a working shard), and the node that manages the receiving account (receiving node) can each operate differently.

[0106] The home shard calculation module 232 can calculate the home shard address of any account based on the account address and information on the total number of shards. The home shard calculation module 232 can be driven by the working shard update module 282 and the transaction processing module 230. When the working shard update module 282 requests home shard information of a moving account or the transaction processing module 230 requests home shard information of a receiving account, the home shard address of the account can be calculated by applying the address of the account and information on the total number of shards as parameters to a function.

[0107] FIG. 3 is a diagram illustrating information stored in a data store 300 to implement the account transaction system of the present invention.

[0108] The node's data store 300 may store account-specific transaction chains (AWTCs) 302, 304, 306, 308 for all accounts belonging to the node's working shard, an account directory 310 storing working shard history information for accounts with the node's working shard as their home shard, a round state chain 312 combining account-specific transactions for all accounts belonging to the working shard and storing round state blocks agreed upon between all nodes belonging to the working shard as a chain, a world round state chain 314 combining all round state blocks belonging to the blockchain network and storing agreed world round state blocks as a chain, an intra-shard communication node list 316 storing information on nodes to communicate with within the node's working shard, and an inter-shard communication node list 318 storing information on nodes to communicate with outside the node's working shard.

[0109] The account directory 310 stores working shard history information for accounts that have the working shard of a node as their home shard. In this example, for convenience, it is assumed that each node manages only one account, i.e., a host account. Therefore, in this example, a node can be considered the same concept as an account. For example, in the example of FIG. 1, if the home shard of an account belonging to node 111 is shard 2 120, information on shard 1 10 is stored as working shard information for the account belonging to node 111 in the account directories of nodes 121 and 122 that have shard 2 120 as their working shard. Meanwhile, in the example of FIG. 1, if the home shard of an account belonging to node 112 is shard 3 130, information on shard 1 10 is stored as working shard information for the account belonging to node 112 in the account directories of nodes 131 and 132 that have shard 3 as their working shard.

[0110] As mentioned above, nodes and accounts can change working shards. Even if the working shard is changed, the working shard update module of the present invention is activated, and the changed working shard information can be updated in the node to which the home shard of the account belongs.

[0111] In the present invention, it is preferable that the latest working shard address of an arbitrary account is updated in the account directory of a node that has the home shard of the account as a working shard by the working shard update module.

[0112] 4 is a block diagram showing an intershard transaction system according to an embodiment of the present invention. Such an intershard transaction system can be realized by a computer system of a node.

[0113] In this invention, a "transaction" is a unit of information added to a blockchain that can be issued independently by one account, and the content of the transaction can be any information or meaningful message provided by a user. In this invention, the account attempting the transaction is referred to as the sending account, the node managing the sending account as the sending node, the account that is the target of the transaction as the receiving account, and the node managing the receiving account as the receiving node. An inter-shard transaction refers to a transaction between a sending account and a receiving account when the sending account and the receiving account belong to different working shards.

[0114] In an inter-shard transaction, each node may act as a sending node, a node belonging to the home shard of the receiving account, or a receiving node, depending on the situation. Here, the term "node belonging to the home shard of the receiving account" refers to a node that stores the working shard information of the receiving account, with the home shard of the receiving account as the working shard.

[0115] The inter-shard transaction system can be configured with a module 410 that is operated when the node is a sending node that is the management node of the sending account, a module 420 that is operated when the node is a node belonging to the home shard of the receiving account, and a module 430 that is operated when the node is a receiving node that is the management node of the receiving account.

[0116] The module 410, which is activated when the node is a sending node, includes a receiving account search unit 411 that searches whether the receiving account is included in the accounts belonging to the working shard of the sending account, a home shard calculation unit 412 that calculates the home shard information of the receiving account based on the address information of the receiving account and information on the total number of shards, a working shard information request unit 413 that requests the working shard information of the receiving account from the node to which the home shard of the receiving account belongs, a working shard information receiving unit 414 that receives the working shard information of the receiving account from the node to which the home shard of the receiving account belongs, and a transaction sending unit 415 that requests a transaction from the receiving account.

[0117] The module 420, which is activated when a node is a node belonging to the home shard of a receiving account, includes an account directory management unit 421 that updates and manages the working shard information of the account whose home shard is the working shard of the node, an account directory search unit 422 that searches the working shard of the receiving account in the account directory when the working shard information of the receiving account is requested from any other sending node, and a working shard information transmission unit 423 that transmits the working shard information of the searched receiving account to the sending node.

[0118] The module 430 that is activated when the node is a receiving node includes a transaction receiving unit 431 that receives and processes a requested transaction when a transaction is requested from any other sending node.

[0119] First, the operation of each component of module 410 that is driven when the node is a transmitting node will be described.

[0120] The receiving account search unit 411 searches whether the receiving account is included in the accounts belonging to the working shard of the sending account. If the receiving account is included in the working shard of the sending account, the working shards of the sending account and the receiving account are the same, and such a transaction can be treated as an intra-shard transaction. However, if the receiving account is not included in the working shard of the sending account, the working shards of the sending account and the receiving account are different, and the transaction is treated as an inter-shard transaction.

[0121] In the case of a blockchain network to which the dynamic sharding technique of the present invention is applied, the working shard of each account changes, so the sending account needs to know the working shard information of the receiving account when requesting a transaction from the receiving account. The account directory management unit of the 'node to which the home shard of the receiving account belongs' of the present invention updates and manages the working shard information of the receiving account in the account directory.

[0122] The home shard calculation unit 412 calculates the home shard information of the receiving account using a function with parameters being the address information of the receiving account and the total number of shards in the blockchain network. The home shard of the receiving account may be a shard assigned when the receiving account is initially created, or may be a shard newly created by dividing the initially assigned shard.

[0123] The working shard information request unit 413 generates a working shard information request message requesting working shard information of the receiving account from the "node belonging to the home shard of the receiving account." The sending node sends the working shard information request message to the communication target node based on the intra-shard communication node list 316 and the inter-shard communication node list 318 via peer-to-peer communication, and the node that receives the working shard information request message shares the working shard information request message with its own intra-shard communication node and inter-shard communication node via peer-to-peer communication. In this way, the working shard information request message can be transmitted to the "node belonging to the home shard of the receiving account" via peer-to-peer communication.

[0124] The 'node belonging to the home shard of the receiving account' updates and manages the working shard information of the receiving account. When the 'node belonging to the home shard of the receiving account' receives a working shard information request message, it searches its own account directory to extract the working shard information of the receiving account, creates a receiving account working shard information message, and transmits it to the sending node via inter-shard and intra-shard peer-to-peer communication.

[0125] The working shard of the sending node may be the home shard of the receiving account, in which case the sending node and the "node to which the home shard of the receiving account belongs" may be the same, and module 420 in Figure 4 may be activated. In this case, the procedures for generating, sending, and receiving a working shard information request message may be omitted, and the sending node may search its own account directory to obtain the working shard information of the receiving account.

[0126] The working shard information receiving unit 414 of the sending node receives a receiving account working shard information message from the "node to which the receiving account's home shard belongs" and acquires the working shard information of the receiving account. If the working shard of the sending node is the home shard of the receiving account, i.e., if the sending node and the "node to which the receiving account's home shard belongs" are the same, the procedure for receiving the working shard information message of the receiving account may be omitted.

[0127] In addition, the transaction sending unit 415 of the sending node generates a transaction request message to the receiving account based on the working shard information of the receiving account, and transmits the transaction request message to the receiving node via intra-shard and inter-shard peer-to-peer communication.

[0128] The receiving node receives and processes the transaction request message.

[0129] Next, the operation of each component of module 420, which is activated when the node is a node belonging to the home shard of the receiving account, will be described.

[0130] The account directory management unit 421 updates and manages working shard information for accounts that have the working shard of the node as their home shard. As described above, when the shard rebalancing algorithm is run, the working shards of some nodes may be changed. In this case, both the host account and the guest account managed by the node may move their working shards. In addition, any account may move their working shard for various reasons. When the accounts belonging to a node and the working shards of individual accounts are changed in this way, the node to which the home shard of the account belongs (the node that has the home shard of the account as its working shard) may have the changed working shard information for the account updated.

[0131] When the account directory search unit 422 receives a request message for working shard information of a receiving account from any sending node (here, the sending node may be the sending node itself or another node), it searches the account directory and extracts the working shard information of the receiving account.

[0132] The working shard information transmitting unit 423 generates a receiving account working shard information message including the extracted working shard information of the receiving account and transmits it to the transmitting node via peer-to-peer communication.

[0133] Next, the operation of each component of module 430 that is driven when the node is a receiving node will be described.

[0134] The transaction receiving unit 431 receives a transaction request message from any sending node and processes the transaction.

[0135] FIG. 5 is an operational flowchart illustrating an intershard transaction method according to an embodiment of the present invention.

[0136] The operations of an exemplary process are illustrated as individual blocks and described with reference to these blocks. The process is illustrated as a logical flow of blocks, and each block may represent one or more operations that may be implemented in hardware, software, or a combination thereof. With respect to software, the operations represent computer-executable instructions stored on one or more computer-readable media that, when executed by one or more processors, enable the one or more processors to perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, modules, components, data structures, or operations that perform a particular function or implement a particular abstract data type. The order in which the operations are described should not be construed as limiting, and any number of the described operations may be subdivided into multiple sub-operations or performed in parallel in any order.

[0137] The sending node checks whether the receiving account is in the same working shard (S502). That is, the sending node checks whether the receiving account is included in the accounts belonging to the working shard of the sending account. If the receiving account belongs to the working shard of the sending account, the transaction is processed as an intra-shard transaction. If the receiving account does not belong to the working shard of the sending account, the transaction is processed as an inter-shard transaction of the present invention.

[0138] The sending node calculates the home shard information of the receiving account using a function with the address information of the receiving account and the total number of shards in the blockchain network as parameters (S504).

[0139] The sending node generates a working shard information request message requesting working shard information for the receiving account and sends it to the "node belonging to the home shard of the receiving account" (a node with the home shard of the receiving account as the working shard) (S506). The sending node transmits the working shard information request message to the communication target node based on the intra-shard communication node list and the inter-shard communication node list via peer-to-peer communication, and the nodes that receive the working shard information request message share the working shard information request message with their own intra-shard communication nodes and inter-shard communication nodes via peer-to-peer communication. In this way, the working shard information request message can be transmitted to the "node belonging to the home shard of the receiving account" via peer-to-peer communication.

[0140] The "node belonging to the home shard of the receiving account" updates and manages the working shard information of the receiving account in the account directory (S508).

[0141] The 'node belonging to the home shard of the receiving account' receives a working shard information request message requesting working shard information of the receiving account as a result of step S506 (S510).

[0142] The 'node belonging to the home shard of the receiving account' extracts the information of the receiving account from the received working shard information request message, and searches the account directory based on the extracted information of the receiving account to extract the working shard information of the receiving account (S512).

[0143] The 'node belonging to the home shard of the receiving account' generates and sends a receiving account working shard information message including the working shard information of the receiving account (S514). The 'node belonging to the home shard of the receiving account' transmits the receiving account working shard information message to communication target nodes based on its own intra-shard communication node list and inter-shard communication list via peer-to-peer communication, and the nodes that receive the receiving account working shard information message share the receiving account working shard information message with their own intra-shard communication nodes and inter-shard communication nodes via peer-to-peer communication. In this way, the receiving account working shard information message can be transmitted to the sending node via peer-to-peer communication.

[0144] The sending node receives the receiving account working shard information message as a result of step S514 (S516).

[0145] Having acquired the working shard information of the receiving account, the sending node generates and sends a message (transaction request message) requesting a transaction to the receiving account based on the working shard information of the receiving account (S518). The sending node transmits the transaction request message to its intrashard communication node and intershard communication node via peer-to-peer communication, and the nodes that receive the transaction request message share the transaction request message with their intrashard communication node and intershard communication node via peer-to-peer communication. In this way, the transaction request message can be transmitted to the receiving node via peer-to-peer communication.

[0146] The receiving node performs step S 518 As a result, a transaction request message is received (S520).

[0147] The sending node and the receiving node can complete the transaction process through mutual communication.

[0148] All of the methods and processes described above can be implemented and fully automated in software code modules executed by one or more general-purpose computers or processors. The code modules can be stored on any type of computer-readable storage medium or other computer storage device. Some or all of the methods can be implemented in specialized computer hardware.

[0149] Any routine illustrations, elements, or blocks of the flowcharts described herein and / or shown in the accompanying drawings should be understood to potentially represent code, modules, segments, or portions that include one or more executable instructions for implementing a particular logical function or element. Routines, alternative examples are included within the scope of the examples described herein, and elements or functions may be omitted, executed substantially synchronously or in reverse order from those shown or discussed, in accordance with functionality that may be understood herein.

[0150] Many variations and modifications can be made to the above-described embodiments, and elements thereof should be understood as being among other acceptable examples. All such modifications and variations are intended to be within the scope of this disclosure and protected by the following claims. The above-described embodiments of the present invention may be embodied in the form of program instructions that can be executed by various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be those specially designed and constructed for the present invention, or they may be those well known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include not only machine code, such as produced by a compiler, but also high-level language code that can be executed by a computer using an interpreter, etc. The hardware devices may be configured to operate as one or more software modules to perform the processes of the present invention, and vice versa.

[0151] The present invention has been described above using embodiments and drawings that are limited to specific details such as specific components, but these are provided to facilitate a more comprehensive understanding of the present invention, and the present invention is not limited to the above embodiments. A person having ordinary knowledge in the technical field to which the present invention pertains can make various modifications and variations from such descriptions.

[0152] Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and not only the scope of the claims below, but also all modifications equivalent to or equivalent to the scope of these claims belong to the category of the spirit of the present invention.

Claims

1. In an intershard transaction system in a first node that manages a first sending account that executes a first transaction, The first node A home shard calculation unit that calculates home shard information of the first receiving account based on address information and total shard number information of the first receiving account that executes the first transaction; a working shard information request unit that requests working shard information of the first receiving account from a second node that has the home shard of the first receiving account as a working shard; a working shard information receiving unit that receives working shard information of the first receiving account from the second node; a transaction sending unit that requests the first transaction from a node that manages the first receiving account; An intershard transaction system in a blockchain network, including

2. The first node a receiving account search unit that searches whether the first receiving account is included in accounts belonging to a working shard of the first sending account; The inter-shard transaction system in a blockchain network of claim 1, further comprising:

3. The working shard of the first node is a home shard of a second receiving account that executes a second transaction; The first node an account directory management unit that updates the working shard information of the second receiving account to the latest information and stores the updated information in an account directory; an account directory search unit that searches the account directory for working shard information of the second receiving account when the working shard information of the second receiving account is requested from a third node that manages the second sending account that performs the second transaction; a working shard information transmitting unit that transmits working shard information of the searched second receiving account to the third node; The inter-shard transaction system in a blockchain network of claim 1, further comprising:

4. the first node is a node that manages a third receiving account that executes a third transaction; The first node a transaction receiving unit that receives and processes the requested third transaction when the third transaction is requested from a fourth node that manages a third sending account that executes the third transaction; The inter-shard transaction system in a blockchain network of claim 1, further comprising:

5. The working shard information request unit generates a working shard information request message requesting working shard information of the first receiving account, and transmits the working shard information request message to a communication target node through peer-to-peer communication based on an intra-shard communication node list and an inter-shard communication list, so that the working shard information request message is received by the second node; 2. The inter-shard transaction system of claim 1, wherein the transaction sending unit generates a transaction request message requesting the first transaction from a node managing the first receiving account, and transmits the transaction request message via peer-to-peer communication to communication target nodes based on the intra-shard communication node list and the inter-shard communication list so that the message is received by the node managing the first receiving account.

6. 4. The inter-shard transaction system in a blockchain network described in claim 3, wherein the working shard information sending unit generates a receiving account working shard information message including the working shard information of the second receiving account, and transmits the receiving account working shard information message to a communication target node based on an intra-shard communication node list and an inter-shard communication list via peer-to-peer communication, so that the message is received by the third node.

7. 1. An intershard transaction method implemented by at least one processor in a first node managing a first sending account that executes a first transaction, comprising: The first node Calculating home shard information of the first receiving account based on address information and total shard number information of the first receiving account that executes the first transaction; requesting working shard information of the first receiving account from a second node that has the home shard of the first receiving account as a working shard; receiving working shard information of the first receiving account from the second node; requesting the first transaction from a node managing the first receiving account; An intershard transaction method in a blockchain network, comprising:

8. The first node checks whether the first receiving account is included in accounts belonging to a working shard of the first sending account; The method for inter-shard transactions in a blockchain network according to claim 7, further comprising:

9. The working shard of the first node is a home shard of a second receiving account that executes a second transaction; The first node updates working shard information of the second receiving account to the latest information and stores the updated information in an account directory; searching for working shard information of the second receiving account in the account directory when a third node managing a second sending account that executes the second transaction requests working shard information of the second receiving account; transmitting working shard information of the searched second receiving account to the third node; The method for inter-shard transactions in a blockchain network according to claim 7, further comprising:

10. the first node is a node that manages a third receiving account that executes a third transaction; the first node, when receiving a request for the third transaction from a fourth node managing a third sending account for executing the third transaction, receiving and processing the requested third transaction; The method for inter-shard transactions in a blockchain network according to claim 7, further comprising:

11. The step of requesting working shard information of the first receiving account from a second node having a home shard of the first receiving account as a working shard includes generating a working shard information request message requesting the working shard information of the first receiving account, and transmitting the working shard information request message to a communication target node based on an intra-shard communication node list and an inter-shard communication list through peer-to-peer communication to be received by the second node; 10. The inter-shard transaction method of claim 7, wherein the step of requesting the first transaction from the node managing the first receiving account comprises generating a transaction request message requesting the first transaction from the node managing the first receiving account, and transmitting the transaction request message to a communication target node through peer-to-peer communication based on the intra-shard communication node list and the inter-shard communication list so that the transaction request message is received by the node managing the first receiving account.

12. The step of transmitting the working shard information of the searched second receiving account to the third node includes:

10. The inter-shard transaction method in a blockchain network according to claim 9, further comprising: generating a receiving account working shard information message including working shard information of the second receiving account; transmitting the receiving account working shard information message to a communication target node via peer-to-peer communication based on an intra-shard communication node list and an inter-shard communication list; and allowing the message to be received by the third node.

Citation Information

Patent Citations

  • Splitting the Blockchain Network

    JP2021522702A

  • Method for transmitting message between nodes based on blockcahin sharding

    KR1020200058273A

  • Method and device for blockchain full sharding based on a p2p storage network and a multi-layer architecture

    US20210203477A1

  • Transactional Sharding of Blockchain Transactions

    US20220043831A1