WO2024090906A1 - Système et procédé de génération de compte dans un réseau de chaîne de blocs - Google Patents
Système et procédé de génération de compte dans un réseau de chaîne de blocs Download PDFInfo
- Publication number
- WO2024090906A1 WO2024090906A1 PCT/KR2023/016340 KR2023016340W WO2024090906A1 WO 2024090906 A1 WO2024090906 A1 WO 2024090906A1 KR 2023016340 W KR2023016340 W KR 2023016340W WO 2024090906 A1 WO2024090906 A1 WO 2024090906A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- shard
- account
- working
- new account
- node
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000008859 change Effects 0.000 claims description 37
- 238000012790 confirmation Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 44
- 238000012508 change request Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 241000544061 Cuculus canorus Species 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1042—Peer-to-peer [P2P] networks using topology management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present invention relates to a system and method for creating an account in a blockchain network, and more specifically, to a system and method for creating a new account in a blockchain network applying dynamic sharding technology.
- Blockchain is a decentralized, distributed transaction management technology that emerged to break away from the centralized method in which existing centralized institutions store transaction details in a single point.
- Blockchain is a distributed ledger system in a P2P (Peer-to-Peer) communication network where all participants own a shared ledger determined through a consensus algorithm, making forgery and alteration of records impossible.
- P2P Peer-to-Peer
- a distributed ledger system is a system in which each node synchronizes and maintains a database called the ledger in a distributed environment without the control of a central administrator.
- a sharding method has been used to distribute multiple nodes into multiple shards (shard groups) and split multiple transactions into each distributed shard to process them in parallel.
- Sharding divides transactions and blocks that occur in a blockchain network into small groups of shards, so the nodes in each shard only process the transactions and blocks of the shard they belong to without having to process transactions and blocks of other shards, thus processing the entire network. It is a method of reducing transaction throughput and the size of the distributed ledger.
- a verification committee that includes multiple nodes basically verifies blocks through the consensus of the majority of the committee, and blocks that do not reach consensus are excluded from selection and separated from the chain.
- the account user can belong to the desired shard by repeating account creation until the account user belongs to the desired shard. If multiple malicious new accounts are concentrated in one random shard, the risk of attack increases. There is.
- the purpose of the present invention is to meet the above-mentioned needs and to provide a system and method for creating new accounts while blocking the possibility of attacks by malicious new accounts in a blockchain network to which dynamic sharding technology is applied.
- the present invention can be implemented in various ways, including a device (system), a method, a computer program stored in a computer-readable medium, or a computer-readable medium on which the computer program is stored.
- the account creation system in the nodes constituting the blockchain network is a new system that creates an account-specific transaction chain for a new account and creates an account directory to record the working shard history information of the new account.
- Account creation module; and a working shard reassignment module that selects new accounts as targets for working shard reassignment and disqualifies new accounts from being elected as proposer nodes and committee nodes.
- the working shard reassignment module ensures that the new account's eligibility for election as a proposer node and committee node is restored after the new account's working shard reassignment.
- the vote count of the new account is set to 0 so that the new account is disqualified from being elected as a proposer node and committee node.
- the account creation system uses an account address creation module that generates the address of the new account using the encryption key of the new account, and a function that uses the address of the new account and the total number of shards as parameters to initialize the new account. It further includes an initial shard confirmation module that verifies the shard address.
- the initial shard of the new account is both the home shard and the working shard of the new account.
- the account creation system further includes a working shard change module that changes the working shard of the new account from the initial shard to the reassigned working shard.
- the working shard change module disables the account-specific transaction chain of the new account created in the initial shard and changes the working shard information of the new account recorded in the account directory of the initial shard from the initial shard to the reassigned working shard.
- the working shard change module records the transaction chain of the new account in the node belonging to the reassigned working shard.
- an account creation method implemented by at least one processor in a node constituting a blockchain network creates an account-specific transaction chain for a new account and records working shard history information of the new account. Creating an account directory to: and selecting the new account as a target for working shard reassignment and disqualifying the new account from being elected as a proposer node and committee node.
- the account creation method further includes a step of restoring the new account's eligibility for election as a proposer node and a committee node after reassigning the new account's working shard.
- the vote count of the new account is set to 0 so that the new account is disqualified from being elected as a proposer node and committee node.
- the account creation method includes generating the address of the new account using the encryption key of the new account, and generating the initial shard address of the new account using a function that uses the address of the new account and the total number of shards as parameters. It further includes a confirmation step.
- the initial shard of the new account is both the home shard and the working shard of the new account.
- the account creation method further includes changing the working shard of the new account from the initial shard to the reassigned working shard.
- the step of changing the working shard of the new account from the initial shard to the reassigned working shard is to deactivate the account-specific transaction chain of the new account created in the initial shard and change the new account recorded in the account directory of the initial shard. It includes the step of changing the working shard information from the initial shard to the reassigned working shard.
- the step of changing the working shard of the new account from the initial shard to the reassigned working shard includes recording the transaction chain of the new account in the reassigned working shard.
- the present invention divides the blockchain network into shards to process transactions and blocks, thereby reducing transaction throughput and the size of the distributed ledger, thereby increasing the scalability of the blockchain network.
- the present invention introduces the concept of home shard and working shard, and when a random new account is created, the home shard and working shard are the same, but by randomly reallocating the new account's working shard after creating a new account, a malicious new account can be created randomly. It can be prevented from being concentrated on one shard.
- the present invention prevents the new account from being elected as a proposer node and a committee node in the epoch in which a new account is created, and restores the new account's eligibility to be elected as a proposer node and a committee node after the working shard of the new account is reallocated. By doing so, attacks by malicious new accounts can be prevented.
- Figure 1 is a conceptual diagram of a blockchain network divided into three shards of the present invention.
- Figure 2 is a block diagram showing an exemplary configuration of a node including the account creation system of the present invention.
- Figure 3 is a diagram showing information stored in the data storage of a node in the blockchain network of the present invention.
- Figure 4 is a configuration diagram showing an account creation system in a new node according to an embodiment of the present invention.
- Figure 5 is a configuration diagram illustrating an account creation system in a node belonging to an initial shard according to an embodiment of the present invention.
- Figure 6 is a configuration diagram showing a working shard change module according to an embodiment of the present invention.
- Figure 7 is an operational flowchart showing a method for creating an account in a blockchain network according to an embodiment of the present invention.
- the term “technique” may refer to a system, method, computer-readable instructions, module, algorithm, hardware logic, and/or operation as permitted by the context described above and throughout the document.
- terms such as 'comprise', 'comprising', etc. may indicate the presence of features, steps, operations, elements and/or components, but may indicate that such terms include one or more other functions, This does not preclude the addition of steps, operations, elements, components and/or combinations thereof.
- a specific component when referred to as being 'coupled', 'combinated', 'connected', 'connected', or 'reacting' to any other component, the specific component is directly bound to the other component. , may be combined, connected and/or associated, or react, but is not limited thereto. For example, one or more intermediate components may exist between a particular component and another component. Additionally, in the present invention, “and/or” may include each of one or more listed items or a combination of at least a portion of one or more items.
- 'first' and 'second' are used to distinguish specific components from other components, and the above-described components are not limited by these terms.
- a 'first' component may be used to refer to an element of the same or similar form as the 'second' component.
- a 'blockchain network' is a collection of several computers (nodes) that participate in a blockchain system and communicate peer-to-peer with each other through the Internet, etc.
- a 'node' may be a computer participating in a blockchain network.
- a computer encompasses all devices with CPU, memory, communication, and input/output functions, and may specifically include server computers, personal computers (PCs), mobile phone terminals, and small home appliances.
- Nodes can share and spread information through the blockchain network.
- a node manages at least one user account. Accounts managed by a node may include the node owner's account (hereinafter referred to as a host account) and an account entrusted with management by another user (hereinafter referred to as a guest account).
- a node stores all information about the host accounts and guest accounts it manages and transmits it to other nodes on the blockchain network, and can receive the latest information about the host accounts and guest accounts managed by each node from other nodes. You can.
- 'account' refers to a user account participating in a blockchain and may be a data structure representing one user.
- 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 that a user adds to the system.
- An account can own a node and directly manage its own transaction information, and this account can be called a host account.
- the account can entrust transaction information to another user's node for management, and such an account can be called a guest account, and the node entrusted with account management can be called a entrusted node.
- the identity of the node and account can be verified using an encryption key, and transactions can be signed with the same encryption key.
- a guest account can operate a node on its own and become a host account or change the entrusted node.
- a host account can also select a entrusted node and become a guest account.
- a 'transaction' is a unit of information added to the blockchain, and can be issued independently by one account.
- the content of a transaction is nominally random information provided by the user, but may actually be a meaningful message within the system.
- a transaction may include messages such as 'Account A sent 100 coins to account B', 'Account B received 100 coins from account A', etc.
- the serial number of the transaction starts from 0. It is a positive integer that increases by 1 for each transaction, and the technology for Account-Wise Transaction Chain (AWTC), which manages the ledger for each account, is used in the present invention. It can be understood by referring to the contents described in Republic of Korea Patent Publication No. 2021-0015196, for which the applicant applied for a patent.
- AWTC Account-Wise Transaction Chain
- a 'block' may be a signed list of transactions added to a shard or blockchain network during a specific period of time.
- Blocks can be created by signing the list of generated transactions through a consensus algorithm. Only one block can be created at a time, and a blockchain can be formed by adding new blocks to the existing block list.
- a 'shard' may be a collection of nodes participating in a blockchain network.
- the entire blockchain network is generally divided into two or more shards, and if it is not divided, all nodes participate in one shard, and each shard has a unique address.
- a blockchain network that applies the sharding technique performs peer-to-peer communication between nodes belonging to the same shard, and shares the account-specific transaction chain (AWTC) of all accounts belonging to the same shard.
- AWTC account-specific transaction chain
- every account can have one working shard and one home shard.
- the working shard and home shard of any account may be the same or different.
- the 'home shard' of an account can be calculated based on a function that uses the address of the account and the total number of shards as parameters.
- the 'working shard' of an account is a shard to which the account currently operates and may be a typical shard.
- shards communicate peer-to-peer with each other between the same nodes, and the ledger of all accounts belonging to the same shard is shared.
- working shards communicate peer-to-peer with each other between the same nodes, and the account-specific transaction chain (AWTC) of all accounts belonging to the same working shard can be shared. Even if the home shards of any two nodes are the same, if the working shards of the two nodes are different, the account-specific transaction chain (AWTC) is not shared.
- 'peer-to-peer communication' in blockchain networks and shards means that when a random node receives some information, it copies the received information and transmits it to other nodes, and the received node also copies the information to other nodes. This may mean that all nodes belonging to the blockchain network and shard share the information after a sufficient period of time by repeating the process of transmitting to the nodes.
- 'round' may be a unit of time of the sum.
- a transaction that occurred and was shared in a previous round can be the subject of agreement in the current round.
- the account-specific transaction chain may be a chain connecting transaction blocks generated for each account. Transaction blocks occurring in any one round are shared by all nodes included in the same working shard, and the account-specific transaction chain (AWTC) can be shared by all nodes within the same working shard.
- Each working shard can select at least one proposer node and at least two committee nodes every round.
- the proposer node can generate a round state block (hereinafter referred to as RS block) by collecting all transaction blocks generated during one round within the working shard.
- Commitment nodes can vote and agree on RS blocks proposed by proposer nodes, and the agreed-upon RS blocks can be connected to the Round State Chain.
- the proposer node and the committee node may be randomly selected based on the vote count of nodes belonging to the same working shard. The vote count can be assigned considering the proposer activity history, voting participation history, node participation period, etc.
- node's vote count is greater than 0, there is a possibility of being elected as a proposer node and a committee node, and the node's votes If the count is 0, there is no possibility of being elected as a proposer node or committal node.
- Nodes and accounts may have their working shards reassigned periodically. When reallocating working shards, the existing working shard can be maintained or changed to another working shard. When changing the working shard of a node, the host account and guest account managed by the node can change the working shard at the same time.
- Figure 1 is a conceptual diagram of a blockchain network divided into three shards of the present invention.
- the multiple nodes that make up the blockchain network can be divided into three shards (110, 120, and 130), but it is not limited to this.
- the number of shards can increase as the number of nodes and accounts that make up the blockchain network increases, and in this case, one shard can be split into two.
- Each shard (110, 120, 130) may be a working shard of nodes currently belonging to the shard. Currently, all nodes belonging to a working shard can share the same information.
- Each node has an intra-shard communication node list that stores information on P2P communication targets (intra-shard communication nodes) among nodes within the working shard, and an inter-shard that stores information on peer-to-peer communication targets (inter-shard communication nodes) among nodes outside the working shard. May include a communication node list.
- the intra-shard communication node that is the communication target within the working shard of each node can be determined according to kademlia rules.
- the inter-shard communication node that is the communication target can be randomly determined to be some of the nodes belonging to neighboring shards.
- 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 can be randomly reconfigured.
- nodes 111, 121, and 131 that communicate with nodes within the working shard are indicated as unhatched circles, and nodes 112, 122, and 132 that communicate with nodes other than the working shard are hatched. It is indicated by a circular shape.
- Nodes 112, 122, and 132 that communicate with nodes other than the working shard can communicate with nodes belonging to neighboring shards based on the inter-shard communication node list.
- the neighboring shard may be a shard whose bit distance of the shard address is 1.
- a bit distance of 1 may mean that the shard address differs by only one bit value. That is, an address with a bit distance from address '00' of 1 may include '01' and '10'.
- the first shard 130 is The addresses of (110) and the second shard (120) are '00' and '01', respectively, with a bit distance of 1, and the addresses of the first shard (110) and the third shard (130) are '00' and '01', respectively.
- the bit distance is 10', but the addresses of the second shard 110 and the third shard 130 are '01' and '10', respectively, and the bit distance is not 1 because the two place values are different.
- the first shard 110 and the second shard 120 are neighboring shards
- the first shard 110 and the third shard 130 are neighboring shards and can communicate directly.
- the second shard 120 and the third shard 130 cannot communicate directly because they are not neighboring shards, and can communicate through the first shard 110, which is a neighboring shard.
- Each node in Figure 1 includes a shard rebalancing algorithm, and the shard rebalancing algorithm can be executed according to preset conditions.
- the shard rebalancing algorithm may use the Bounded Cuckoo algorithm, but is not limited to this.
- the Bounded Cuckoo algorithm is described in detail in the RapidChain introduction material (see RapidChain: Scaling Blockchain via Full Sharding, https :/ eprint . iacr . org /2018/460. pdf ).
- the present invention calculates the health index of the shards based on the Bounded Cuckoo algorithm, classifies them into strong shards and weak shards, and periodically extracts some nodes at random from the strong shards to determine the weak shards. It can be moved to .
- nodes to change working shards are randomly selected, and the working shards of the nodes may be reallocated and changed.
- the node can perform the working shard change procedure for all host accounts and guest accounts it manages.
- nodes can also perform individual working shard change procedures for host accounts and guest accounts they manage. For example, if a guest account that the node manages changes the entrusted node, and the changed entrusted node belongs to a different working shard, the node can perform the working shard change procedure for the guest account. Alternatively, when a third account managed by a node belonging to another working shard is newly entrusted to be managed, the working shard change procedure for the third account can be performed.
- FIG. 2 is a block diagram showing an exemplary configuration of a node 200 including the account creation system of the present invention.
- Each node may be implemented as a computer device.
- the various devices and/or components of node 200 may include distributed computer resources 250 that can communicate with each other and external devices over one or more networks 260.
- distributed computer resources 250 may include devices 250(1) - 250(N).
- Embodiments of the present invention allow distributed computer resources 250 to operate in a cluster or other grouped configuration, which may include one or more computer devices to share resources, distribute load, increase performance, or for other purposes. Supports scenarios.
- Distributed computer resources 250 may fall into various categories, such as traditional server-like devices, desktop computer-like devices, mobile devices, special-purpose devices, embedded devices, and/or wearable devices. Accordingly, although illustrated as desktop and laptop computers, distributed computer resources 250 may include a variety of device types and are not limited to a particular type of device. Distributed computer resources 250 may include desktop computers, server computers, web server computers, personal computers, mobile computers, laptop computers, tablet computers, wearable computers, implantable computers, communication devices, automotive computers, network-enabled televisions, thin clients, and terminals. , may be an integrated component for inclusion in a PDA, game console, gaming device, workstation, media player, personal video recorder (PVR), set-top box, camera, or computer device.
- PDA personal video recorder
- Node 200 may be a single computer device that is a distributed computer resource 250.
- Node 200 may include any type of computer device having one or more processing units 202 operably coupled to a computer readable media (CRM) 204 via bus 240; , and in some cases may include one or more of these.
- These buses 240 may include system buses, data buses, address buses, PCI buses, mini PCI buses, and various local, peripheral, and/or independent buses.
- processing unit 202 may be, for example, a CPU-type processing unit, a GPU-type processing unit, a field programmable gate array (FPGA), a digital signal processor (DSP), or other hardware that may be driven by a CPU. It may include a processing unit 202 representing logic components.
- FPGA field programmable gate array
- DSP digital signal processor
- these hardware logic components include application-specific integrated circuits (ASICs), application-specific standard products (ASPs), system-on-a-chip (SOC) systems, and complex programmable logic devices (CPLDs). It can be included.
- the CRM 204 may include an external CPU-type processing unit 206, an external GPU-type processing unit 208, and/or an FPGA-type accelerator 210(1), a DSP-type accelerator 210(2), or other accelerator. Commands executable by the external accelerator 210, such as (210(N)), can be stored.
- CRM 204 described herein may include computer storage media and/or communication media.
- Computer storage media refers to types of memory, such as volatile memory, non-volatile memory, and/or other permanent or secondary 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. storage units, and may include removable and non-removable computer storage media.
- Computer storage media includes RAM, static RAM (SRAM), dynamic RAM (DRAM), phase-change memory (PRAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), and electrically erasable programmable read-only memory. It may be memory (EEPROM), flash memory, DVD, optical storage media, magnetic cassette, magnetic tape, solid state memory (SSD), etc.
- 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.
- the functionality described herein may be performed, at least in part, by one or more hardware logic components, such as an accelerator.
- example types of hardware logic components include Field-programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application-Specific Standard Products (ASSPs), and System-on-a chip systems. (SOC), Complex Programmable Logic Device (CPLD), etc.
- the accelerator could be a hybrid device from XILINX or ALTERA that includes a CPU embedded in an FPGA fabric.
- CRM 204 may also include data store 212.
- data store 212 may include a data store, such as a database, data warehouse, or other type of structured or unstructured data store.
- data store 212 may contain one or more hypertext markup language (HTML) tables, resource description framework (RDF) tables, Web Ontology Language (OWL) tables, and/or Extensible Markup (XML) tables. It may include a corpus and/or relational database with one or more tables, indexes, stored procedures, etc. that enable data access, such as web tables containing Language) tables.
- HTML hypertext markup language
- RDF resource description framework
- OWL Web Ontology Language
- XML Extensible Markup
- data store 212 may store data and/or instructions for the operation of processes, applications, components and/or modules stored in CRM 204 and executed by processing unit 202.
- the node 200 may further include one or more input/output (I/O) interfaces 216, where the node 200 can connect peripheral input devices (e.g. For example, it can communicate with user input devices, including 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.). It may be an I/O interface 216 that allows communication with an input/output device.
- I/O interface 216 that allows communication with an input/output device.
- node 200 may be a node in a blockchain network and one or more input/output (I/O) networks that enable node 200 to communicate with other nodes in the blockchain network via network 260. It may further include an interface 218.
- I/O input/output
- 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.
- NICs network interface controllers
- Network 260 may include a public network such as the Internet, a private network such as an institutional and/or private intranet, or some combination of private and public networks.
- 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, and a WiMax network. It 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. there is.
- IP Internet Protocol
- TCP Transmission Control Protocol
- UDP User Datagram Protocol
- network 260 may include a number of devices that facilitate network communications or form the hardware infrastructure for the network, such as switches, routers, gateways, access points, firewalls, base stations, repeaters, and backbone devices.
- network 260 may further include devices that enable connection to a wireless network, such as a wireless access point (WAP).
- WAP wireless access point
- Embodiments according to the present invention include WAPs that support the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard (e.g., 802.11g, 802.11n, etc.) via various electromagnetic frequencies (e.g., radio frequencies). It can support connection through WAP for sending and receiving data.
- IEEE Institute of Electrical and Electronics Engineers
- CRM 204 may include an operating system 220 and an account creation system 222.
- Account creation system 222 may include one or more modules and/or APIs shown as blocks 224, 226, 228, 230, and 232, but these are examples only and the number may be more or less. .
- the functions described with respect to each block 224, 226, 228, 230 and 232 can be combined to be performed by fewer modules and/or APIs or by more modules and/or APIs. It can be divided and performed by.
- some or all of the operating system, data stored in the data store, and the transaction system of the account may be implemented in memory 214 on processing unit 202, memory 234(1) on CPU-like processing unit 206, or GPU.
- the account creation system 222 may include an account address creation module 224, an initial shard confirmation module 226, a new account creation module 228, a working shard reassignment module 230, and a working shard change module 232. You can.
- the account address creation module 224 runs on the new node that manages the new account and generates the address of the new account.
- the address of the new account can be generated based on the new account's encryption key.
- the new node can generate the address of the new account based on the encryption key of the new account, or create the address of the new account by including additional information in the encryption key.
- the initial shard confirmation module 226 runs on the new node and verifies the initial shard address of the new account based on the address of the new account and the total number of shards that make up the blockchain network.
- the initial shard can be both the home shard and the working shard for the new account.
- the initial shard confirmation module 226 can calculate the home shard information of the new account using a function that uses the address information of the new account and the total number of shards as parameters, and can determine this home shard as the initial shard.
- the new node belongs to the initial shard and can request the creation of a new account from the nodes that have the initial shard as a working shard.
- the new account creation module 228 can be executed on nodes that have the initial shard of the new account as a working shard (hereinafter, nodes belonging to the initial shard). Nodes belonging to the initial shard may include new nodes. Nodes belonging to the initial shard create an account-specific transaction chain (AWTC) for the new account and create an account directory to record the working shard history information of the new account.
- AWTC account-specific transaction chain
- the working shard reassignment module 230 selects a new account as a target for working shard reassignment, disqualifies the new account from being elected as a proposer node and committee node, and causes the new account's working shard to be reassigned.
- the new account's eligibility to be elected as a proposer node and committee node is restored.
- the reassigned working shard is randomly assigned, and the reassigned working shard may be the same as the initial shard.
- the working shard change module 232 changes the working shard of the new account from the initial shard to the reassigned working shard if the reassigned working shard of the new account is not the same as the initial shard.
- Figure 3 is a diagram showing information stored in the data storage 300 of a node in the blockchain network of the present invention.
- the account-specific transaction chain (AWTC) (302, 304, 306, 308) of all accounts belonging to the node's working shard, and the working shard history of accounts that have the node's working shard as their home shard.
- AWTC account-specific transaction chain
- An account directory 310 that stores information
- a round state chain 312 that combines account-specific transactions of all accounts belonging to the working shard and stores the round state block agreed upon among all nodes belonging to the working shard as a chain
- a block World Round State Chain (314) which combines all Round State blocks belonging to the chain network and stores the agreed upon World Round State blocks as a chain
- Intra-Shard Communication Node List (316) which stores communication target node information within the node's working shard.
- an inter-shard communication node list 318 that stores communication target node information other than the node's working shard may be stored.
- the account directory 310 stores working shard history information of accounts that have the node's working shard as the home shard.
- each node manages only one account, that is, the host account. Therefore, in this example, node may have the same concept as account.
- the account directories of node 121 and node 122 with the second shard 120 as the working shard the first shard 110 information is stored as working shard information of the node 111 management account. Meanwhile, in the example of FIG.
- the node is registered in the account directories of node 131 and node 132 with the third shard as the working shard.
- the first shard (110) information is stored as the working shard information of the management account.
- new accounts can be changed by reassigning working shards.
- the working shard change module of the present invention is run, and the reassigned working shard information can be updated in the account directory of the node belonging to the initial shard of the new account.
- Figure 4 is a configuration diagram illustrating an account creation system 400 in a new node according to an embodiment of the present invention.
- the account creation system 400 may be implemented by a node's computer system, and the account creation system 400 of FIG. 4 may be the account creation system 222 of FIG. 2 .
- the account creation system 400 running on the new node of the present invention includes an account address creation module 402 that generates the address of the new account, and the address of the initial shard of the new account based on the address of the new account and the total number of shards.
- An initial shard confirmation module 404 that checks, a new account creation module 406 that creates an account-specific transaction chain for the new account and an account directory to record the working shard history information of the new account, and a new account. It may include a working shard reassignment module 408 that reallocates the working shards.
- the account creation system 400 running on the new node may further include a working shard change module 410 that changes the working shard of the new account to a reassigned working shard.
- Figure 5 is a configuration diagram illustrating an account creation system 500 in an initial shard belonging node according to an embodiment of the present invention.
- a node belonging to an initial shard may refer to a node that has the initial shard of a new account as a working shard.
- the account creation system 500 which runs on the node belonging to the initial shard of the present invention, includes a new account creation module 502 that creates an account-specific transaction chain for the new account and creates an account directory to record the working shard history information of the new account. ), and a working shard reassignment module 504 that reallocates the working shards of the new account. Additionally, the account creation system 500 running on the node belonging to the initial shard may further include a working shard change module 506 that changes the working shard of the new account to a reassigned working shard.
- the account address creation module 402 of the new node may generate the address of the new account based on the encryption key of the new account, or may generate the address of the new account by further including additional information in the encryption key.
- the address of the new account may be a hash value containing an encryption key.
- the initial shard confirmation module 404 of the new node can check the address of the initial shard based on the address of the new account and the total number of shards that make up the blockchain network.
- the initial shard can be both the home shard and the working shard for the new account.
- the initial shard confirmation module 404 can calculate the home shard address of the new account using a function that uses the address information of the new account and the total number of shards in the blockchain network as parameters, and this home shard may be the initial shard. there is. In other words, the home shard of a new account may be the first working shard.
- the new node can request the creation of a new account from the node belonging to the initial shard.
- the new account creation modules 406 and 502 can be executed on nodes belonging to the initial shard.
- the initial shard is both the home shard and the working shard for the new account, and may include a new node that manages the new account.
- the new account creation module 406, 502 creates an account-specific transaction chain (AWTC) for the new account.
- AWTC account-specific transaction chain
- the new account creation modules 406 and 502 create an account directory to record the working shard history information of the new account.
- the working shard reassignment modules 408 and 504 select a new account as a target for working shard reassignment, disqualifies the new account from being elected as a proposer node and committee node, and causes the new account's working shard to be reassigned in the next round. .
- the nodes belonging to the reassigned working shard, including the new node are eligible to be elected as the new account's proposer node and committee node.
- the reassigned working shard may be the same as the initial shard or may be different.
- the working shard reassignment modules 408 and 504 can set the vote count of the new node and new account to 0 so that the new account is disqualified from being elected as a proposer node and committee node, and after reassigning the working shard, the new node and By restoring the new account's vote count to a non-zero value, the new account's eligibility for election as a proposer node and committee node can be restored.
- the working shard change modules 410 and 506 change the new account's working shard from the initial shard to the reassigned working shard if the new account's reassigned working shard and the initial shard are not the same.
- the transaction chain for each account of the new account created in the initial shard is deactivated, the transaction chain for each account for the new account is recorded in the reassigned working shard, and the initial shard
- This may mean that the reassigned working shard information is recorded as the current working shard information of the new account in the account directory (home shard of the new account).
- the nodes that have the initial shard as the working shard nodes belonging to the initial shard
- the nodes that have the reassigned working shard as the working shard (reassigned working shard affiliated nodes) can perform different working shard change operations to change the new account's working shard from the initial shard to the reassigned working shard.
- FIG. 6 is a configuration diagram showing a working shard change module according to an embodiment of the present invention.
- the working shard change module can be implemented by the computer systems of the nodes belonging to the initial shard and the nodes belonging to the reassigned working shard.
- the working shard change module of the node 610 belonging to the initial shard changes the working shard of the new account to the working shard change detection unit 612, which detects whether the working shard of the new account is changed, and the node 630 belonging to the reassigned working shard.
- a working shard change request transmitter 614 that requests a working shard information change request, a working shard information change request receiver 616 that receives a working shard information change request from a reassignment working shard member node 630, and an account directory after verifying the working shard information change request. It includes an account directory update unit 618 that changes the current working shard information of the new account to the reassigned working shard, and a new account deactivation processing unit 620 that deactivates the transaction chain of the new account.
- the working shard change module of the reassigned working shard member node 630 is a working shard change request receiver 632 that receives the new account's working shard change request from the initial shard member node 610, and the new account's working shard change request. It includes an account management unit 634 that records the transaction chain of the new account after verification, and a working shard information change request transmission unit 636 that sends a working shard information change request to the node 610 belonging to the initial shard.
- Each node that makes up the blockchain network includes a peer-to-peer communication module, not shown, and the peer-to-peer communication module communicates to the working shard based on the intra-shard communication node list and the inter-shard communication node list for random messages generated within the working shard. Messages can be delivered to other nodes and nodes other than the working shard through peer-to-peer communication.
- the peer-to-peer communication module can receive and process messages generated by the node itself or messages shared from other nodes, or share them with other nodes. This message sharing can be done across multiple nodes, but for convenience, the message sharing procedure will be omitted.
- the working shard change detection unit 612 of the initial shard belonging node 610 detects that the working shard of the new account is changed from the initial shard to the reassigned working shard, and the working shard change request transmitter 614 detects the working shard of the new account.
- a change message can be created and sent to the node 630 belonging to the reassignment working shard through the peer-to-peer communication module.
- the working shard change request receiver 632 of the node 630 belonging to the reassignment working shard receives and verifies the working shard change message of the new account, and the account management unit 634 can record the transaction chain (AWTC) of the new account. .
- the working shard information change request transmitter 636 may send a new account's working shard information change request message to the node 610 belonging to the initial shard through peer-to-peer communication.
- the working shard information change request receiver 616 of the initial shard belonging node 610 receives and verifies the new account's working shard information change request message, and the account directory update unit 618 receives the new account's working shard information stored in the account directory. Update information from the initial shard to the reassigned working shard. Then, the new account deactivation processing unit 620 deactivates the transaction chain (AWTC) of the new account and ends the working shard change procedure for the new account.
- AWTC transaction chain
- Figure 7 is an operational flowchart showing a method for creating an account in a blockchain network according to an embodiment of the present invention.
- a process is depicted as a logical flow of blocks, each block representing one or more operations that may be implemented in hardware, software, or a combination thereof.
- operations represent computer-executable instructions stored on one or more computer-readable media that, when executed by one or more processors, enable one or more processors to perform the recited operations.
- computer executable instructions include routines, programs, objects, modules, components, data structures, things that perform a particular function or implement a particular abstract data type.
- the order in which operations are described should not be construed as limiting, and the number of operations described may be performed in any order, subdivided into multiple sub-operations, or executed in parallel.
- the new node may generate the address of the new account based on the encryption key of the new account, or may generate the address of the new account by including additional information in the encryption key (S702).
- the new node can be confirmed by calculating the address of the new account's home shard and initial shard using a function that uses the address of the new account and the total number of shards that make up the blockchain network as parameters (S704).
- Nodes belonging to the initial shard including the new node can create a new account by creating an account-specific transaction chain (AWTC) for the new account and creating an account directory to record the working shard history information of the new account (S706 ).
- AWTC account-specific transaction chain
- the node belonging to the initial shard selects the new account as the target for working shard reallocation, so that the new account loses its eligibility to be elected as a proposer node and committee node, and the new account's working shard is reallocated in the next round (S708).
- Nodes belonging to the initial shard and nodes belonging to the reassigned working shard can change the working shard of the new account from the initial shard to the reassigned working shard (S710).
- a node belonging to the initial shard updates the new account's working shard information stored in the account directory from the initial shard to the reassigned working shard and deactivates the new account's transaction chain (AWTC), and the node belonging to the reassigned working shard updates the new account's transaction chain (AWTC). ), the change procedure can be completed.
- the nodes belonging to the reassigned working shard can have their election eligibility as the proposer node and committee node of the new account restored (S712).
- Embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium.
- a computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination.
- Program instructions recorded on a computer-readable recording medium may be specially designed and configured for the present invention or may be known and usable by those skilled in the computer software field.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, etc.
- Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device may be configured to operate as one or more software modules to perform processing according to the invention and vice versa.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
La présente invention concerne un système et un procédé de génération d'un nouveau compte dans un réseau de chaîne de blocs adoptant une technologie de fragmentation dynamique. Selon un mode de réalisation de la présente invention, un système de génération d'un compte dans un nœud constituant un réseau de chaîne de blocs comprend : un nouveau module de génération de compte qui génère une chaîne de transaction spécifique à un compte pour un nouveau compte et génère un répertoire de compte pour enregistrer des informations d'historique de fragments de travail du nouveau compte ; et un module de réattribution de fragment de travail qui sélectionne un nouveau compte en tant qu'objet pour une réattribution de fragment de travail et empêche, par disqualification, ce nouveau compte d'être élu en tant que nœud proposant et nœud de comité.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220137977A KR20240057605A (ko) | 2022-10-25 | 2022-10-25 | 블록체인 네트워크에서 어카운트 생성 시스템 및 방법 |
KR10-2022-0137977 | 2022-10-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024090906A1 true WO2024090906A1 (fr) | 2024-05-02 |
Family
ID=90831189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/016340 WO2024090906A1 (fr) | 2022-10-25 | 2023-10-20 | Système et procédé de génération de compte dans un réseau de chaîne de blocs |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240057605A (fr) |
WO (1) | WO2024090906A1 (fr) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160037761A (ko) * | 2014-09-18 | 2016-04-06 | 앰플리데이터 엔.브이. | 동적 샤딩을 위한 컴퓨터 구현 방법 |
KR20190067581A (ko) * | 2017-12-07 | 2019-06-17 | 한국전자통신연구원 | 블록체인 트랜잭션 분산 처리 장치 및 방법 |
KR102162763B1 (ko) * | 2019-05-31 | 2020-10-07 | 넷마블 주식회사 | 계정 이동 방법 |
KR20210003212A (ko) * | 2018-04-27 | 2021-01-11 | 엔체인 홀딩스 리미티드 | 블록체인 네트워크를 분할하는 것 |
-
2022
- 2022-10-25 KR KR1020220137977A patent/KR20240057605A/ko not_active Application Discontinuation
-
2023
- 2023-10-20 WO PCT/KR2023/016340 patent/WO2024090906A1/fr unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160037761A (ko) * | 2014-09-18 | 2016-04-06 | 앰플리데이터 엔.브이. | 동적 샤딩을 위한 컴퓨터 구현 방법 |
KR20190067581A (ko) * | 2017-12-07 | 2019-06-17 | 한국전자통신연구원 | 블록체인 트랜잭션 분산 처리 장치 및 방법 |
KR20210003212A (ko) * | 2018-04-27 | 2021-01-11 | 엔체인 홀딩스 리미티드 | 블록체인 네트워크를 분할하는 것 |
KR102162763B1 (ko) * | 2019-05-31 | 2020-10-07 | 넷마블 주식회사 | 계정 이동 방법 |
Non-Patent Citations (1)
Title |
---|
BAEK DONG HWAN: "Adaptive Load Balancing Algorithm of Ethereum Shard Using Bargaining Solution", KIPS TRANSACTIONS ON COMPUTER AND COMMUNICATION SYSTEMS, vol. 10, no. 4, 1 April 2021 (2021-04-01), pages 93 - 100, XP093163901, DOI: 10.3745/KTCCS.2021.10.4.93 * |
Also Published As
Publication number | Publication date |
---|---|
KR20240057605A (ko) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102433285B1 (ko) | 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치 | |
WO2020022760A1 (fr) | Système de réseau distribué pour groupe fonctionnel pour des noeuds contenus dans un système | |
JP3963417B2 (ja) | データ同期処理のための通信方法および電子機器 | |
US10491628B2 (en) | Attack observation apparatus and attack observation method | |
US9185165B1 (en) | Data replicating systems and data replicating methods | |
US6425014B1 (en) | Methods, systems and computer program products for providing network connection information in a cluster of data processing systems | |
CN111526015A (zh) | 数据采集上链方法、装置、设备和存储介质 | |
WO2019231185A1 (fr) | Procédé permettant de calculer un paramètre de fiabilité entre des nœuds dans un réseau sans fil, et procédé et dispositif permettant de configurer un chemin de routage à l'aide d'un paramètre de fiabilité | |
WO2023234526A1 (fr) | Système et procédé de transaction inter-fragment dans un réseau de chaîne de blocs | |
US11356448B1 (en) | Device and method for tracking unique device and user network access across multiple security appliances | |
CN110324415B (zh) | 一种对等网络的路由实现方法、装置、设备和介质 | |
WO2024090906A1 (fr) | Système et procédé de génération de compte dans un réseau de chaîne de blocs | |
US12041443B2 (en) | Integrity for mobile network data storage | |
WO2024063400A1 (fr) | Système et procédé de changement de répertoire de compte dans un réseau de chaîne de blocs | |
WO2023149660A1 (fr) | Procédé et système d'apprentissage fédéré basé sur une signature de groupe, et support d'enregistrement pour la mise en œuvre de ceux-ci | |
JP2016515343A (ja) | マルチリング高信頼メッセージングシステム | |
US20090094599A1 (en) | System and method for optimized targeting in a large scale system | |
WO2024096420A1 (fr) | Système et procédé de distribution de nœuds dans un réseau de chaîne de blocs | |
WO2024039129A1 (fr) | Système et procédé de fragmentation dynamique dans un réseau à chaîne de blocs | |
WO2024058489A1 (fr) | Système et procédé de consensus de chaîne de blocs | |
WO2023243881A1 (fr) | Système et procédé permettant de changer la partition de travail d'un compte dans un réseau de chaîne de blocs | |
US20070100647A1 (en) | Eligibility list management in a distributed group membership system | |
WO2024014718A1 (fr) | Système de transaction entre fragments et procédé permettant d'effectuer une vérification dans un réseau de chaîne de blocs | |
WO2023121001A1 (fr) | Dispositif et procédé de propagation de message basés sur la confiance | |
Liu et al. | Domain Name Service Mechanism Based on Master-Slave Chain. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23883012 Country of ref document: EP Kind code of ref document: A1 |