US20190303362A1 - Data sharing method based on plurality of blockchains - Google Patents
Data sharing method based on plurality of blockchains Download PDFInfo
- Publication number
- US20190303362A1 US20190303362A1 US16/222,332 US201816222332A US2019303362A1 US 20190303362 A1 US20190303362 A1 US 20190303362A1 US 201816222332 A US201816222332 A US 201816222332A US 2019303362 A1 US2019303362 A1 US 2019303362A1
- Authority
- US
- United States
- Prior art keywords
- data
- user
- information
- management server
- storage
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0226—Incentive systems for frequent usage, e.g. frequent flyer miles programs or point systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0645—Rental transactions; Leasing transactions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the following description relates to a data sharing method based on a plurality of blockchains.
- the following description relates to a platform for data transaction relay and data sharing based on sharing economy, and more particularly, to a method of sharing data, which is owned by an individual, between subjects of a transaction, the method serving to integrate management as a transaction relay platform between a data provider and a data user.
- P2P peer-to-peer
- the sharing economy is an economic model based on cooperative consumption, in which idle resources are not owned by an individual but shared among several subjects of transaction.
- the sharing economy is a transaction relay system between a resource provider and a resource user.
- a user pays a use fee for resources and uses as many resources as necessary, and a resource provider obtains a reward for idle resources that he or she has provided. Also, the platform which relays the transaction obtains a commission.
- Data may be composed of various kinds of information.
- data may include specific genomic information, treatment information, and life information of various creatures including humans. Since the probability of a disease may be estimated from data of a human, it is possible to implement customized precision medicine for providing the most appropriate treatment to every patient.
- genomic information and treatment information of a specific group due to various loopholes of regulations and systems, high cost, time consumption, and the like.
- life information is a record of unique lives, such as lifestyles and environments, which vary depending on individuals, and it may be difficult to collect life information unless individuals provide their information. Since personal data of individuals may be de-identified and then safely shared, these problems may be solved through a blockchain-based integrated data management platform on which a researcher and a research institution using personal data may obtain reliable data.
- the following embodiments may accelerate data sharing and use by applying the blockchain technology to a sharing economy-based platform and may improve users' data accessibility and management efficiency by facilitating use of a public-domain software source. Also, the following embodiments may ensure security, reliability, and immediacy through a systematic security system capable of transparently and flexibly coping with the risk of hacking, an increase in the amount of data, and sharing when managing big data which is a large amount of integrated data. Further, the following embodiments may make it possible to construct an economic incentive system based on rewards and use fees such that participation of users may increase and a reduction in cost and time may be expected.
- the following embodiments introduce the blockchain technology, thereby safely registering, keeping, and sharing data which is an idle resource shared among all participants, solving security problems of data hacking and manipulation, and providing a verification-based data transaction system and method.
- the following embodiments provide a data sharing transaction system and method in which individuals are rewarded for providing and lending data, which is their idle resource, and data users obtain necessary data by paying use fees for necessary data such that both the individuals and the data users may benefit from the system and method.
- the following embodiments provide a blockchain system and method in which a function is implemented through a blockchain so that a data owner may store and register data which is an idle resource in a shared storage server or delete data in the shared storage server personally or through an institution.
- the following embodiments provide an integrated management system and method for blockchain-based shared data in which a borrower may search shared data for necessary data and receive the necessary data from a storage.
- an integrated management method for data sharing including: a) inputting, by users (including data owners/providers and data borrowers/users), basic information and registering the basic information in a personal information blockchain; b) storing, by a data provider, personal data in a data storage server and registering and deleting the personal data in data information and data blockchains; c) searching, by a data user, the data storage server for necessary personal data of a provider; d) paying, by the data user, a use fee for the necessary personal data of the provider and receiving the corresponding data from the data storage server; and e) transferring the use fee for shared genomic/medical information data to the data provider.
- Operation a) may include: receiving identification information, such as names, birthdates, and email addresses, of the users as the basic information and registering the basic information in a user information blockchain; performing user authentication through the user information blockchain; and creating a virtual account through which it is possible to deposit and withdraw the use fee.
- identification information such as names, birthdates, and email addresses
- Operation b) may include: registering, by the data provider, meta information of the data in a metadata blockchain; personally transmitting, by the data provider, the data to the data storage server; and deleting, by the data provider, the personal data and information. Meanwhile, b) may include requesting, by the data provider, a data production company to transmit the data to the storage server.
- Operation c) may include searching, by the data user, the metadata blockchain for meta information of the necessary data.
- Operation d) may include: changing, by the data user, the use fee for the data into a virtual currency (e.g., points, membership mileage, or actual cash); registering the virtual currency in the virtual account through the information and data blockchain; and requesting, by the data user, the necessary data from the data storage server and receiving the necessary data.
- a virtual currency e.g., points, membership mileage, or actual cash
- Operation e) may include: transmitting the virtual currency to the virtual account registered in a genomic/medical information data blockchain and changing the received virtual currency into the use fee for the data.
- FIG. 1 shows an example of a data sharing model
- FIG. 2 shows an example of a data sharing system
- FIG. 3 shows an example of a flowchart of a data sharing process
- FIG. 4 shows an example of a sequence diagram of a user information registration and authentication process
- FIG. 5 shows an example of a sequence diagram of a point transaction process
- FIG. 6 shows an example of a sequence diagram of a process of managing metadata of data
- FIG. 7 shows an example of a sequence diagram of a data storage and deletion process
- FIG. 8 shows an example of a sequence diagram of a data search and transmission process
- FIG. 9 shows an example of a sequence diagram of a process of identifying data on the basis of metadata
- FIG. 10 shows an example of a sequence diagram of a data sharing process including an encryption process
- FIG. 11 shows another example of a sequence diagram of a data sharing process including an encryption process.
- bio information data is described below, the following technology may be applied to various data providing services regardless of data type.
- Genomic data indicates data obtained from a sample (specimen) of a specific user and a creature (a human, an animal, a microbe, etc.).
- genomic data may include a base sequence, gene expression data, a genetic variation of standard genomic data, deoxyribonucleic acid (DNA) methylation, etc. obtained from DNA, ribonucleic acid (RNA), protein, etc. of a cell, a piece of tissue, and the like.
- genomic data includes sequence information obtained by analyzing a specific specimen. Genomic data may be generally represented as digital data. This corresponds to sequence data obtained through next-generation sequencing (NGS) analysis equipment and the like.
- NGS next-generation sequencing
- Genome analysis data indicates information obtained by analyzing genomic data.
- analysis data includes diagnosis results, disease prediction results, disease risks, paternity test results, means of curing a disease, candidate materials for a new medicine, etc. acquired by analyzing genomic data.
- Medical data indicates data which may be used to determine health conditions of a specific user (e.g., a patient).
- medical data may include electronic medical record (EMR) data of a hospital.
- EMR electronic medical record
- medical data may include examination results (clinical information) of medical equipment, diagnosis results of a medical staff, or the like.
- medical data may include medical image data and the like measured or captured by medical equipment.
- medical data may include bio signal data acquired by a mobile terminal (e.g., a healthcare device) capable of measuring bio signals.
- data indicates a digital source including various pieces of information regardless of data format or type.
- Data may include personal information, information generated by an individual, information obtained by analyzing personal data, experimental data of an individual, and the like.
- data may include at least one of the above-described genomic data, analysis data, and medical data.
- Data may be generated by each object (a person, a company, a research institute, a school, a hospital, etc.) which is a biological or social subject.
- Metadata may be identification data derived from a data generation or manipulation process. Metadata corresponds to data for identifying or additionally describing data. Metadata may be a reference for searching for specific data.
- metadata may include a genomic data format, a production methodology for genomic data, sequencing machine information, sample information, a definition in molecular biological technology, a production, results and statistics about data quality analysis, a production date, and the like.
- metadata may include a production date, a production institution, patient information (an identifier and the like), disease information, an examination technique, a type of examination equipment, a data format, etc. of medical data.
- a provider indicates a user who produces or processes data and provides the data.
- a provider may be a user who provides data so that the data may be shared.
- a provider may provide data that is personally produced by himself or herself or produced by another person.
- a receiver indicates a user who receives data shared by a provider.
- a receiver may conduct research, analysis, etc. using data.
- a user includes a specific subject such as a person or an institution.
- a user terminal or a terminal may be a computing device and indicates a client device used by a user.
- a user may be specified as a user terminal.
- a computing device indicates a device which analyzes input source data using an arithmetic unit such as a central processing unit (CPU), application processor (AP), etc.
- a computing device generally includes an arithmetic unit, a memory, an input-output unit, a communication interface unit, and the like.
- a computing device may be implemented as a server, a personal computer (PC), a tablet PC, a smart phone, and the like.
- a hash key may be a value used to identify a user in a blockchain network.
- a hash key may be generated in various ways. Representative hash key generation algorithms are MD5, SHA-256, and the like.
- a hash key may be a unique value for a specific user.
- a hash key may be a key composed of a string of a variable length.
- a public key and an encryption key are keys for encrypting and transmitting data in a blockchain network.
- a public key and an encryption key are used for encryption known as public-key cryptography.
- a public key may be a key for encrypting data
- an encryption key may be a key for decrypting data.
- a public key and an encryption key may be paired with each other and may be randomly generated using various public key encryption methods (e.g., Rivest-Shamir-Adleman (RSA), elliptic curve cryptography, etc.).
- a blockchain indicates a chain-link-based distributed data storage environment in which small pieces of data called “blocks” are generated in a peer-to-peer (P2P) manner from data to be managed.
- a blockchain network indicates a network component constituting a blockchain.
- FIG. 1 shows an example of a data sharing model.
- FIG. 1 shows a user terminal 10 used by a provider A, a user terminal 20 used by a receiver B, a management server 30 , and a blockchain set 40 .
- the user terminal used by the provider A and the user terminal used by the receiver B will be referred to as a first terminal 10 and a second terminal 20 , respectively.
- Data may be input to the first terminal 10 . Otherwise, the first terminal 10 may generate data. Otherwise, the first terminal 10 may receive data from another object. The first terminal 10 transmits the data to the management server 30 .
- the management server 30 manages an overall process for data sharing.
- the management server 30 may be managed by a service provider of a data sharing service. It is possible to see that the management server 30 and the blockchain set 40 constitute a system for data sharing.
- Data sharing may be performed through a blockchain.
- Data sharing employs a plurality of blockchains (a blockchain set). Respective blockchains of a blockchain set may be associated with different processes or functions for data sharing.
- the blockchain set 40 includes a user information blockchain, a point information blockchain, a metadata blockchain, and a data storage blockchain. Details thereof will be described below.
- the management server 30 registers information on users in the user information blockchain in advance.
- the management server 30 may authenticate a specific user using the user information blockchain.
- the management server 30 registers metadata of the data received from the first terminal 10 in the metadata blockchain.
- the management server 30 builds the data storage blockchain by storing the data received from the first terminal 10 in a storage server. Also, the management server 30 manages point information of users (generation, use, transfer, discard, etc. of points) 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 using metadata. In some cases, the management server 30 may inquire about data stored in the storage server. When the requested data exists, the management server 30 transmits storage information of the corresponding data to the second terminal 20 . Subsequently, the second terminal 20 may receive the data from the storage server using the storage information.
- a blockchain network has roughly two kinds of components.
- One element may be a blockchain node, and the other element may be a client.
- a node of a blockchain serves as a backend of a general service and a client of a blockchain serves as a client.
- nodes share the transaction through a distributed consensus process and execute the transaction. The client may see results of the transaction.
- the user terminals 10 and 20 correspond to clients.
- blockchain nodes correspond to nodes connected to the network.
- FIG. 2 shows 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. 1 .
- User terminals include the first terminal 10 of a provider side and the second terminal 20 of a receiver side.
- FIG. 2 shows a total of four blockchains 120 to 150 .
- One blockchain may be composed of a plurality of blockchain nodes. The four blockchains are described below. In some cases, the system may further include a blockchain for another item, which will be described below.
- the user information blockchain 120 has user information.
- the user information blockchain 120 stores a hash key for a user and user information.
- the user information may include the user's identifier, identity (ID), contact information, email address, name, sex, affiliated institution, birthdate, and the like.
- the user information blockchain 120 may have user information encrypted with a public key.
- the point information blockchain 130 has point information. Points may be incentives to data sharing. Also, points correspond to a use fee for data. Further, points may also be a commission for a data broker. Points may be a blockchain-based virtual currency. Alternatively, points may be a unique currency (a cyber money, cash, mileage, etc.) for a sharing service not based on a blockchain. Points may be changed into currency used in the real world through a separate system or service. The point information blockchain 130 has remaining point information, details of point transactions, etc. of an individual user.
- the metadata blockchain 140 has metadata of data.
- the metadata blockchain 140 may have metadata encrypted with a specific public key.
- the data storage blockchain 150 has storage information of data stored in a storage server.
- the storage information may include an identifier of the storage server, a file name, a position at which data is stored in a storage medium of the storage server, a file size, file split information, a verification key, and the like.
- a storage server 155 stores data.
- the storage server 155 may be a single server.
- the storage server 155 may include n servers storage server 1 , . . . , and storage server n.
- n servers storage server 1 , . . . , and storage server n.
- one server a primary storage server
- other servers secondary storage servers
- a plurality of storage servers or a plurality of secondary storage servers may be nodes constituting a blockchain such that the plurality of storage servers may constitute the blockchain.
- the data storage blockchain 150 has storage information of an entirety of holding data.
- the management server 110 stores user information, point transaction information, metadata, and data in a blockchain network.
- the management server 110 serves to transmit data to the second terminal 20 , which requests the data.
- the management server 110 may have a user management function.
- the management server 110 may receive and store information on users in a user information blockchain network and perform user authentication on the basis of the stored user information.
- the management server 110 may have a point management function.
- the management server 110 may store and inquire about details of users' point purchases or sales, details of point transactions accompanying inter-user transactions, remaining points of users, etc. through the blockchain network.
- the management server 110 may have a metadata management function.
- the management server 110 stores metadata received from data providers in the blockchain network.
- the management server 110 may search for data on the basis of the metadata and create a group of data corresponding to search results.
- the management server 110 may have a data storage management function.
- the management server 110 may receive data from providers, store the received data in the storage server 155 , and transmit a group created by collecting data to a receiver.
- FIG. 3 shows an example of a flowchart of a data sharing process 200 .
- FIG. 3 shows a schematic process for data sharing.
- Users a provider and a receiver
- the management server 110 registers user information and hash keys in a user information blockchain.
- the management server 110 may authenticate a user who performs or requests a data providing process, a data sharing process, a point dealing process, or the like before starting the corresponding process.
- the management server 110 may perform user authentication using the user information blockchain.
- the provider provides data to the management server 110 , and the management server 110 builds the data storage blockchain 150 while storing the data in the storage server 155 ( 220 ).
- the management server 110 may register metadata of the data in the metadata blockchain 140 .
- the receiver requests necessary data to the management server 110 .
- the management server 110 searches for the requested data ( 230 ).
- the management server 110 may search for the data using metadata.
- the management server 110 Before providing the data to the receiver, the management server 110 deals with points related to data use ( 240 ).
- the management server 110 registers details of a point transaction (point change, point transfer, point purchase, etc.) in the point information blockchain 130 . For example, receiver points may be transferred 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 the data from the storage server 155 using the storage information.
- the management server 110 would transmits (shares) the requested data to the receiver by providing the storage information of the requested data ( 250 ).
- data used in the process of user information registration, data storage, metadata registration, point dealing, etc. may be encrypted using a public-key method.
- FIG. 4 shows an example of a sequence diagram of a user information registration and authentication process 300 .
- FIG. 4 shows both a user registration process and a user authentication process.
- a user terminal indicates the first terminal 10 and/or the second terminal 20 .
- a provider or a receiver may be required to perform user registration in advance so as to provide or request data.
- User information PI may be input to the user terminal 10 / 20 ( 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 a user who has requested generation of a hash key using the user information PI ( 311 ).
- the hash key H k is used as an identifier of the user (the terminal) who has currently requested generation of a hash key. Therefore, 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 to a certain hash function. An algorithm or a hash function for generating a hash key may be varied.
- the management server 110 may encrypt the received user information PI (to generate PI′) ( 312 ).
- the management server 110 may encrypt the user information using a public key received from the user terminal 10 / 20 . Meanwhile, the user terminal 10 / 20 may transmit user information PI′ encrypted with the public key to the management server 110 .
- the management server 110 transfers the generated hash key H k to the user terminal 10 / 20 that has requested a hash key ( 321 ).
- the user terminal 10 / 20 stores the hash key H k in a 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 hash key H k ( 332 ).
- the management server 110 may additionally transmit the public key used for encryption to the user information blockchain 120 .
- the user information blockchain 120 may additionally register the public key.
- the above-described operations 301 to 332 correspond to a user information registration process.
- User authentication may be required for a specific operation or each operation of a data sharing service. Only a user who has gone through user authentication may be allowed to proceed with subsequent operations.
- the user information PI may be input to the user terminal 10 / 20 ( 351 ).
- the user terminal 10 / 20 transmits the user information PI or the stored hash key H k thereof to the management server 110 ( 352 ).
- the management server 110 may generate the encrypted user information PI′ by encrypting the received user information with the public key.
- the management server 110 inquires about user information using the received user information PI (or PI′) or hash key H k ( 361 ).
- the management server 110 inquires about user information transferred to the user information blockchain 120 using the received information.
- the management server 110 transmits acquired user information or the hash key H k to the user information blockchain 120 ( 362 ).
- the user information blockchain 120 may identify user information on the basis of the received information ( 371 ). For example, the user information blockchain 120 may identify user information on the basis of 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 user information PI′ received from the user information blockchain 120 and the user information PI′ received from the user terminal 10 / 20 . Also, the management server 110 may generate an authentication token ( 381 ). Here, the management server 110 may encrypt the authentication token with the public key. The management server 110 transmits the user authentication token to the user terminal 10 / 20 ( 382 ).
- the user terminal 10 / 20 stores the user authentication token ( 383 ).
- the user terminal 10 / 20 may decrypt the encrypted user authentication token and store the decrypted user authentication token. Subsequently, the user terminal 10 / 20 may use the authentication token in a process of communicating with the management server 110 .
- the management server 110 which requires authentication may provide specific data only to a user terminal that transfers a valid authentication token.
- a virtual account creation operation may be performed for an individual user.
- Virtual account creation involves an operation of creating an account (a wallet) of the user in the point information blockchain 130 .
- Virtual account creation may employ a method which is generally used in a blockchain-based virtual currency service. The following description of FIG. 5 is based on a situation in which user-specific virtual accounts have been created.
- FIG. 5 shows an example of a sequence diagram of a point transaction process 400 .
- FIG. 5 shows an example of a process of dealing with and managing a user's points.
- User point transaction information may be input to the user terminal 10 / 20 ( 401 ).
- the point transaction information may include information required for a point transaction.
- the point transaction information includes transaction counterparty information (user information or a hash key), purchased point information, information on point depositing and withdrawing, remaining point information, transaction amount information, and the like.
- the user terminal 10 / 20 transmits the point transaction information to the management server 110 ( 411 ).
- the user terminal 10 / 20 may encrypt the point transaction information with a public key and transmit the encrypted information.
- the management server 110 may authenticate a user who has transmitted the point transaction information ( 420 ). The subsequent process may proceed only for a user who has gone through authentication.
- the management server 110 may authenticate the user using the authentication token received from the user terminal 10 / 20 .
- the authentication token has been described above with reference to FIG. 4 .
- the management server 110 may inquire about details of the requested point transaction ( 421 ). For example, the management server 110 may inquire about a specific block corresponding to a ledger in which details of the transaction have been recorded. The management server 110 transmits the point transaction information to the confirmed point information blockchain 130 ( 422 ).
- the point information blockchain 130 inquires about information on point transactions and registers the requested transaction information ( 431 ). For example, the point information blockchain 130 may reduce points from a ledger of a specific user (a receiver) and add points to a ledger of another user (a provider). The point information blockchain 130 records information related to the transaction details in the block. Then, the point information blockchain 130 transmits changed point transaction information to the management server 110 ( 432 ).
- the management server 110 may verify whether the transaction information received from the point information blockchain 130 and the transaction information received from the user terminal 10 / 20 coincide with each other ( 441 ). When the verification is successful, the management server 110 transmits the changed point transaction information to the user terminal 10 / 20 ( 442 ). The user terminal 10 / 20 stores the changed user point transaction information ( 451 ).
- FIG. 6 shows an example of a sequence diagram of a process 500 of managing metadata of data.
- FIG. 6 includes a process of registering metadata and a process of deleting metadata.
- Data may be input to the first terminal 10 ( 511 ).
- metadata of data may be input to the user terminal 10 / 20 .
- the first terminal 10 transmits the input or acquired data or metadata to the management server 110 ( 512 ).
- the management server 110 may authenticate the user who has transmitted the data or the metadata ( 520 ). The subsequent process may proceed only for a user who has gone through authentication.
- the management server 110 may authenticate the user using the authentication token received from the user terminal 10 / 20 .
- the authentication token has been described above with reference to FIG. 4 .
- the management server 110 may identify metadata from the data ( 521 ). When the data is received, the management server 110 may also verify whether the data conforms to a predetermined format or standard. Alternatively, the management server 110 may verify the data with a specific verification key. The verification key indicates information for verifying an electronic signature. In this case, the data is required to include an electronic signature in advance. The provider transmits the data including an electronic signature.
- the data may include information on metadata in a specific format.
- the management server 110 may extract the metadata from the data.
- the management server 110 directly receives metadata from the first terminal 10 , no identification process is necessary.
- the management server 110 transmits the metadata to the metadata blockchain 140 ( 522 ).
- the metadata blockchain 140 registers the metadata related to the data as block data ( 531 ).
- the metadata registered in the metadata blockchain 140 may be used to determine whether the requested data exists.
- the process of deleting metadata is described.
- the first terminal 10 requests deletion of metadata ( 551 ).
- the first terminal 10 transmits a metadata deletion message to the management server 110 ( 552 ).
- the deletion message may include an identifier of the data, an identifier of the metadata to be deleted, a point of generation time of the metadata, and the like. Alternatively, the deletion message may include an entirety of 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 from this, the management server 110 may authenticate the user who has transferred the deletion message ( 560 ). The authentication may be performed according to whether an authentication token transferred from the first terminal 10 is valid.
- the management server 110 transmits the deletion message to the metadata blockchain 140 ( 562 ).
- the metadata blockchain 140 deletes the metadata using information included in the deletion message ( 571 ). Subsequently, the metadata blockchain 140 transmits a deletion acknowledgement message to the management server 110 ( 581 ). The management server 110 may transmit the deletion acknowledgement message to the first terminal 10 ( 582 ).
- FIG. 7 shows an example of a sequence diagram of a data storage and deletion process 600 .
- Data may be input to the first terminal 10 ( 601 ).
- the first terminal 10 may generate data by itself, or information generated by a third party may be input to the first terminal 10 .
- the first terminal 10 may encrypt the generated data with a public key ( 602 ).
- the management server 110 may encrypt the data with the public key of the first terminal 10 .
- the first terminal 10 transmits the data to the management server 110 ( 611 ).
- the management server 110 may verify the received data on the basis of certain criteria ( 612 ). For example, when the data has a specific format, the management server 110 may verify whether the data satisfies standards of the format. Alternatively, the management server 110 may verify the data using a verification key for the data.
- the management server 110 may authenticate the user who has transmitted the data ( 620 ). The subsequent process may proceed only for a user who has gone through authentication.
- the management server 110 may authenticate the user using the authentication token received from the user terminal 10 / 20 .
- the authentication token has been described above 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 include a plurality of servers. In this case, the data may be stored in the plurality of servers in a distributed or divided manner.
- One or more servers transfer their storage information of the data to the data storage blockchain 150 ( 631 ).
- the data storage blockchain 150 registers storage information of data stored in the storage server 155 in an integrated manner ( 632 ). While each storage server 155 has only information held therein, the data storage blockchain 150 has storage information of an entirety of data.
- storage information may include an identifier of a storage server, a file name, a position at which 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 the data storage information to the management server 110 ( 641 ).
- the management server 110 registers the storage information of the data ( 642 ). In other words, the management server 110 has storage information of the entirety of 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, etc. of data to be deleted.
- the management server 110 may verify the deletion message using a verification key. Also, the management server 110 may authenticate the user (the first terminal 10 ) who has transmitted the deletion message through a separate process.
- the management server 110 may authenticate the user who has transmitted the deletion message ( 670 ). The subsequent process may proceed only for a user who has gone through authentication.
- the management server 110 may authenticate the user using the authentication token received from the user terminal 10 / 20 .
- the authentication token has been described above with reference to FIG. 4 .
- the management server 110 transmits the data deletion message to the storage server 155 ( 671 ). Since the management server 110 has the storage information, it is possible to transmit the deletion message to the storage server 155 storing the deletion target ( 671 ). The storage server 155 deletes the data requested to be deleted ( 681 ). Although not shown in FIG. 7 , the storage server 155 deletes the data and registers changed information in the data storage blockchain 150 . The data storage blockchain 150 updates the storage data. The storage server 155 transmits a deletion acknowledgement message to the management server 110 ( 691 ). The management server 110 may transmit the deletion acknowledgement message to the first terminal 10 ( 692 ).
- the deletion message transmitted by the first terminal 10 may include deletion information for data and metadata of the data.
- FIG. 8 shows an example of a sequence diagram of a data search and transmission process 700 .
- FIG. 8 corresponds to a process in which a receiver receives shared data.
- a data search term may be input to the second terminal 20 ( 711 ).
- the data search term may be composed of various pieces of information.
- the data search term may include an identifier of a specific target person, an identifier of a specific genome, an identifier of a specific disease, an identifier of a specific organ, a data generation time, a data update time, and the like.
- the data search term may include metadata of data.
- the second terminal 20 transmits the data search term to the management server 110 ( 712 ).
- the management server 110 may authenticate the user who has transmitted the search term ( 720 ). The subsequent process may proceed only for a user who has gone through authentication.
- the management server 110 may authenticate the user using the authentication token received from the user terminal 10 / 20 .
- the authentication token has been described above with reference to FIG. 4 .
- the management server 110 determines whether the requested data exists in the storage server 155 first ( 721 ).
- the management server 110 may determine whether the corresponding data exists in the storage server 155 using the information included in the search term. For example, the management server 110 may determine whether the corresponding data is currently in the storage server 155 using an identifier of the data. Further, the management server 110 may determine whether the corresponding data is in the metadata blockchain 140 using the metadata included in the search term.
- the management server 110 may search information in the metadata blockchain 140 using information, such as a data generation technique, a data generation time, and a specific disease type, and determine whether there is data satisfying the corresponding conditions.
- the management server 110 inquires about points and deals with points ( 731 ). A point transaction has been described above with reference to FIG. 5 .
- the management server 110 checks whether the receiver has points in the point information blockchain 130 . When the receiver has remaining points corresponding to a reward for data sharing, the management server 110 reduces the receiver's points and increases a provider of the corresponding data. Also, the management server 110 may take some of the receiver's points to a manager's account as a commission for the data relay service.
- the management server 110 identifies storage information of the requested data ( 741 ). Meanwhile, the management server 110 may identify multiple pieces of data which satisfy a search expression included in the search term and create one group with the pieces of data. In this case, the management server 110 identifies overall storage information of the pieces of data in the group. The management server 110 transmits the identified 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 from a corresponding storage server ( 751 ).
- the transmission request message may include an identifier (an address) of the storage server, the identifier of the data, a storage position of the data, and the like.
- the second terminal 20 transmits the transmission request message to the corresponding storage server 155 ( 752 ).
- the storage server 155 identifies the requested data using the information included in the transmission request message and identifies data stored at a specific position ( 761 ).
- the storage server 155 transmits the identified data to the second terminal 20 ( 762 ).
- the second terminal 20 receives the data and decrypts the data with an encryption key ( 771 ). Therefore, the second terminal 20 may be required to acquire, in advance, the encryption key for decrypting the data which has been encrypted with a public key.
- the user information blockchain 120 may have the encryption key for a specific user.
- the second terminal 20 may acquire, in advance, the encryption key for the specific user through the management server 110 .
- FIG. 9 shows an example of a sequence diagram of a process of identifying data on the basis of metadata. If a receiver wants to receive data shared by a provider, the receiver requests the data which satisfies a condition to the management server 110 .
- a search term may be input to the second terminal 20 ( 811 ).
- the second terminal 20 transmits the search term to the management server 110 ( 812 ).
- the search term includes information for identifying a specific kind of data wanted by the receiver.
- the search term may include at least some of metadata of data.
- the management server 110 may authenticate the user who has transmitted the search term as described above ( 820 ). Also, the management server 110 may verify the received search term using a verification key ( 821 ). Alternatively, the management server 110 may simply verify whether the search term is composed of a valid search term which conforms to a specific format. When the authentication and the verification are successful, the management server 110 transmits the search term to the metadata blockchain 140 ( 822 ).
- the metadata blockchain 140 extracts metadata related to the received search term ( 831 ).
- the metadata blockchain 140 may extract all metadata including a specific piece of metadata. Then, the metadata blockchain 140 may transmit the extracted metadata to the management server 110 ( 832 ).
- the metadata may include an identifier of data.
- the management server 110 may identify specific pieces of data in the received metadata. Also, when multiple pieces of data are related to the search term, the management server 110 may create one group with the pieces of data ( 841 ). The management server 110 extracts storage information of the identified one or more pieces of data ( 842 ). As described above, the management server 110 has storage information of data stored in the storage server 155 . In some cases, a separate server or blockchain may manage the storage information.
- the management server 110 transmits the identified storage information to the second terminal 20 ( 851 ).
- FIG. 10 shows an example of a sequence diagram of a data sharing process including an encryption process.
- FIG. 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 own public key P s to the first terminal 10 ( 901 ).
- the first terminal 10 encrypts 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 the data transmitted from the first terminal 10 using its own public key and proceed with the subsequent process.
- the management server 110 may verify the data using a 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 ).
- a plurality of storage servers 155 may constitute the data storage blockchain 150 .
- the storage servers 155 transmit storage information of the stored data to the management server 110 ( 932 ).
- the second terminal 20 requests data of interest from the management server 110 ( 941 ).
- the second terminal 20 may transmit its own public key P ue2 ( 941 ).
- the management server 110 searches for the data through the above-described process ( 951 ).
- the management server 110 may request found data from the storage servers 155 ( 952 ).
- the storage servers 155 transmit the requested data to the management server 110 ( 953 ).
- the management server 110 decrypts the received data with an encryption key corresponding to its public key P s and then may encrypt the decrypted data again with the public key P ue2 o f 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 ).
- FIG. 11 shows another example of a sequence diagram of a data sharing process including an encryption process.
- FIG. 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 own public key P s to the first terminal 10 ( 1001 ).
- the first terminal 10 encrypts 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 decrypted data to the storage server 155 ( 1022 ).
- One or more storage servers 155 store the decrypted data ( 1031 ).
- a plurality of storage servers 155 may constitute the data storage blockchain 150 .
- the storage servers 155 transmit storage information of the stored data to the management server 110 ( 1032 ).
- the second terminal 20 requests data of interest from the management server 110 ( 1041 ).
- the management server 110 searches for the data through the above-described process ( 1051 ).
- the management server 110 transmits storage information of found data to the second terminal 20 ( 1052 ).
- the second terminal 20 may request the specific data from the storage servers 155 using the storage information ( 1061 ). At this time, the second terminal 20 may transmit its public key P ue2 to the storage servers 155 ( 1061 ).
- the storage servers 155 may search for the requested data and encrypt the data with the public key P ue2 ( 1062 ).
- the storage servers 155 transmit the encrypted data to the second terminal 20 ( 1063 ).
- the second terminal 20 may decrypt the received data with its encryption key ( 1071 ).
- the methods described above can be written as a computer program, a piece of code, an instruction, or some combination thereof, for independently or collectively instructing or configuring the processing device to operate as desired.
- Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device that is capable of providing instructions or data to or being interpreted by the processing device.
- the software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion.
- the software and data may be stored by one or more non-transitory computer readable recording mediums.
- the media may also include, alone or in combination with the software program instructions, data files, data structures, and the like.
- the non-transitory computer readable recording medium may include any data storage device that can store data that can be thereafter read by a computer system or processing device.
- Examples of the non-transitory computer readable recording medium include read-only memory (ROM), random-access memory (RAM), Compact Disc Read-only Memory (CD-ROMs), magnetic tapes, USBs, floppy disks, hard disks, optical recording media (e.g., CD-ROMs, or DVDs), and PC interfaces (e.g., PCI, PCI-express, WiFi, etc.).
- ROM read-only memory
- RAM random-access memory
- CD-ROMs Compact Disc Read-only Memory
- CD-ROMs Compact Disc Read-only Memory
- magnetic tapes e.g., USBs, floppy disks, hard disks
- optical recording media e.g., CD-ROMs, or DVDs
- PC interfaces e.g., PCI, PCI-express, WiFi, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Power Engineering (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Technology Law (AREA)
- Library & Information Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
- This application claims the benefit under 35 USC 119(a) of Korean Patent Application No. 10-2018-0035570 filed on Mar. 28, 2018, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes.
- The following description relates to a data sharing method based on a plurality of blockchains. The following description relates to a platform for data transaction relay and data sharing based on sharing economy, and more particularly, to a method of sharing data, which is owned by an individual, between subjects of a transaction, the method serving to integrate management as a transaction relay platform between a data provider and a data user.
- As existing information and communication technology is combined with the recent paradigm shift from owning to sharing, digital information is increasing. For example, a sharing economy is spreading with the invigoration of peer-to-peer (P2P) transactions, which are interpersonal transactions for cooperative consumption.
- The sharing economy is an economic model based on cooperative consumption, in which idle resources are not owned by an individual but shared among several subjects of transaction. The sharing economy is a transaction relay system between a resource provider and a resource user. On a sharing economy platform, a user pays a use fee for resources and uses as many resources as necessary, and a resource provider obtains a reward for idle resources that he or she has provided. Also, the platform which relays the transaction obtains a commission.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
- When blockchain technology is applied to such a sharing economy, all participants may safely register, keep, and share idle resources together, solve security problems such as hacking and manipulation of idle resources, and also ensure the reliability of transaction records through verification.
- Data may be composed of various kinds of information. For example, data may include specific genomic information, treatment information, and life information of various creatures including humans. Since the probability of a disease may be estimated from data of a human, it is possible to implement customized precision medicine for providing the most appropriate treatment to every patient. Among various kinds of data related to precision medicine, it may be very difficult to collect genomic information and treatment information of a specific group due to various loopholes of regulations and systems, high cost, time consumption, and the like. Also, life information is a record of unique lives, such as lifestyles and environments, which vary depending on individuals, and it may be difficult to collect life information unless individuals provide their information. Since personal data of individuals may be de-identified and then safely shared, these problems may be solved through a blockchain-based integrated data management platform on which a researcher and a research institution using personal data may obtain reliable data.
- In other words, individuals are rewarded for providing and lending personal information and personal data, which is their idle resource, and data users obtain necessary data by paying use fees for necessary data such that a win-win economic system may be established. When researchers and institutions develop customized medicines and programs through various research results based on such idle resources, new medical science may be developed, and a burden to a society may be eased with a reduction in medical cost. Therefore, it is possible to create a high added value by enhancing public healthcare.
- The following embodiments may accelerate data sharing and use by applying the blockchain technology to a sharing economy-based platform and may improve users' data accessibility and management efficiency by facilitating use of a public-domain software source. Also, the following embodiments may ensure security, reliability, and immediacy through a systematic security system capable of transparently and flexibly coping with the risk of hacking, an increase in the amount of data, and sharing when managing big data which is a large amount of integrated data. Further, the following embodiments may make it possible to construct an economic incentive system based on rewards and use fees such that participation of users may increase and a reduction in cost and time may be expected.
- The following embodiments introduce the blockchain technology, thereby safely registering, keeping, and sharing data which is an idle resource shared among all participants, solving security problems of data hacking and manipulation, and providing a verification-based data transaction system and method.
- The following embodiments provide a data sharing transaction system and method in which individuals are rewarded for providing and lending data, which is their idle resource, and data users obtain necessary data by paying use fees for necessary data such that both the individuals and the data users may benefit from the system and method.
- The following embodiments provide a blockchain system and method in which a function is implemented through a blockchain so that a data owner may store and register data which is an idle resource in a shared storage server or delete data in the shared storage server personally or through an institution.
- The following embodiments provide an integrated management system and method for blockchain-based shared data in which a borrower may search shared data for necessary data and receive the necessary data from a storage.
- According to an embodiment of the disclosure, there is provided an integrated management method for data sharing, the method including: a) inputting, by users (including data owners/providers and data borrowers/users), basic information and registering the basic information in a personal information blockchain; b) storing, by a data provider, personal data in a data storage server and registering and deleting the personal data in data information and data blockchains; c) searching, by a data user, the data storage server for necessary personal data of a provider; d) paying, by the data user, a use fee for the necessary personal data of the provider and receiving the corresponding data from the data storage server; and e) transferring the use fee for shared genomic/medical information data to the data provider.
- Operation a) may include: receiving identification information, such as names, birthdates, and email addresses, of the users as the basic information and registering the basic information in a user information blockchain; performing user authentication through the user information blockchain; and creating a virtual account through which it is possible to deposit and withdraw the use fee.
- Operation b) may include: registering, by the data provider, meta information of the data in a metadata blockchain; personally transmitting, by the data provider, the data to the data storage server; and deleting, by the data provider, the personal data and information. Meanwhile, b) may include requesting, by the data provider, a data production company to transmit the data to the storage server.
- Operation c) may include searching, by the data user, the metadata blockchain for meta information of the necessary data.
- Operation d) may include: changing, by the data user, the use fee for the data into a virtual currency (e.g., points, membership mileage, or actual cash); registering the virtual currency in the virtual account through the information and data blockchain; and requesting, by the data user, the necessary data from the data storage server and receiving the necessary data.
- Operation e) may include: transmitting the virtual currency to the virtual account registered in a genomic/medical information data blockchain and changing the received virtual currency into the use fee for the data.
-
FIG. 1 shows an example of a data sharing model; -
FIG. 2 shows an example of a data sharing system; -
FIG. 3 shows an example of a flowchart of a data sharing process; -
FIG. 4 shows an example of a sequence diagram of a user information registration and authentication process; -
FIG. 5 shows an example of a sequence diagram of a point transaction process; -
FIG. 6 shows an example of a sequence diagram of a process of managing metadata of data; -
FIG. 7 shows an example of a sequence diagram of a data storage and deletion process; -
FIG. 8 shows an example of a sequence diagram of a data search and transmission process; -
FIG. 9 shows an example of a sequence diagram of a process of identifying data on the basis of metadata; -
FIG. 10 shows an example of a sequence diagram of a data sharing process including an encryption process; and -
FIG. 11 shows another example of a sequence diagram of a data sharing process including an encryption process. - Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The drawings may not be to scale, and the relative size, proportions, and depiction of elements in the drawings may be exaggerated for clarity, illustration, and convenience.
- The technology described below is related to a data providing or sharing service. Although bio information data is described below, the following technology may be applied to various data providing services regardless of data type.
- Terminology used in the description below will be described.
- Genomic data indicates data obtained from a sample (specimen) of a specific user and a creature (a human, an animal, a microbe, etc.). For example, genomic data may include a base sequence, gene expression data, a genetic variation of standard genomic data, deoxyribonucleic acid (DNA) methylation, etc. obtained from DNA, ribonucleic acid (RNA), protein, etc. of a cell, a piece of tissue, and the like. In general, genomic data includes sequence information obtained by analyzing a specific specimen. Genomic data may be generally represented as digital data. This corresponds to sequence data obtained through next-generation sequencing (NGS) analysis equipment and the like.
- Genome analysis data, or simply analysis data, indicates information obtained by analyzing genomic data. For example, analysis data includes diagnosis results, disease prediction results, disease risks, paternity test results, means of curing a disease, candidate materials for a new medicine, etc. acquired by analyzing genomic data.
- Medical data indicates data which may be used to determine health conditions of a specific user (e.g., a patient). For example, medical data may include electronic medical record (EMR) data of a hospital. In other words, medical data may include examination results (clinical information) of medical equipment, diagnosis results of a medical staff, or the like. Also, for example, medical data may include medical image data and the like measured or captured by medical equipment. Further, for example, medical data may include bio signal data acquired by a mobile terminal (e.g., a healthcare device) capable of measuring bio signals.
- Hereafter, data indicates a digital source including various pieces of information regardless of data format or type. Data may include personal information, information generated by an individual, information obtained by analyzing personal data, experimental data of an individual, and the like. For example, data may include at least one of the above-described genomic data, analysis data, and medical data. Data may be generated by each object (a person, a company, a research institute, a school, a hospital, etc.) which is a biological or social subject.
- Metadata may be identification data derived from a data generation or manipulation process. Metadata corresponds to data for identifying or additionally describing data. Metadata may be a reference for searching for specific data. For example, metadata may include a genomic data format, a production methodology for genomic data, sequencing machine information, sample information, a definition in molecular biological technology, a production, results and statistics about data quality analysis, a production date, and the like. For example, metadata may include a production date, a production institution, patient information (an identifier and the like), disease information, an examination technique, a type of examination equipment, a data format, etc. of medical data.
- A provider indicates a user who produces or processes data and provides the data. A provider may be a user who provides data so that the data may be shared. A provider may provide data that is personally produced by himself or herself or produced by another person.
- A receiver indicates a user who receives data shared by a provider. A receiver may conduct research, analysis, etc. using data.
- A user includes a specific subject such as a person or an institution. A user terminal or a terminal may be a computing device and indicates a client device used by a user. In a system, a user may be specified as a user terminal.
- A computing device indicates a device which analyzes input source data using an arithmetic unit such as a central processing unit (CPU), application processor (AP), etc. A computing device generally includes an arithmetic unit, a memory, an input-output unit, a communication interface unit, and the like. A computing device may be implemented as a server, a personal computer (PC), a tablet PC, a smart phone, and the like.
- A hash key may be a value used to identify a user in a blockchain network. A hash key may be generated in various ways. Representative hash key generation algorithms are MD5, SHA-256, and the like. A hash key may be a unique value for a specific user. A hash key may be a key composed of a string of a variable length.
- A public key and an encryption key are keys for encrypting and transmitting data in a blockchain network. A public key and an encryption key are used for encryption known as public-key cryptography. A public key may be a key for encrypting data, and an encryption key may be a key for decrypting data. A public key and an encryption key may be paired with each other and may be randomly generated using various public key encryption methods (e.g., Rivest-Shamir-Adleman (RSA), elliptic curve cryptography, etc.).
- A blockchain indicates a chain-link-based distributed data storage environment in which small pieces of data called “blocks” are generated in a peer-to-peer (P2P) manner from data to be managed. A blockchain network indicates a network component constituting a blockchain.
-
FIG. 1 shows an example of a data sharing model.FIG. 1 shows auser terminal 10 used by a provider A, auser terminal 20 used by a receiver B, amanagement server 30, and ablockchain set 40. For convenience of description, the user terminal used by the provider A and the user terminal used by the receiver B will be referred to as afirst terminal 10 and asecond terminal 20, respectively. - Data may be input to the
first terminal 10. Otherwise, thefirst terminal 10 may generate data. Otherwise, thefirst terminal 10 may receive data from another object. Thefirst terminal 10 transmits the data to themanagement server 30. - The
management server 30 manages an overall process for data sharing. Themanagement server 30 may be managed by a service provider of a data sharing service. It is possible to see that themanagement server 30 and the blockchain set 40 constitute a system for data sharing. - Data sharing may be performed through a blockchain. Data sharing employs a plurality of blockchains (a blockchain set). Respective blockchains of a blockchain set may be associated with different processes or functions for data sharing. The blockchain set 40 includes a user information blockchain, a point information blockchain, a metadata blockchain, and a data storage blockchain. Details thereof will be described below.
- The
management server 30 registers information on users in the user information blockchain in advance. Themanagement server 30 may authenticate a specific user using the user information blockchain. Themanagement server 30 registers metadata of the data received from thefirst terminal 10 in the metadata blockchain. Themanagement server 30 builds the data storage blockchain by storing the data received from thefirst terminal 10 in a storage server. Also, themanagement server 30 manages point information of users (generation, use, transfer, discard, etc. of points) using the point information blockchain. - The
management server 30 receives a request for data from thesecond terminal 20. Themanagement server 30 may inquire about the requested data using metadata. In some cases, themanagement server 30 may inquire about data stored in the storage server. When the requested data exists, themanagement server 30 transmits storage information of the corresponding data to thesecond terminal 20. Subsequently, thesecond terminal 20 may receive the data from the storage server using the storage information. - A blockchain network has roughly two kinds of components. One element may be a blockchain node, and the other element may be a client. From a user's point of view, a node of a blockchain serves as a backend of a general service and a client of a blockchain serves as a client. When a client generates a new transaction, nodes share the transaction through a distributed consensus process and execute the transaction. The client may see results of the transaction. In
FIG. 1 , the 10 and 20 correspond to clients. Inuser terminals FIG. 1 , blockchain nodes correspond to nodes connected to the network. -
FIG. 2 shows an example of adata sharing system 100. Thedata sharing system 100 includes amanagement server 110 and a plurality of 120, 130, 140, and 150. Theblockchains management server 110 corresponds to themanagement server 30 ofFIG. 1 . - User terminals include the
first terminal 10 of a provider side and thesecond terminal 20 of a receiver side. -
FIG. 2 shows a total of fourblockchains 120 to 150. One blockchain may be composed of a plurality of blockchain nodes. The four blockchains are described below. In some cases, the system may further include a blockchain for another item, which will be described below. - The
user information blockchain 120 has user information. Theuser information blockchain 120 stores a hash key for a user and user information. For example, the user information may include the user's identifier, identity (ID), contact information, email address, name, sex, affiliated institution, birthdate, and the like. Theuser information blockchain 120 may have user information encrypted with a public key. - The
point information blockchain 130 has point information. Points may be incentives to data sharing. Also, points correspond to a use fee for data. Further, points may also be a commission for a data broker. Points may be a blockchain-based virtual currency. Alternatively, points may be a unique currency (a cyber money, cash, mileage, etc.) for a sharing service not based on a blockchain. Points may be changed into currency used in the real world through a separate system or service. Thepoint information blockchain 130 has remaining point information, details of point transactions, etc. of an individual user. - The
metadata blockchain 140 has metadata of data. Themetadata blockchain 140 may have metadata encrypted with a specific public key. - The
data storage blockchain 150 has storage information of data stored in a storage server. The storage information may include an identifier of the storage server, a file name, a position at which data is stored in a storage medium of the storage server, a file size, file split information, a verification key, and the like. - A
storage server 155 stores data. Thestorage server 155 may be a single server. Alternatively, as shown inFIG. 2 , thestorage server 155 may include n servers storage server 1, . . . , and storage server n. When there are a plurality of storage servers, it is possible to store data in a distributed manner. Also, when there are a plurality of storage servers, one server (a primary storage server) may store generated data as it is, and other servers (secondary storage servers) may store the data in a distributed (divided) manner. When a plurality of servers are used, a plurality of storage servers or a plurality of secondary storage servers may be nodes constituting a blockchain such that the plurality of storage servers may constitute the blockchain. Thedata storage blockchain 150 has storage information of an entirety of holding data. - The
management server 110 stores user information, point transaction information, metadata, and data in a blockchain network. Themanagement server 110 serves to transmit data to thesecond terminal 20, which requests the data. - The
management server 110 may have a user management function. In other words, themanagement server 110 may receive and store information on users in a user information blockchain network and perform user authentication on the basis of the stored user information. - The
management server 110 may have a point management function. In other words, themanagement server 110 may store and inquire about details of users' point purchases or sales, details of point transactions accompanying inter-user transactions, remaining points of users, etc. through the blockchain network. - The
management server 110 may have a metadata management function. Themanagement server 110 stores metadata received from data providers in the blockchain network. Themanagement server 110 may search for data on the basis of the metadata and create a group of data corresponding to search results. - The
management server 110 may have a data storage management function. Themanagement server 110 may receive data from providers, store the received data in thestorage server 155, and transmit a group created by collecting data to a receiver. -
FIG. 3 shows an example of a flowchart of adata sharing process 200.FIG. 3 shows a schematic process for data sharing. Users (a provider and a receiver) perform user registration in advance (210). Themanagement server 110 registers user information and hash keys in a user information blockchain. After user registration, themanagement server 110 may authenticate a user who performs or requests a data providing process, a data sharing process, a point dealing process, or the like before starting the corresponding process. Themanagement server 110 may perform user authentication using the user information blockchain. - The provider provides data to the
management server 110, and themanagement server 110 builds thedata storage blockchain 150 while storing the data in the storage server 155 (220). Although not shown inFIG. 3 , themanagement server 110 may register metadata of the data in themetadata blockchain 140. - The receiver requests necessary data to the
management server 110. Themanagement server 110 searches for the requested data (230). Themanagement server 110 may search for the data using metadata. - Before providing the data to the receiver, the
management server 110 deals with points related to data use (240). Themanagement server 110 registers details of a point transaction (point change, point transfer, point purchase, etc.) in thepoint information blockchain 130. For example, receiver points may be transferred to the provider through this process. - Finally, the
management server 110 provides the storage information of the requested data to the receiver. The receiver may receive the data from thestorage server 155 using the storage information. Themanagement server 110 would transmits (shares) the requested data to the receiver by providing the storage information of the requested data (250). - Meanwhile, data used in the process of user information registration, data storage, metadata registration, point dealing, etc. may be encrypted using a public-key method.
-
FIG. 4 shows an example of a sequence diagram of a user information registration andauthentication process 300.FIG. 4 shows both a user registration process and a user authentication process. - A user registration process description follows. In
FIG. 4 , a user terminal indicates thefirst terminal 10 and/or thesecond terminal 20. A provider or a receiver may be required to perform user registration in advance so as to provide or request data. - User information PI may be input to the
user terminal 10/20 (301). Theuser terminal 10/20 transmits the user information PI to the management server 110 (302). - The
management server 110 may generate a hash key. Themanagement server 110 generates a hash key Hk for a user who has requested generation of a hash key using the user information PI (311). The hash key Hk is used as an identifier of the user (the terminal) who has currently requested generation of a hash key. Therefore, the hash key Hk corresponds to user-specific unique information. Themanagement server 110 generates the hash key Hk by inputting the input user information PI to a certain hash function. An algorithm or a hash function for generating a hash key may be varied. - The
management server 110 may encrypt the received user information PI (to generate PI′) (312). Themanagement server 110 may encrypt the user information using a public key received from theuser terminal 10/20. Meanwhile, theuser terminal 10/20 may transmit user information PI′ encrypted with the public key to themanagement server 110. - The
management server 110 transfers the generated hash key Hk to theuser terminal 10/20 that has requested a hash key (321). Theuser terminal 10/20 stores the hash key Hk in a storage medium (322). - The
management server 110 transmits user block data including the encrypted user information PI′ and the hash key Hk to the user information blockchain 120 (331). Theuser information blockchain 120 registers the received encrypted user information PI′ and hash key Hk (332). Here, themanagement server 110 may additionally transmit the public key used for encryption to theuser information blockchain 120. In this case, theuser information blockchain 120 may additionally register the public key. The above-described operations 301 to 332 correspond to a user information registration process. - A user authentication process description follows. User authentication may be required for a specific operation or each operation of a data sharing service. Only a user who has gone through user authentication may be allowed to proceed with subsequent operations.
- For authentication, the user information PI may be input to the
user terminal 10/20 (351). Theuser terminal 10/20 transmits the user information PI or the stored hash key Hk thereof to the management server 110 (352). Themanagement server 110 may generate the encrypted user information PI′ by encrypting the received user information with the public key. Themanagement server 110 inquires about user information using the received user information PI (or PI′) or hash key Hk (361). Themanagement server 110 inquires about user information transferred to theuser information blockchain 120 using the received information. Themanagement server 110 transmits acquired user information or the hash key Hk to the user information blockchain 120 (362). - The
user information blockchain 120 may identify user information on the basis of the received information (371). For example, theuser information blockchain 120 may identify user information on the basis of the hash key Hk. Theuser information blockchain 120 transmits the identified user information to the management server 110 (372). - The
management server 110 may perform user authentication by comparing user information PI′ received from theuser information blockchain 120 and the user information PI′ received from theuser terminal 10/20. Also, themanagement server 110 may generate an authentication token (381). Here, themanagement server 110 may encrypt the authentication token with the public key. Themanagement server 110 transmits the user authentication token to theuser terminal 10/20 (382). - The
user terminal 10/20 stores the user authentication token (383). Theuser terminal 10/20 may decrypt the encrypted user authentication token and store the decrypted user authentication token. Subsequently, theuser terminal 10/20 may use the authentication token in a process of communicating with themanagement server 110. Themanagement server 110 which requires authentication may provide specific data only to a user terminal that transfers a valid authentication token. - In the user registration process, a virtual account creation operation may be performed for an individual user. Virtual account creation involves an operation of creating an account (a wallet) of the user in the
point information blockchain 130. Virtual account creation may employ a method which is generally used in a blockchain-based virtual currency service. The following description ofFIG. 5 is based on a situation in which user-specific virtual accounts have been created. -
FIG. 5 shows an example of a sequence diagram of apoint transaction process 400.FIG. 5 shows an example of a process of dealing with and managing a user's points. - User point transaction information may be input to the
user terminal 10/20 (401). The point transaction information may include information required for a point transaction. For example, the point transaction information includes transaction counterparty information (user information or a hash key), purchased point information, information on point depositing and withdrawing, remaining point information, transaction amount information, and the like. Theuser terminal 10/20 transmits the point transaction information to the management server 110 (411). Theuser terminal 10/20 may encrypt the point transaction information with a public key and transmit the encrypted information. - The
management server 110 may authenticate a user who has transmitted the point transaction information (420). The subsequent process may proceed only for a user who has gone through authentication. Themanagement server 110 may authenticate the user using the authentication token received from theuser terminal 10/20. The authentication token has been described above with reference toFIG. 4 . - The
management server 110 may inquire about details of the requested point transaction (421). For example, themanagement server 110 may inquire about a specific block corresponding to a ledger in which details of the transaction have been recorded. Themanagement server 110 transmits the point transaction information to the confirmed point information blockchain 130 (422). - The
point information blockchain 130 inquires about information on point transactions and registers the requested transaction information (431). For example, thepoint information blockchain 130 may reduce points from a ledger of a specific user (a receiver) and add points to a ledger of another user (a provider). The point information blockchain 130 records information related to the transaction details in the block. Then, thepoint information blockchain 130 transmits changed point transaction information to the management server 110 (432). - The
management server 110 may verify whether the transaction information received from thepoint information blockchain 130 and the transaction information received from theuser terminal 10/20 coincide with each other (441). When the verification is successful, themanagement server 110 transmits the changed point transaction information to theuser terminal 10/20 (442). Theuser terminal 10/20 stores the changed user point transaction information (451). -
FIG. 6 shows an example of a sequence diagram of aprocess 500 of managing metadata of data.FIG. 6 includes a process of registering metadata and a process of deleting metadata. - First, the process of registering metadata is described. Data may be input to the first terminal 10 (511). Alternatively, metadata of data may be input to the
user terminal 10/20. Thefirst terminal 10 transmits the input or acquired data or metadata to the management server 110 (512). - The
management server 110 may authenticate the user who has transmitted the data or the metadata (520). The subsequent process may proceed only for a user who has gone through authentication. Themanagement server 110 may authenticate the user using the authentication token received from theuser terminal 10/20. The authentication token has been described above with reference toFIG. 4 . - When the data is received, the
management server 110 may identify metadata from the data (521). When the data is received, themanagement server 110 may also verify whether the data conforms to a predetermined format or standard. Alternatively, themanagement server 110 may verify the data with a specific verification key. The verification key indicates information for verifying an electronic signature. In this case, the data is required to include an electronic signature in advance. The provider transmits the data including an electronic signature. - The data may include information on metadata in a specific format. In this case, the
management server 110 may extract the metadata from the data. When themanagement server 110 directly receives metadata from thefirst terminal 10, no identification process is necessary. Themanagement server 110 transmits the metadata to the metadata blockchain 140 (522). Themetadata blockchain 140 registers the metadata related to the data as block data (531). When a receiver requests data, the metadata registered in themetadata blockchain 140 may be used to determine whether the requested data exists. - The process of deleting metadata is described. The first terminal 10 requests deletion of metadata (551). The
first terminal 10 transmits a metadata deletion message to the management server 110 (552). The deletion message may include an identifier of the data, an identifier of the metadata to be deleted, a point of generation time of the metadata, and the like. Alternatively, the deletion message may include an entirety of metadata. Themanagement server 110 verifies the received metadata deletion message (561). Themanagement server 110 may verify the deletion message with a specific verification key. Separately from this, themanagement server 110 may authenticate the user who has transferred the deletion message (560). The authentication may be performed according to whether an authentication token transferred from thefirst terminal 10 is valid. Themanagement server 110 transmits the deletion message to the metadata blockchain 140 (562). Themetadata blockchain 140 deletes the metadata using information included in the deletion message (571). Subsequently, themetadata blockchain 140 transmits a deletion acknowledgement message to the management server 110 (581). Themanagement server 110 may transmit the deletion acknowledgement message to the first terminal 10 (582). -
FIG. 7 shows an example of a sequence diagram of a data storage anddeletion process 600. - First, a data storage process is described. Data may be input to the first terminal 10 (601). The
first terminal 10 may generate data by itself, or information generated by a third party may be input to thefirst terminal 10. Thefirst terminal 10 may encrypt the generated data with a public key (602). In some cases, themanagement server 110 may encrypt the data with the public key of thefirst terminal 10. - The
first terminal 10 transmits the data to the management server 110 (611). Themanagement server 110 may verify the received data on the basis of certain criteria (612). For example, when the data has a specific format, themanagement server 110 may verify whether the data satisfies standards of the format. Alternatively, themanagement server 110 may verify the data using a verification key for the data. - The
management server 110 may authenticate the user who has transmitted the data (620). The subsequent process may proceed only for a user who has gone through authentication. Themanagement server 110 may authenticate the user using the authentication token received from theuser terminal 10/20. The authentication token has been described above with reference toFIG. 4 . - The
management server 110 transmits the encrypted data to the storage server 155 (621). Thestorage server 155 stores the received data (622). As described above, thestorage server 155 may include a plurality of servers. In this case, the data may be stored in the plurality of servers in a distributed or divided manner. One or more servers transfer their storage information of the data to the data storage blockchain 150 (631). Thedata storage blockchain 150 registers storage information of data stored in thestorage server 155 in an integrated manner (632). While eachstorage server 155 has only information held therein, thedata storage blockchain 150 has storage information of an entirety of data. As described above, storage information may include an identifier of a storage server, a file name, a position at which data is stored in a storage medium of the storage server, a file size, file split information, a verification key, and the like. Thedata storage blockchain 150 transmits the data storage information to the management server 110 (641). Themanagement server 110 registers the storage information of the data (642). In other words, themanagement server 110 has storage information of the entirety of data. - A data deletion process is described. The first terminal 10 requests data deletion (651). The
first terminal 10 transmits a data deletion message to the management server 110 (652). Themanagement server 110 verifies the deletion message (661). The deletion message may include a name, an identifier, etc. of data to be deleted. Themanagement server 110 may verify the deletion message using a verification key. Also, themanagement server 110 may authenticate the user (the first terminal 10) who has transmitted the deletion message through a separate process. - The
management server 110 may authenticate the user who has transmitted the deletion message (670). The subsequent process may proceed only for a user who has gone through authentication. Themanagement server 110 may authenticate the user using the authentication token received from theuser terminal 10/20. The authentication token has been described above with reference toFIG. 4 . - The
management server 110 transmits the data deletion message to the storage server 155 (671). Since themanagement server 110 has the storage information, it is possible to transmit the deletion message to thestorage server 155 storing the deletion target (671). Thestorage server 155 deletes the data requested to be deleted (681). Although not shown inFIG. 7 , thestorage server 155 deletes the data and registers changed information in thedata storage blockchain 150. Thedata storage blockchain 150 updates the storage data. Thestorage server 155 transmits a deletion acknowledgement message to the management server 110 (691). Themanagement server 110 may transmit the deletion acknowledgement message to the first terminal 10 (692). - Meanwhile, when the
first terminal 10 deletes data, metadata of the deleted data may be deleted as well. Therefore, the deletion message transmitted by thefirst terminal 10 may include deletion information for data and metadata of the data. -
FIG. 8 shows an example of a sequence diagram of a data search andtransmission process 700.FIG. 8 corresponds to a process in which a receiver receives shared data. A data search term may be input to the second terminal 20 (711). The data search term may be composed of various pieces of information. For example, the data search term may include an identifier of a specific target person, an identifier of a specific genome, an identifier of a specific disease, an identifier of a specific organ, a data generation time, a data update time, and the like. The data search term may include metadata of data. Thesecond terminal 20 transmits the data search term to the management server 110 (712). - The
management server 110 may authenticate the user who has transmitted the search term (720). The subsequent process may proceed only for a user who has gone through authentication. Themanagement server 110 may authenticate the user using the authentication token received from theuser terminal 10/20. The authentication token has been described above with reference toFIG. 4 . - The
management server 110 determines whether the requested data exists in thestorage server 155 first (721). Themanagement server 110 may determine whether the corresponding data exists in thestorage server 155 using the information included in the search term. For example, themanagement server 110 may determine whether the corresponding data is currently in thestorage server 155 using an identifier of the data. Further, themanagement server 110 may determine whether the corresponding data is in themetadata blockchain 140 using the metadata included in the search term. Themanagement server 110 may search information in themetadata blockchain 140 using information, such as a data generation technique, a data generation time, and a specific disease type, and determine whether there is data satisfying the corresponding conditions. - When the requested data exists, the
management server 110 inquires about points and deals with points (731). A point transaction has been described above with reference toFIG. 5 . Themanagement server 110 checks whether the receiver has points in thepoint information blockchain 130. When the receiver has remaining points corresponding to a reward for data sharing, themanagement server 110 reduces the receiver's points and increases a provider of the corresponding data. Also, themanagement server 110 may take some of the receiver's points to a manager's account as a commission for the data relay service. - The
management server 110 identifies storage information of the requested data (741). Meanwhile, themanagement server 110 may identify multiple pieces of data which satisfy a search expression included in the search term and create one group with the pieces of data. In this case, themanagement server 110 identifies overall storage information of the pieces of data in the group. Themanagement server 110 transmits the identified 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 from a corresponding storage server (751). The transmission request message may include an identifier (an address) of the storage server, the identifier of the data, a storage position of the data, and the like. The
second terminal 20 transmits the transmission request message to the corresponding storage server 155 (752). - The
storage server 155 identifies the requested data using the information included in the transmission request message and identifies data stored at a specific position (761). Thestorage server 155 transmits the identified data to the second terminal 20 (762). Thesecond terminal 20 receives the data and decrypts the data with an encryption key (771). Therefore, thesecond terminal 20 may be required to acquire, in advance, the encryption key for decrypting the data which has been encrypted with a public key. To this end, theuser information blockchain 120 may have the encryption key for a specific user. Thesecond terminal 20 may acquire, in advance, the encryption key for the specific user through themanagement server 110. -
FIG. 9 shows an example of a sequence diagram of a process of identifying data on the basis of metadata. If a receiver wants to receive data shared by a provider, the receiver requests the data which satisfies a condition to themanagement server 110. A search term may be input to the second terminal 20 (811). Thesecond terminal 20 transmits the search term to the management server 110 (812). The search term includes information for identifying a specific kind of data wanted by the receiver. For example, the search term may include at least some of metadata of data. - The
management server 110 may authenticate the user who has transmitted the search term as described above (820). Also, themanagement server 110 may verify the received search term using a verification key (821). Alternatively, themanagement server 110 may simply verify whether the search term is composed of a valid search term which conforms to a specific format. When the authentication and the verification are successful, themanagement server 110 transmits the search term to the metadata blockchain 140 (822). - The
metadata blockchain 140 extracts metadata related to the received search term (831). Themetadata blockchain 140 may extract all metadata including a specific piece of metadata. Then, themetadata blockchain 140 may transmit the extracted metadata to the management server 110 (832). The metadata may include an identifier of data. - The
management server 110 may identify specific pieces of data in the received metadata. Also, when multiple pieces of data are related to the search term, themanagement server 110 may create one group with the pieces of data (841). Themanagement server 110 extracts storage information of the identified one or more pieces of data (842). As described above, themanagement server 110 has storage information of data stored in thestorage server 155. In some cases, a separate server or blockchain may manage the storage information. - The
management server 110 transmits the identified storage information to the second terminal 20 (851). -
FIG. 10 shows an example of a sequence diagram of a data sharing process including an encryption process.FIG. 10 corresponds to a process in which thefirst terminal 10 provides data and thesecond terminal 20 receives the provided data. - The
management server 110 transmits its own public key Ps to the first terminal 10 (901). Thefirst terminal 10 encrypts data using the public key Ps (911). Thefirst terminal 10 transmits the encrypted data to the management server 110 (912). - Unlike the process shown in
FIG. 10 , themanagement server 110 may encrypt the data transmitted from thefirst terminal 10 using its own public key and proceed with the subsequent process. - The
management server 110 may verify the data using a verification key (921). Themanagement server 110 transmits the encrypted data to the storage server 155 (922). One ormore storage servers 155 store the encrypted data (931). As described above, a plurality ofstorage servers 155 may constitute thedata storage blockchain 150. Thestorage servers 155 transmit storage information of the stored data to the management server 110 (932). - Subsequently, the second terminal 20 requests data of interest from the management server 110 (941). At this time, the
second terminal 20 may transmit its own public key Pue2 (941). - The
management server 110 searches for the data through the above-described process (951). Themanagement server 110 may request found data from the storage servers 155 (952). Thestorage servers 155 transmit the requested data to the management server 110 (953). - The
management server 110 decrypts the received data with an encryption key corresponding to its public key Ps and then may encrypt the decrypted data again with the public key Pue2 of the second terminal (961). Themanagement server 110 transmits the encrypted data to the second terminal 20 (971). Thesecond terminal 20 decrypts the received data with its encryption key (981). -
FIG. 11 shows another example of a sequence diagram of a data sharing process including an encryption process.FIG. 11 corresponds to a process in which thefirst terminal 10 provides data and thesecond terminal 20 receives the provided data. - The
management server 110 transmits its own public key Ps to the first terminal 10 (1001). Thefirst terminal 10 encrypts data using the public key Ps (1011). Thefirst 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). Themanagement server 110 transmits the decrypted data to the storage server 155 (1022). One ormore storage servers 155 store the decrypted data (1031). As described above, a plurality ofstorage servers 155 may constitute thedata storage blockchain 150. Thestorage servers 155 transmit storage information of the stored data to the management server 110 (1032). - Subsequently, the second terminal 20 requests data of interest from the management server 110 (1041). The
management server 110 searches for the data through the above-described process (1051). Themanagement server 110 transmits storage information of found data to the second terminal 20 (1052). - The
second terminal 20 may request the specific data from thestorage servers 155 using the storage information (1061). At this time, thesecond terminal 20 may transmit its public key Pue2 to the storage servers 155 (1061). - The
storage servers 155 may search for the requested data and encrypt the data with the public key Pue2 (1062). Thestorage servers 155 transmit the encrypted data to the second terminal 20 (1063). Thesecond terminal 20 may decrypt the received data with its encryption key (1071). - The methods described above can be written as a computer program, a piece of code, an instruction, or some combination thereof, for independently or collectively instructing or configuring the processing device to operate as desired. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device that is capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. In particular, the software and data may be stored by one or more non-transitory computer readable recording mediums. The media may also include, alone or in combination with the software program instructions, data files, data structures, and the like. The non-transitory computer readable recording medium may include any data storage device that can store data that can be thereafter read by a computer system or processing device. Examples of the non-transitory computer readable recording medium include read-only memory (ROM), random-access memory (RAM), Compact Disc Read-only Memory (CD-ROMs), magnetic tapes, USBs, floppy disks, hard disks, optical recording media (e.g., CD-ROMs, or DVDs), and PC interfaces (e.g., PCI, PCI-express, WiFi, etc.). In addition, functional programs, codes, and code segments for accomplishing the example disclosed herein can be construed by programmers skilled in the art based on the flow diagrams and block diagrams of the figures and their corresponding descriptions as provided herein.
- While this disclosure includes specific examples, it will be apparent to one of ordinary skill in the art that various changes in form and details may be made in these examples without departing from the spirit and scope of the claims and their equivalents. The examples described herein are to be considered in a descriptive sense only, and not for purposes of limitation. Descriptions of features or aspects in each example are to be considered as being applicable to similar features or aspects in other examples. Suitable results may be achieved if the described techniques are performed in a different order, and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Therefore, the scope of the disclosure is defined not by the detailed description, but by the claims and their equivalents, and all variations within the scope of the claims and their equivalents are to be construed as being included in the disclosure.
Claims (16)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2018-0035570 | 2018-03-28 | ||
| KR1020180035570A KR101893729B1 (en) | 2018-03-28 | 2018-03-28 | Data sharing method based on multiple block-chains |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US10417219B1 US10417219B1 (en) | 2019-09-17 |
| US20190303362A1 true US20190303362A1 (en) | 2019-10-03 |
Family
ID=63862888
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/222,332 Active US10417219B1 (en) | 2018-03-28 | 2018-12-17 | Data sharing method based on plurality of blockchains |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US10417219B1 (en) |
| EP (1) | EP3547639B1 (en) |
| JP (1) | JP6771534B2 (en) |
| KR (1) | KR101893729B1 (en) |
| CN (1) | CN110322240B (en) |
| SG (1) | SG10201810910YA (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11379867B2 (en) * | 2018-06-19 | 2022-07-05 | Sang Mi RYU | Method for automatically providing cryptocurrency to recommender using propagation on SNS |
| US20220345322A1 (en) * | 2020-08-07 | 2022-10-27 | Giunwoo LEE | Research managing server for performing realtime research interworking multiple node units which constitute blockchain network and the operating method thereof |
| US11816109B2 (en) | 2020-07-30 | 2023-11-14 | Hitachi, Ltd. | Data provision method in a data utilization system |
| WO2024049956A1 (en) * | 2022-08-31 | 2024-03-07 | Snickerdoodle Labs, Inc. | Techniques for providing a privacy-based data sharing protocol |
| US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
Families Citing this family (80)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10007913B2 (en) | 2015-05-05 | 2018-06-26 | ShoCard, Inc. | Identity management service using a blockchain providing identity transactions between devices |
| EP3424179B1 (en) | 2016-03-04 | 2022-02-16 | Ping Identity Corporation | Method and system for authenticated login using static or dynamic codes |
| US10509932B2 (en) | 2016-03-07 | 2019-12-17 | ShoCard, Inc. | Large data transfer using visual codes with feedback confirmation |
| US10007826B2 (en) | 2016-03-07 | 2018-06-26 | ShoCard, Inc. | Transferring data files using a series of visual codes |
| US10498541B2 (en) | 2017-02-06 | 2019-12-03 | ShocCard, Inc. | Electronic identification verification methods and systems |
| CN110300950B (en) | 2017-02-06 | 2023-06-16 | 平蛙实验室股份公司 | Optical coupling in touch sensing systems |
| USRE49968E1 (en) | 2017-02-06 | 2024-05-14 | Ping Identity Corporation | Electronic identification verification methods and systems with storage of certification records to a side chain |
| US11256371B2 (en) * | 2017-09-01 | 2022-02-22 | Flatfrog Laboratories Ab | Optical component |
| EP4120620A1 (en) | 2017-12-08 | 2023-01-18 | Ping Identity Corporation | Methods and systems for recovering data using dynamic passwords |
| KR101880175B1 (en) * | 2018-02-13 | 2018-07-19 | 주식회사 마크로젠 | Bio-information data providing method, bio-information data storing method and bio-information data transferring system based on multiple block-chain |
| TW201947406A (en) * | 2018-05-03 | 2019-12-16 | 華東科技股份有限公司 | Data exchange group system and a method thereof |
| KR102224949B1 (en) * | 2018-10-08 | 2021-03-09 | (주)허니냅스 | System and method for dealing medical data |
| US10979227B2 (en) | 2018-10-17 | 2021-04-13 | Ping Identity Corporation | Blockchain ID connect |
| US11082221B2 (en) | 2018-10-17 | 2021-08-03 | Ping Identity Corporation | Methods and systems for creating and recovering accounts using dynamic passwords |
| WO2020080992A1 (en) | 2018-10-20 | 2020-04-23 | Flatfrog Laboratories Ab | Frame for a touch-sensitive device and tool therefor |
| KR102117537B1 (en) * | 2018-11-16 | 2020-06-02 | 김재호 | Service providing system and method for managing testament |
| KR102126891B1 (en) * | 2018-11-30 | 2020-06-25 | 이재만 | Method for providing schedule management service and schedule management service system using it |
| KR102107911B1 (en) * | 2018-12-03 | 2020-05-07 | 엄성민 | Automatic inspection system for label type data based on Artificial Intelligence Learning, and method thereof |
| KR101979161B1 (en) * | 2018-12-03 | 2019-05-15 | 엄성민 | Artificial Intelligence Learning Data Productivity Improvement System based on Label Type Data Management Using Block Chain, and Method thereof |
| CN109587241B (en) * | 2018-12-04 | 2022-02-11 | 挖财网络技术有限公司 | Data sharing method and equipment |
| CN109614822A (en) * | 2018-12-12 | 2019-04-12 | 北京时代远行信息科技有限公司 | A kind of Information Resource Access method, apparatus and system based on block chain |
| KR102149896B1 (en) * | 2018-12-14 | 2020-08-31 | 건양대학교 산학협력단 | Air Quality Information Management System Based on Block-Chain |
| US10839411B2 (en) * | 2018-12-21 | 2020-11-17 | Noodle Technology Inc. | Validation in a decentralized network |
| KR102194631B1 (en) * | 2019-01-11 | 2020-12-23 | 김휘영 | System and method for detecting malicious links using block chain and computer program for the same |
| JP7071938B2 (en) * | 2019-01-23 | 2022-05-19 | 株式会社日立製作所 | Database management service provision system |
| CN110011960A (en) * | 2019-01-23 | 2019-07-12 | 阿里巴巴集团控股有限公司 | Data sharing method, system, server and readable storage medium storing program for executing based on block chain |
| KR102297592B1 (en) * | 2019-01-30 | 2021-09-03 | 펜타시큐리티시스템 주식회사 | Method and apparatus for sharing big data using block chain |
| US11531686B2 (en) | 2019-02-04 | 2022-12-20 | Apex Data Solutions, Llc | Computing system providing blockchain-facilitated semantic interoperability between multiple disparate systems of record (SORs) and related methods |
| US11297069B2 (en) * | 2019-02-05 | 2022-04-05 | Centurylink Intellectual Property Llc | Utilizing blockchains to implement named data networking |
| KR102244622B1 (en) * | 2019-02-15 | 2021-04-26 | 리걸테크 주식회사 | Data Management System and Data Management Method |
| US11061641B2 (en) * | 2019-02-28 | 2021-07-13 | Ricoh Company, Ltd. | Screen sharing system, and information processing apparatus |
| KR102330005B1 (en) * | 2019-03-11 | 2021-11-24 | 순천향대학교 산학협력단 | Hybrid blockchain system for efficient content change and deletion and XGS injection method using hybrid blockchain |
| KR102720693B1 (en) * | 2019-03-20 | 2024-10-21 | 주식회사 케이티 | Method for sharing data in block chain environment and apparatus |
| CN109947854B (en) * | 2019-03-29 | 2022-04-08 | 百度在线网络技术(北京)有限公司 | Block chain-based electronic medical record processing method, device, equipment and medium |
| US10860731B2 (en) | 2019-04-04 | 2020-12-08 | Accenture Global Solutions Limited | Personal data ecosystems |
| US11436368B2 (en) * | 2019-04-04 | 2022-09-06 | Accenture Global Solutions Limited | Personal data management system |
| WO2020209413A1 (en) * | 2019-04-10 | 2020-10-15 | 주식회사 엘비엑스씨 | Blockchain-based anomaly detection apparatus and method |
| CN110071969B (en) * | 2019-04-17 | 2021-11-30 | 杭州云象网络技术有限公司 | Data security sharing method based on multi-chain architecture |
| KR102150953B1 (en) * | 2019-05-02 | 2020-09-02 | 최윤호 | Method and apparatus for integrating login providing blockchain reward |
| KR102374824B1 (en) * | 2019-05-17 | 2022-03-16 | 한양대학교 산학협력단 | Method and apparatus for providing and enhanching health information based on automous participating and reward |
| KR102140972B1 (en) * | 2019-05-27 | 2020-08-05 | 주식회사 아이티로 | Method, apparatus and computer-readable recording medium for providing cleaning service and contents based on scenario |
| CN112148728B (en) * | 2019-06-28 | 2024-08-02 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for information processing |
| US11283595B1 (en) * | 2019-08-29 | 2022-03-22 | Hiro Systems Pbc | Systems and methods for securing cached data stored off-chain in a blockchain-based network |
| KR102271201B1 (en) | 2019-10-01 | 2021-06-30 | 숭실대학교산학협력단 | Method for maintaining private information on blockchain network and device thereof |
| CN111078638B (en) * | 2019-10-21 | 2023-04-07 | 支付宝(杭州)信息技术有限公司 | Electronic resource processing method, device, medium and server |
| ES2991658T3 (en) | 2019-11-25 | 2024-12-04 | Flatfrog Lab Ab | A touch device |
| CN111028108B (en) * | 2019-12-16 | 2022-05-31 | 重庆锐云科技有限公司 | Credit mark system of real estate agent |
| WO2021132159A1 (en) * | 2019-12-26 | 2021-07-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Data distribution method, program, and data distribution system |
| US12282653B2 (en) | 2020-02-08 | 2025-04-22 | Flatfrog Laboratories Ab | Touch apparatus with low latency interactions |
| US11893189B2 (en) | 2020-02-10 | 2024-02-06 | Flatfrog Laboratories Ab | Touch-sensing apparatus |
| CN111311325B (en) * | 2020-02-18 | 2023-06-20 | 火天股份有限公司 | Liability acceptance sharing management operation mode based on blockchain technology |
| CN110931093B (en) * | 2020-02-18 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | Medical information sharing system and method |
| CN111371863B (en) * | 2020-02-25 | 2023-05-26 | 常州三泰科技有限公司 | Chemical data storage and sharing platform and method based on alliance chain technology |
| KR102351050B1 (en) | 2020-03-11 | 2022-01-13 | (주)소셜인프라테크 | Group management system of data processing by using blockchain-based electronic document of agreement |
| CN111339206B (en) * | 2020-03-11 | 2023-07-18 | 建信金融科技有限责任公司 | Block chain-based data sharing method and device |
| KR20210115947A (en) | 2020-03-17 | 2021-09-27 | 삼성전자주식회사 | Electronic apparatus and controlling method thereof |
| KR102294918B1 (en) * | 2020-04-21 | 2021-08-27 | 이니그마(주) | System and method for automatic selection of message transmission channels and deduplication of messages based on multiple blockchains |
| CN111339106B (en) * | 2020-05-18 | 2020-08-28 | 杭州趣链科技有限公司 | Block chain data indexing method |
| EP3923173A1 (en) * | 2020-06-10 | 2021-12-15 | Christian Hieronimi | Methods and devices for storing information in a distributed ledger database |
| KR102337673B1 (en) | 2020-07-16 | 2021-12-09 | (주)휴먼스케이프 | System for verifying data access and Method thereof |
| KR102337677B1 (en) | 2020-07-16 | 2021-12-09 | (주)휴먼스케이프 | System for embedding digital verification fingerprint and Method thereof |
| US11860856B2 (en) * | 2020-07-20 | 2024-01-02 | International Business Machines Corporation | Managing distributed ledger storage space |
| CN112163191A (en) * | 2020-09-15 | 2021-01-01 | 广东工业大学 | Education resource sharing method and system based on national secret block chain |
| KR20220039349A (en) * | 2020-09-22 | 2022-03-29 | 이호준 | System for transaction of deoxyribonucleic acid based on block chain and method thereof |
| CN112511599B (en) * | 2020-11-10 | 2023-03-24 | 南京莱斯信息技术股份有限公司 | Civil air defense data sharing system and method based on block chain |
| CN112381650B (en) * | 2020-11-18 | 2024-02-27 | 西安纸贵互联网科技有限公司 | Cross-chain interoperation transaction processing method, device, electronic equipment and storage medium |
| KR102279377B1 (en) * | 2020-11-24 | 2021-07-20 | 주식회사 엔젠바이오 | Medical information providing system with enhanced personal authority using blockchain |
| CN112527912B (en) * | 2021-02-07 | 2021-06-01 | 腾讯科技(深圳)有限公司 | Data processing method and device based on block chain network and computer equipment |
| US11170130B1 (en) | 2021-04-08 | 2021-11-09 | Aster Key, LLC | Apparatus, systems and methods for storing user profile data on a distributed database for anonymous verification |
| CN113518129B (en) * | 2021-07-23 | 2023-09-12 | 广东电网有限责任公司 | Method and device for interconnection and sharing of electric power energy sources |
| KR102683659B1 (en) * | 2021-11-01 | 2024-07-09 | 엘지전자 주식회사 | Method of improving home appliance using control manual of blockchain and server implementing thereof |
| KR102691915B1 (en) * | 2021-11-04 | 2024-08-05 | (주)아이티아이즈 | Method and system for providing digital healthcare platform |
| JP7403868B2 (en) | 2022-02-18 | 2023-12-25 | 株式会社ゼロワン | Personal information management system |
| JP7713412B2 (en) * | 2022-03-07 | 2025-07-25 | 株式会社日立ソリューションズ | Content Protection System |
| JPWO2023181880A1 (en) * | 2022-03-25 | 2023-09-28 | ||
| US20230328050A1 (en) * | 2022-04-08 | 2023-10-12 | Micro Focus Llc | Using authentication credentials to validate blockchain additions |
| CN114708041A (en) * | 2022-05-16 | 2022-07-05 | 北京共识数信科技有限公司 | Industry data sharing method and system based on integral excitation and storage medium |
| KR102501897B1 (en) * | 2022-10-31 | 2023-03-03 | 주식회사 에이아이플랫폼 | Platform for selling medical data |
| JP7597422B1 (en) | 2024-01-12 | 2024-12-10 | 株式会社サンクスネット | Healthcare Information Management System |
| CN118245458B (en) * | 2024-05-29 | 2024-08-09 | 苏州元脑智能科技有限公司 | Shared data processing method, system, equipment and product based on block chain |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170046698A1 (en) * | 2015-08-13 | 2017-02-16 | The Toronto-Dominion Bank | Systems and methods for establishing and enforcing transaction-based restrictions using hybrid public-private blockchain ledgers |
| US20170228371A1 (en) * | 2016-02-05 | 2017-08-10 | Manifold Technology, Inc. | Blockchain-enhanced database |
| US9794074B2 (en) * | 2016-02-04 | 2017-10-17 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computing systems |
| US20170344988A1 (en) * | 2016-05-24 | 2017-11-30 | Ubs Ag | System and method for facilitating blockchain-based validation |
| US20180204213A1 (en) * | 2017-01-17 | 2018-07-19 | HashLynx Inc. | System for facilitating secure electronic communications between entities and processing resource transfers |
| US10114969B1 (en) * | 2015-08-04 | 2018-10-30 | Jordan White Chaney | Ultra-secure blockchain-based electronic information transfer system |
| US10135609B2 (en) * | 2017-02-09 | 2018-11-20 | International Business Machines Corporation | Managing a database management system using a blockchain database |
| US10176308B2 (en) * | 2017-04-28 | 2019-01-08 | Accenture Global Solutions Limited | Entitlement management system |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003338814A (en) * | 2002-05-20 | 2003-11-28 | Canon Inc | Communication system, management server, control method therefor, and program |
| US7363651B2 (en) * | 2002-09-13 | 2008-04-22 | Sun Microsystems, Inc. | System for digital content access control |
| US20080147821A1 (en) * | 2006-12-19 | 2008-06-19 | Dietrich Bradley W | Managed peer-to-peer content backup service system and method using dynamic content dispersal to plural storage nodes |
| KR101661930B1 (en) * | 2015-08-03 | 2016-10-05 | 주식회사 코인플러그 | Certificate issuance system based on block chain |
| KR101720268B1 (en) | 2015-10-26 | 2017-03-27 | (주)아이알엠 | Medical Imaging Cloud Database Building and Reading Method for Protecting Patient Information |
| KR101763827B1 (en) | 2016-04-07 | 2017-08-02 | 주식회사 라이프시맨틱스 | System, method and program for transmitting health data by block-chain |
| US10333705B2 (en) * | 2016-04-30 | 2019-06-25 | Civic Technologies, Inc. | Methods and apparatus for providing attestation of information using a centralized or distributed ledger |
| JP6628188B2 (en) * | 2016-05-10 | 2020-01-08 | 日本電信電話株式会社 | Payment system, payment method, transaction generation device, and transaction generation program |
| KR20180003113A (en) | 2016-06-30 | 2018-01-09 | 주식회사 케이티 | Server, device and method for authenticating user |
| KR101950912B1 (en) | 2016-08-01 | 2019-02-21 | 서강대학교산학협력단 | Verification system and method for transaction based block chain |
| CN107181599B (en) * | 2017-07-18 | 2020-01-21 | 天津理工大学 | Routing position data secret storage and sharing method based on block chain |
-
2018
- 2018-03-28 KR KR1020180035570A patent/KR101893729B1/en active Active
- 2018-12-05 SG SG10201810910Y patent/SG10201810910YA/en unknown
- 2018-12-11 JP JP2018231812A patent/JP6771534B2/en active Active
- 2018-12-14 CN CN201811533720.9A patent/CN110322240B/en active Active
- 2018-12-15 EP EP18212824.9A patent/EP3547639B1/en active Active
- 2018-12-17 US US16/222,332 patent/US10417219B1/en active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10114969B1 (en) * | 2015-08-04 | 2018-10-30 | Jordan White Chaney | Ultra-secure blockchain-based electronic information transfer system |
| US20170046698A1 (en) * | 2015-08-13 | 2017-02-16 | The Toronto-Dominion Bank | Systems and methods for establishing and enforcing transaction-based restrictions using hybrid public-private blockchain ledgers |
| US9794074B2 (en) * | 2016-02-04 | 2017-10-17 | Nasdaq Technology Ab | Systems and methods for storing and sharing transactional data using distributed computing systems |
| US20170228371A1 (en) * | 2016-02-05 | 2017-08-10 | Manifold Technology, Inc. | Blockchain-enhanced database |
| US20170344988A1 (en) * | 2016-05-24 | 2017-11-30 | Ubs Ag | System and method for facilitating blockchain-based validation |
| US20180204213A1 (en) * | 2017-01-17 | 2018-07-19 | HashLynx Inc. | System for facilitating secure electronic communications between entities and processing resource transfers |
| US10135609B2 (en) * | 2017-02-09 | 2018-11-20 | International Business Machines Corporation | Managing a database management system using a blockchain database |
| US10176308B2 (en) * | 2017-04-28 | 2019-01-08 | Accenture Global Solutions Limited | Entitlement management system |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11379867B2 (en) * | 2018-06-19 | 2022-07-05 | Sang Mi RYU | Method for automatically providing cryptocurrency to recommender using propagation on SNS |
| US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
| US11816109B2 (en) | 2020-07-30 | 2023-11-14 | Hitachi, Ltd. | Data provision method in a data utilization system |
| US20220345322A1 (en) * | 2020-08-07 | 2022-10-27 | Giunwoo LEE | Research managing server for performing realtime research interworking multiple node units which constitute blockchain network and the operating method thereof |
| WO2024049956A1 (en) * | 2022-08-31 | 2024-03-07 | Snickerdoodle Labs, Inc. | Techniques for providing a privacy-based data sharing protocol |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3547639A1 (en) | 2019-10-02 |
| SG10201810910YA (en) | 2019-10-30 |
| KR101893729B1 (en) | 2018-10-04 |
| US10417219B1 (en) | 2019-09-17 |
| JP6771534B2 (en) | 2020-10-21 |
| JP2019176458A (en) | 2019-10-10 |
| CN110322240A (en) | 2019-10-11 |
| EP3547639B1 (en) | 2020-12-30 |
| CN110322240B (en) | 2025-01-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10417219B1 (en) | Data sharing method based on plurality of blockchains | |
| US10560272B2 (en) | Bio-information data providing method, bio-information data storing method and bio-information data transferring system based on multiple blockchains | |
| US12052240B2 (en) | Synthetic genomic variant-based secure transaction devices, systems and methods | |
| US20230306425A1 (en) | Data usage method, system, and program thereof employing blockchain network (bcn) | |
| Patel | A framework for secure and decentralized sharing of medical imaging data via blockchain consensus | |
| US10484178B2 (en) | Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features | |
| CN112259178A (en) | Block chain network-based diagnosis method and device and block chain network system | |
| US20110022414A1 (en) | Method and apparatus for personally controlled sharing of medical image and other health data | |
| EP4029190B1 (en) | Genetic data in transactions | |
| KR20220117259A (en) | Methods for securely and privately sharing items of user data with third parties | |
| US20220013195A1 (en) | Systems and methods for access management and clustering of genomic or phenotype data | |
| US20230110360A1 (en) | Systems and methods for access management and clustering of genomic, phenotype, and diagnostic data | |
| CN114398553A (en) | Object recommendation method and device, electronic equipment and storage medium | |
| WO2019189954A1 (en) | Multiple blockchain-based data sharing method | |
| CN101208973B (en) | Communication method and system | |
| WO2019209291A1 (en) | Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features | |
| KR102350614B1 (en) | Health data sharing system and method using a block chain registry and a recording medium recording a program for performing the same | |
| US20160224731A1 (en) | Method and system for aggregating health records | |
| KR20240135975A (en) | The Mydata storing and sharing system based on DID | |
| Nichol et al. | Micro-identities improve healthcare interoperability with blockchain: Deterministic methods for connecting patient data to uniform patient identifiers | |
| Manoj | Blockchain: A Solution for Healthcare's Cloud-Based Data Privacy and Security | |
| Al-Sumaidaee | Blockchain Tokens as Universal Encrypted Access: A Comprehensive System for Healthcare Information Networks | |
| JP2022137888A (en) | Patient follow-up survey support system, patient follow-up survey support method, support control device, terminal device and program | |
| KR20240014317A (en) | The ownership proof system of personal signature through NFT issuance about personal signature data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: MACROGEN, INC., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YANG, SUNGWOO;CHON, JAEKYUNG;CHOI, IK JUNG;AND OTHERS;SIGNING DATES FROM 20181207 TO 20181217;REEL/FRAME:047797/0259 Owner name: MACROGEN CORP., MARYLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YANG, SUNGWOO;CHON, JAEKYUNG;CHOI, IK JUNG;AND OTHERS;SIGNING DATES FROM 20181207 TO 20181217;REEL/FRAME:047797/0259 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |