WO2019189954A1 - Multiple blockchain-based data sharing method - Google Patents

Multiple blockchain-based data sharing method Download PDF

Info

Publication number
WO2019189954A1
WO2019189954A1 PCT/KR2018/003632 KR2018003632W WO2019189954A1 WO 2019189954 A1 WO2019189954 A1 WO 2019189954A1 KR 2018003632 W KR2018003632 W KR 2018003632W WO 2019189954 A1 WO2019189954 A1 WO 2019189954A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
user
information
management server
storage
Prior art date
Application number
PCT/KR2018/003632
Other languages
French (fr)
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 주식회사 마크로젠
Priority to PCT/KR2018/003632 priority Critical patent/WO2019189954A1/en
Publication of WO2019189954A1 publication Critical patent/WO2019189954A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the technique described below relates to a technique for data sharing.
  • the technology described below relates to a platform for data trading relaying and data sharing based on the sharing economy. More specifically, it serves as an integrated management role as a kind of transaction brokerage platform, which is made by sharing the data owned by the individual in the ownership of the individual between the trading entities and the provider who provided the data and the user who uses the data.
  • P2P peer-to-peer
  • the sharing economy is an economic system based on collaborative consumption, which is shared among several trading partners, and which is not owned by individuals.
  • users pay for resources and use as many resources as necessary, resource providers receive rewards through the provision of idle resources, and the brokered platform earns commission revenue.
  • the data may consist of various information.
  • the data may include specific genomic information, medical information, and life information of various organisms including humans. Data on humans predict the likelihood of disease, enabling tailored precision medicine to prescribe the most appropriate treatment for each patient.
  • genomic information and medical information it is very difficult to collect data for a specific population due to various regulations and system problems, cost and time.
  • life information is a unique life record with a degree of difference between individuals, such as living habits and the environment, which is difficult to collect unless the individual provides it.
  • the technology described below can promote data sharing and utilization by incorporating blockchain technology into a sharing economy based platform, and improve user data accessibility and management efficiency through the ease of use of open software sources.
  • the technology described below can guarantee security, reliability and speed through a systematic security system that can transparently and flexibly cope with hacking risk, data capacity increase and sharing in managing big data, which is integrated large data.
  • the technology described below can be expected to reduce costs and time by increasing the participation rate of users by building an economic incentive system through the compensation and payment method.
  • the technology described below introduces blockchain technology to securely register, store, and share data, which is an idle resource jointly owned by all participants, and solves security problems for hacking and manipulation of data. It is intended to provide a trading system and method.
  • the technology described below is to provide a data sharing transaction system and method for each other by obtaining a reward for providing and renting data that is owned idle resources, and data users secure the necessary data through payment of usage fees. .
  • the technology described below is intended to provide a blockchain system and method that implements a function through a blockchain that allows the data owner to store, register or delete data, which is an idle resource, on a shared storage server directly or through another organization. do.
  • the technology described below is to provide an integrated management system and method for blockchain-based shared data that provides data transfer and provide data that can be retrieved from the storage, and retrieves the information that the lender needs the data required .
  • Integrated management system and method for blockchain-based data sharing may be configured as follows.
  • Integrated management methods for data sharing include: a) a user (including data owners / providers and data lenders / users) entering basic information and registering in the personal information blockchain, b) the data provider storing personal data on the data storage server Storing data in the data storage server and registering and deleting in the data information and data blockchain, c) retrieving the personal data of the provider required by the data user from the data storage server, d) paying the fee for the personal data of the provider required by the data user. And receiving the corresponding data from the data storage server, and e) delivering a fee for sharing the genome / medical information data to the data provider.
  • the step a) includes receiving identification information such as a user's name, date of birth, and e-mail as basic information, registering the user information in the user information blockchain, performing user authentication through the user information blockchain, and making a deposit and withdrawal of a user fee. It may include a virtual account creation step.
  • the step b) includes the data provider registering meta information about the data in the metadata blockchain, the data provider directly transmitting the data to the data storage server, and the data provider deleting personal data and information. can do. Meanwhile, step b) may include a step in which the data provider requests a separate data producer to transmit data to the storage server.
  • Step c) may include searching for meta information on the registered data through a query on the metadata blockchain for data required by the data user.
  • step d) the data user converts the data usage fee into virtual currency (points, membership mileage, actual cash, etc.), registering the virtual currency into the virtual account through the information and data blockchain, and the data user It may include the step of requesting and receiving data required for the data storage server.
  • virtual currency points, membership mileage, actual cash, etc.
  • the step e) may include transmitting a virtual currency to a virtual account registered in the genome / medical information data blockchain to a data provider, and converting the transmitted virtual currency into a data fee.
  • the technology described below ensures security for data sharing, which is an idle resource based on the blockchain.
  • the technology described below smoothly compensates for data sharing by introducing a blockchain technique.
  • 1 is an example of a data sharing model.
  • FIG. 3 is an example of a flowchart for a data sharing process.
  • 6 is an example of a metadata management process for data.
  • 9 is an example of a process of identifying data based on metadata.
  • 10 is an example of a process of sharing data including an encryption process.
  • 11 is another example of a process of sharing data including an encryption process.
  • the techniques described below relate to data provision or shared services. Although the following describes the life information data, the technology described below may be applied to various data providing services regardless of the type of data.
  • Genomic data refers to data obtained from samples (samples) and organisms (humans, animals, microorganisms, etc.) of a particular user.
  • genomic data may include nucleotide sequences obtained from deoxyribonucleic acid (DNA), ribonucleic acid (RNA), or protein (Protein), cells, tissues, etc., genetic variation data, genetic variation with standard genomic data, and DNA methylation. ) May be included.
  • genomic data includes sequence information obtained by analyzing a particular sample. Dielectric data is generally represented as digital data. This includes the sequence data obtained through the NGS analysis device.
  • Genomic analysis data or simply analysis data refers to information obtained by analyzing genomic data.
  • the analysis data includes a diagnosis result obtained by analyzing the genomic data, a disease prediction result, a disease risk, paternity results, a disease treatment means, a drug candidate, and the like.
  • Medical data refers to data that can be used to determine the health of a particular user (eg, a patient).
  • medical data may include electronic medical record (EMR) data in a hospital. That is, the medical data may include a test result (clinical information) using a medical device or a diagnosis result by a medical staff.
  • EMR electronic medical record
  • the medical data may include medical image data measured or photographed by a medical device.
  • the medical data may include biosignal data obtained by a mobile terminal (eg, a healthcare device) capable of measuring the biosignal.
  • the following data refers to digital data having various information regardless of data format or type.
  • the data may include personal information, information produced by the individual, information analyzed by the personal data, experimental data about the individual, and the like.
  • the data may include at least one of the above-described genomic data, analysis data and medical data.
  • Data may be data produced by individual objects (people, businesses, research institutions, schools, hospitals, etc.) that are biological or social subjects.
  • Metadata is identification data derived from data production or processing.
  • the metadata corresponds to data for identification or further explanation of the data.
  • Metadata can be a criterion for retrieving specific data.
  • the metadata may include data format and production methodology for genomic data, sequencing machine information, sample information, definition of molecular biology techniques, yield, quality analysis and statistics on data, date of production, and the like.
  • the metadata may include a production date of the medical data, a production organization, patient information (identifier, etc.), disease information, a test technique, a type of a test apparatus, a format of data, and the like.
  • Provider means a user who produces or processes and provides data.
  • a provider is a user who provides data to be shared. Providers can provide data produced by themselves or data produced by others.
  • the receiver refers to a user who shares data provided by the provider. Recipients can use the data to conduct research and analysis.
  • the user includes a specific subject such as a person or an institution.
  • the user terminal or terminal is a computer device, and means a client device used by the user.
  • a user is specified as a user terminal.
  • the computer device refers to a device that analyzes input source data using a computing device such as a CPU or an AP.
  • Computer devices generally include computing devices, memory, input / output devices, communication interface devices, and the like.
  • the computer device may be implemented as a device such as a server, a PC, a tablet PC, a smartphone, or the like.
  • a hash key is a value used to identify a user on a blockchain network.
  • Hashkeys can be generated in a variety of ways. Representative hash key generation algorithms include MD5 and SHA-256. The hash key is the only value present for a particular user. Hash keys are keys that consist of strings of varying lengths.
  • Public keys and encryption keys are keys for encrypting and transmitting data on a blockchain network.
  • Public and cryptographic keys are keys used for so-called public key cryptography.
  • the public key range is a key for encrypting data
  • the encryption key is a key for decrypting encrypted data.
  • the public and encryption keys can be paired with one another and randomly produced using various public key encryption methods (eg, RSA, elliptic curve cryptography, etc.).
  • Blockchain refers to a chain-based distributed data storage environment in which small pieces of data called 'blocks' are managed based on P2P methods.
  • Blockchain network refers to the network components constituting the blockchain.
  • 1 is an example of a data sharing model. 1 shows a user terminal 10 used by a provider A side, a user terminal 20 used by a receiver B side, a management server 30 and a blockchain set 40.
  • the user terminal used by the provider A is called the first terminal 10 and the user terminal used by the receiver B is called the second terminal 20.
  • the first terminal 10 receives data. Alternatively, the first terminal 10 may generate data. Alternatively, the first terminal 10 may receive data from another object. The first terminal 10 transmits data to the management server 30.
  • the management server 30 manages the overall process for data sharing.
  • the management server 30 may be managed by a provider that provides a data sharing service. It can be seen that the management server 30 and the blockchain set 40 constitute a system for data sharing.
  • Data sharing is done through the blockchain.
  • Data sharing uses a plurality of blockchains (blockchain sets). Individual blockchains belonging to a blockchain set are involved in different processes or functions for sharing data.
  • the blockchain set 40 includes a user information blockchain, a point information blockchain, a metadata blockchain, and a data storage blockchain. Details will be described later.
  • the management server 30 registers the information about the user in the user information blockchain in advance.
  • the management server 30 may perform authentication for a specific user using the user information blockchain.
  • the management server 30 registers metadata about data received from the first terminal 10 in the metadata blockchain.
  • the management server 30 stores the data received from the first terminal 10 in the storage server to configure a data storage blockchain.
  • the management server 30 manages the user's point information (point generation, point use, point transfer, point extinction, etc.) using the point information blockchain.
  • the management server 30 receives a request for data from the second terminal 20.
  • the management server 30 may inquire about the requested data based on the metadata. Alternatively, in some cases, the management server 30 may inquire about data stored in the storage server. If the requested data exists, the management server 30 transmits the storage information for the data to the second terminal 20. Thereafter, the second terminal 20 may receive data from the storage server based on the storage information.
  • Blockchain networks have two main components. One is a blockchain node and the other is a client. From the user's point of view, a blockchain node acts as a backend for a typical service and a blockchain client acts as a client. When a client initiates a new transaction, the nodes share the transaction through the process of distributing and executing the transaction. The client can check the outcome of the transaction.
  • user terminals 10 and 20 correspond to clients.
  • a blockchain node corresponds to a separate node (terminal, server, etc.) connected to a network.
  • the data sharing system 100 includes a management server 110 and a plurality of blockchains 120, 130, 140, and 150.
  • the management server 110 corresponds to the management server 30 of FIG.
  • the user terminal 110 includes a first terminal 10 on the provider side and a second terminal 20 on the receiver side.
  • FIG. 2 shows all four blockchains 120-150.
  • One blockchain is composed of a plurality of blockchain nodes.
  • the four blockchains are shown below.
  • the system 100 may further include a blockchain for other items.
  • the user information blockchain 120 holds user information.
  • the user information blockchain stores hash keys and user information about users.
  • the user information may include information such as an identifier of the user, a user ID, a user contact number, an e-mail, a name, a gender, an institution, a date of birth, and the like.
  • the user information blockchain 120 may hold user information encrypted with a public key.
  • the point information blockchain 130 holds point information.
  • the point is the incentive to share data.
  • points correspond to the fee for using data.
  • the points may be a fee for the operators who broker the data.
  • the point may be a so-called blockchain-based virtual currency.
  • the point may be a currency unique to the shared service (cyber money, cash, mileage, etc.) that is not based on the blockchain. Points may be converted into currency used in the real world through a separate system or service.
  • the point information blockchain 130 holds information such as point balance information and point transaction details of individual users.
  • the metadata blockchain 140 holds metadata about the data.
  • the metadata blockchain 140 can hold metadata encrypted with a specific public key.
  • the data storage blockchain 150 holds storage information for data stored in the storage server.
  • the storage information may include an identifier of a storage server, a file name, a location where data is stored in a storage medium of the storage server, a file size, file split information, a verification key, and the like.
  • the storage server 155 stores the data.
  • the storage server may be one single server. Alternatively, as shown in FIG. 2, the storage server may include n servers (storage server 1, ... storage server n).
  • data may be distributed and stored.
  • one server main storage server
  • one server sub storage server
  • the plurality of storage servers or the plurality of sub-storage servers may be nodes constituting the block chain, and the plurality of storage servers may configure the data storage block chain.
  • the data storage blockchain 150 holds storage information for the entire data held.
  • the management server 110 stores user information, point transaction information, metadata, and data received from the first terminal 10 in a blockchain network.
  • the management server 110 transmits data to the second terminal 20 requesting data.
  • the management server 110 may include a user management function.
  • the user information can be received and stored in the user information blockchain network, and user authentication can be performed based on the stored user information.
  • the management server 110 may include a point management function. That is, a point purchase, a point sale, or a point transaction that occurs from a user-to-user transaction.
  • the user's balance points can be stored and retrieved through the blockchain network.
  • the management server 110 may include a metadata management function.
  • the management server 110 stores the metadata received from the data provider in the blockchain network.
  • the management server 110 may search for data based on the receiver, and group the data corresponding to the search results into groups.
  • the management server 110 may include a data storage management function.
  • the management server 110 may receive the data from the provider, store the data in the storage server, collect the data, and group the data to the receiver.
  • 3 is an example of a flow chart for a data sharing process 200.
  • 3 shows a schematic process for data sharing.
  • the users (providers and recipients) perform user registration in advance (210).
  • the management server 110 registers the user information and the hash key in the user information blockchain.
  • the management server 110 may perform authentication for a user who performs or requests a corresponding process before starting data provision, data sharing, point processing, or the like.
  • the management server 110 may perform user authentication by using a user information blockchain.
  • the provider provides data to the management server 110, and the management server 110 configures the data storage blockchain 150 while storing the data in the storage server 155 (220).
  • the management server 110 may register metadata about data in a metadata block chain.
  • the receiver requests the management server 30 for necessary data.
  • the management server 30 performs a data search for the requested data and, if present, transmits the stored information of the data to the receiver (230).
  • the management server 30 may search for data based on the metadata.
  • the management server 110 performs 240 processing points related to the use of data before providing data to the recipient.
  • the management server 110 registers the details of the point transaction details (point change, point transfer, point charging, etc.) in the point information blockchain 130.
  • the recipient point can be delivered to the provider through this process.
  • the management server 110 provides the storage information of the requested data to the receiver.
  • the receiver may receive data from the storage server 155 based on the stored information.
  • data used in the process of registering user information, storing data, registering metadata, and processing points may be encrypted using a public key method.
  • 4 is an example of a user information registration and authentication process 300. 4 shows both a user registration process and a user authentication process.
  • the user terminal refers to the first terminal 10 and / or the second terminal 20.
  • the provider must register the user in advance to provide the data or the receiver to request the data.
  • the user terminal 10/20 inputs user information PI (301).
  • the user terminal 10/20 transmits the user information PI to the management server 110 (302).
  • the management server 110 may generate a hash key.
  • the management server 110 generates a hash key H k for the user who requested to generate the hash based on the user information PI (311).
  • the hash key H k is used as an identifier for the user (terminal) who has requested the current hash key.
  • the hash key H k corresponds to user-specific unique information.
  • the management server 110 generates the hash key H k by inputting the input user information PI into a predetermined hash function.
  • the algorithm or hash function for generating the hash key may vary.
  • the management server 110 may encrypt (generated PI ') the received user information PI (312).
  • the management server 110 may encrypt the user information using the public key transmitted by the user terminal 10/20. Meanwhile, the user information PI 'encrypted by the public terminal 10/20 may be transmitted to the management server 110.
  • the management server 110 transmits the generated hash key H k to the user terminal 10/20 that requested the hash key (321).
  • the user terminal 10/20 stores the hash key H k in the storage medium (322).
  • the management server 110 transmits user block data including the encrypted user information PI ′ and the hash key H k to the user information blockchain 120 (331).
  • the user information blockchain 120 registers the received encrypted user information PI 'and the hash key H k (332).
  • the management server 110 may further transmit the public key used for encryption to the user information blockchain 120.
  • the user information blockchain 120 may further register up to the public key. Steps 301 to 332 described above correspond to a user information registration process.
  • User authentication may be required at certain stages or at each stage of the data sharing service. Only users who have been authenticated through user authentication can proceed to the next step.
  • the user terminal 10/20 inputs user information PI (351).
  • the user terminal 10/20 transmits the user information PI or its stored hash key H k to the management server 110 (352).
  • the management server 110 may generate the PI 'by encrypting the received user information with the public key.
  • the management server 110 inquires the user information based on the received user information PI (or PI ') or the hash key (H k ) (361).
  • the management server 110 queries the user information delivered to the user information blockchain 120 based on the received information.
  • the management server 110 transmits the inquired user information or hash key H k to the user information blockchain 120.
  • the user information blockchain 120 may identify user information based on the received information (371). For example, the user information blockchain 120 may identify user information based on the hash key H k . The user information blockchain 120 transmits the identified user information to the management server 110 (372).
  • the management server 110 may perform user authentication by comparing the user information PI ′ received from the user information blockchain 120 and the user information PI ′ received from the user terminal 10/20. In addition, the management server 110 may generate an authentication token (381). At this time, the management server 110 may encrypt the authentication token with a public key. The management server 110 transmits a user authentication token to the user terminal 10/20 (382).
  • the user terminal 10/20 stores a user authentication token (383).
  • the user terminal 10/20 may decrypt and store the encrypted authentication token. Thereafter, the user terminal 10/20 may use an authentication token in the process of communicating with the management server 110.
  • the management server 110 that requires authentication may provide specific data only for the user terminal that delivers a valid authentication token.
  • a virtual account generation step for an individual user may be performed.
  • the virtual account generation includes creating an account (wallet) for the user in the point information blockchain 130.
  • Virtual account creation may be a method commonly used in a virtual money service based on blockchain. The description related to FIG. 5 described below assumes a state where a virtual account is created for each user.
  • 5 is an example of a point trading process 400. 5 is an example of a process of processing and managing points for a user.
  • the user terminal 10/20 inputs user point transaction information (401).
  • the point trading information includes information necessary for point trading.
  • the point transaction information includes transaction subject information (user information or hash key), point charging information, point deposit and withdrawal information, point balance information, transaction amount information, and the like.
  • the user terminal 10/20 transmits point transaction information to the management server 110 (411).
  • the user terminal 10/20 may encrypt the point transaction information with the public key and transmit the encrypted information.
  • the management server 110 may perform an authentication on the user who transmitted the point transaction information (420). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
  • the management server 110 can inquire the requested point transaction history (421). For example, a specific block corresponding to a book in which transaction details are listed may be inquired.
  • the management server 110 transmits the point transaction information to the confirmed point information blockchain 130 (422).
  • the point information blockchain 130 inquires information about the point transaction, and registers the content of the requested transaction (431). For example, points may be reduced in the books of a specific user (recipient) and added to the books of another user (provider).
  • the point information blockchain 130 writes information related to the transaction details in the block.
  • the point information blockchain 130 transmits the changed point transaction information to the management server 110 (432).
  • the management server 110 may verify whether the transaction details received from the point information blockchain 130 and the transaction details requested from the user terminal 10/20 match (441). If the verification is successful, the management server 110 transmits the point transaction information to the user terminal 10/20 (442). The user terminal 10/20 stores user point transaction information (451).
  • 6 is an example of a metadata management process 500 for data. 6 includes a process of registering and deleting metadata.
  • the first terminal 10 inputs data (511). Alternatively, the user terminal 10/20 inputs metadata about data.
  • the first terminal 10 transmits the input or acquired data or metadata to the management server 110 (512).
  • the management server 110 may perform authentication on the user who transmitted the data or metadata (520). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
  • the management server 110 may identify metadata from the data (521). The management server 110 may verify whether the data meets a predetermined format or standard upon receiving the data. Alternatively, the management server 110 may verify data with a specific verification key.
  • the verification key refers to information for verifying an electronic signature. In this case, the data must include an electronic signature in advance. The provider sends the data with the electronic signature.
  • the data may include information about the metadata in a particular format.
  • the management server 110 may extract metadata from the data. If the management server 110 receives the metadata directly from the first terminal 10, no separate identification process is required.
  • the management server 110 transmits the metadata to the metadata blockchain 140.
  • the metadata blockchain 140 registers metadata related to specific data as block data (531). The metadata registered in the metadata blockchain 140 may be used for checking whether data corresponding to the request exists when the receiver requests data.
  • the first terminal 10 requests deletion of metadata (551).
  • the first terminal 10 transmits the metadata deletion message to the management server 110 (552).
  • the deletion message may include an identifier of data to be deleted, an identifier of metadata, a metadata generation time point, and the like. Alternatively, the deletion message may include all metadata.
  • the management server 110 verifies the received metadata deletion message (561).
  • the management server 110 may verify the deletion message with a specific verification key. Separately, the management server 110 may perform authentication on the user who delivered the deletion message. Authentication may be performed by whether the authentication token delivered by the first terminal 10 is valid.
  • the management server 110 transmits a deletion message to the metadata blockchain 140 (562).
  • the metadata blockchain 140 deletes the requested metadata based on the information included in the deletion message (571). Thereafter, the metadata blockchain 140 transmits a delete confirmation message to the management server 110 (581).
  • the management server may transmit a deletion confirmation message to the first terminal 10 (582).
  • the first terminal 10 inputs data (601).
  • the first terminal 10 may directly generate data or input information generated by a third party.
  • the first terminal 10 may encrypt the generated data with the public key (602).
  • the management server 110 may encrypt data with the public key of the first terminal 10.
  • the first terminal 10 transmits data to the management server 110 (611).
  • the management server 110 may verify the received data on a predetermined basis (612). For example, when the data has a specific format, the management server 110 may verify whether the data satisfies the standard of the format. Alternatively, the verification may be performed using a separate verification key for the data.
  • the management server 110 may perform authentication on the user who transmitted the data (620). The subsequent process may be performed only for the user whose authentication is successful.
  • the management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20.
  • the authentication token has been described with reference to FIG. 4.
  • the management server 110 transmits the encrypted data to the storage server 155 (621).
  • the storage server 155 stores the received data (622).
  • the storage server 155 may be configured of a plurality of servers. In this case, data may be distributed or divided in a plurality of servers and stored.
  • One server or a plurality of servers transmits the information in which the data is stored to the data storage blockchain 150 (631).
  • the data storage blockchain 150 registers the storage information for the data held by the storage server 155 collectively (632).
  • Each storage server 155 has only its own information, but the data storage blockchain 150 holds the storage information of the entire data.
  • the storage information may include an identifier of a storage server, a file name, a location where data is stored in a storage medium of the storage server, a file size, file split information, a verification key, and the like.
  • the data storage blockchain 150 transmits data storage information to the management server 110 (641).
  • the management server 110 registers 642 storage information for the data. That is, the management server 110 retains the storage information for the entire data.
  • the first terminal 10 requests data deletion (651).
  • the first terminal 10 transmits a data deletion message to the management server 110 (652).
  • the management server 110 verifies the deletion message (661).
  • the deletion message may include a name, an identifier, and the like of data to be deleted.
  • the management server 110 may verify the deletion message by using a separate verification key.
  • the user (first terminal) that transmits the deletion message may be authenticated through a separate process.
  • the management server 110 may perform authentication on the user who sent the deletion message (670). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
  • the management server 110 transmits a data deletion message to the storage server 155 (671). Since the management server 110 holds the storage information, the management server 110 may transmit a deletion message to the storage server 155 storing the deletion target (671). The storage server 155 deletes the data requested for deletion (681). Although not shown in FIG. 7, the storage server 155 deletes the data and registers the changed information in the data storage blockchain 150. The data storage blockchain 150 updates the storage information. The storage server 155 transmits a deletion confirmation message to the management server 110 (691). The management server 110 may transmit a deletion confirmation message to the first terminal 10 (692).
  • the deletion message transmitted by the first terminal 10 may include deletion information about data and metadata about the data.
  • the second terminal 20 inputs a data search word (711).
  • the data search word may be composed of various information.
  • the data search word may include an identifier of a specific subject, an identifier of a specific genome, an identifier for a specific disease, an identifier for a specific organ, a data generation time, a data update time, and the like.
  • the data search term may include metadata about the data.
  • the second terminal 20 transmits the data search word to the management server 110 (712).
  • the management server 110 may perform an authentication on the user who transmitted the search word (720). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
  • the management server 110 must first search whether the requested data exists in the storage server 155 (721).
  • the management server 110 may search whether the storage server 155 has the corresponding data by using the information included in the search word. For example, the management server 110 may know whether the corresponding data exists in the storage server 155 based on the identifier of the data. This is because the management server 110 holds the storage information for the data.
  • the management server 110 may check that there is information corresponding to the metadata blockchain 140 by using metadata included in a search word.
  • the management server 110 may search for information held by the metadata blockchain 140 based on information such as a data generation technique, a generation time, a specific disease type, and the like to determine whether there is data that meets a corresponding condition.
  • the management server 110 performs point inquiry and point processing (731). Point trading is as described in FIG.
  • the management server 110 checks whether the recipient has a point in the point information blockchain 130. If there is a point balance corresponding to the price of data sharing, the management server 110 decrements the point of the receiver and increases the point of the provider of the data. In addition, the management server 110 may bring the recipient's points to some manager account as a fee for the data brokerage service.
  • the management server 110 identifies the storage information of the requested data (741). Meanwhile, the management server 110 may identify a plurality of data that meets the corresponding criteria based on the search expression included in the search word and configure the data into one group. In this case, the management server 110 identifies the entire storage information for the data belonging to the group. The management server 110 transmits the stored storage information to the second terminal 20 (742).
  • the second terminal 20 stores the received storage information and generates a transmission request message for requesting transmission to the corresponding storage server (751).
  • the transmission request message may include an identifier (address) of the storage server, an identifier of the data, a storage location of the data, and the like.
  • the second terminal 20 transmits a transmission request message to the corresponding storage server 155 (752).
  • the storage server 155 identifies the requested data based on the information included in the transmission request message, and identifies the data stored in the specific location (761).
  • the storage server 155 transmits the identified data to the second terminal 20 (762).
  • the second terminal 20 receives the data and decodes the data using the encryption key (771). Therefore, the second terminal 20 must obtain an encryption key to decrypt data previously encrypted with the public key.
  • the user information blockchain 120 may hold an encryption key for a specific user.
  • the second terminal 20 may obtain an encryption key for a specific user in advance through the management server 110.
  • the receiver who wants to receive the data shared by the provider requests the management server 110 for data meeting the conditions.
  • the second terminal 20 receives a search word (811).
  • the second terminal 20 transmits the search word to the management server 110 (812).
  • the search term includes information that can identify the particular type of data desired by the recipient.
  • the search term may include at least some of the metadata about the data.
  • the management server 110 may authenticate the user who transmitted the search word (820). In addition, the management server 110 may verify the received search word using a separate verification key (821). Alternatively, the management server 110 may simply verify whether the search word is composed of a valid search word for a specific format. If authentication or verification is successful, the management server 110 transmits a search word to the metadata blockchain 140 (822).
  • the metadata blockchain 140 extracts metadata associated with the received search word (831).
  • the metadata blockchain 140 may extract all metadata including specific metadata.
  • the metadata blockchain 140 transmits the retrieved metadata to the management server 110.
  • the metadata may include an identifier for the data.
  • the management server 110 may identify specific data in the transmitted metadata. In addition, when there are a large number of data related to a search word, the management server 110 may process the corresponding data into one group (841). The management server 110 extracts storage information for the identified one or more data (842). As described above, the management server 110 retains storage information for data stored in the storage server 155. Or, in some cases, a separate server or blockchain may manage the storage information.
  • the management server 110 transmits the identified stored information to the second terminal 20 (851).
  • 10 is an example of a process of sharing data including an encryption process. 10 corresponds to a process in which the first terminal 10 provides data and the second terminal 20 receives the provided data.
  • the management server 110 transmits its public key P s to the first terminal 10 (901).
  • the first terminal 10 encrypts the data using the public key P s (911).
  • the first terminal 10 transmits the encrypted data to the management server 110 (912).
  • the management server 110 may encrypt data transmitted by the first terminal 10 using its public key and then proceed with the subsequent process.
  • the management server 110 may verify data using the verification key (921).
  • the management server 110 transmits the encrypted data to the storage server 155 (922).
  • One or more storage servers 155 store the encrypted data (931).
  • the plurality of storage servers 155 may configure the data storage blockchain 150.
  • the storage server 155 transmits storage information about the stored data to the management server 110 (932).
  • the second terminal 20 requests specific data from the management server 110 (941).
  • the second terminal 20 may transmit its public key Pue2 (941).
  • the management server 110 retrieves data through the above-described process (951).
  • the management server 110 may request the identified data from the storage server 155 (952).
  • the storage server 155 transmits the requested data to the management server 110 (953).
  • the management server 110 may decrypt the data received with the encryption key corresponding to its public key (P s ), and may now encrypt the data again with the public key (P ue 2 ) of the second terminal (961).
  • the management server 110 transmits the encrypted data to the second terminal 20 (971).
  • the second terminal 20 decrypts the received data with its encryption key (981).
  • 11 is another example of a process of sharing data including an encryption process. 11 corresponds to a process in which the first terminal 10 provides data and the second terminal 20 receives the provided data.
  • the management server 110 transmits its public key P s to the first terminal 10 (1001).
  • the first terminal 10 encrypts the data using the public key P s (1011).
  • the first terminal 10 transmits the encrypted data to the management server 110 (1012).
  • the management server 110 may decrypt the received data with its encryption key (1021).
  • the management server 110 transmits the decoded data to the storage server 155 (1022).
  • One or more storage servers 155 store the decoded data (1031).
  • the plurality of storage servers 155 may configure the data storage blockchain 150.
  • the storage server 155 transmits storage information about the stored data to the management server 110 (1032).
  • the second terminal 20 requests specific data from the management server 110 (1041).
  • the management server 110 retrieves data through the above-described process (1051).
  • the management server 110 transmits the storage information for the identified data to the second terminal 20 (1052).
  • the second terminal 20 may request specific data from the storage server 155 using the storage information (1061). In this case, the second terminal 20 may transmit its public key Pue2 to the storage server 155 (1061).
  • the storage server 155 may retrieve the requested data and encrypt the data using the public key Pue2 (1062). The storage server 155 transmits the encrypted data to the second terminal 20 (1063). The second terminal 20 may decrypt the received data with its own encryption key (1071).
  • the data sharing method as described above may be implemented as a program (or application) including an executable algorithm that can be executed on a computer.
  • the program may be stored and provided in a non-transitory computer readable medium.
  • the non-transitory readable medium refers to a medium that stores data semi-permanently and is readable by a device, not a medium storing data for a short time such as a register, a cache, a memory, and the like.
  • a non-transitory readable medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, or the like.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A multiple blockchain-based data sharing method comprises the steps of: registering, in a user information blockchain, user block data including user information and a hash key for each of multiple users, by a management server; receiving, from a storage server, storage information for data provided by a first user, by the management server; and receiving a request for specific data from a second user and transmitting storage information for the specific data to the second user, by the management server.

Description

복수의 블록체인에 기반한 데이터 공유 방법Data sharing method based on multiple blockchains
이하 설명하는 기술은 데이터 공유를 위한 기법에 관한 것이다. 이하 설명하는 기술은 공유경제 기반의 데이터 거래 중계 및 데이터 공유를 위한 플랫폼에 관한 것이다. 보다 자세하게는, 개인이 소유한 데이터를 개인의 소유에서 거래 주체 간의 공유 방식으로, 데이터를 제공한 제공자와 데이터를 사용하는 사용자 간에 이루어지는 일종의 거래 중개 플랫폼으로서 통합 관리 역할을 한다.The technique described below relates to a technique for data sharing. The technology described below relates to a platform for data trading relaying and data sharing based on the sharing economy. More specifically, it serves as an integrated management role as a kind of transaction brokerage platform, which is made by sharing the data owned by the individual in the ownership of the individual between the trading entities and the provider who provided the data and the user who uses the data.
현재 소유에서 공유로 시대적 패러다임 변화함에 따라 기존 정보통신 기술의 접목과 더불어 디지털 정보가 증가하고 있다. 예컨대, 협력적 소비에 의한 개인 간 거래인 P2P(Peer-to-Peer)가 활성화되는 공유경제가 확산되고 있다.As the paradigm shifts from current ownership to sharing, digital information is increasing along with the integration of existing information and communication technologies. For example, a sharing economy in which peer-to-peer (P2P), which is a trade between individuals through collaborative consumption, is activated.
공유경제는 유휴자원이 개인의 소유가 아닌, 거래 주체 간 여럿이 공유해 쓰는 협업소비를 기본으로 하는 경제방식으로 자원 제공자와 자원 사용자 간에 이루어지는 거래 중계 시스템 체제이다. 공유경제 플랫폼에서 사용자는 자원 이용료를 지불하고 필요한 만큼의 자원을 이용하고, 자원 제공자는 유휴자원 제공을 통해 보상을 얻고, 거래를 중개한 플랫폼은 수수료 수익을 얻는다.The sharing economy is an economic system based on collaborative consumption, which is shared among several trading partners, and which is not owned by individuals. In the sharing economy platform, users pay for resources and use as many resources as necessary, resource providers receive rewards through the provision of idle resources, and the brokered platform earns commission revenue.
이러한 공유경제에 블록체인 기술을 도입하면 모든 참여자가 공동으로 유휴자원을 안전하게 등록ㆍ보관ㆍ공유하고 유휴자원에 대한 해킹 및 조작에 대한 보안 문제를 해결하며, 더 나아가 검증을 통한 거래 기록 신뢰성을 확보할 수 있다.When blockchain technology is introduced into this sharing economy, all participants jointly register, store and share idle resources, solve security problems for hacking and manipulation of idle resources, and further secure transaction record reliability through verification. can do.
데이터는 다양한 정보로 구성될 수 있다. 예컨대, 데이터는 인간을 포함한 다양한 생물체의 특정 유전체 정보, 진료 정보, 생활 정보를 포함할 수 있다. 인간에 대한 데이터는 질병 가능성을 예측하므로 환자마다 가장 적합한 치료를 처방하는 맞춤형 정밀의학을 실현할 수 있다. 정밀의학의 필수 요건인 다양한 데이터 중, 특히 유전체 정보와 진료 정보는 각종 규제 및 제도 미미 문제, 많은 비용과 시간 소요 등에 의해 특정 집단에 대한 데이터 수집이 매우 어렵다. 또한 생활 정보는 생활습관, 환경 등 개인에 따라 정도의 차이가 존재하는 고유한 생활 기록으로서 개인이 제공하지 않는 이상 수집하는데 어려움이 있다. 이러한 문제들은 개인이 소유하고 있는 개인 데이터가 개인정보의 비식별화 처리 이후 안전하게 공유되면서 이러한 정보를 필요로 하는 연구자 및 기관이 신뢰성 있는 데이터를 확보할 수 있는 블록체인 기반의 데이터 통합 관리 플랫폼을 통해 해결할 수 있다.The data may consist of various information. For example, the data may include specific genomic information, medical information, and life information of various organisms including humans. Data on humans predict the likelihood of disease, enabling tailored precision medicine to prescribe the most appropriate treatment for each patient. Among the various data that are essential for precision medicine, in particular genomic information and medical information, it is very difficult to collect data for a specific population due to various regulations and system problems, cost and time. In addition, life information is a unique life record with a degree of difference between individuals, such as living habits and the environment, which is difficult to collect unless the individual provides it. These problems can be solved through a blockchain-based data integration management platform that enables researchers and institutions that require such information to be securely shared after personal data owned by individuals are securely shared after de-identification of personal information. I can solve it.
즉 개인이 소유한 유휴자원인 개인정보 및 개인 데이터 제공 및 대여로 보상을 얻고 데이터 사용자는 필요로 하는 데이터를 이용비 지불을 통해 확보함으로서 서로 윈-윈(win-win)하는 경제적 시스템이 형성된다. 이러한 유휴자원을 기반으로 연구자 및 기관은 다양한 연구 결과를 통해 맞춤형 치료제 및 프로그램을 개발함으로서 새로운 의학이 발달하고 의료비용 절감을 통한 사회적 부담이 줄면서 공공의료 강화로 고부가 가치를 창출할 수 있다.In other words, by providing and renting personal information and personal data, which are idle resources owned by individuals, data users can secure the necessary data by paying the use fee to form a win-win economic system. . Based on these idle resources, researchers and institutions can create high-value added value by strengthening public health care by developing new medicines and reducing social burdens by reducing medical costs by developing customized treatments and programs through various research results.
따라서 이하 설명하는 기술은 공유경제 기반 플랫폼에 블록체인 기술을 접목시켜 데이터 공유 및 활용을 촉진시키고 공개된 소프트웨어 소스의 사용 용이함을 통해 사용자의 데이터 접근성 및 관리 효율성을 향상시킬 수 있다. 또한 이하 설명하는 기술은 통합된 대용량 데이터인 빅데이터를 관리하는데 있어 해킹 위험성, 데이터 용량 증가 및 공유 측면에서 투명하고 유연하게 대처할 수 있는 체계적인 보안 시스템을 통해 보안성, 신뢰성 및 신속성을 보장할 수 있다. 뿐만아니라 이하 설명하는 기술은 보상 및 이용료 지불 방식을 통해 경제적 인센티브 시스템을 구축함으로서 사용자들의 참여율 증대로 비용 및 시간 절감 효과를 기대할 수 있다.Therefore, the technology described below can promote data sharing and utilization by incorporating blockchain technology into a sharing economy based platform, and improve user data accessibility and management efficiency through the ease of use of open software sources. In addition, the technology described below can guarantee security, reliability and speed through a systematic security system that can transparently and flexibly cope with hacking risk, data capacity increase and sharing in managing big data, which is integrated large data. . In addition, the technology described below can be expected to reduce costs and time by increasing the participation rate of users by building an economic incentive system through the compensation and payment method.
이하 설명하는 기술은 블록체인 기술을 도입으로 모든 참여자가 공동으로 소유한 유휴자원인 데이터를 안전하게 등록·보관·공유하고 데이터에 대한 해킹 및 조작에 대한 보안 문제를 해결하며, 더 나아가 검증을 통한 데이터 거래 시스템 및 방법을 제공하고자 한다.The technology described below introduces blockchain technology to securely register, store, and share data, which is an idle resource jointly owned by all participants, and solves security problems for hacking and manipulation of data. It is intended to provide a trading system and method.
또한, 이하 설명하는 기술은 소유한 유휴자원인 데이터에 대한 제공 및 대여로 보상을 얻고 데이터 사용자는 필요한 하는 데이터를 이용비 지불을 통해 확보함으로 서로 원-원하는 데이터 공유거래 시스템 및 방법을 제공하고자 한다.In addition, the technology described below is to provide a data sharing transaction system and method for each other by obtaining a reward for providing and renting data that is owned idle resources, and data users secure the necessary data through payment of usage fees. .
또한, 이하 설명하는 기술은 데이터 소유자가 직접 또는 다른 기관을 통해 유휴자원인 데이터를 공유 저장 서버에 저장ㆍ등록하거나 또는 삭제 할 수 있는 기능을 블록체인을 통해 구현한 블록체인 시스템 및 방법을 제공하고자 한다.In addition, the technology described below is intended to provide a blockchain system and method that implements a function through a blockchain that allows the data owner to store, register or delete data, which is an idle resource, on a shared storage server directly or through another organization. do.
또한, 이하 설명하는 기술은 대여자가 필요한 하는 데이터를 정보를 공유된 데이터를 검색하고, 이를 저장소로부터 전송받을 수 있는 데이터 전송 및 제공 하는 블록체인기반 공유 데이터를 위한 통합 관리시스템 및 방법을 제공하고자 한다.In addition, the technology described below is to provide an integrated management system and method for blockchain-based shared data that provides data transfer and provide data that can be retrieved from the storage, and retrieves the information that the lender needs the data required .
한편, 이하 설명하는 기술은 이루고자 하는 기술적 과제는 이상에 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 포함될 수 있다. Meanwhile, the technical problem to be described below is not limited to the technical problem mentioned above, and various technical problems may be included within the scope apparent to those skilled in the art from the following description.
일실시예에 따른 블록체인 기반의 데이터 공유를 위한 통합 관리 시스템 및 방법은 다음과 같이 구성될 수 있다.Integrated management system and method for blockchain-based data sharing according to an embodiment may be configured as follows.
데이터 공유를 위한 통합 관리 방법은 a) 사용자(데이터 소유자/제공자와 데이터 대여자/사용자를 포함)가 기본 정보를 입력하고 개인 정보 블록체인에 등록하는 단계, b) 데이터 제공자가 개인 데이터를 데이터 저장 서버에 저장하고 데이터 정보 및 데이터 블록체인에 등록 및 삭제하는 단계, c) 데이터 사용자가 필요한 제공자의 개인 데이터를 데이터 저장 서버에서 검색하는 단계, d) 데이터 사용자가 필요한 제공자의 개인 데이터에 대한 이용료를 지불하고 해당 데이터를 데이터 저장 서버로부터 전송 받는 단계 및 e) 데이터 제공자에게 공유된 유전체/의료정보 데이터에 대한 이용료를 전달하는 단계를 포함한다.Integrated management methods for data sharing include: a) a user (including data owners / providers and data lenders / users) entering basic information and registering in the personal information blockchain, b) the data provider storing personal data on the data storage server Storing data in the data storage server and registering and deleting in the data information and data blockchain, c) retrieving the personal data of the provider required by the data user from the data storage server, d) paying the fee for the personal data of the provider required by the data user. And receiving the corresponding data from the data storage server, and e) delivering a fee for sharing the genome / medical information data to the data provider.
상기 a) 단계는 사용자의 이름, 생년월일, 이메일 같은 식별정보를 기본정보로 입력 받아 사용자 정보 블록체인에 등록하는 단계, 사용자 정보 블록체인을 통해 사용자 인증을 수행하는 단계, 이용료의 입·출금이 가능한 가상계좌 생성 단계를 포함 할 수 있다.The step a) includes receiving identification information such as a user's name, date of birth, and e-mail as basic information, registering the user information in the user information blockchain, performing user authentication through the user information blockchain, and making a deposit and withdrawal of a user fee. It may include a virtual account creation step.
상기 b) 단계는 데이터 제공자가 데이터에 대한 메타 정보를 메타데이터 블록체인에 등록하는 단계, 데이터 제공자가 직접 데이터를 데이터 저장 서버에 전송하는 단계, 데이터 제공자가 개인 데이터와 정보를 삭제하는 단계를 포함할 수 있다. 한편 b) 단계는 데이터 제공자가 별도의 데이터 생산업체에 요청하여 데이터를 저장 서버에 전송하는 단계로 구성될 수도 있다.The step b) includes the data provider registering meta information about the data in the metadata blockchain, the data provider directly transmitting the data to the data storage server, and the data provider deleting personal data and information. can do. Meanwhile, step b) may include a step in which the data provider requests a separate data producer to transmit data to the storage server.
상기 c) 단계는 데이터 사용자가 필요한 데이터를 메타데이터 블록체인에서의 조회를 통해 등록된 데이터에 대한 메타 정보를 찾는 단계를 포함할 수 있다.Step c) may include searching for meta information on the registered data through a query on the metadata blockchain for data required by the data user.
상기 d) 단계는 데이터 사용자가 데이터 이용료를 가상화폐(포인트, 멤버십 마일리지, 실제 현금 등을 말함)로 환전하는 단계, 가상화폐를 정보 및 데이터 블록체인을 통해 가상 계좌에 등록하는 단계, 데이터 사용자가 데이터 저장 서버에 필요한 데이터를 요구하고 전송받는 단계를 포함할 수 있다.In step d), the data user converts the data usage fee into virtual currency (points, membership mileage, actual cash, etc.), registering the virtual currency into the virtual account through the information and data blockchain, and the data user It may include the step of requesting and receiving data required for the data storage server.
상기 e) 단계는 데이터 제공자에게 유전체/의료정보 데이터 블록체인에 등록된 가상계좌로 가상화폐를 전송하는 단계, 전송된 가상화폐를 데이터 이용료로 환전하는 단계를 포함할 수 있다.The step e) may include transmitting a virtual currency to a virtual account registered in the genome / medical information data blockchain to a data provider, and converting the transmitted virtual currency into a data fee.
이하 설명하는 기술은 블록체인에 기반하여 유휴 자원인 데이터 공유를 위한 보안성을 확보한다. 또한 이하 설명하는 기술은 블록체인 기법을 도입하여 데이터 공유에 따른 보상을 원활히 수행한다. The technology described below ensures security for data sharing, which is an idle resource based on the blockchain. In addition, the technology described below smoothly compensates for data sharing by introducing a blockchain technique.
도 1은 데이터 공유 모델에 대한 예이다.1 is an example of a data sharing model.
도 2는 데이터 공유 시스템에 대한 예이다.2 is an example of a data sharing system.
도 3은 데이터 공유 과정에 대한 순서도의 예이다.3 is an example of a flowchart for a data sharing process.
도 4는 사용자 정보 등록 및 인증 과정에 대한 예이다.4 is an example of a user information registration and authentication process.
도 5는 포인트 거래 과정에 대한 예이다.5 is an example of a point trading process.
도 6은 데이터에 대한 메타데이터 관리 과정에 대한 예이다.6 is an example of a metadata management process for data.
도 7은 데이터 저장 및 삭제 과정에 대한 예이다.7 is an example of a data storage and deletion process.
도 8은 데이터 검색 및 전송 과정에 대한 예이다.8 is an example of a data retrieval and transmission process.
도 9는 메타데이터 기반으로 데이터를 식별하는 과정에 대한 예이다.9 is an example of a process of identifying data based on metadata.
도 10은 암호화 과정을 포함하여 데이터를 공유하는 과정에 대한 예이다.10 is an example of a process of sharing data including an encryption process.
도 11은 암호화 과정을 포함하여 데이터를 공유하는 과정에 대한 다른 예이다.11 is another example of a process of sharing data including an encryption process.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The following description may be made in various ways and have a variety of embodiments, specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the technology described below to specific embodiments, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the technology described below.
이하 설명하는 기술은 데이터 제공 내지 공유 서비스에 관련된다. 이하 생명정보 데이터를 설명하지만, 이하 설명하는 기술은 데이터의 종류에 관계없이 다양한 데이터 제공 서비스에 적용될 수 있다. The techniques described below relate to data provision or shared services. Although the following describes the life information data, the technology described below may be applied to various data providing services regardless of the type of data.
이하 설명에서 사용되는 용어에 대하여 설명한다.The terms used in the following description will be described.
유전체 데이터는 특정한 사용자의 샘플(시료) 및 생명체(인간, 동물, 미생물 등)로부터 얻은 데이터를 의미한다. 예컨대, 유전체 데이터는 세포, 조직 등으로부터 데옥시리보 핵산(DNA), 리보핵산(RNA), 또는 단백질(Protein) 등에서 얻어진 염기서열, 유전자 발현 데이터, 표준 유전체 데이터와의 유전 변이, DNA 메틸화(methylation) 등을 포함할 수 있다. 일반적으로 유전체 데이터는 특정 시료를 분석하여 얻은 서열 정보를 포함한다. 유전체 데이터는 일반적으로 디지털 데이터로 표현된다. NGS 분석 장치를 통해 얻은 서열 데이터 등이 이에 해당한다.Genomic data refers to data obtained from samples (samples) and organisms (humans, animals, microorganisms, etc.) of a particular user. For example, genomic data may include nucleotide sequences obtained from deoxyribonucleic acid (DNA), ribonucleic acid (RNA), or protein (Protein), cells, tissues, etc., genetic variation data, genetic variation with standard genomic data, and DNA methylation. ) May be included. Generally, genomic data includes sequence information obtained by analyzing a particular sample. Dielectric data is generally represented as digital data. This includes the sequence data obtained through the NGS analysis device.
유전체 분석 데이터 또는 간략하게 분석 데이터는 유전체 데이터를 분석한 정보를 의미한다. 예컨대, 분석 데이터는 유전체 데이터를 분석하여 획득한 진단 결과, 질병 예측 결과, 질병 위험도, 친자 확인 결과, 질병 치료 수단, 신약 후보 물질 등을 포함한다.Genomic analysis data or simply analysis data refers to information obtained by analyzing genomic data. For example, the analysis data includes a diagnosis result obtained by analyzing the genomic data, a disease prediction result, a disease risk, paternity results, a disease treatment means, a drug candidate, and the like.
의료데이터는 특정한 사용자(예를 들어, 환자)의 건상 상태의 판단에 활용될 수 있는 데이터를 의미한다. 예를 들어, 의료데이터는 병원 내 전자의무기록 (Electronic Medical Record; EMR) 데이터를 포함 할 수 있다. 즉, 의료데이터는 의료장비를 이용한 검사결과(임상 정보) 또는 의료진에 의한 진단결과 등을 포함할 수 있다. 또한, 예를 들어, 의료데이터는 의료장비에 의해 측정 또는 촬영된 의료영상데이터 등을 포함할 수 있다. 또한, 예를 들어, 의료데이터는 생체신호를 측정할 수 있는 이동단말기(예를 들어, 헬스케어 디바이스)에 의해 획득되는 생체신호데이터를 포함할 수 있다.Medical data refers to data that can be used to determine the health of a particular user (eg, a patient). For example, medical data may include electronic medical record (EMR) data in a hospital. That is, the medical data may include a test result (clinical information) using a medical device or a diagnosis result by a medical staff. Also, for example, the medical data may include medical image data measured or photographed by a medical device. Also, for example, the medical data may include biosignal data obtained by a mobile terminal (eg, a healthcare device) capable of measuring the biosignal.
이하 데이터는 데이터의 포맷이나 종류에 관계 없이 다양한 정보를 보유하는 디지털 자료를 의미한다. 데이터는 개인 정보, 개인이 생산한 정보, 개인 자료를 분석한 정보, 개인에 대한 실험 데이터 등을 포함할 수 있다. 예컨대, 데이터는 전술한 유전체 데이터, 분석 데이터 및 의료데이터 중 적어도 하나를 포함할 수 있다. 데이터는 생물학적 또는 사회적 주체인 개별 객체(사람, 기업, 연구기관, 학교, 병원 등)가 생산하는 데이터일 수 있다.The following data refers to digital data having various information regardless of data format or type. The data may include personal information, information produced by the individual, information analyzed by the personal data, experimental data about the individual, and the like. For example, the data may include at least one of the above-described genomic data, analysis data and medical data. Data may be data produced by individual objects (people, businesses, research institutions, schools, hospitals, etc.) that are biological or social subjects.
메타데이터는 데이터 생산이나 가공 과정에서 도출되는 식별 데이터이다. 메타데이터는 데이터에 대한 식별 내지 추가적인 설명을 위한 데이터에 해당한다. 메타데이터는 특정한 데이터 검색을 위한 기준이 될 수 있다. 예컨대, 메타데이터는 유전체 데이터에 대한 데이터 형식 및 생산 방법론, 염기서열 해독 기계 정보, 샘플 정보, 분자생물학 기술 정의, 생산량, 데이터에 대한 질 분석 및 통계, 생산일자 등을 포함할 수 있다. 예컨대, 메타데이터는 의료데이터에 대한 생산일자, 생산기관, 환자 정보(식별자 등), 질병 정보, 검사기법, 검사 장치의 종류, 데이터의 포맷 등을 포함할 수 있다.Metadata is identification data derived from data production or processing. The metadata corresponds to data for identification or further explanation of the data. Metadata can be a criterion for retrieving specific data. For example, the metadata may include data format and production methodology for genomic data, sequencing machine information, sample information, definition of molecular biology techniques, yield, quality analysis and statistics on data, date of production, and the like. For example, the metadata may include a production date of the medical data, a production organization, patient information (identifier, etc.), disease information, a test technique, a type of a test apparatus, a format of data, and the like.
제공자는 데이터를 생산하거나 가공하여 제공하는 사용자를 의미한다. 제공자는 데이터를 공유될 수 있도록 제공하는 사용자이다. 제공자는 자신이 직접 생산한 데이터 또는 타인이 생산한 데이터를 제공할 수 있다. Provider means a user who produces or processes and provides data. A provider is a user who provides data to be shared. Providers can provide data produced by themselves or data produced by others.
수신자는 제공자가 제공한 데이터를 공유받는 사용자를 의미한다. 수신자는 데이터를 활용하여 연구 및 분석 등을 수행할 수 있다.The receiver refers to a user who shares data provided by the provider. Recipients can use the data to conduct research and analysis.
사용자는 사람이나 기관과 같은 특정 주체를 포함한다. 사용자 단말 또는 단말은 컴퓨터 장치로서, 사용자가 사용하는 클라이언트 장치를 의미한다. 시스템에서 사용자는 사용자 단말로 특정된다.The user includes a specific subject such as a person or an institution. The user terminal or terminal is a computer device, and means a client device used by the user. In the system, a user is specified as a user terminal.
컴퓨터 장치는 CPU, AP 등과 같은 연산 장치를 이용하여 입력되는 소스 데이터를 분석하는 장치를 의미한다. 컴퓨터 장치는 일반적으로 연산장치, 메모리, 입출력장치, 통신 인터페이스 장치 등을 포함한다. 컴퓨터 장치는 서버, PC, 태블릿 PC, 스마트폰 등과 같은 장치로 구현될 수 있다. The computer device refers to a device that analyzes input source data using a computing device such as a CPU or an AP. Computer devices generally include computing devices, memory, input / output devices, communication interface devices, and the like. The computer device may be implemented as a device such as a server, a PC, a tablet PC, a smartphone, or the like.
해쉬키(hash key)는 블록체인 네트워크상에서 사용자를 식별할 때 사용하는 값이다. 해쉬키는 다양한 방법을 통해 생성될 수 있다. 대표적인 해쉬키 생성 알고리즘은 MD5, SHA-256 등이 있다. 해쉬키는 특정 사용자에 대하여 유일하게 존재하는 값이다. 해쉬키는 다양한 길이의 문자열로 구성되는 키이다.A hash key is a value used to identify a user on a blockchain network. Hashkeys can be generated in a variety of ways. Representative hash key generation algorithms include MD5 and SHA-256. The hash key is the only value present for a particular user. Hash keys are keys that consist of strings of varying lengths.
공개키와 암호키(encryption key)는 블록체인 네트워크상에서 데이터를 암호화하여 전송하기 위한 키이다. 공개키와 암호키는 소위 공개키 방식의 암호화에 사용되는 키이다. 공개키 범위는 데이터를 암호화하는 키이고, 암호키는 암호화된 데이터를 복호하는 키이다. 공개키와 암호키는 서로 짝을 이루고 다양한 공개키 암호화 방법(예컨대, RSA, 타원곡선암호 등)을 이용하여 무작위로 생산될 수 있다. Public keys and encryption keys are keys for encrypting and transmitting data on a blockchain network. Public and cryptographic keys are keys used for so-called public key cryptography. The public key range is a key for encrypting data, and the encryption key is a key for decrypting encrypted data. The public and encryption keys can be paired with one another and randomly produced using various public key encryption methods (eg, RSA, elliptic curve cryptography, etc.).
블록체인은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경을 의미한다. 블록체인 네트워크는 블록체인을 구성하는 네트워크 구성요소를 의미한다. Blockchain refers to a chain-based distributed data storage environment in which small pieces of data called 'blocks' are managed based on P2P methods. Blockchain network refers to the network components constituting the blockchain.
도 1은 데이터 공유 모델에 대한 예이다. 도 1은 제공자(A) 측이 사용하는 사용자 단말(10), 수신자(B) 측이 사용하는 사용자 단말(20), 관리 서버(30) 및 블록체인 세트(40)를 도시한다. 이하 설명의 편의를 위해 제공자(A) 측이 사용하는 사용자 단말은 제1 단말(10), 수신자(B) 측이 사용하는 사용자 단말은 제2 단말(20)이라고 명명한다.1 is an example of a data sharing model. 1 shows a user terminal 10 used by a provider A side, a user terminal 20 used by a receiver B side, a management server 30 and a blockchain set 40. For convenience of description, the user terminal used by the provider A is called the first terminal 10 and the user terminal used by the receiver B is called the second terminal 20.
제1 단말(10)은 데이터를 입력받는다. 또는 제1 단말(10)은 데이터를 생성할 수도 있다. 또는 제1 단말(10)은 다른 객체로부터 데이터를 전송받을 수도 있다. 제1 단말(10)은 데이터를 관리 서버(30)에 전송한다.The first terminal 10 receives data. Alternatively, the first terminal 10 may generate data. Alternatively, the first terminal 10 may receive data from another object. The first terminal 10 transmits data to the management server 30.
관리 서버(30)는 데이터 공유를 위한 전반적인 과정을 관리한다. 관리 서버(30)는 데이터 공유 서비스를 제공하는 사업자가 관리할 수 있다. 관리 서버(30)와 블록체인 세트(40)가 데이터 공유를 위한 시스템을 구성한다고 볼 수 있다.The management server 30 manages the overall process for data sharing. The management server 30 may be managed by a provider that provides a data sharing service. It can be seen that the management server 30 and the blockchain set 40 constitute a system for data sharing.
데이터 공유는 블록체인을 통해 이루어 진다. 데이터 공유는 복수의 블록체인(블록체인 세트)를 이용한다. 블록체인 세트에 속하는 개별 블록체인은 데이터 공유를 위한 서로 다른 과정 내지 기능에 관여한다. 블록체인 세트(40)는 사용자 정보 블록체인, 포인트 정보 블록체인, 메타데이터 블록체인, 데이터 저장 블록체인을 포함한다. 구체적인 내용은 후술한다. Data sharing is done through the blockchain. Data sharing uses a plurality of blockchains (blockchain sets). Individual blockchains belonging to a blockchain set are involved in different processes or functions for sharing data. The blockchain set 40 includes a user information blockchain, a point information blockchain, a metadata blockchain, and a data storage blockchain. Details will be described later.
관리 서버(30)는 사용자에 대한 정보를 사용자 정보 블록체인에 사전에 등록한다. 관리 서버(30)는 사용자 정보 블록체인을 이용하여 특정 사용자에 대한 인증을 수행할 수도 있다. 관리 서버(30)는 제1 단말(10)로부터 수신한 데이터에 대한 메타데이터를 메타데이터 블록체인에 등록한다. 관리 서버(30)는 제1 단말(10)로부터 수신한 데이터를 저장 서버에 저장하여 데이터 저장 블록체인을 구성한다. 또한 관리 서버(30)는 사용자의 포인트 정보(포인트 생성, 포인트 사용, 포인트 이전, 포인트 소멸 등)를 포인트 정보 블록체인을 이용하여 관리한다.The management server 30 registers the information about the user in the user information blockchain in advance. The management server 30 may perform authentication for a specific user using the user information blockchain. The management server 30 registers metadata about data received from the first terminal 10 in the metadata blockchain. The management server 30 stores the data received from the first terminal 10 in the storage server to configure a data storage blockchain. In addition, the management server 30 manages the user's point information (point generation, point use, point transfer, point extinction, etc.) using the point information blockchain.
관리 서버(30)는 제2 단말(20)로부터 데이터에 대한 요청을 수신한다. 관리 서버(30)는 메타데이터를 기준으로 요청한 데이터에 대한 조회를 할 수 있다. 또는 경우에 따라서 관리 서버(30)는 저장 서버에 저장된 데이터에 대한 조회를 할 수도 있다. 관리 서버(30)는 요청받은 데이터가 존재하면, 해당 데이터에 대한 저장 정보를 제2 단말(20)에 전송한다. 이후 제2 단말(20)는 저장 정보를 기준으로 저장 서버로부터 데이터를 수신할 수 있다.The management server 30 receives a request for data from the second terminal 20. The management server 30 may inquire about the requested data based on the metadata. Alternatively, in some cases, the management server 30 may inquire about data stored in the storage server. If the requested data exists, the management server 30 transmits the storage information for the data to the second terminal 20. Thereafter, the second terminal 20 may receive data from the storage server based on the storage information.
블록체인 네트워크는 크게 두 가지 구성 요소를 갖는다. 하나는 블록체인 노드이고, 다른 하나는 클라이언트이다. 사용자 관점에서는 블록체인의 노드는 일반적인 서비스의 백엔드(Backend) 역할을 하고 블록체인 클라이언트는 클라이언트 역할을 한다. 클라이언트가 새로운 트랜잭션을 발생시키면 노드들은 트랜잭션을 분산합의 과정을 통해 공유하고 트랜잭션을 실행한다. 클라이언트는 트랜잭션의 결과를 확인할 수 있다. 도 1에서 사용자 단말(10, 20)은 클라이언트에 해당한다. 도 1에서 블록체인 노드는 네트워크에 연결된 별도의 노드(단말, 서버 등)에 해당한다. Blockchain networks have two main components. One is a blockchain node and the other is a client. From the user's point of view, a blockchain node acts as a backend for a typical service and a blockchain client acts as a client. When a client initiates a new transaction, the nodes share the transaction through the process of distributing and executing the transaction. The client can check the outcome of the transaction. In FIG. 1, user terminals 10 and 20 correspond to clients. In FIG. 1, a blockchain node corresponds to a separate node (terminal, server, etc.) connected to a network.
도 2는 데이터 공유 시스템(100)에 대한 예이다. 데이터 공유 시스템(100)은 관리 서버(110), 복수의 블록체인(120, 130, 140 및 150)을 포함한다. 관리 서버(110)는 도 1의 관리 서버(30)에 해당한다.2 is an example of a data sharing system 100. The data sharing system 100 includes a management server 110 and a plurality of blockchains 120, 130, 140, and 150. The management server 110 corresponds to the management server 30 of FIG.
사용자 단말(110)은 제공자 측의 제1 단말(10) 및 수신자 측의 제2 단말(20)을 포함한다. The user terminal 110 includes a first terminal 10 on the provider side and a second terminal 20 on the receiver side.
도 2는 모두 4개의 블록체인(120 내지 150)을 도시한다. 하나의 블록체인은 복수의 블록체인 노드로 구성된다. 4개의 블록체인은 아래와 같다. 후술하겠지만 경우에 따라서 시스템(100)은 다른 항목에 대한 블록체인을 더 포함할 수도 있다.2 shows all four blockchains 120-150. One blockchain is composed of a plurality of blockchain nodes. The four blockchains are shown below. As will be described later, in some cases, the system 100 may further include a blockchain for other items.
사용자 정보 블록체인(120)은 사용자 정보를 보유한다. 사용자 정보 블록체인은 사용자에 대한 해쉬키 및 사용자 정보를 저장한다. 예컨대, 사용자 정보는 사용자의 식별자, 사용자 아이디, 사용자 연락처, 이메일, 이름, 성별, 소속기관, 생년월일 등과 같은 정보를 포함할 수 있다. 사용자 정보 블록체인(120)은 공개키로 암호화된 사용자 정보를 보유할 수 있다.The user information blockchain 120 holds user information. The user information blockchain stores hash keys and user information about users. For example, the user information may include information such as an identifier of the user, a user ID, a user contact number, an e-mail, a name, a gender, an institution, a date of birth, and the like. The user information blockchain 120 may hold user information encrypted with a public key.
포인트 정보 블록체인(130)은 포인트 정보를 보유한다. 포인트는 데이터 공유에 따른 인센티브이다. 또 포인트는 데이터 이용에 따른 이용료에 해당한다. 나아가 포인트는 데이터를 중개하는 사업자에 대한 수수료가 될 수도 있다. 포인트는 소위 블록체인에 기반한 가상화폐일 수 있다. 또는 포인트는 블록체인에 기반하지 않은 공유 서비스 고유의 화폐(사이버 머니, 캐쉬, 마일리지 등)일 수도 있다. 포인트는 별도의 시스템이나 서비스를 통해 현실 세계에 사용되는 화폐로 환전될 수도 있다. 포인트 정보 블록체인(130)은 개별 사용자의 포인트 잔액 정보, 포인트 거래 내역 등과 같은 정보를 보유한다.The point information blockchain 130 holds point information. The point is the incentive to share data. In addition, points correspond to the fee for using data. Furthermore, the points may be a fee for the operators who broker the data. The point may be a so-called blockchain-based virtual currency. Alternatively, the point may be a currency unique to the shared service (cyber money, cash, mileage, etc.) that is not based on the blockchain. Points may be converted into currency used in the real world through a separate system or service. The point information blockchain 130 holds information such as point balance information and point transaction details of individual users.
메타데이터 블록체인(140)은 데이터에 대한 메타데이터를 보유한다. 메타데이터 블록체인(140)은 특정 공개키로 암호화된 메타데이터를 보유할 수 있다. The metadata blockchain 140 holds metadata about the data. The metadata blockchain 140 can hold metadata encrypted with a specific public key.
데이터 저장 블록체인(150)은 저장 서버에 저장된 데이터에 대한 저장 정보를 보유한다. 저장 정보는 저장 서버의 식별자, 파일 이름, 저장 서버의 저장 매체에서 데이터가 저장된 위치, 파일 크기, 파일 분할 정보, 검증키 등을 포함할 수 있다.The data storage blockchain 150 holds storage information for data stored in the storage server. The storage information may include an identifier of a storage server, a file name, a location where data is stored in a storage medium of the storage server, a file size, file split information, a verification key, and the like.
저장 서버(155)는 데이터를 저장한다. 저장 서버는 하나의 단일 서버일 수 있다. 또는 도 2에 도시한 바와 같이 저장 서버는 n개의 서버(저장서버1, ... 저장서버n)로 구성될 수 있다. 저장 서버가 복수인 경우, 데이터를 분산하여 저장할 수 있다. 나아가 저장 서버가 복수인 경우 하나의 서버(주저장 서버)는 생성된 데이터를 그대로 저장하고, 나머지 서버(부저장 서버)는 데이터를 분산(분할)하여 저장할 수 있다. 복수의 서버가 사용되는 경우, 복수의 저장 서버 또는 복수의 부저장 서버는 블록체인을 구성하는 노드가 되어 복수의 저장 서버가 데이터 저장 블록체인을 구성할 수도 있다. 데이터 저장 블록체인(150)은 보유하고 있는 데이터 전체에 대한 저장 정보를 보유한다.The storage server 155 stores the data. The storage server may be one single server. Alternatively, as shown in FIG. 2, the storage server may include n servers (storage server 1, ... storage server n). When there are a plurality of storage servers, data may be distributed and stored. Furthermore, when there are a plurality of storage servers, one server (main storage server) may store the generated data as it is, and the other server (sub storage server) may distribute (segment) and store the data. When a plurality of servers are used, the plurality of storage servers or the plurality of sub-storage servers may be nodes constituting the block chain, and the plurality of storage servers may configure the data storage block chain. The data storage blockchain 150 holds storage information for the entire data held.
관리 서버(110)는 제1 단말(10)로부터 수신되는 사용자 정보, 포인트 거래 정보, 메타데이터, 데이터를 블록체인 네트워크로 저장한다. 관리 서버(110)는 데이터를 요청하는 제2 단말(20)로 데이터를 전송하는 역할을 수행한다.The management server 110 stores user information, point transaction information, metadata, and data received from the first terminal 10 in a blockchain network. The management server 110 transmits data to the second terminal 20 requesting data.
관리 서버(110)는 사용자 관리 기능을 포함할 수 있다. 즉 사용자에 대한 정보를 전송 받아 사용자 정보 블록체인 네트워크에 저장하고, 저장된 사용자 정보를 기반으로 사용자 인증을 수행할 수 있다.The management server 110 may include a user management function. In other words, the user information can be received and stored in the user information blockchain network, and user authentication can be performed based on the stored user information.
관리 서버(110)는 포인트 관리기능을 포함할 수 있다. 즉 사용자가 포인트 구매, 포인트 판매한 내역, 사용자간 거래에서 발생하는 포인트 거래 내역. 사용자의 잔액 포인트 등을 블록체인 네트워크를 통해 저장하고 조회 할 수 있다.The management server 110 may include a point management function. That is, a point purchase, a point sale, or a point transaction that occurs from a user-to-user transaction. The user's balance points can be stored and retrieved through the blockchain network.
관리 서버(110)는 메타데이터 관리 기능을 포함 할 수 있다. 관리 서버(110)는 데이터 제공자로부터 전송받은 메타데이터를 블록체인 네트워크에 저장한다. 또 관리 서버(110)는 수신자가 이를 기반으로 데이터를 검색하고, 검색 결과에 해당하는 데이터를 그룹으로 만들 수 있다.The management server 110 may include a metadata management function. The management server 110 stores the metadata received from the data provider in the blockchain network. In addition, the management server 110 may search for data based on the receiver, and group the data corresponding to the search results into groups.
관리 서버(110)는 데이터 저장 관리 기능을 포함할 수 있다. 관리 서버(110)는 데이터를 제공자로부터 전송받아 저장서버에 저장하고, 수신자에게 데이터들을 모아 그룹으로 만들서 전송할 수 있다.The management server 110 may include a data storage management function. The management server 110 may receive the data from the provider, store the data in the storage server, collect the data, and group the data to the receiver.
도 3은 데이터 공유 과정(200)에 대한 순서도의 예이다. 도 3은 데이터 공유를 위한 개략적인 과정을 도시한다. 사용자(제공자 및 수신자)는 사전에 사용자 등록을 수행한다(210). 관리 서버(110)는 사용자 정보 및 해쉬키를 사용자 정보 블록체인에 등록한다. 또 사용자 등록 후에 관리 서버(110)는 데이터 제공, 데이터 공유, 포인트 처리 과정 등을 시작하기 전에 해당 과정을 수행하는 또는 요청하는 사용자에 대한 인증을 수행할 수 있다. 관리 서버(110)는 사용자 정보 블록체인을 활용하여 사용자 인증을 수행할 수 있다.3 is an example of a flow chart for a data sharing process 200. 3 shows a schematic process for data sharing. The users (providers and recipients) perform user registration in advance (210). The management server 110 registers the user information and the hash key in the user information blockchain. In addition, after user registration, the management server 110 may perform authentication for a user who performs or requests a corresponding process before starting data provision, data sharing, point processing, or the like. The management server 110 may perform user authentication by using a user information blockchain.
제공자는 데이터를 관리 서버(110)에 제공하고, 관리 서버(110)는 데이터를 저장 서버(155)에 저장하면서 데이터 저장 블록체인(150)을 구성한다(220). 또 도 3에 도시하지 않았지만, 관리 서버(110)는 데이터에 대한 메타데이터를 메타데이터 블록 체인에 등록할 수 있다.The provider provides data to the management server 110, and the management server 110 configures the data storage blockchain 150 while storing the data in the storage server 155 (220). Although not shown in FIG. 3, the management server 110 may register metadata about data in a metadata block chain.
수신자는 필요한 데이터를 관리 서버(30)에 요청한다. 관리 서버(30)는 요청받은 데이터가 있는지 데이터 검색을 수행하고, 존재하는 경우 해당 데이터의 저장 정보를 수신자에게 전달한다(230). 관리 서버(30)는 메타데이터를 기준으로 데이터를 검색할 수 있다.The receiver requests the management server 30 for necessary data. The management server 30 performs a data search for the requested data and, if present, transmits the stored information of the data to the receiver (230). The management server 30 may search for data based on the metadata.
관리 서버(110)는 수신자에게 데이터를 제공하기 전에, 데이터 사용과 관련된 포인트 처리를 한다(240). 관리 서버(110)는 포인트 거래 내역(포인트 변경, 포인트 이전, 포인트 충전 등)에 대한 사항을 포인트 정보 블록체인(130)에 등록한다. 예컨대, 이 과정을 통해 수신자 포인트가 제공자에게 전달될 수 있다.The management server 110 performs 240 processing points related to the use of data before providing data to the recipient. The management server 110 registers the details of the point transaction details (point change, point transfer, point charging, etc.) in the point information blockchain 130. For example, the recipient point can be delivered to the provider through this process.
마지막으로 관리 서버(110)는 요청받은 데이터의 저장 정보를 수신자에게 제공한다. 수신자는 저장 정보를 기준으로 저장 서버(155)로부터 데이터를 수신할 수 있다.Finally, the management server 110 provides the storage information of the requested data to the receiver. The receiver may receive data from the storage server 155 based on the stored information.
한편 사용자 정보 등록, 데이터 저장, 메타데이터 등록, 포인트 처리 등의 과정에서 사용되는 데이터를 공개키 방식으로 암호화할 수 있다. Meanwhile, data used in the process of registering user information, storing data, registering metadata, and processing points may be encrypted using a public key method.
도 4는 사용자 정보 등록 및 인증 과정(300)에 대한 예이다. 도 4는 사용자 등록 과정 및 사용자 인증 과정을 모두 도시한다.4 is an example of a user information registration and authentication process 300. 4 shows both a user registration process and a user authentication process.
사용자 등록 과정에 대하여 설명한다. 도 9에서 사용자 단말은 제1 단말(10) 또는/및 제2 단말(20)을 의미한다. 제공자는 데이터 제공 위해 또는 수신자는 데이터 요청을 위해 사전에 사용자 등록을 해야 한다.The user registration process will be described. In FIG. 9, the user terminal refers to the first terminal 10 and / or the second terminal 20. The provider must register the user in advance to provide the data or the receiver to request the data.
사용자 단말(10/20)은 사용자 정보 PI를 입력한다(301). 사용자 단말(10/20)은 사용자 정보 PI를 관리 서버(110)에 전송한다(302).The user terminal 10/20 inputs user information PI (301). The user terminal 10/20 transmits the user information PI to the management server 110 (302).
관리 서버(110)는 해쉬키를 생성할 수 있다. 관리 서버(110)는 사용자 정보(PI)를 기준으로 해시키 생성을 요청한 사용자에 대한 해쉬키(Hk)를 생성한다(311). 해쉬키(Hk)는 현재 해쉬키를 요청한 사용자(단말)에 대한 식별자로 사용된다. 따라서 해쉬키(Hk)는 사용자 특이적인 유일한 정보에 해당한다. 관리 서버(110)는 입력된 사용자 정보(PI)를 일정한 해쉬 함수에 입력하여 해쉬키(Hk)를 생성한다. 해쉬키를 생성하는 알고리즘 내지 해쉬 함수는 다양할 수 있다. The management server 110 may generate a hash key. The management server 110 generates a hash key H k for the user who requested to generate the hash based on the user information PI (311). The hash key H k is used as an identifier for the user (terminal) who has requested the current hash key. Thus, the hash key H k corresponds to user-specific unique information. The management server 110 generates the hash key H k by inputting the input user information PI into a predetermined hash function. The algorithm or hash function for generating the hash key may vary.
관리 서버(110)는 수신한 사용자 정보 PI를 암호화(PI' 생성)할 수 있다(312). 관리 서버(110)는 사용자 단말(10/20)이 전송한 공개키를 사용하여 사용자 정보를 암호화할 수도 있다. 한편 사용자 단말(10/20)이 공개키로 암호화한 사용자 정보 PI'를 관리 서버(110)에 전송할 수도 있다.The management server 110 may encrypt (generated PI ') the received user information PI (312). The management server 110 may encrypt the user information using the public key transmitted by the user terminal 10/20. Meanwhile, the user information PI 'encrypted by the public terminal 10/20 may be transmitted to the management server 110.
관리 서버(110)는 생성한 해쉬키(Hk)를 해쉬키를 요청한 사용자 단말(10/20)에 전달한다(321). 사용자 단말(10/20)은 해쉬키(Hk)를 저장 매체에 저장한다(322).The management server 110 transmits the generated hash key H k to the user terminal 10/20 that requested the hash key (321). The user terminal 10/20 stores the hash key H k in the storage medium (322).
관리 서버(110)는 암호화된 사용자 정보(PI') 및 해쉬키(Hk)를 포함하는 사용자 블록 데이터를 사용자 정보 블록체인(120)에 전송한다(331). 사용자 정보 블록체인(120)은 수신한 암호화된 사용자 정보(PI') 및 해쉬키(Hk)를 등록한다(332). 이때 관리 서버(110)는 암호화에 사용한 공개키를 사용자 정보 블록체인(120)에 더 전송할 수 있다. 이 경우 사용자 정보 블록체인(120)은 공개키까지 더 등록할 수 있다. 전술한 301 내지 332 과정까지가 사용자 정보 등록 과정에 해당한다.The management server 110 transmits user block data including the encrypted user information PI ′ and the hash key H k to the user information blockchain 120 (331). The user information blockchain 120 registers the received encrypted user information PI 'and the hash key H k (332). In this case, the management server 110 may further transmit the public key used for encryption to the user information blockchain 120. In this case, the user information blockchain 120 may further register up to the public key. Steps 301 to 332 described above correspond to a user information registration process.
사용자 인증 과정을 설명한다. 사용자 인증은 데이터 공유 서비스의 특정 단계 또는 각 단계에서 필요할 수 있다. 사용자 인증을 통해 인증된 사용자만 이후 단계를 진행할 수 있다. Describes the user authentication process. User authentication may be required at certain stages or at each stage of the data sharing service. Only users who have been authenticated through user authentication can proceed to the next step.
인증을 위하여 사용자 단말(10/20)은 사용자 정보 PI를 입력한다(351). 사용자 단말(10/20)은 사용자 정보 PI 또는 저장된 자신의 해쉬키(Hk)를 관리 서버(110)에 전송한다(352). 관리 서버(110)는 수신한 사용자 정보를 공개키로 암호화하여 PI'를 생성할 수도 있다. 관리 서버(110)는 수신한 사용자 정보 PI(또는 PI') 또는 해쉬키(Hk)를 기준으로 사용자 정보를 조회한다(361). 관리 서버(110)는 수신한 정보를 기준으로 사용자 정보 블록체인(120)에 전달한 사용자 정보를 조회한다. 관리 서버(110)는 조회된 사용자 정보 또는 해쉬키(Hk)를 사용자 정보 블록체인(120)에 전송한다. For authentication, the user terminal 10/20 inputs user information PI (351). The user terminal 10/20 transmits the user information PI or its stored hash key H k to the management server 110 (352). The management server 110 may generate the PI 'by encrypting the received user information with the public key. The management server 110 inquires the user information based on the received user information PI (or PI ') or the hash key (H k ) (361). The management server 110 queries the user information delivered to the user information blockchain 120 based on the received information. The management server 110 transmits the inquired user information or hash key H k to the user information blockchain 120.
사용자 정보 블록체인(120)은 수신한 정보에 기반하여 사용자 정보를 식별할 수 있다(371). 예컨대, 사용자 정보 블록체인(120)은 해쉬키(Hk)를 기준으로 사용자 정보를 식별할 수 있다. 사용자 정보 블록체인(120)은 식별한 사용자 정보를 관리 서버(110)에 전송한다(372).The user information blockchain 120 may identify user information based on the received information (371). For example, the user information blockchain 120 may identify user information based on the hash key H k . The user information blockchain 120 transmits the identified user information to the management server 110 (372).
관리 서버(110)는 사용자 정보 블록체인(120)로부터 수신한 사용자 정보 PI'와 사용자 단말(10/20)로부터 수신한 사용자 정보 PI'를 비교하여 사용자 인증을 수행할 수 있다. 또 관리 서버(110)는 인증토큰을 생성할 수 있다(381). 이때 관리 서버(110)는 공개키로 인증토큰을 암호화할 수도 있다. 관리 서버(110)는 사용자 인증토큰을 사용자 단말(10/20)에 전송한다(382).The management server 110 may perform user authentication by comparing the user information PI ′ received from the user information blockchain 120 and the user information PI ′ received from the user terminal 10/20. In addition, the management server 110 may generate an authentication token (381). At this time, the management server 110 may encrypt the authentication token with a public key. The management server 110 transmits a user authentication token to the user terminal 10/20 (382).
사용자 단말(10/20)은 사용자 인증토큰을 저장한다(383). 사용자 단말(10/20)은 암호화된 인증토큰을 복호하여 저장할 수도 있다. 이후 사용자 단말(10/20)은 관리 서버(110)과 통신하는 과정에서 인증토큰을 이용할 수 있다. 인증을 요구하는 관리 서버(110)는 유효한 인증토큰을 전달하는 사용자 단말에 대해서만 특정 데이터를 제공할 수 있다.The user terminal 10/20 stores a user authentication token (383). The user terminal 10/20 may decrypt and store the encrypted authentication token. Thereafter, the user terminal 10/20 may use an authentication token in the process of communicating with the management server 110. The management server 110 that requires authentication may provide specific data only for the user terminal that delivers a valid authentication token.
사용자 등록 과정에서 개별 사용자에 대한 가상 계좌 생성 단계가 수행될 수 있다. 가상 계좌 생성은 포인트 정보 블록체인(130)에 사용자에 대한 계좌(지갑)을 생성하는 과정을 포함한다. 가상 계좌 생성은 블록체인에 기반한 가상 화폐 서비스에서 통상적으로 사용되는 방법이 사용될 수 있다. 아래 설명하는 도 5와 관련된 설명은 사용자별고 가상 계좌가 생성된 상태를 전제로 한다.In the user registration process, a virtual account generation step for an individual user may be performed. The virtual account generation includes creating an account (wallet) for the user in the point information blockchain 130. Virtual account creation may be a method commonly used in a virtual money service based on blockchain. The description related to FIG. 5 described below assumes a state where a virtual account is created for each user.
도 5는 포인트 거래 과정(400)에 대한 예이다. 도 5는 사용자에 대한 포인트를 처리하고 관리하는 과정에 대한 예이다. 5 is an example of a point trading process 400. 5 is an example of a process of processing and managing points for a user.
사용자 단말(10/20)은 사용자 포인트 거래 정보를 입력한다(401). 포인트 거래 정보는 포인트 거래에 필요한 정보를 포함한다. 예컨대, 포인트 거래 정보는 거래 대상자 정보(사용자 정보 또는 해쉬키), 포인트 충전 정보, 포인트 입출금 정보, 포인트 잔액 정보, 거래 금액 정보 등을 포함한다. 사용자 단말(10/20)은 포인트 거래 정보를 관리 서버(110)에 전송한다(411). 사용자 단말(10/20)은 공개키로 포인트 거래 정보를 암호화하고, 암호화된 정보를 전송할 수 있다.The user terminal 10/20 inputs user point transaction information (401). The point trading information includes information necessary for point trading. For example, the point transaction information includes transaction subject information (user information or hash key), point charging information, point deposit and withdrawal information, point balance information, transaction amount information, and the like. The user terminal 10/20 transmits point transaction information to the management server 110 (411). The user terminal 10/20 may encrypt the point transaction information with the public key and transmit the encrypted information.
관리 서버(110)는 포인트 거래 정보를 전송한 사용자에 대한 인증을 수행할 수 있다(420). 인증이 성공한 사용자에 대해서만 이후 과정이 진행될 수 있다. 관리 서버(110)는 사용자 단말(10/20)이 전송한 인증 토큰을 이용하여 해당 사용자에 대한 인증을 수행할 수 있다. 인증 토큰은 도 4에서 설명한 바 있다.The management server 110 may perform an authentication on the user who transmitted the point transaction information (420). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
관리 서버(110)는 요청한 포인트 거래 내역을 조회할 수 있다(421). 예컨대, 거래 내역이 기재된 장부에 해당하는 특정 블록을 조회할 수 있다. 관리 서버(110)는 포인트 거래 정보를 확인된 포인트 정보 블록체인(130)에 전송한다(422).The management server 110 can inquire the requested point transaction history (421). For example, a specific block corresponding to a book in which transaction details are listed may be inquired. The management server 110 transmits the point transaction information to the confirmed point information blockchain 130 (422).
포인트 정보 블록체인(130)은 포인트 거래에 대한 정보를 조회하고, 요청받은 거래에 대한 내용을 등록한다(431). 예컨대, 특정 사용자(수신자)의 장부에서 포인트를 삭감하고, 다른 사용자(제공자)의 장부에 포인트를 추가할 수 있다. 포인트 정보 블록체인(130)은 거래 내역과 관련된 정보를 블록에 기재한다. 그리고 포인트 정보 블록체인(130)는 변경된 포인트 거래 정보를 관리 서버(110)에 전송한다(432).The point information blockchain 130 inquires information about the point transaction, and registers the content of the requested transaction (431). For example, points may be reduced in the books of a specific user (recipient) and added to the books of another user (provider). The point information blockchain 130 writes information related to the transaction details in the block. The point information blockchain 130 transmits the changed point transaction information to the management server 110 (432).
관리 서버(110)는 포인트 정보 블록체인(130)로부터 수신한 거래 내역과 사용자 단말(10/20)로부터 요청받은 거래 내역이 일치하는지 검증할 수 있다(441). 검증이 성공하면 관리 서버(110)는 포인트 거래 정보를 사용자 단말(10/20)에 전송한다(442). 사용자 단말(10/20)은 사용자 포인트 거래 정보를 저장한다(451). The management server 110 may verify whether the transaction details received from the point information blockchain 130 and the transaction details requested from the user terminal 10/20 match (441). If the verification is successful, the management server 110 transmits the point transaction information to the user terminal 10/20 (442). The user terminal 10/20 stores user point transaction information (451).
도 6은 데이터에 대한 메타데이터 관리 과정(500)에 대한 예이다. 도 6은 메타데이터를 등록하는 과정과 삭제하는 과정을 포함한다.6 is an example of a metadata management process 500 for data. 6 includes a process of registering and deleting metadata.
먼저 메타데이터를 등록하는 과정을 설명한다. 제1 단말(10)은 데이터를 입력한다(511). 또는 사용자 단말(10/20)은 데이터에 대한 메타데이터를 입력한다. 제1 단말(10)은 입력한 또는 획득한 데이터 또는 메타데이터를 관리 서버(110)에 전송한다(512). First, the process of registering metadata is described. The first terminal 10 inputs data (511). Alternatively, the user terminal 10/20 inputs metadata about data. The first terminal 10 transmits the input or acquired data or metadata to the management server 110 (512).
관리 서버(110)는 데이터 또는 메타데이터를 전송한 사용자에 대한 인증을 수행할 수 있다(520). 인증이 성공한 사용자에 대해서만 이후 과정이 진행될 수 있다. 관리 서버(110)는 사용자 단말(10/20)이 전송한 인증 토큰을 이용하여 해당 사용자에 대한 인증을 수행할 수 있다. 인증 토큰은 도 4에서 설명한 바 있다.The management server 110 may perform authentication on the user who transmitted the data or metadata (520). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
관리 서버(110)는 데이터를 수신하면 데이터에서 메타데이터를 식별할 수 있다(521). 관리 서버(110)는 데이터를 수신하면 사전에 정해진 포맷이나 규격에 맞는지 검증할 수도 있다. 또는 관리 서버(110)는 특정한 검증키로 데이터를 검증할 수도 있다. 검증키는 전자 서명을 검증하는 정보를 의미한다. 이 경우 데이터는 사전에 전자 서명을 포함해야 한다. 제공자가 전자 서명이 포함된 데이터를 송부한다.When the management server 110 receives the data, the management server 110 may identify metadata from the data (521). The management server 110 may verify whether the data meets a predetermined format or standard upon receiving the data. Alternatively, the management server 110 may verify data with a specific verification key. The verification key refers to information for verifying an electronic signature. In this case, the data must include an electronic signature in advance. The provider sends the data with the electronic signature.
데이터는 특정한 포맷으로 메타데이터에 대한 정보를 포함할 수 있다. 이 경우 관리 서버(110)는 데이터로부터 메타데이터를 추출할 수 있다. 관리 서버(110)가 제1 단말(10)로부터 메타데이터를 직접 전송받았다면 별도의 식별 과정이 필요 없다. 관리 서버(110)는 메타데이터를 메타데이터 블록체인(140)에 전송한다. 메타데이터 블록체인(140)은 특정 데이터와 관련된 메타데이터를 블록데이터로 등록한다(531). 메타데이터 블록체인(140)에 등록된 메타데이터는 수신자가 데이터를 요청하는 경우, 요청에 맞는 데이터가 존재하는지 여부 확인에 사용될 수 있다.The data may include information about the metadata in a particular format. In this case, the management server 110 may extract metadata from the data. If the management server 110 receives the metadata directly from the first terminal 10, no separate identification process is required. The management server 110 transmits the metadata to the metadata blockchain 140. The metadata blockchain 140 registers metadata related to specific data as block data (531). The metadata registered in the metadata blockchain 140 may be used for checking whether data corresponding to the request exists when the receiver requests data.
메타데이터 삭제 과정을 설명한다. 제1 단말(10)은 메타데이터 삭제를 의뢰한다(551). 제1 단말(10)은 메타데이터 삭제 메시지를 관리 서버(110)에 전송한다(552). 삭제 메시지는 삭제 대상이 되는 데이터의 식별자, 메타데이터의 식별자, 메타데이터 생성 시점 등을 포함할 수 있다. 또는 삭제 메시지는 메타데이터를 모두 포함할 수도 있다. 관리 서버(110)는 수신한 메타데이터 삭제 메시지를 검증한다(561). 관리 서버(110)는 특정 검증키로 삭제 메시지를 검증할 수 있다. 이와 별도로 관리 서버(110)는 삭제 메시지를 전달한 사용자에 대한 인증을 수행할 수 있다. 인증은 제1 단말(10)이 전달하는 인증토큰이 유효한가 여부로 수행할 수 있다. 관리 서버(110)는 삭제 메시지를 메타데이터 블록체인(140)에 전송한다(562). 메타데이터 블록체인(140)은 삭제 메시지에 포함된 정보를 기준으로 요청받은 메타데이터를 삭제한다(571). 이후 메타데이터 블록체인(140)은 삭제 확인 메시지를 관리 서버(110)에 전송한다(581). 관리서버는 삭제 확인 메시지를 제1 단말(10)에 전송할 수 있다(582).Describe the process of deleting metadata. The first terminal 10 requests deletion of metadata (551). The first terminal 10 transmits the metadata deletion message to the management server 110 (552). The deletion message may include an identifier of data to be deleted, an identifier of metadata, a metadata generation time point, and the like. Alternatively, the deletion message may include all metadata. The management server 110 verifies the received metadata deletion message (561). The management server 110 may verify the deletion message with a specific verification key. Separately, the management server 110 may perform authentication on the user who delivered the deletion message. Authentication may be performed by whether the authentication token delivered by the first terminal 10 is valid. The management server 110 transmits a deletion message to the metadata blockchain 140 (562). The metadata blockchain 140 deletes the requested metadata based on the information included in the deletion message (571). Thereafter, the metadata blockchain 140 transmits a delete confirmation message to the management server 110 (581). The management server may transmit a deletion confirmation message to the first terminal 10 (582).
도 7은 데이터 저장 및 삭제 과정(600)에 대한 예이다. 7 is an example of a data storage and deletion process 600.
먼저 데이터 저장 과정을 설명한다. 제1 단말(10)은 데이터를 입력한다(601). 제1 단말(10)는 데이터를 직접 생성하거나, 제3자가 생성한 정보를 입력할 수 있다. 제1 단말(10)는 생성한 데이터를 공개키로 암호화할 수 있다(602). 경우에 따라 관리 서버(110)가 제1 단말(10)의 공개키로 데이터를 암호화할 수도 있다.First, the data storage process is explained. The first terminal 10 inputs data (601). The first terminal 10 may directly generate data or input information generated by a third party. The first terminal 10 may encrypt the generated data with the public key (602). In some cases, the management server 110 may encrypt data with the public key of the first terminal 10.
제1 단말(10)은 데이터를 관리 서버(110)에 전송한다(611). 관리 서버(110)는 수신한 데이터를 일정한 기준으로 검증할 수 있다(612). 예컨대, 데이터가 특정한 포맷을 갖는 경우 관리 서버(110)는 데이터가 해당 포맷의 규격을 만족하는지 검증할 수 있다. 또는 데이터에 대한 별도의 검증키를 이용하여 검증할 수도 있다.The first terminal 10 transmits data to the management server 110 (611). The management server 110 may verify the received data on a predetermined basis (612). For example, when the data has a specific format, the management server 110 may verify whether the data satisfies the standard of the format. Alternatively, the verification may be performed using a separate verification key for the data.
관리 서버(110)는 데이터를 전송한 사용자에 대한 인증을 수행할 수 있다(620). 인증이 성공한 사용자에 대해서만 이후 과정이 진행될 수 있다. 관리 서버(110)는 사용자 단말(10/20)이 전송한 인증 토큰을 이용하여 해당 사용자에 대한 인증을 수행할 수 있다. 인증 토큰은 도 4에서 설명한 바 있다.The management server 110 may perform authentication on the user who transmitted the data (620). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
관리 서버(110)는 암호화된 데이터를 저장 서버(155)에 전송한다(621). 저장 서버(155)는 수신한 데이터를 저장한다(622). 전술한 바와 같이 저장 서버(155)는 복수의 서버로 구성될 수 있다. 이 경우 데이터가 복수의 서버에 분산 또는 분할되어 저장될 수 있다. 하나의 서버 또는 복수의 서버는 자신이 데이터를 저장한 정보를 데이터 저장 블록체인(150)에 전달한다(631). 데이터 저장 블록체인(150)은 저장 서버(155)가 보유하는 데이터에 대한 저장 정보를 통합적으로 등록한다(632). 각 저장 서버(155)는 자신이 보유한 정보만을 갖고 있지만, 데이터 저장 블록체인(150)은 전체 데이터의 저장 정보를 보유한다. 전술한 바와 같이 저장 정보는 저장 서버의 식별자, 파일 이름, 저장 서버의 저장 매체에서 데이터가 저장된 위치, 파일 크기, 파일 분할 정보, 검증키 등을 포함할 수 있다. 데이터 저장 블록체인(150)은 데이터 저장 정보를 관리 서버(110)에 전송한다(641). 관리 서버(110)는 데이터에 대한 저장 정보를 등록한다(642). 즉 관리 서버(110)가 전체 데이터에 대한 저장 정보를 보유하게 된다.The management server 110 transmits the encrypted data to the storage server 155 (621). The storage server 155 stores the received data (622). As described above, the storage server 155 may be configured of a plurality of servers. In this case, data may be distributed or divided in a plurality of servers and stored. One server or a plurality of servers transmits the information in which the data is stored to the data storage blockchain 150 (631). The data storage blockchain 150 registers the storage information for the data held by the storage server 155 collectively (632). Each storage server 155 has only its own information, but the data storage blockchain 150 holds the storage information of the entire data. As described above, the storage information may include an identifier of a storage server, a file name, a location where data is stored in a storage medium of the storage server, a file size, file split information, a verification key, and the like. The data storage blockchain 150 transmits data storage information to the management server 110 (641). The management server 110 registers 642 storage information for the data. That is, the management server 110 retains the storage information for the entire data.
데이터 삭제 과정을 설명한다. 제1 단말(10)은 데이터 삭제를 의뢰한다(651). 제1 단말(10)은 데이터 삭제 메시지를 관리 서버(110)에 전송한다(652). 관리 서버(110)는 삭제 메시지를 검증한다(661). 삭제 메시지는 삭제 대상이 되는 데이터의 이름, 식별자 등을 포함할 수 있다. 관리 서버(110)는 별도의 검증키를 이용하여 삭제 메시지를 검증할 수 있다. 또 별도의 과정을 통해 삭제 메시지를 전송한 사용자(제1 단말)을 인증할 수도 있다.Describe the data deletion process. The first terminal 10 requests data deletion (651). The first terminal 10 transmits a data deletion message to the management server 110 (652). The management server 110 verifies the deletion message (661). The deletion message may include a name, an identifier, and the like of data to be deleted. The management server 110 may verify the deletion message by using a separate verification key. In addition, the user (first terminal) that transmits the deletion message may be authenticated through a separate process.
관리 서버(110)는 삭제 메세지를 전송한 사용자에 대한 인증을 수행할 수 있다(670). 인증이 성공한 사용자에 대해서만 이후 과정이 진행될 수 있다. 관리 서버(110)는 사용자 단말(10/20)이 전송한 인증 토큰을 이용하여 해당 사용자에 대한 인증을 수행할 수 있다. 인증 토큰은 도 4에서 설명한 바 있다.The management server 110 may perform authentication on the user who sent the deletion message (670). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
관리 서버(110)는 데이터 삭제 메시지를 저장 서버(155)에 전송한다(671). 관리 서버(110)는 저장 정보를 보유하고 있기 때문에, 삭제 대상을 저장한 저장 서버(155)에 삭제 메시지를 전송할 수 있다(671). 저장 서버(155)는 삭제 요청받은 데이터를 삭제한다(681). 도 7에 도시하지 않았지만, 저장 서버(155)는 데이터를 삭제하고, 변경되는 정보를 데이터 저장 블록체인(150)에 등록한다. 데이터 저장 블록체인(150)는 저장 정보를 갱신한다. 저장 서버(155)는 관리 서버(110)에 삭제 확인 메시지를 전송한다(691). 관리 서버(110)는 삭제 확인 메시지를 제1 단말(10)에 전송할 수 있다(692).The management server 110 transmits a data deletion message to the storage server 155 (671). Since the management server 110 holds the storage information, the management server 110 may transmit a deletion message to the storage server 155 storing the deletion target (671). The storage server 155 deletes the data requested for deletion (681). Although not shown in FIG. 7, the storage server 155 deletes the data and registers the changed information in the data storage blockchain 150. The data storage blockchain 150 updates the storage information. The storage server 155 transmits a deletion confirmation message to the management server 110 (691). The management server 110 may transmit a deletion confirmation message to the first terminal 10 (692).
한편 제1 단말(10)은 데이터를 삭제하는 경우, 삭제되는 데이터에 대한 메타데이터도 삭제하는 것이 바람직하다. 따라서 제1 단말(10)이 전송하는 삭제 메시지는 데이터 및 해당 데이터에 대한 메타데이터에 대한 삭제 정보를 포함할 수 있다.On the other hand, when the first terminal 10 deletes the data, it is preferable to also delete the metadata for the data to be deleted. Therefore, the deletion message transmitted by the first terminal 10 may include deletion information about data and metadata about the data.
도 8은 데이터 검색 및 전송 과정(700)에 대한 예이다. 도 8은 수신자가 데이터를 공유받는 과정에 해당한다. 제2 단말(20)은 데이터 검색어를 입력한다(711). 데이터 검색어는 다양한 정보로 구성될 수 있다. 예컨대, 데이터 검색어는 특정 대상자의 식별자, 특정 유전체의 식별자, 특정 질환에 대한 식별자, 특정 기관에 대한 식별자, 데이터 생성 시기, 데이터 갱신 시기 등을 포함할 수 있다. 데이터 검색어는 데이터에 대한 메타 데이터를 포함할 수 있다. 제2 단말(20)은 데이터 검색어를 관리 서버(110)에 전송한다(712).8 is an example of a data retrieval and transmission process 700. 8 corresponds to a process in which a receiver receives data. The second terminal 20 inputs a data search word (711). The data search word may be composed of various information. For example, the data search word may include an identifier of a specific subject, an identifier of a specific genome, an identifier for a specific disease, an identifier for a specific organ, a data generation time, a data update time, and the like. The data search term may include metadata about the data. The second terminal 20 transmits the data search word to the management server 110 (712).
관리 서버(110)는 검색어를 전송한 사용자에 대한 인증을 수행할 수 있다(720). 인증이 성공한 사용자에 대해서만 이후 과정이 진행될 수 있다. 관리 서버(110)는 사용자 단말(10/20)이 전송한 인증 토큰을 이용하여 해당 사용자에 대한 인증을 수행할 수 있다. 인증 토큰은 도 4에서 설명한 바 있다.The management server 110 may perform an authentication on the user who transmitted the search word (720). The subsequent process may be performed only for the user whose authentication is successful. The management server 110 may perform authentication for the corresponding user by using the authentication token transmitted by the user terminal 10/20. The authentication token has been described with reference to FIG. 4.
관리 서버(110)는 먼저 요청받은 데이터가 저장 서버(155)에 존재하는지 검색해야 한다(721). 관리 서버(110)는 검색어에 포함된 정보를 이용하여 저장 서버(155)에 해당 데이터가 있는지 검색할 수 있다. 예컨대, 관리 서버(110)는 데이터의 식별자를 기준으로 저장 서버(155)에 현재 해당 데이터가 있는지 알 수 있다. 이는 관리 서버(110)가 데이터에 대한 저장 정보를 보유하고 있기 때문이다. 나아가 관리 서버(110)는 검색어에 포함된 메타 데이터를 이용하여 메타 데이터 블록체인(140)에 해당하는 정보가 있는 확인할 수도 있다. 관리 서버(110)는 데이터 생성 기법, 생성 시기, 특정 질환의 종류 등과 같은 정보를 기준으로 메타 데이터 블록체인(140)이 보유한 정보를 검색하여 해당 조건에 맞는 데이터가 있는지 확인할 수 있다. The management server 110 must first search whether the requested data exists in the storage server 155 (721). The management server 110 may search whether the storage server 155 has the corresponding data by using the information included in the search word. For example, the management server 110 may know whether the corresponding data exists in the storage server 155 based on the identifier of the data. This is because the management server 110 holds the storage information for the data. Furthermore, the management server 110 may check that there is information corresponding to the metadata blockchain 140 by using metadata included in a search word. The management server 110 may search for information held by the metadata blockchain 140 based on information such as a data generation technique, a generation time, a specific disease type, and the like to determine whether there is data that meets a corresponding condition.
요청받은 데이터가 있다면, 관리 서버(110)는 포인트 조회 및 포인트 처리를 한다(731). 포인트 거래는 도 5에서 설명한 바와 같다. 관리 서버(110)는 포인트 정보 블록체인(130)에서 수신자가 포인트가 있는지 확인한다. 데이터 공유의 대가에 해당하는 포인트 잔고가 있다면, 관리 서버(110)는 수신자의 포인트를 삭감하고, 해당 데이터의 제공자의 포인트를 증가시킨다. 또 관리 서버(110)는 데이터 중개 서비스에 대한 수수료로 수신자의 포인트를 일부 관리자 계정으로 가져올 수도 있다.If there is the requested data, the management server 110 performs point inquiry and point processing (731). Point trading is as described in FIG. The management server 110 checks whether the recipient has a point in the point information blockchain 130. If there is a point balance corresponding to the price of data sharing, the management server 110 decrements the point of the receiver and increases the point of the provider of the data. In addition, the management server 110 may bring the recipient's points to some manager account as a fee for the data brokerage service.
관리 서버(110)는 요청받은 데이터의 저장 정보를 식별한다(741). 한편 관리 서버(110)는 검색어에 포함된 검색식을 기준으로 해당 기준에 부합하는 다수의 데이터를 식별하여 하나의 그룹으로 구성할 수 있다. 이 경우 관리 서버(110)는 그룹에 속한 데이터에 대한 전체 저장 정보를 식별한다. 관리 서버(110)는 식별한 저장 정보를 제2 단말(20)에 전송한다(742).The management server 110 identifies the storage information of the requested data (741). Meanwhile, the management server 110 may identify a plurality of data that meets the corresponding criteria based on the search expression included in the search word and configure the data into one group. In this case, the management server 110 identifies the entire storage information for the data belonging to the group. The management server 110 transmits the stored storage information to the second terminal 20 (742).
제2 단말(20)은 수신한 저장 정보를 저장하고, 해당 저장 서버에 전송을 요청하기 위한 전송 요청 메시지를 생성한다(751). 전송 요청 메시지는 저장 서버의 식별자(주소), 데이터의 식별자, 데이터의 저장 위치 등을 포함할 수 있다. 제2 단말(20)은 전송 요청 메시지를 해당 저장 서버(155)에 전송한다(752). The second terminal 20 stores the received storage information and generates a transmission request message for requesting transmission to the corresponding storage server (751). The transmission request message may include an identifier (address) of the storage server, an identifier of the data, a storage location of the data, and the like. The second terminal 20 transmits a transmission request message to the corresponding storage server 155 (752).
저장 서버(155)는 전송 요청 메시지에 포함된 정보를 기준으로 요청받은 데이터를 식별하고, 특정 위치에 저장된 데이터를 식별한다(761). 저장 서버(155)는 식별한 데이터를 제2 단말(20)에 전송한다(762). 제2 단말(20)은 데이터를 수신하고, 암호키를 이용하여 데이터를 복호한다(771). 따라서 제2 단말(20)은 사전에 공개키로 암호화된 데이터를 복호하기 위함 암호키를 획득해야 한다. 이를 위해 사용자 정보 블록체인(120)이 특정 사용자에 대한 암호키를 보유할 수도 있다. 제2 단말(20)은 관리 서버(110)를 통해 특정 사용자에 대한 암호키를 사전에 획득할 수 있다.The storage server 155 identifies the requested data based on the information included in the transmission request message, and identifies the data stored in the specific location (761). The storage server 155 transmits the identified data to the second terminal 20 (762). The second terminal 20 receives the data and decodes the data using the encryption key (771). Therefore, the second terminal 20 must obtain an encryption key to decrypt data previously encrypted with the public key. To this end, the user information blockchain 120 may hold an encryption key for a specific user. The second terminal 20 may obtain an encryption key for a specific user in advance through the management server 110.
도 9는 메타데이터 기반으로 데이터를 식별하는 과정에 대한 예이다. 제공자가 공유한 데이터를 제공받기 원하는 수신자는 관리 서버(110)에 조건에 맞는 데이터를 요청한다. 제2 단말(20)은 검색어를 입력받는다(811). 제2 단말(20)은 검색어를 관리 서버(110)에 전송한다(812). 검색어는 수신자가 원하는 특정 종류의 데이터를 식별할 수 있는 정보를 포함한다. 예컨대, 검색어는 데이터에 대한 메타데이터 중 적어도 일부를 포함할 수 있다. 9 is an example of a process of identifying data based on metadata. The receiver who wants to receive the data shared by the provider requests the management server 110 for data meeting the conditions. The second terminal 20 receives a search word (811). The second terminal 20 transmits the search word to the management server 110 (812). The search term includes information that can identify the particular type of data desired by the recipient. For example, the search term may include at least some of the metadata about the data.
관리 서버(110)는 전술한 바와 같이 검색어를 전송한 사용자를 인증할 수 있다(820). 또 관리 서버(110)는 수신한 검색어를 별도의 검증키를 이용하여 검증할 수 있다(821). 또는 관리 서버(110)가 단순하게 검색어가 특정 포맷에 맞는 유효한 검색어로 구성되는지만을 검증할 수도 있다. 관리 서버(110)는 인증 내지 검증이 성공하면, 검색어를 메타데이터 블록체인(140)에 전송한다(822).As described above, the management server 110 may authenticate the user who transmitted the search word (820). In addition, the management server 110 may verify the received search word using a separate verification key (821). Alternatively, the management server 110 may simply verify whether the search word is composed of a valid search word for a specific format. If authentication or verification is successful, the management server 110 transmits a search word to the metadata blockchain 140 (822).
메타데이터 블록체인(140)은 수신한 검색어와 관련된 메타데이터를 추출한다(831). 메타데이터 블록체인(140)은 특정 메타데이터를 포함하는 메타데이터를 모두 추출할 수 있다. 그리고 메타데이터 블록체인(140)은 검색된 메타데이터를 관리 서버(110)에 전송한다. 메타데이터는 데이터에 대한 식별자를 포함할 수 있다.The metadata blockchain 140 extracts metadata associated with the received search word (831). The metadata blockchain 140 may extract all metadata including specific metadata. The metadata blockchain 140 transmits the retrieved metadata to the management server 110. The metadata may include an identifier for the data.
관리 서버(110)는 전송된 메타데이터에서 특정 데이터들을 식별할 수 있다. 또 관리 서버(110)는 검색어와 관련된 데이터가 다수인 경우 해당데이터를 하나의 그룹으로 가공할 수도 있다(841). 관리 서버(110)는 식별한 하나 또는 다수의 데이터에 대한 저장 정보를 추출한다(842). 전술한 바와 같이 관리 서버(110)는 저장 서버(155)에 저장된 데이터 대한 저장 정보를 보유한다. 또는 경우에 따라서 별도의 서버 또는 블록체인이 저장 정보를 관리할 수도 있다. The management server 110 may identify specific data in the transmitted metadata. In addition, when there are a large number of data related to a search word, the management server 110 may process the corresponding data into one group (841). The management server 110 extracts storage information for the identified one or more data (842). As described above, the management server 110 retains storage information for data stored in the storage server 155. Or, in some cases, a separate server or blockchain may manage the storage information.
관리 서버(110)는 식별한 저장 정보를 제2 단말(20)에 전송한다(851).The management server 110 transmits the identified stored information to the second terminal 20 (851).
도 10은 암호화 과정을 포함하여 데이터를 공유하는 과정에 대한 예이다. 도 10은 제1 단말(10)이 데이터를 제공하고, 제2 단말(20)이 제공된 데이터를 제공받는 과정에 해당한다. 10 is an example of a process of sharing data including an encryption process. 10 corresponds to a process in which the first terminal 10 provides data and the second terminal 20 receives the provided data.
관리 서버(110)는 자신의 공개키(Ps)를 제1 단말(10)에 전송한다(901). 제1 단말(10)은 공개키(Ps)를 이용하여 데이터를 암호화한다(911). 제1 단말(10)은 암호화된 데이터를 관리 서버(110)에 전송한다(912).The management server 110 transmits its public key P s to the first terminal 10 (901). The first terminal 10 encrypts the data using the public key P s (911). The first terminal 10 transmits the encrypted data to the management server 110 (912).
도 10에 도시한 과정과는 달리 관리 서버(110)가 제1 단말(10)이 전송한 데이터를 자신의 공개키를 이용하여 암호화하고 이후 과정을 진행할 수도 있다.Unlike the process illustrated in FIG. 10, the management server 110 may encrypt data transmitted by the first terminal 10 using its public key and then proceed with the subsequent process.
관리 서버(110)는 검증키를 이용하여 데이터를 검증할 수 있다(921). 관리 서버(110)는 암호화된 데이터를 저장 서버(155)에 전송한다(922). 하나 이상의 저장 서버(155)는 암호화된 데이터를 저장한다(931). 복수의 저장 서버(155)가 전술한 바와 같이 데이터 저장 블록체인(150)을 구성할 수 있다. 저장 서버(155)는 저장한 데이터에 대한 저장 정보를 관리 서버(110)에 전송한다(932).The management server 110 may verify data using the verification key (921). The management server 110 transmits the encrypted data to the storage server 155 (922). One or more storage servers 155 store the encrypted data (931). As described above, the plurality of storage servers 155 may configure the data storage blockchain 150. The storage server 155 transmits storage information about the stored data to the management server 110 (932).
이후 제2 단말(20)은 관리 서버(110)에 특정 데이터를 요청한다(941). 이때 제2 단말(20)은 자신의 공개키(Pue2)를 전송할 수 있다(941).Thereafter, the second terminal 20 requests specific data from the management server 110 (941). In this case, the second terminal 20 may transmit its public key Pue2 (941).
관리 서버(110)는 전술한 과정을 통해 데이터를 검색한다(951). 관리 서버(110)는 식별한 데이터를 저장 서버(155)에 요청할 수 있다(952). 저장 서버(155)는 요청받은 데이터를 관리 서버(110)에 전송한다(953).The management server 110 retrieves data through the above-described process (951). The management server 110 may request the identified data from the storage server 155 (952). The storage server 155 transmits the requested data to the management server 110 (953).
관리 서버(110)는 자신의 공개키(Ps)에 대응하는 암호키로 수신한 데이터를 복호하고, 이제 제2 단말의 공개키(Pue2)로 데이터를 다시 암호화할 수 있다(961). 관리 서버(110)는 암호화된 데이터를 제2 단말(20)에 전송하다(971). 제2 단말(20)은 수신한 데이터를 자신의 암호키로 복호한다(981).The management server 110 may decrypt the data received with the encryption key corresponding to its public key (P s ), and may now encrypt the data again with the public key (P ue 2 ) of the second terminal (961). The management server 110 transmits the encrypted data to the second terminal 20 (971). The second terminal 20 decrypts the received data with its encryption key (981).
도 11은 암호화 과정을 포함하여 데이터를 공유하는 과정에 대한 다른 예이다. 도 11은 제1 단말(10)이 데이터를 제공하고, 제2 단말(20)이 제공된 데이터를 제공받는 과정에 해당한다. 11 is another example of a process of sharing data including an encryption process. 11 corresponds to a process in which the first terminal 10 provides data and the second terminal 20 receives the provided data.
관리 서버(110)는 자신의 공개키(Ps)를 제1 단말(10)에 전송한다(1001). 제1 단말(10)은 공개키(Ps)를 이용하여 데이터를 암호화한다(1011). 제1 단말(10)은 암호화된 데이터를 관리 서버(110)에 전송한다(1012).The management server 110 transmits its public key P s to the first terminal 10 (1001). The first terminal 10 encrypts the data using the public key P s (1011). The first terminal 10 transmits the encrypted data to the management server 110 (1012).
관리 서버(110)는 수신한 데이터를 자신의 암호키로 복호할 수 있다(1021). 관리 서버(110)는 복호된 데이터를 저장 서버(155)에 전송한다(1022). 하나 이상의 저장 서버(155)는 복호된 데이터를 저장한다(1031). 복수의 저장 서버(155)가 전술한 바와 같이 데이터 저장 블록체인(150)을 구성할 수 있다. 저장 서버(155)는 저장한 데이터에 대한 저장 정보를 관리 서버(110)에 전송한다(1032).The management server 110 may decrypt the received data with its encryption key (1021). The management server 110 transmits the decoded data to the storage server 155 (1022). One or more storage servers 155 store the decoded data (1031). As described above, the plurality of storage servers 155 may configure the data storage blockchain 150. The storage server 155 transmits storage information about the stored data to the management server 110 (1032).
이후 제2 단말(20)은 관리 서버(110)에 특정 데이터를 요청한다(1041). 관리 서버(110)는 전술한 과정을 통해 데이터를 검색한다(1051). 관리 서버(110)는 식별한 데이터에 대한 저장 정보를 제2 단말(20)에 전송한다(1052).Thereafter, the second terminal 20 requests specific data from the management server 110 (1041). The management server 110 retrieves data through the above-described process (1051). The management server 110 transmits the storage information for the identified data to the second terminal 20 (1052).
제2 단말(20)은 저장 정보를 이용하여 저장 서버(155)에 특정 데이터를 요청할 수 있다(1061). 이때 제2 단말(20)은 자신의 공개키(Pue2)를 저장 서버(155)에 전송할 수 있다(1061).The second terminal 20 may request specific data from the storage server 155 using the storage information (1061). In this case, the second terminal 20 may transmit its public key Pue2 to the storage server 155 (1061).
저장 서버(155)는 요청된 데이터를 검색하고, 공개키(Pue2)를 사용하여 데이터를 암호화할 수 있다(1062). 저장 서버(155)는 암호화된 데이터를 제2 단말(20)에 전송한다(1063). 제2 단말(20)은 수신한 데이터를 자신의 암호키로 복호할 수 있다(1071).The storage server 155 may retrieve the requested data and encrypt the data using the public key Pue2 (1062). The storage server 155 transmits the encrypted data to the second terminal 20 (1063). The second terminal 20 may decrypt the received data with its own encryption key (1071).
또한, 상술한 바와 같은 데이터 공유 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.In addition, the data sharing method as described above may be implemented as a program (or application) including an executable algorithm that can be executed on a computer. The program may be stored and provided in a non-transitory computer readable medium.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently and is readable by a device, not a medium storing data for a short time such as a register, a cache, a memory, and the like. Specifically, the various applications or programs described above may be stored and provided in a non-transitory readable medium such as a CD, a DVD, a hard disk, a Blu-ray disk, a USB, a memory card, a ROM, or the like.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.The embodiments and the drawings attached to this specification are merely to clearly show a part of the technical idea included in the above-described technology, and those skilled in the art can easily make it within the scope of the technical idea included in the description and the drawings of the above-described technology. It will be apparent that both the inferred modifications and the specific embodiments are included in the scope of the above-described technology.

Claims (17)

  1. 관리 서버가 복수의 사용자별로 사용자 정보 및 해쉬키를 포함하는 사용자 블록데이터를 사용자 정보 블록체인에 등록하는 단계;Registering, by the management server, the user block data including the user information and the hash key for each of the plurality of users in the user information blockchain;
    상기 관리 서버가 저장 서버로부터 제1 사용자로부터 제공된 데이터에 대한 저장 정보를 수신하는 단계; 및Receiving, by the management server, storage information for data provided from a first user from a storage server; And
    상기 관리 서버가 제2 사용자로부터 특정 데이터에 대한 요청을 수신하고, 상기 특정 데이터에 대한 저장 정보를 상기 제2 사용자에게 전송하는 단계를 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.And receiving, by the management server, a request for specific data from a second user, and transmitting the storage information for the specific data to the second user.
  2. 제1항에 있어서,The method of claim 1,
    상기 관리 서버는 상기 데이터의 메타데이터를 메타데이터 블록체인에 등록하는 단계를 더 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.The management server further comprises the step of registering the metadata of the data in a metadata blockchain.
  3. 제2항에 있어서,The method of claim 2,
    상기 관리 서버는 상기 요청에 포함된 정보 중 적어도 하나를 상기 메타데이터 블록체인에 전달하여 상기 특정 데이터를 식별하는 복수의 블록체인에 기반한 데이터 공유 방법.And the management server transfers at least one of the information included in the request to the metadata blockchain to identify the specific data.
  4. 제1항에 있어서,The method of claim 1,
    상기 관리 서버는 상기 제2 사용자의 포인트와 상기 제1 사용자의 포인트를 관리하는 포인트 정보 볼록체인에 상기 특정 데이터의 공유에 따른 포인트 거래 내역을 등록하는 복수의 블록체인에 기반한 데이터 공유 방법.And the management server registers the point transaction details according to the sharing of the specific data in the point information convex chain managing the points of the second user and the points of the first user.
  5. 제1항에 있어서,The method of claim 1,
    상기 저장 정보는 상기 저장 서버의 식별자, 상기 데이터의 식별자, 저장 매체에서 상기 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.And the storage information comprises at least one of an identifier of the storage server, an identifier of the data, a location where the data is stored in a storage medium, a verification key, a file size, and file partition information.
  6. 제1항에 있어서,The method of claim 1,
    상기 저장 서버는 복수이고, 복수의 저장 서버가 상기 저장 정보를 보유하는 데이터 저장 블록체인을 구성하는 복수의 블록체인에 기반한 데이터 공유 방법.And a plurality of storage servers, wherein a plurality of storage servers constitute a data storage blockchain holding the storage information.
  7. 제1항에 있어서,The method of claim 1,
    상기 관리 서버는 상기 제1 사용자 또는 상기 제2 사용자에 대한 사용자 정보를 기준으로 상기 사용자 정보 블록체인에서 해당 사용자를 식별하여 사용자를 인증하고, 상기 제1 사용자 또는 상기 제2 사용자에게 인증토큰을 전송하는 단계를 더 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.The management server identifies a corresponding user in the user information blockchain based on user information about the first user or the second user, authenticates the user, and transmits an authentication token to the first user or the second user. The data sharing method based on a plurality of blockchains further comprising the step of.
  8. 관리 서버가 사용자로부터 특정 데이터에 대한 식별 정보를 수신하는 단계;Receiving, by the management server, identification information about specific data from the user;
    상기 관리 서버가 상기 식별 정보를 이용하여 저장 서버에 저장된 데이터 중 상기 특정 데이터가 있는지 식별하는 단계; 및Identifying, by the management server, whether the specific data exists among data stored in a storage server using the identification information; And
    상기 관리 서버가 사전에 보유한 저장 정보에서 상기 특정 데이터에 대한 저장 정보를 추출하여 상기 사용자에게 전달하는 단계를 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.And extracting the storage information for the specific data from the storage information previously held by the management server and transmitting the stored information to the user.
  9. 제8항에 있어서,The method of claim 8,
    상기 관리 서버가 상기 사용자로부터 사용자 정보를 수신하고, 수신한 사용자 정보를 기준으로 해쉬키를 생성하고, 상기 사용자 정보 및 상기 해쉬키를 사용자 정보 블록체인에 등록하는 단계를 더 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.Receiving, by the management server, user information from the user, generating a hash key based on the received user information, and registering the user information and the hash key in a user information blockchain. Based on data sharing.
  10. 제9항에 있어서,The method of claim 9,
    상기 관리 서버는 상기 사용자 정보 블록체인에 저장된 정보와 상기 사용자가 전송한 사용자 정보를 비교하여 사용자 인증을 수행하는 단계를 더 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.The management server further comprises the step of performing a user authentication by comparing the information stored in the user information blockchain and the user information transmitted by the user.
  11. 제8항에 있어서,The method of claim 8,
    상기 관리 서버는 상기 특정 데이터의 메타데이터를 메타데이터 블록체인에 등록하는 단계를 더 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.The management server further comprises the step of registering the metadata of the specific data in a metadata blockchain.
  12. 제11항에 있어서,The method of claim 11,
    상기 관리 서버는 상기 식별 정보에 포함된 정보를 상기 메타데이터 블록체인에 전달하여 상기 특정 데이터를 식별하는 복수의 블록체인에 기반한 데이터 공유 방법.And the management server transfers the information included in the identification information to the metadata blockchain to identify the specific data.
  13. 제8항에 있어서,The method of claim 8,
    상기 관리 서버는 상기 사용자의 포인트를 관리하는 포인트 정보 볼록체인에 상기 특정 데이터의 공유에 따른 포인트 거래 내역을 등록하는 복수의 블록체인에 기반한 데이터 공유 방법.The management server is a data sharing method based on a plurality of block chains to register the point transaction details according to the sharing of the specific data in the point information convex chain for managing the user's points.
  14. 제8항에 있어서,The method of claim 8,
    상기 관리 서버는 복수의 상기 저장 서버가 구성하는 데이터 저장 블록체인에서 저장한 데이터에 대한 저장 정보를 수신하여 저장하고, The management server receives and stores storage information for data stored in a data storage blockchain configured by a plurality of storage servers,
    상기 식별 정보에 포함된 정보를 상기 특정 데이터의 메타데이터를 저장한 메타데이터 블록체인에 전달하여 식별되는 메타데이터를 기준으로 상기 특정 데이터를 식별하는 복수의 블록체인에 기반한 데이터 공유 방법.And transmitting the information included in the identification information to a metadata blockchain storing the metadata of the specific data, thereby identifying the specific data based on the identified metadata.
  15. 제14항에 있어서,The method of claim 14,
    상기 관리 서버는 상기 식별된 특정 데이터에 대한 저장 정보를 추출하여 상기 사용자에게 전송하는 단계를 더 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.The management server further comprises the step of extracting the storage information for the identified specific data and transmitting to the user.
  16. 제8항에 있어서,The method of claim 8,
    상기 사용자가 상기 저장 정보를 이용하여 상기 저장 서버로부터 상기 특정 데이터를 수신하는 단계를 더 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.And the user receiving the specific data from the storage server using the storage information.
  17. 제8항에 있어서,The method of claim 8,
    상기 저장 정보는 상기 저장 서버의 식별자, 상기 데이터의 식별자, 저장 매체에서 상기 데이터가 저장된 위치, 검증키, 파일 크기 및 파일 분할 정보 중 적어도 하나를 포함하는 복수의 블록체인에 기반한 데이터 공유 방법.And the storage information comprises at least one of an identifier of the storage server, an identifier of the data, a location where the data is stored in a storage medium, a verification key, a file size, and file partition information.
PCT/KR2018/003632 2018-03-28 2018-03-28 Multiple blockchain-based data sharing method WO2019189954A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/003632 WO2019189954A1 (en) 2018-03-28 2018-03-28 Multiple blockchain-based data sharing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/003632 WO2019189954A1 (en) 2018-03-28 2018-03-28 Multiple blockchain-based data sharing method

Publications (1)

Publication Number Publication Date
WO2019189954A1 true WO2019189954A1 (en) 2019-10-03

Family

ID=68060273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/003632 WO2019189954A1 (en) 2018-03-28 2018-03-28 Multiple blockchain-based data sharing method

Country Status (1)

Country Link
WO (1) WO2019189954A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111311325A (en) * 2020-02-18 2020-06-19 火天股份有限公司 Debt acceptance sharing management operation mode based on block chain technology
CN111368327A (en) * 2020-02-27 2020-07-03 中国联合网络通信集团有限公司 Data sharing method and device, electronic equipment and readable storage medium
CN111402055A (en) * 2020-03-19 2020-07-10 合肥工业大学 Decentralized data transaction method based on block chain
CN114666157A (en) * 2022-04-14 2022-06-24 西安邮电大学 Block chain cross-chain threat information sharing system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101590076B1 (en) * 2015-11-18 2016-02-01 주식회사 웨이브스트링 Method for managing personal information
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type
US20170177898A1 (en) * 2015-12-16 2017-06-22 International Business Machines Corporation Personal ledger blockchain
KR101763827B1 (en) * 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 System, method and program for transmitting health data by block-chain
KR20180029695A (en) * 2016-09-13 2018-03-21 김동만 System and method for transmitting data using block-chain

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101590076B1 (en) * 2015-11-18 2016-02-01 주식회사 웨이브스트링 Method for managing personal information
US20170177898A1 (en) * 2015-12-16 2017-06-22 International Business Machines Corporation Personal ledger blockchain
KR101763827B1 (en) * 2016-04-07 2017-08-02 주식회사 라이프시맨틱스 System, method and program for transmitting health data by block-chain
KR101701131B1 (en) * 2016-04-28 2017-02-13 주식회사 라피 Data recording and validation methods and systems using the connecting of blockchain between different type
KR20180029695A (en) * 2016-09-13 2018-03-21 김동만 System and method for transmitting data using block-chain

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111311325A (en) * 2020-02-18 2020-06-19 火天股份有限公司 Debt acceptance sharing management operation mode based on block chain technology
CN111311325B (en) * 2020-02-18 2023-06-20 火天股份有限公司 Liability acceptance sharing management operation mode based on blockchain technology
CN111368327A (en) * 2020-02-27 2020-07-03 中国联合网络通信集团有限公司 Data sharing method and device, electronic equipment and readable storage medium
CN111402055A (en) * 2020-03-19 2020-07-10 合肥工业大学 Decentralized data transaction method based on block chain
CN111402055B (en) * 2020-03-19 2022-08-30 合肥工业大学 Decentralized data transaction method based on block chain
CN114666157A (en) * 2022-04-14 2022-06-24 西安邮电大学 Block chain cross-chain threat information sharing system and method

Similar Documents

Publication Publication Date Title
KR101893729B1 (en) Data sharing method based on multiple block-chains
CN110164508B (en) Biological information data providing method, biological information data storing method, and biological information data transmission system based on multi-block chain
WO2019189954A1 (en) Multiple blockchain-based data sharing method
Reen et al. Decentralized patient centric e-health record management system using blockchain and IPFS
US11983298B2 (en) Computer system and method of operating same for handling anonymous data
US8977572B2 (en) Systems and methods for patient-controlled, encrypted, consolidated medical records
US20100121872A1 (en) Personally controlled storage and testing of personal genomic information
WO2018009979A1 (en) A computer implemented method for secure management of data generated in an ehr during an episode of care and a system therefor
US20120136678A1 (en) System of Managing Healthcare Information and its Communication and Centralized Searching of Non-Centralized Data to Allow for Patient Control, Choice, and Empowerment
Pfiffner et al. C3-PRO: connecting ResearchKit to the health system using i2b2 and FHIR
Subramanian et al. Improving diagnosis through digital pathology: Proof-of-concept implementation using smart contracts and decentralized file storage
WO2008119022A1 (en) Personally controlled storage and testing of personal genomic information
Dedeturk et al. Blockchain for genomics and healthcare: a literature review, current status, classification and open issues
KR20220143625A (en) The user data storage and sharing system based on DID
WO2022025537A1 (en) Data management computer, data security system including data management computer, and data security method
WO2019160167A1 (en) Bio-information data providing method based on plurality of blockchains, bio-information data storing method, and bio-information data transmitting system
US20220345314A1 (en) Genetic Data in Transactions
JPH11143956A (en) Method and device for disclosing medical treatment information to other medical clinic
US20210049301A1 (en) Method for combining different partial data
KR20220144671A (en) Method and apparatus for sharing cancer screening data based on permissioned blockchains
US11862304B1 (en) Patient authorized medical information storage and access system
KR102639159B1 (en) Whole genome sequencing based gene data providing method
JPWO2002073485A1 (en) Medical service delivery system
WO2023145984A1 (en) System for providing data analysis services on basis of blockchain, and system operation method
WO2024025030A1 (en) System for proving ownership of private signature through nft issuance for private signature data

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

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

Country of ref document: EP

Kind code of ref document: A1