The present invention relates to a system and method for sharing data among heterogeneous block chain networks.
A block chain refers to a distribution ledger technology that shares transactional details among participants of a block chain network by recording them in a ledger. The sharing of transactional information (data) among the members of the block chain network can be easily verified through the distributed ledger, but it is not easy to share the data among heterogeneous block chain networks.
Conventionally, in order to share data among heterogeneous block chain networks, a separate block chain network (for example, a side chain) was used. It is because the block chain networks participating in data sharing cannot trust each other. However, in that case, an additional block chain network is necessary, and thus it was not efficient in the aspect of the cost and process.
Moreover, conventionally, a method that each of a plurality of heterogeneous block chain networks records transactional information was used. However, in this case, since the same operation must be executed redundantly, it was also not efficient in the aspect of process.
The present invention has the task of solving the problems as above in data sharing among heterogeneous block chain networks.
According to one embodiment of the present invention for achieving the technical tasks mentioned above, a system for sharing data among a plurality of block chain networks comprises a first router comprising a first routing table and connected to a first block chain network; a second router comprising a second routing table and connected to a second block chain network; a participation request reception unit for receiving a participation request for sharing data with the first block chain network from the second block chain network; an approval reception unit for receiving an approval message that approves the participation request from the first block chain network, when the first block chain network approves the participation request, and a routing table management unit for creating an update message based on the participation request and the approval message and for transmitting the update message to the first router and the second router, when the approval reception unit receives the approval message from the first block chain network, wherein the first router and the second router transmits and receives data with each other, and the first router updates the first routing table based on the update message, and converts the data received from the second router into the form of the first block chain network based on the updated first routing table, and the second router updates the second routing table based on the update message, and converts the data received from the first router into the form of the second block chain network based on the updated second routing table.
The participation request may comprise at least any one among the form of the second block chain network, the network ID of the second router, the network address of the second router, the certificate of the second router, and the channel name of the second router.
The approval message may further comprise at least any one among the form of the first block chain network, the network ID of the first router, the network address of the first router, the certificate of the first router, and the channel name of the first router.
The routing table management unit may, when it receives a cessation request for ceasing the participation for sharing data from the second block chain network, creates a deletion message based on the cessation request, and transmits the deletion message to the first router and the second router, wherein the first router updates the updated first routing table based on the deletion message, and the second router updates the updated second routing table based on the deletion message.
The first router and the second router transmit and receive meta data with each other, and the meta data may comprise at least any one among information of a transmission side router, information of a reception side router, information of a transmission side block chain network, and information of a reception side block chain network.
According to another embodiment of the present invention, a method for sharing data among a plurality of block chain networks by the system for sharing data comprises a step of the participation request reception unit receiving a participation request for sharing data with the first block chain network from the second block chain network; a step of the approval reception unit receiving an approval message that approves the participation request from the first block chain network, when the first block chain network approves the participation request; a step of the routing table management unit creating an update message based on the participation request and the approval message when the approval reception unit receives the approval message from the first block chain network, a step of the routing table management unit transmitting the update message to the first router and the second router; and a step of the first router updating the first routing table based on the update message and converting the data received from the second router into the form of the first block chain network based on the updated first routing table, and the second router updating the second routing table based on the update message and converting the data received from the first router into the form of the second block chain network based on the updated second routing table.
According to one embodiment, the method may further comprise, a step of the routing table management unit receiving a cessation request for ceasing the participation for sharing data from the second block chain network; a step of the routing table management unit creating a deletion message based on the cessation request; a step of the routing table management unit transmitting the deletion message to the first router and the second router; and a step of the first router updating the updated first routing table based on the deletion message, and the second router updating the updated second routing table based on the deletion message.
As to the method for sharing data, the participation request may comprise at least any one among the form of the second block chain network, the network ID of the second router, the network address of the second router, the certificate of the second router, and the channel name of the second router.
Moreover, the approval message may further comprise at least any one among the form of the first block chain network, the network ID of the first router, the network address of the first router, the certificate of the first router, and the channel name of the first router.
Moreover, the first router and the second router transmit and receive meta data with each other, and the meta data may comprise at least any one among information of a transmission side router, information of a reception side router, information of a transmission side block chain network, and information of a reception side block chain network.
A computer readable storage medium recording a program for executing the method according to another embodiment of the present invention.
According to the present invention above, without a separate block chain network, sharing of data among heterogeneous block chain networks can be easily and efficiently done.
Hereinafter, preferable embodiments of the present invention will be explained in more detail with reference to the attached drawings, as follows. The advantages and features of the present invention, and the method for achieving those will be clear with reference to the examples to be explained hereinafter in detail together with the drawings attached. However, the embodiments of the present invention can be carried out in various forms and the present invention shall not be construed as being limited to the embodiments described in this text. The present embodiments are provided for the full disclosure of the present invention, for a skilled person in the art to fully understand the scope of the invention, and the present invention shall be determined by the scope of the claims. Throughout the specification, the identical reference numerals refer to identical features.
Unless defined otherwise, all terms used here, including the technical or scientific terms, mean the same as understood by a skilled person in the art to which the present invention pertains. Generally used terms, such as terms defined in a dictionary, shall be construed as having the same meaning in the context of the related technology, and unless otherwise defined explicitly in the present application, they shall not be construed as having ideal or excessively formal meaning.
The terminology used in the present application is used for the purposes of explaining a specific embodiment only, and it is not intended to limit the present invention. Singular expressions shall include the plural expressions unless expressly meant otherwise in context. In the present application, it shall be understood that the terms such as “comprise” or “have” etc., are intended to indicate the presence of the described feature, number, step, action, component, part or a combination thereof, and do not exclude the presence or possibility of addition of one or more of other features or numbers, steps, actions, components, parts or combinations thereof.
Unless defined otherwise in the present specification, “connected” or “linked” may include the description that one element/feature is directly connected or linked to another element/feature, or indirectly connected or linked with another element/feature in between, and does not essentially mean only the description that an element/feature is immediately connected or linked. Accordingly, the various mimetic diagrams shown in the drawings show the exemplary arrays of elements and components, but additional arbitrary elements, devices, features or components may exist in actual worked form (assuming that the function of elements shown are not adversely affected).
Moreover, in the present specification, “transmitting” or “receiving” may include, not only directly transmitting or receiving information between the transmitter and the receiver, but also, unless mentioned otherwise, transmitting or receiving information with another entity in between.
Moreover, unless defined otherwise in the present specification, expressions such as “a first,” “a second” and “a third” are merely used as terms to distinguish objects that can be referred to differently from each other for explanation of the invention, and are not essentially stipulating the order. Moreover, even if objects are referred to by categorization of “a first” and “a second,” they can be identical depending on the description of the object referred.
In the present invention, a block chain may be a public block chain, a private block chain, or a consortium block chain, etc. A block chain according to one embodiment of the present invention may have the characteristics explained below, but is not limited thereto, and a known block chain may be used.
According to one embodiment, each of the blocks constituting the block chain of the present invention is linked in a form of a Hash Chain. That is, nth block stores a hash value of n-1th block. Accordingly, a change in information of any one block leads to a change in the hash value of the corresponding block that is calculated from the corresponding block, and because this leads to a change in description of the next block, this essentially leads to a change in information of all blocks from the corresponding block and thereafter. Here, the hash value can be calculated by a hash function converting data of any size into data having a predetermined size.
In the present invention, a block chain may be implemented in a known block chain network other than explained above, and it may be an external network separate from a system 100 for sharing data, but may be implemented in a manner of sharing at least some nodes or devices with the system 100 for sharing data as necessary.
Hereinafter, with reference to the drawings, a system for sharing data according to embodiments of the present invention and a method thereof are explained.
In
A first router is connected to a first block chain network, and comprises a first routing table. At this time, as in
A second router is connected to a second block chain network, and comprises a second routing table. At this time, as in
A routing table is a table used in routing, and may comprise information for a router participating in data sharing and information for a block chain network corresponding to each router. For example, the routing table may comprise information such as the identification of each router, the form of each block chain network, the ID of each block chain network and the channel name of each block chain network.
Each of routers has a routing table, and the routing table which a first router has is referred to as a first router, and the routing table which a second router has is referred to as a second router.
The form of a first block chain network and the form of a second block chain network may be different from each other. At this time, the two block chain networks are called a heterogeneous block chain network. As forms of a block chain network, representatively, there are Bitcoin, Etherium, Ripple, Eos, Tron, Ada and Hyperledger, etc.
A participation request reception unit 110 receives a participation request for sharing data from a block chain network which wishes to participate in data sharing. In one embodiment, for a second block chain network to share data with a first block chain network, a participation request reception unit 110 may receive a participation request from a second block chain network. In one embodiment, a node constituting a second block chain network may transmit a participation request to the participation request reception unit 110, and at this time, it may transmit the participation request through a second router.
At this time, the participation request may comprise at least any one among the form of the block chain network which wishes to participate in data sharing, the network ID of the router corresponding to the block chain network which wishes to participate in data sharing, the network address, the certificate and the channel name. As explained above, where a second block chain network wishes to share data with a first block chain network, the participation request which the second block chain network transmits to the participation request reception unit 110 may comprise at least one among the form of the second block chain network, the network ID of the second router, the network address of the second router, the certificate of the second router and the channel name of the second router.
An approval receipt unit 120 receives an approval message approving the participation request from the entity with whom to share data. For example, for a second block chain network to share data with a first block chain network, the second block chain network transmits a participation request to a participation request reception unit 110, and then, if the participation request reception unit 110 informs the first block chain network that the participation request has been transmitted, then the first block chain network may transmit an approval message approving the participation request to an approval reception unit 120. If a block chain network (the first block chain network in the example) with whom to share data refuses to approve the participation request, the participation of a block chain network (the second block chain network in the example) to participate in data sharing can be refused. At this time, after the participation request reception unit 110 receives the participation request, if a block chain network with whom to share data does not transmit the approval message to an approval reception unit 120 within predetermined time, then the block chain network with whom to share data may be deemed to have refused the participation. Alternatively, the block chain network with whom to share data may also transmit a refusal message clearly indicating intention of refusal to the approval reception unit 120.
In the example, the entity with whom to share data was one block chain network, but it may be a plurality of block chain networks. If, a first block chain network and a third block chain network have already formed a data sharing relation, and a second block chain network wishes to participate in the data sharing, the approval reception unit 120 may receive an approval message from the first block chain network and the third block chain network. At this time, if any one of the block chain networks with whom to share data refuses the approval of data sharing, the participation of the block chain network that wishes to participate in data sharing may be refused.
The approval message may be in various forms such as an electronic signature, a certificate, a signal, a code, or a text, etc. and is not restricted to any one of the above. At this time, the approval message may further comprise at least any one among the form of a block chain network with whom to share data, the network ID of the router corresponding to the block chain network with whom to share data, the network address, the certificate and the channel name. As explained above, for a second block chain network to share data with a first block chain network, an approval message which the first block chain network transmits to an approval reception unit 120 may further comprise at least any one among the form of the first block chain network, the network ID of the first router, the network address of the first router, the certificate of the first router, and the channel name of the first router.
When an approval reception unit 120 receives an approval message from a block chain network participating in data sharing, a routing table management unit 130 may create an update message based on the participation request and the approval message. As in
When one block chain network wishes to transmit data to a block chain network with a different form, data can be transmitted through routers. At this time, each of the routers has a routing table, and the routing table is updated using the update message. For example, where a second block chain network wishes to share data with a first block chain network, if the update message describes that the form of the second block chain network is Etherium, a first router may include in a first routing table information such as that “a second router participates in data sharing” and that “the form of a second block chain is Etherium.” Moreover, a second router may reflect in a second routing table a message that “it shares data with a first router.” Thereafter, the routers may change the data received from another router to suit the form of the receiving side block chain network using an updated routing table.
Meanwhile, the participation in data sharing may be ceased. If a second block chain network wishes to cease the participation in data sharing, it may transmit a cessation request for ceasing the participation in data sharing to the routing table management unit 130. At this time, the second block chain network may transmit the cessation request through a second router. Thereafter, if the routing table management unit 130 receives the cessation request, the routing table management unit 130 may create a deletion message based on the cessation request. At this time, the deletion message may be almost similar to the update message in terms of form and content. In
Hereinafter, the overall process of a method for sharing data among heterogeneous block chain networks according to one embodiment is specifically explained.
In review of the examples of
Thereafter, the first router may transmit transactional information to the second router using a predetermined form. At this time, one embodiment of the form of data exchange among routers is shown in
Thereafter, the second router changes the received transactional information into the form of a second block chain network. At this time, the second router may use the information which the form of the data exchange comprises, or may use a second routing table. For example, when the form of a first block chain network is Bitcoin, and the form of a second block chain network is Etherium, such information is described in the form of the data exchange or a second routing table. At this time, the second router may change data (transactional information) in the form of Bitcoin into the form of Etherium, by referring to the information described. Moreover, the second router may, by referring to both the information which the form of the data exchange comprises and the second routing table, verify whether the information which the form of the data exchange comprises matches the information which the second routing table comprises. Moreover, according to one embodiment, if the form of a transmission side block chain network and information of a transmission side router have already been described in the routing table, the form of the transmission request and the form of the data exchange reviewed above may be configured not to comprise the corresponding information.
Thereafter, the second router may connect to a node B4 constituting a second block chain network, and request a transaction with user B11 to a distribution ledger of a second block chain network. In addition, node B4 records the transaction request in the corresponding distribution ledger, and node B1 which is linked to user B11 may verify the transactional information with user B11.
The methods for sharing data may be executed on a computer readable storage medium recording a program.
As non-restrictive examples, computer readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other storage medium that may be used in storing a desired program code means in a form of commands or data structures and may be accessed by a general or special-purpose computer, or a general or special-purpose processor. A disk or a disc includes, when used in the present invention, a compact disc (CD), a laser disc, an optical disc, a digital versatile disc (DVD), floppy disk and Blu-ray disk, and disks normally play data magnetically, but discs play data optically with a laser. The combinations of the aforementioned must also be included in the scope of a computer readable storage medium.
The examples of the present invention were explained with reference to the drawings attached above, but a skilled person in the art to which the present invention pertains will readily understand that the invention can be implemented in a different specific from without changing the technological idea or the essential feature. Accordingly, the examples described above shall be understood as exemplary in all aspects, and not restrictive.
100: a system for sharing data
110: a participation request reception unit
120: an approval reception unit
130: a routing table management unit
Number | Date | Country | Kind |
---|---|---|---|
10-2019-0148338 | Nov 2019 | KR | national |
STATEMENT REGARDING GOVERNMENT SPONSORED RESEARCH This work was supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korea government (MSIT) [2018-0-00365, Development of on-off hybrid blockchain technology for real-time large-scale data distribution].