WO2019221377A1 - Système de gestion de transactions basée sur une chaîne de blocs, et procédé de commande associé - Google Patents

Système de gestion de transactions basée sur une chaîne de blocs, et procédé de commande associé Download PDF

Info

Publication number
WO2019221377A1
WO2019221377A1 PCT/KR2019/002991 KR2019002991W WO2019221377A1 WO 2019221377 A1 WO2019221377 A1 WO 2019221377A1 KR 2019002991 W KR2019002991 W KR 2019002991W WO 2019221377 A1 WO2019221377 A1 WO 2019221377A1
Authority
WO
WIPO (PCT)
Prior art keywords
blockchain
data
node
metadata
transaction management
Prior art date
Application number
PCT/KR2019/002991
Other languages
English (en)
Korean (ko)
Inventor
백일우
이재석
모형주
성기운
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Publication of WO2019221377A1 publication Critical patent/WO2019221377A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Definitions

  • the present disclosure relates to a blockchain based transaction management system and a method of operating the same. More specifically, the present invention relates to a blockchain-based transaction management system and a method of operating the system, by reducing the load required for the consensus process of blockchain transactions, thereby improving transaction processing performance.
  • Blockchain is a transaction management system that records continuously increasing data in a specific unit of block, and each blockchain node constituting a peer-to-peer network manages the block as a chain-type data structure. Means technology. Blockchain ensures the integrity and security of transactions through a consensus process where every blockchain node in the network records and verifies every transaction.
  • FIG. 1 shows that the client terminal 1 requests the processing of a transaction 3 (TxWrite) that stores the high capacity data 5, and the other client terminal while the consensus process for the transaction 3 is performed between blockchain nodes.
  • TxWrite a transaction 3
  • TxRead requests processing of transaction 9 (TxRead) for inquiring low-capacity data
  • the high capacity data 5 is propagated through the entire blockchain network, and all blockchain nodes have the same high capacity data 5 on the blockchain. Must be stored. Therefore, a considerable amount of network, storage and computing resources are required while the consensus process is performed, and the processing of transaction 9 may be delayed until the consensus process for transaction 3 is completed.
  • the transaction 9 is a light transaction that inquires a small amount of data, the user may experience a longer lag time, which may greatly reduce the user's satisfaction with the blockchain-based system. .
  • the technical problem to be solved through the embodiments of the present disclosure to reduce the load required for the consensus process of blockchain transactions, to provide a blockchain-based transaction management system and a method of operating the system that improves the transaction processing performance. .
  • a blockchain-based transaction management system includes a first blockchain node sharing a first blockchain through a first channel and a second blockchain through a second channel. It may include a second blockchain node sharing a.
  • the first blockchain and the second blockchain is a blockchain in which data is stored, and the first blockchain node and the second blockchain node share a common blockchain through a common channel, and the common block
  • the chain may be a blockchain in which metadata including storage location information of the data is stored.
  • the first blockchain node receives a transaction requesting storage of first data, stores the first data on the first blockchain in response to the request, and stores the first data.
  • the first metadata may be generated to include storage location information of the first metadata, and the first metadata may be stored in the shared blockchain.
  • the first blockchain node receives a transaction requesting inquiry of first data, obtains first metadata for the first data from the public blockchain in response to the request, The first data may be obtained using storage location information of the first data included in the first metadata.
  • the first blockchain node is included in a first blockchain node group
  • the second blockchain node is included in a second blockchain node group
  • the first blockchain node group is a first blockchain node group.
  • the first group blockchain may be shared through a group channel
  • the second blockchain node group may share a second group blockchain through a second group channel.
  • the first blockchain includes first data
  • the first blockchain node may share the first data with the second blockchain node after a preset time.
  • the first blockchain includes first data, and the first blockchain node shares the first data with the second blockchain node in response to a preset condition being satisfied.
  • the preset condition may be a condition based on at least one of the load of the blockchain node and the available bandwidth of the network.
  • the communication server receives a transaction requesting storage of first data from a client terminal, and in response to the request, the first data on the first blockchain.
  • the first metadata may be generated, the first metadata including the storage location information of the first data, and the first metadata may be stored in the shared blockchain.
  • the communication server receives a transaction from a client terminal, and the received transaction is based on the load information of the first blockchain node and the second blockchain node; It can be forwarded to any one of the blockchain node of the first blockchain node and the second blockchain node.
  • the blockchain-based transaction management method for solving the above technical problem, in a blockchain-based transaction management method performed in a blockchain-based transaction management system comprising a plurality of blockchain nodes Receiving, by a first blockchain node of the plurality of blockchain nodes, a transaction requesting storage of data, wherein the first blockchain node shares the data through a first channel in response to the request; Storing on a first blockchain, wherein the first blockchain node generates metadata for the data, wherein the metadata includes storage location information of the data; and the first block
  • the chain node may store the metadata on a shared blockchain shared via a common channel.
  • the first blockchain may be a blockchain shared by some blockchain nodes of the plurality of blockchain nodes, and the shared blockchain may be a blockchain shared by the plurality of blockchain nodes.
  • the blockchain-based transaction management method for solving the above technical problem, in a blockchain-based transaction management method performed in a blockchain-based transaction management system comprising a plurality of blockchain nodes Receiving, by a first blockchain node of the plurality of blockchain nodes, a transaction requesting an inquiry of data from a client terminal, and by the first blockchain node, a first meta data for the data in response to the request. Acquiring data from a common blockchain, wherein the first metadata includes storage location information of the data; and acquiring, by the first blockchain node, the data using the storage location information. It may include.
  • the shared blockchain may be a blockchain shared by the plurality of blockchain nodes through a shared channel.
  • a computer program for solving the above-described technical problem is combined with a computing device to receive a transaction requesting storage of data, and in response to the request, the data to the first channel.
  • Storing on the first blockchain shared through the data generating metadata for the data, wherein the metadata includes storage location information of the data, and the first blockchain node includes:
  • the metadata may be stored on a computer readable recording medium to carry out the step of storing the metadata on a shared blockchain shared via a shared channel.
  • a computer program for solving the above technical problem is combined with a computing device to receive a transaction requesting inquiry of data from a client terminal, and in response to the request, Obtaining first metadata for the common metadata from the common blockchain, wherein the first metadata includes storage location information of the data; and obtaining the data using the storage location information. It may be stored in a computer-readable recording medium.
  • the execution range of the consensus process may be limited to a specific blockchain node belonging to an individual channel, and the data may be gradually transferred to a blockchain network according to a specific condition (eg inquiry, time lapse, etc.) Can propagate onto Therefore, not only the load required for the consensus process is greatly reduced, but also the system-wide transaction processing performance can be greatly improved.
  • a specific condition eg inquiry, time lapse, etc.
  • 1 is a view for explaining a performance problem caused by the consensus process of the blockchain.
  • FIG. 2 is a block diagram of a blockchain based transaction management system according to some embodiments of the present disclosure.
  • 3 to 5 are diagrams for explaining the channel configuration and operation of the blockchain-based transaction management system according to a first embodiment of the present disclosure.
  • 6 to 8 are diagrams for explaining the channel configuration and operation of the blockchain-based transaction management system according to a second embodiment of the present disclosure.
  • 9 to 12 are diagrams for explaining the channel configuration and operation of the blockchain-based transaction management system according to a third embodiment of the present disclosure.
  • FIG. 13 and 14 illustrate a configuration and operation of a blockchain based transaction management system according to a fourth embodiment of the present disclosure.
  • 15 is a hardware diagram illustrating a blockchain node according to an embodiment of the present disclosure.
  • 16 is a flowchart illustrating a stored transaction processing method according to an embodiment of the present disclosure.
  • 17 and 18 are flowcharts illustrating a query transaction processing method according to an embodiment of the present disclosure.
  • blockchain or blockchain data refers to data held by each blockchain node constituting a blockchain network, and refers to data in which at least one block is composed of a data structure in a chain form.
  • all blockchain nodes maintain the same blockchain data.
  • a blockchain system e.g. hyper leisure fabric
  • only blockchain nodes belonging to the same channel maintain the same blockchain data.
  • a blockchain network refers to a network having a peer-to-peer structure composed of a plurality of blockchain nodes operating according to a blockchain algorithm (or protocol).
  • a blockchain node refers to a computing node constituting a blockchain network and operating according to a blockchain algorithm (or protocol).
  • the computing node may be implemented as a physical device, but may also be implemented as a logical device such as a virtual machine.
  • a plurality of blockchain nodes may be included in one physical device.
  • a transaction or blockchain transaction refers to any action that causes a change of state (eg increase or decrease of balance, transfer of assets) in the blockchain environment, and state data recorded in the blockchain. It can refer to all the actions to be queried or data indicating the actions.
  • the transaction may include storing specific data in the blockchain, inquiring specific data recorded in the blockchain, and the like.
  • transactions related to inquiries may be used interchangeably with terms such as query.
  • the transaction may be executed through a smart contract (accessed to the blockchain through the functions and variables defined in the smart contract, for example), but this may vary depending on the blockchain platform.
  • an instruction is a series of instructions grouped by function, and refers to a component of a computer program and executed by a processor.
  • FIG. 2 is a block diagram of a blockchain-based transaction management system according to some embodiments of the present disclosure.
  • FIG. 2 illustrates common components of a blockchain based transaction management system according to first to third embodiments to be described later.
  • the blockchain-based transaction management system may include a plurality of blockchain nodes 100 constituting the blockchain network 200.
  • this is only a preferred embodiment for achieving the purpose of the present disclosure, of course, some components may be added or deleted as necessary.
  • each component of the blockchain-based transaction management system illustrated in FIG. 2 represents functionally distinct functional elements, and may be implemented in a form in which at least one component is integrated with each other in an actual physical environment. do.
  • the blockchain node 100 is a computing node operating according to a blockchain algorithm (or protocol).
  • the computing node may be implemented as a physical computing device, or may be implemented as a logical computing device such as a virtual machine.
  • the physical computing device may be a laptop, a desktop, a laptop, or the like, but is not limited thereto and may include any type of device having a computing function and a communication function.
  • the blockchain node 100 maintains and manages a blockchain in which the same data is stored through a consensus process. However, in a multi-channel based blockchain environment, only blockchain nodes 100 belonging to the same channel share the same blockchain. According to an embodiment, the channel configuration and operation of the blockchain node 100 may vary, which will be described later with reference to the drawings of FIG. 3. For reference, the fact that the blockchain node 100 shares a blockchain means that each blockchain node 100 maintains a blockchain in which the same data is stored.
  • the blockchain node 100 may be referred to as a transaction requesting the storage of data from the client terminal 300 (hereinafter referred to as a "store transaction") and / or a transaction requesting the inquiry of the data (hereinafter referred to as a "query transaction”). And process the requested transactions.
  • the range of consensus process execution for a storage transaction may be limited to specific blockchain nodes through the channel configuration of the blockchain network 200. That is, data propagation and storage may not be performed over the entire blockchain network 200, but data propagation and storage may be performed only between specific blockchain nodes.
  • the load required for consensus of the storage transaction can be greatly reduced, and a heavy transaction storing a large amount of data can be processed quickly.
  • the problem of delaying the processing of a light transaction such as an inquiry transaction due to storing a large amount of data can be solved, and the overall transaction processing performance of the system can be greatly improved. Detailed description of this embodiment will be described in detail with reference to FIG. 3.
  • the client terminal 300 is a terminal that receives a processing service for a blockchain transaction from the blockchain based transaction management system.
  • the blockchain nodes 100 and / or the blockchain node 100 constituting the blockchain network 200 and the client terminal may communicate with each other via a network.
  • the network may be any type of wired / wireless network such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, a wireless broadband Internet (Wibro), or the like. Can be implemented.
  • FIGS. 3 to 5 are diagrams for explaining the channel configuration and operation of the blockchain-based transaction management system according to a first embodiment of the present disclosure. Specifically, FIG. 3 illustrates a channel configuration of the blockchain-based transaction management system according to the first embodiment, and FIGS. 4 and 5 illustrate processes of storing and inquiry transactions, respectively.
  • each blockchain node N1, N2, N3 constituting the blockchain network 200 processes a transaction through three types of channels.
  • the first channel is the group channel CH_G1.
  • the blockchain nodes N1, N2, and N3 may share the blockchain 13 in which the same data is stored through the group channel CH_G1.
  • a separate group channel CH_G1 may not exist.
  • the group channel means a channel allocated to a blockchain node of a specific group, and the name of the group channel is merely added for convenience to distinguish it from other channels.
  • a blockchain maintained by blockchain nodes through a group channel will be referred to as a "group blockchain”.
  • the second channel is an individual channel CH_N1, CH_N2, CH_N3.
  • Each blockchain node N1, N2, N3 manages the blockchain 11 in which data is stored through separate individual channels CH_N1, CH_N2, CH_N3.
  • FIG. 3 illustrates that one channel CH_N1, CH_N2, CH_N3 is allocated to each blockchain node N1, N2, N3, one individual channel may be allocated to a plurality of blockchain nodes. have.
  • one individual channel may be allocated to the blockchain nodes N1 and N2, and one individual channel may be allocated to the blockchain node N3.
  • the description will be continued on the assumption that individual channels are allocated to each blockchain node for the convenience of understanding.
  • the blockchain maintained through the individual channels will be referred to as "individual blockchain”.
  • the third channel is the shared channel CH_P.
  • the common channel is also merely added for convenience in order to distinguish it from other channels.
  • Each blockchain node N1, N2, N3 manages the blockchain 15 in which the same "metadata" is stored through a separate common channel CH_P.
  • a blockchain node shared by a blockchain node through a common channel will be referred to as a "public blockchain.”
  • the metadata is data including various meta information about data stored in the blockchain, such as data storage location information (e.g. identifier, address, etc. of a node in which specific data is stored).
  • data storage location information e.g. identifier, address, etc. of a node in which specific data is stored.
  • the data displayed on the top of individual channels refers to the data recorded on the individual blockchain, and the data displayed on the right side of the common channel (eg CH_P) or group channel (eg CH_G1). Indicates data recorded on the channel.
  • the process starts from the blockchain node N1 receiving a storage transaction relating to a request for storing data D1 from the client terminal 301 (1).
  • the blockchain node N1 stores the data D1 in its own blockchain.
  • the data D1 is stored only in the individual blockchain of the blockchain node N1, it is not propagated to other blockchain nodes N2 and N3 that do not belong to the individual channel CH_N1. That is, the consensus process for data D1 is not performed throughout the blockchain network 200. Therefore, even a transaction storing a large amount of data can be processed at high speed.
  • the blockchain node N1 generates the metadata M1 including the storage location information of the data D1 and propagates the metadata M1 through the common channel CH_P (2).
  • the storage location information may be, for example, an identifier, an address, etc. of the blockchain node N1, but any form of information may be used if the data D1 can be obtained by accessing the blockchain node N1. It may be fine.
  • the blockchain nodes N2 and N3 store the metadata M1 received through the shared channel on the shared blockchain (3).
  • the aforementioned processes 2 and 3 correspond to a consensus process for the metadata M1, and the consensus process is performed between the entire blockchain nodes N1, N2, and N3 belonging to the shared channel.
  • the metadata M1 is very low volume of data, it can be performed quickly unlike the consensus process for data. That is, since a transaction that stores low-volume data such as metadata M1 is a light transaction, even if a consensus process is performed throughout the blockchain network, it can be processed quickly. Thus, even if a transaction for metadata storage is additionally processed, the overall transaction processing performance of the system can be greatly improved.
  • the process starts when the blockchain node N2 receives an inquiry transaction regarding an inquiry request of data D1 from the client terminal 303 (1).
  • the blockchain node N2 obtains metadata M1 for the data D1 from the shared blockchain.
  • the blockchain node N2 requests the data D1 from the blockchain node N1 by referring to the storage location information of the metadata M1 and obtains the requested data D1 (2).
  • the blockchain node N2 provides the obtained data D1 to the client terminal 303 (3).
  • the blockchain node N2 may store the acquired data D1 in its own blockchain and update the storage location information of the data D1 to generate new metadata M1 ′.
  • the blockchain node N2 may propagate the metadata M1 'through the shared channel CH_P and share the metadata M1' through the shared blockchain (4 and 5). Through this process, data can be gradually propagated on the blockchain network without any overhead while the inquiry transaction is processed.
  • a blockchain node may operate to propagate data stored in its individual blockchain to another blockchain node as a predetermined time elapses. For example, if a certain time elapses from the time when the data D1 is stored on the individual blockchain, the blockchain node N1 may operate to propagate the data D1 to a specific blockchain node (eg N2 or N3). Can be. In this case, the blockchain node N1 may operate to propagate the data D1 to another blockchain node only when the request for the data D1 is not received before the predetermined time elapses. According to this embodiment, since data can be gradually propagated over a blockchain network over time, there is an effect that a consensus process is performed over the entire blockchain network without significant overhead.
  • a specific blockchain node eg N2 or N3
  • the blockchain node may be operable to propagate data stored in the individual blockchain to other blockchain nodes according to conditions other than a certain period of time.
  • the condition may include, for example, a condition based on available resources (e.g. computing resources) of the blockchain node and / or available resources (e.g. available bandwidth) of the blockchain network. More specifically, for example, a blockchain node may transfer certain data to another blockchain node when a condition that processing idle time is maintained for a predetermined time and / or a condition that an available bandwidth of the blockchain network is a certain amount or more is satisfied. Operate to propagate. According to this embodiment, since data is gradually propagated on the blockchain network according to available resources, there is an effect that the consensus process is effectively performed without affecting transaction processing performance.
  • the execution range of the consensus process may be limited to a specific blockchain node belonging to an individual channel, and data may be gradually propagated on the blockchain network according to a specific condition (eg inquiry, time lapse, etc.). . Therefore, not only the load required for the consensus process is greatly reduced, but also the system-wide transaction processing performance can be greatly improved.
  • FIG. 6 illustrates a channel configuration of a blockchain based transaction management system according to the second embodiment.
  • the plurality of blockchain nodes N1 to N6 form different groups 210 and 220, and blockchain nodes belonging to the group 210.
  • N1, N2, and N3 share the group blockchain 23 in which data is stored through the group channel CH_G1.
  • the blockchain nodes N4, N5 and N6 belonging to the group 220 share the group blockchain 27 in which data is stored through the group channel CH_G2.
  • each blockchain node N1 to N6 maintains individual blockchains (eg 21, 29) through separate channels CH_N1 to CH_N6, and metadata through shared channels CH_P. Shares the shared blockchain 25 stored.
  • the process starts with a process (1) in which the blockchain node N1 receives a storage transaction relating to a request for storing data D1 from the client terminal 311. In response to the storage request, the blockchain node N1 stores the data D1 in its own blockchain.
  • the blockchain node N1 generates the metadata M1 including the storage location information of the data D1 and stores the metadata M1 on the shared blockchain through the shared channel CH_P. (2, 3).
  • the common blockchain is a blockchain shared by all blockchain nodes N1 to N6 belonging to the groups 210 and 220.
  • the metadata M1 is stored in the shared blockchain, all blockchain nodes N1 are stored.
  • N6 to N6) can process the inquiry transaction for the data D1.
  • the process starts when the blockchain node N5 belonging to the group 220 receives an inquiry transaction regarding an inquiry request for data D1 from the client terminal 313 (1).
  • the blockchain node N5 obtains metadata M1 for data D1 from the shared blockchain.
  • the blockchain node N2 requests the data D1 from the blockchain node N1 by referring to the storage location information of the metadata M1 and obtains the requested data D1 (2).
  • the blockchain node N2 provides the obtained data D1 to the client terminal 313 (3).
  • the blockchain node N5 may store the acquired data D1 in its own blockchain and update the storage location information of the data D1 to generate new metadata M1 ′.
  • the blockchain node N5 may propagate the metadata M1 'through the common channel CH_P and share the metadata M1' through the shared blockchain (4 and 5). Through this process, while the inquiry transaction is processed, data can be gradually propagated on the blockchain network without additional overhead, and a consensus process is performed between blockchain nodes belonging to different groups 210 and 220. It is effective.
  • FIG. 9 illustrates a channel configuration of a blockchain based transaction management system according to the third embodiment.
  • blockchain nodes N3 and N4 belonging to different groups 230 and 240 may have separate bridge channels CH_B1.
  • the blockchain nodes N3 and N4 may not share the blockchain 36 through the bridge channel CH_B1.
  • the bridge channel CH_B1 is in charge of only a kind of communication channel.
  • the bridge channel means a channel allocated between specific blockchain nodes, and the bridge channel is merely added for convenience in order to distinguish it from other channels.
  • a blockchain maintained by blockchain nodes through a bridge channel will be referred to as a "bridge blockchain”.
  • the plurality of blockchain nodes N1 to N6 form different groups 230 and 240, and the blockchain nodes N1, N2 and N3 belonging to the group 230 are groups.
  • the group blockchain 32 in which data is stored is shared through the channel CH_G1.
  • the blockchain nodes N4, N5, and N6 belonging to the group 240 also share the group blockchain 34 in which data is stored through the group channel CH_G2.
  • each blockchain node N1 to N6 maintains individual blockchains (eg 31 and 35) through separate channels CH_N1 to CH_N6, and the shared blockchain 33 in which metadata is stored through shared channels CH_P. Share)
  • a process of processing a stored transaction in the blockchain based transaction management system according to the third embodiment will be described with reference to FIGS. 10 and 11.
  • the overall storage transaction processing procedure of the third embodiment is similar to the second embodiment described above. However, in the second embodiment, there is a difference in that data and / or metadata are propagated through the bridge channel CH_B1.
  • the blockchain node N3 receives a storage transaction relating to a storage request for data D1 from the client terminal 321, and in response to the storage request, the data ( The metadata M1 for D1) may be generated, and the metadata M1 may be quickly propagated to the blockchain node N4 through the bridge channel CH_B1 (3).
  • the blockchain node N3 may propagate data D1 and metadata M1 to the blockchain node N4 through the bridge channel CH_B1 ( 3).
  • the storage location information of the metadata M1 may include not only the blockchain node N3 but also the location information of the blockchain node N4.
  • the blockchain node N4 receiving the data D1 updates the storage location information of the data D1 to generate the metadata M1 ', and stores the metadata M1' on the shared blockchain. It may work in a way. According to this example, data sharing between different groups can be quickly performed through the bridge channel CH_B1 without requiring additional overhead for the consensus process.
  • the bridge nodes e.g. N3 and N4 connected to the bridge channel CH_B1 may be set by the administrator or may be set automatically.
  • a blockchain node having the best performance (e.g. computing performance, storage performance, etc.) within a specific group (e.g. 230, 240) may be automatically selected as a bridge node.
  • two blockchain nodes with the largest network bandwidth may be automatically selected as nodes as bridges.
  • the process starts when the blockchain node N4 belonging to the group 240 receives an inquiry transaction related to an inquiry request for data D1 from the client terminal 323 (1).
  • the blockchain node N4 obtains the metadata M1 for the data D1 from the common blockchain.
  • the blockchain node N4 requests the data D1 from the blockchain node N3 with reference to the storage location information of the metadata M1 and obtains the requested data D1 (2).
  • the blockchain node N4 may quickly acquire data D1 from the blockchain node N3 belonging to another group using the bridge channel CH_B1.
  • the blockchain node N4 provides the obtained data D1 to the client terminal 323 (3).
  • the blockchain node N4 may store the acquired data D1 in its own blockchain and update the storage location information of the data D1 to generate new metadata M1 ′.
  • the blockchain node N4 may propagate the metadata M1 'through the common channel CH_P and share the metadata M1' through the shared blockchain (4 and 5). Through this process, while the inquiry transaction is processed, data can be gradually propagated on the blockchain network without additional overhead, and a consensus process is performed between blockchain nodes belonging to different groups 230 and 240. It is effective.
  • FIG. 13 is a block diagram of a blockchain based transaction management system according to a fourth embodiment of the present disclosure.
  • the blockchain based transaction management system may be configured to further include a communication server 400.
  • each component of the blockchain-based transaction management system illustrated in FIG. 13 represents functionally distinct functional elements, and may be implemented in a form in which at least one component is integrated with each other in an actual physical environment. do.
  • the communication server 400 and the at least one blockchain node 100 may be implemented in different logic within the same physical computing device. In this case, it can be understood that the specific blockchain node 100 performs the function of the communication server 400 to be described later.
  • the communication server 400 is a computing device that processes a transaction received from the client terminal 300 in cooperation with the blockchain node 100.
  • the computing device may be a laptop, a desktop, a laptop, and the like, but is not limited thereto and may include all kinds of devices equipped with a computing function and a communication function.
  • the communication server 400 may perform a transaction distribution function. For example, the communication server 400 may distribute a requested transaction from the client terminal 300 to an appropriate blockchain node based on load information of the blockchain nodes 100. According to the present embodiment, load balancing is dynamically performed between the blockchain nodes 100 constituting the blockchain network 200.
  • the communication server 400 may perform the metadata generation function of the blockchain node 100 instead.
  • the communication server 400 may receive a storage transaction relating to a data storage request and allow the data to be stored in an individual blockchain of a specific blockchain node in response to the storage request.
  • the communication server 400 may generate metadata about the data and store the generated metadata in a common blockchain.
  • the communication server 400 may determine the execution range of the consensus process based on the size of the data. If the data is very low, such as metadata, there is no need to limit the scope of the consensus process. Specifically, when the size of the data is less than or equal to the threshold value, the communication server 400 may allow the data to be stored on an individual blockchain of a specific blockchain node. Conversely, if the size of the data is less than the threshold value, the communication server 400 may allow the data to be propagated between the entire blockchain network 200 or blockchain nodes within a specific group.
  • FIG. 13 illustrates that one communication server 400 is disposed with respect to the entire blockchain node 100, but a plurality of communication servers 400 may be arranged according to an embodiment.
  • communication servers 401 and 403 may be arranged for each group 250 and 260, and each communication server 401 and 403 may correspond to a smooth transaction processing service. The above-described operation may be performed in cooperation with the groups 250 and 260.
  • the process of processing the stored transaction and the inquiry transaction is similar to the above-described embodiments, and a description thereof will be omitted.
  • 15 is a hardware diagram illustrating a blockchain node 100 according to an embodiment of the present disclosure.
  • the blockchain node 100 may include one or more processors 110, a bus 150, a network interface 170, and a memory 130 that loads a computer program executed by the processor 110. And a storage 190 for storing the blockchain-based transaction management software 191.
  • FIG. 15 illustrates only the components related to the embodiment of the present disclosure. Accordingly, it will be appreciated by those skilled in the art that the present disclosure may further include other general purpose components in addition to the components illustrated in FIG. 15.
  • the processor 110 controls the overall operation of each component of the blockchain node 100.
  • the processor 110 is configured to include a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphics processing unit (GPU), or any type of processor well known in the art. Can be.
  • the processor 110 may perform operations on at least one application or program for executing a method according to embodiments of the present disclosure.
  • the blockchain node 100 may have one or more processors.
  • the memory 130 stores various data, commands, and / or information.
  • the memory 130 may load one or more programs 191 from the storage 190 to perform an operation according to some embodiments of the present disclosure described above.
  • RAM is illustrated as an example of the memory 130.
  • the bus 150 provides a communication function between components of the blockchain node 100.
  • the bus 150 may be implemented as various types of buses such as an address bus, a data bus, and a control bus.
  • the network interface 170 supports wired / wireless internet communication of the blockchain node 100.
  • the network interface 170 may support various communication methods other than Internet communication.
  • the network interface 170 may comprise a communication module well known in the art.
  • the storage 190 may non-temporarily store the one or more programs 191.
  • blockchain based transaction management software 191 is shown as an example of the one or more programs 191.
  • Storage 190 is well known in the art, such as non-volatile memory, hard disks, removable disks, or the like to which the present disclosure belongs, such as Read Only Memory (ROM), Eraseable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), flash memory, and the like. It may comprise any known type of computer readable recording medium.
  • ROM Read Only Memory
  • EPROM Eraseable Programmable ROM
  • EEPROM Electrically Erasable Programmable ROM
  • flash memory and the like. It may comprise any known type of computer readable recording medium.
  • the blockchain based transaction management software 191 includes instructions that, when loaded into the memory 130, cause the processor 110 to perform operations in accordance with some embodiments of the present disclosure described above. can do.
  • the blockchain based transaction management software 191 may receive a transaction requesting storage of data, and store the data on a first blockchain shared through a first channel in response to the request. Generating metadata for the data, wherein the metadata includes storage location information of the data and storing the metadata on a shared blockchain shared through a shared channel. Instructions may be included.
  • the first blockchain may be a blockchain shared by some blockchain nodes of a plurality of blockchain nodes, and the shared blockchain may be a blockchain shared by a plurality of blockchain nodes.
  • the blockchain based transaction management software 191 may receive a transaction requesting an inquiry of data from a client terminal, and obtain first metadata for the data from the public blockchain in response to the request.
  • the first metadata may include instructions for performing the operation of acquiring the data using the storage location information and the operation including the storage location information of the data.
  • the shared blockchain may be a blockchain shared by a plurality of blockchain nodes through a common channel.
  • each step of the blockchain based transaction management method may be performed by a computing device.
  • the computing device may be a blockchain node 100.
  • the description of the operation subject of each step included in the blockchain-based transaction management method may be omitted.
  • each step of the blockchain based transaction management method may be implemented with instructions executed by a processor of the computing device when loaded into the memory of the computing device.
  • a blockchain based transaction management method includes a method of processing a stored transaction and a method of processing an inquiry transaction.
  • a method of processing the stored transaction will be described with reference to FIG. 16, and a method of processing the inquiry transaction will be described with reference to FIGS. 17 and 18.
  • 16 is a flowchart illustrating a stored transaction processing method according to an embodiment of the present disclosure. However, this is only a preferred embodiment for achieving the purpose of the present disclosure, it is a matter of course that some steps can be added or deleted as necessary.
  • the storage transaction processing method starts from the step in which the blockchain node 100 receives a storage transaction requesting storage of data (S110).
  • step S130 the blockchain node 100 stores the requested data on a separate blockchain shared through a separate channel.
  • individual blockchains are shared only between a single blockchain node or some blockchain nodes, even if data is stored in individual blockchains, a consensus process is not performed across the blockchain network. Therefore, even if the data is a large amount of data, the processing of the stored transaction can be completed quickly, and the transaction processing performance of the entire system can be greatly improved.
  • step S150 the blockchain node 100 generates metadata including storage location information of the corresponding data.
  • step S170 the blockchain node 100 stores the metadata generated on the shared blockchain shared through the shared channel.
  • the shared blockchain is a blockchain that is maintained between the majority of blockchain nodes. Therefore, in order for metadata to be stored, a consensus process must be performed throughout the blockchain network. However, since the metadata is a very small amount of data, even if a consensus process is performed throughout the blockchain network, processing of the transaction can be completed within a short time.
  • FIG. 17 is a flowchart illustrating a query transaction processing method according to an embodiment of the present disclosure.
  • this is only a preferred embodiment for achieving the purpose of the present disclosure, it is a matter of course that some steps can be added or deleted as necessary.
  • the inquiry transaction processing method starts from the step in which the blockchain node 100 receives an inquiry transaction requesting inquiry of data from a client terminal (S210). If there is no data requested to be searched in the individual blockchain of the blockchain node 100, the following steps S220 to S270 may be performed.
  • step S220 the blockchain node 100 obtains metadata about the data requested for inquiry from the shared blockchain shared through the shared channel. As described above, the storage location of the data is recorded in the metadata.
  • step S230 the blockchain node 100 requests data from the blockchain node indicated by the storage location information included in the metadata, and obtains the requested data.
  • step S240 the blockchain node 100 provides the obtained data to the client terminal.
  • the blockchain node 100 may further perform the steps (S250 to S270) shown in FIG. This is to allow data to be gradually propagated on the blockchain network without any additional overhead.
  • step S250 the blockchain node 100 stores data obtained through step S230 on an individual blockchain shared through an individual channel.
  • step S260 the blockchain node 100 updates the storage location information to generate new metadata for the obtained data. For example, metadata whose storage location of the obtained data is updated to the blockchain node 100 may be generated in this step S260.
  • step S270 the blockchain node 100 stores the generated metadata on a shared blockchain shared through a shared channel. Therefore, after the step S270, the inquiry transaction of the data may also be processed by the blockchain node 100, which may cause an effect of distributing the transaction processing load among the blockchain nodes.
  • the blockchain based transaction processing method has been described with reference to FIGS. 16 to 18.
  • the consensus process execution scope for the storage transaction is limited to specific blockchain nodes, and the data can be gradually propagated on the blockchain network after the transaction is processed.
  • the load required for consensus of the storage transaction can be greatly reduced, and a heavy transaction storing a large amount of data can be processed quickly.
  • the problem of delaying the processing of a light transaction such as an inquiry transaction due to storing a large amount of data can be solved, and the overall transaction processing performance of the system can be greatly improved.
  • the technical concept of the present disclosure described above with reference to FIGS. 2 to 18 may be implemented in computer readable code on a computer readable medium.
  • the computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer equipped hard disk). Can be.
  • the computer program recorded on the computer-readable recording medium may be transmitted to another computing device and installed in the other computing device through a network such as the Internet, thereby being used in the other computing device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

L'invention concerne un système de gestion de transactions basée sur une chaîne de blocs, pour améliorer les performances de traitement de transactions. Un système de gestion de transactions basé sur une chaîne de blocs comprend : un premier nœud de chaîne de blocs pour partager une première chaîne de blocs via un premier canal pour une gestion de transactions basée sur une chaîne de blocs ; et un second nœud de chaîne de blocs pour partager une seconde chaîne de blocs via un second canal. La première chaîne de blocs et la seconde chaîne de blocs sont des chaînes de blocs dans lesquelles des données sont stockées. Le premier nœud de chaîne de blocs et le second nœud de chaîne de blocs partagent une chaîne de blocs publique via un canal partagé. La chaîne de blocs publique peut être une chaîne de blocs dans laquelle des métadonnées comprenant les informations de position de stockage des données sont stockées.
PCT/KR2019/002991 2018-05-18 2019-03-14 Système de gestion de transactions basée sur une chaîne de blocs, et procédé de commande associé WO2019221377A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0057157 2018-05-18
KR1020180057157A KR20190132009A (ko) 2018-05-18 2018-05-18 블록체인 기반 트랜잭션 관리 시스템 및 그 동작 방법

Publications (1)

Publication Number Publication Date
WO2019221377A1 true WO2019221377A1 (fr) 2019-11-21

Family

ID=68540517

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/002991 WO2019221377A1 (fr) 2018-05-18 2019-03-14 Système de gestion de transactions basée sur une chaîne de blocs, et procédé de commande associé

Country Status (2)

Country Link
KR (1) KR20190132009A (fr)
WO (1) WO2019221377A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102209852B1 (ko) * 2020-02-12 2021-01-29 현수영 호환 가능한 블록체인 네트워크 간의 트랜잭션 전송 중계 방법
KR102431379B1 (ko) * 2020-10-30 2022-08-10 주식회사 블록오디세이 모바일 블록체인 네트워크 플랫폼 제공 방법, 모바일 디바이스 및 기록매체
KR102554445B1 (ko) * 2022-09-07 2023-07-11 주식회사 브로넥스 블록체인 네트워크 기반 마이크로 서비스 아키텍처를 이용한 공정관리 시스템
KR102532319B1 (ko) * 2022-11-24 2023-05-17 주식회사 글로벌에이치알코리아 블록체인을 이용한 클라우드 가상머신 기반 다중 채널 노드 운용 방법 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120631B1 (en) * 2001-12-21 2006-10-10 Emc Corporation File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator
US20110151839A1 (en) * 2009-12-18 2011-06-23 Trueposition, Inc. Location Intelligence Management System
US20170213209A1 (en) * 2016-01-21 2017-07-27 International Business Machines Corporation Enterprise blockchains and transactional systems
US20170228371A1 (en) * 2016-02-05 2017-08-10 Manifold Technology, Inc. Blockchain-enhanced database
US20170230189A1 (en) * 2016-02-04 2017-08-10 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using a distributed computing systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101950912B1 (ko) 2016-08-01 2019-02-21 서강대학교산학협력단 블록체인 기반 트랜잭션 검증 시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120631B1 (en) * 2001-12-21 2006-10-10 Emc Corporation File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator
US20110151839A1 (en) * 2009-12-18 2011-06-23 Trueposition, Inc. Location Intelligence Management System
US20170213209A1 (en) * 2016-01-21 2017-07-27 International Business Machines Corporation Enterprise blockchains and transactional systems
US20170230189A1 (en) * 2016-02-04 2017-08-10 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using a distributed computing systems
US20170228371A1 (en) * 2016-02-05 2017-08-10 Manifold Technology, Inc. Blockchain-enhanced database

Also Published As

Publication number Publication date
KR20190132009A (ko) 2019-11-27

Similar Documents

Publication Publication Date Title
WO2019221377A1 (fr) Système de gestion de transactions basée sur une chaîne de blocs, et procédé de commande associé
WO2012111905A2 (fr) Dispositif et procédé de commande de cluster de mémoire distribuée utilisant mapreduce
WO2014042415A1 (fr) Système et procédé de service de stockage distribué intelligent
EP3252608B1 (fr) Système de noeud, dispositif de serveur, procédé de commande de mise à l'echelle et programme
CN103620578B (zh) 经由网络分割的本地云计算
WO2014032262A1 (fr) Procédé et système d'implémentation pour migration d'application entre des plateformes
WO2020022760A1 (fr) Système de réseau distribué pour groupe fonctionnel pour des noeuds contenus dans un système
RU2653292C2 (ru) Перенос служб через границы кластеров
WO2016064158A1 (fr) Processeur reconfigurable et procédé d'exploitation associé
WO2014142553A1 (fr) Appareil de commutation de réseau d'interconnexion capable d'attribuer de façon dynamique des ressources conformément à une charge de travail, et procédé associé
WO2018076889A1 (fr) Procédé de sauvegarde de données, dispositif, système, support de stockage et serveur
WO2018076868A1 (fr) Procédé, dispositif et système de synchronisation de données, support de stockage et serveur
WO2021034024A1 (fr) Appareil électronique et son procédé de commande
WO2017179537A1 (fr) Dispositif de commande de mise à jour de logiciel, système de commande de mise à jour de logiciel, procédé de commande de mise à jour de logiciel et support d'enregistrement sur lequel est stocké un programme de commande de mise à jour de logiciel
WO2021118125A1 (fr) Dispositif de construction de conteneur sécurisé et procédé exécutable par application android, et support d'enregistrement lisible par ordinateur sur lequel un programme de cette application est enregistré
WO2020138605A1 (fr) Procédé d'attribution de ressources de fonction de réseau virtualisée basée grappe reflétant des caractéristiques d'utilisateur
WO2020186791A1 (fr) Procédé de transmission de données, appareil, dispositif, et support d'enregistrement
WO2014181970A1 (fr) Procede et appareil de gestion de donnees d'application de terminal portable
WO2020114184A1 (fr) Procédé, appareil et dispositif de modélisation conjointe, et support de stockage lisible par ordinateur
WO2015102372A1 (fr) Appareil et procédé pour la virtualisation d'une interface réseau
WO2020162715A1 (fr) Dispositif électronique, support d'informations et procédé de planification de processus
WO2018124331A1 (fr) Système de traitement graphique et procédé de fonctionnement d'un système de traitement graphique
WO2019240400A1 (fr) Procédé et dispositif d'attribution d'une ressource dans un environnement virtualisé
JP2011108014A (ja) 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
WO2010093084A1 (fr) Procédé et système de réalisation d'un environnement de programmation distribué mettant en oeuvre des espaces distribués, et support d'enregistrement lisible par ordinateur

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: 19803538

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19803538

Country of ref document: EP

Kind code of ref document: A1