[go: up one dir, main page]

KR102330005B1 - Hybrid blockchain system for efficient content change and deletion and XGS injection method using hybrid blockchain - Google Patents

Hybrid blockchain system for efficient content change and deletion and XGS injection method using hybrid blockchain Download PDF

Info

Publication number
KR102330005B1
KR102330005B1 KR1020190096496A KR20190096496A KR102330005B1 KR 102330005 B1 KR102330005 B1 KR 102330005B1 KR 1020190096496 A KR1020190096496 A KR 1020190096496A KR 20190096496 A KR20190096496 A KR 20190096496A KR 102330005 B1 KR102330005 B1 KR 102330005B1
Authority
KR
South Korea
Prior art keywords
data
blockchain
deletion
xgs
hybrid
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.)
Active
Application number
KR1020190096496A
Other languages
Korean (ko)
Other versions
KR20200108757A (en
Inventor
라경진
이임영
Original Assignee
순천향대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 순천향대학교 산학협력단 filed Critical 순천향대학교 산학협력단
Publication of KR20200108757A publication Critical patent/KR20200108757A/en
Application granted granted Critical
Publication of KR102330005B1 publication Critical patent/KR102330005B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템 및 하이브리드 블록체인을 이용한 XGS 주입 방법을 개시한다. 본 발명의 일 측면에 따른 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템은, 원본 데이터를 저장하는 오프 블록체인(Off Blockchain); 및 블록체인에서만 연결된 메타데이터 값을 기록하고 분산된 총계 원장으로 보유하는 온 블록체인(On Blockchain);을 포함한다.The present invention discloses a hybrid blockchain system for efficient content change and deletion and an XGS injection method using a hybrid blockchain. A hybrid blockchain system for efficient content change and deletion according to an aspect of the present invention includes: Off Blockchain for storing original data; and On Blockchain, which records the metadata values linked only in the blockchain and holds them as a distributed general ledger.

Description

효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템 및 하이브리드 블록체인을 이용한 XGS 주입 방법{Hybrid blockchain system for efficient content change and deletion and XGS injection method using hybrid blockchain}Hybrid blockchain system for efficient content change and deletion and XGS injection method using hybrid blockchain

본 발명은 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템 및 하이브리드 블록체인을 이용한 XGS 주입 방법에 관한 것으로, 더욱 상세하게는 데이터를 분리하고 연결 이력을 블록체인에 저장하며, 원장 레코드와는 별도로 상태를 분산 데이터베이스로 변경하고, XOR(eXclusive OR) 형식으로 임의 주입하여 상태를 변경함으로써 오프 블록체인의 정정 및 삭제의 이력을 효율적으로 검색하는 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템 및 하이브리드 블록체인을 이용한 XGS 주입 방법에 관한 것이다. The present invention relates to a hybrid blockchain system for efficient content change and deletion and an XGS injection method using a hybrid blockchain. More specifically, data is separated and connection history is stored in a blockchain, and state A hybrid blockchain system and hybrid blockchain for efficient content change and deletion that efficiently retrieves the history of correction and deletion of off-blockchain by changing state to a distributed database and randomly injecting in XOR (eXclusive OR) format It relates to an XGS injection method using

최근, 비트코인의 출현과 함께 블록체인은 추가전용 분산 정책으로써, 임의 수정 및 삭제를 불가능하게 하여 전체 시스템의 무결성과 신뢰성을 제공하는 데이터베이스 기술로서 각광받고 있다. 기존 블록체인은 일반 텍스트(평문)로 블록체인에 데이터를 기록하거나 트랜잭션으로 암호화된 형태로 데이터를 저장하고 모든 것을 운반하는 분산 원장 형태이다. 그러나, 블록체인은 수정 또는 삭제가 아니라 합법적인 사용자의 액세스 권한(예컨대, 소유자 개인키)에 따라 데이터를 읽고 쓸 수 있는 CRAB(Create-Retrieve-Append-Burn) 방식이므로, 상술한 블록체인 기반의 방식에서는 한번 생성된 데이터는 삭제할 수 없기 때문에 개인 정보의 침해와 같은 문제가 발생한다. 또한, Accenture(미국의 한 회사)의 재사용 가능한 블록체인(Rewritable Blockchain)은 카멜레온 해시를 통해 공통 해시 충돌 쌍을 찾는 것이 매우 어렵지만, 백도어(back door) 속성을 이용하여 사용자의 합법적인 개인키를 통해 쉽게 충돌 쌍을 찾을 수 있는데 이때, 트랜잭션의 내용은 변경되지만 해시값은 변경되지 않는다. 따라서, 전체 블록체인 시스템이 유지되며 합법적인 사용자가 수정하거나 삭제할 수 있다. 그러나, 원본데이터가 사라지면 이전 데이터에 액세스 할 수 없으며 데이터 수정 내역을 추적하기가 어렵다는 문제점이 있다. Recently, with the advent of Bitcoin, blockchain has been spotlighted as a database technology that provides integrity and reliability of the entire system by making it impossible to arbitrarily modify and delete as an addition-only distribution policy. Existing blockchain is a form of distributed ledger that records data in the blockchain as plain text (plaintext) or stores data in encrypted form with transactions and carries everything. However, since the blockchain is a CRAB (Create-Retrieve-Append-Burn) method that can read and write data according to a legitimate user's access rights (e.g., owner's private key) rather than modification or deletion, the above-mentioned blockchain-based In this method, since data cannot be deleted once created, problems such as infringement of personal information occur. In addition, Accenture's (a company in the US) Rewritable Blockchain makes it very difficult to find a common hash collision pair through a chameleon hash, but it uses a backdoor property to access the user's legitimate private key. It is easy to find conflicting pairs, where the contents of the transaction change but the hash value does not. Thus, the entire blockchain system is maintained and can be modified or deleted by legitimate users. However, if the original data disappears, there is a problem that the previous data cannot be accessed and it is difficult to track the data modification history.

따라서, 상술한 종래기술에서의 문제점을 해결하기 위한 연구가 필요한 실정이다. Therefore, there is a need for research to solve the above-described problems in the prior art.

한국등록특허 제10-1964692호(2019.04.02 공고)Korean Patent Registration No. 10-1964692 (published on April 2, 2019)

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로서, 데이터를 분리하고 연결 이력을 블록체인에 저장하는 온-오프 블록체인 방식의 하이브리드 블록체인 시스템을 제공하고, 원장 레코드와는 별도로 상태를 분산 데이터베이스로 변경하고, XOR(eXclusive OR) 형식으로 임의 주입하여 상태를 변경함으로써 오프 블록체인의 정정 및 삭제의 이력을 효율적으로 검색할 수 있는 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템 및 하이브리드 블록체인을 이용한 XGS 주입 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and provides an on-off blockchain hybrid blockchain system that separates data and stores connection history in the blockchain, and distributes the state separately from the ledger record. Hybrid blockchain system and hybrid blockchain for efficient content change and deletion that can efficiently search the history of correction and deletion of off-blockchain by changing the database and changing the state by randomly injecting it in XOR (eXclusive OR) format An object of the present invention is to provide an XGS injection method using

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 일 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention may be understood by the following description, and will be more clearly understood by an embodiment of the present invention. Further, it will be readily apparent that the objects and advantages of the present invention can be realized by the means and combinations thereof indicated in the claims.

상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따른 효율적인 내용 변경 및 삭제를 위한 하이브리드 블록체인 시스템은, 원본 데이터를 저장하는 오프 블록체인(Off Blockchain); 및 블록체인에서만 연결된 메타데이터 값을 기록하고 분산된 총계 원장으로 보유하는 온 블록체인(On Blockchain);을 포함한다.A hybrid blockchain system for efficient content change and deletion according to an aspect of the present invention for achieving the above object includes: Off Blockchain for storing original data; and On Blockchain, which records the metadata values linked only in the blockchain and holds them as a distributed general ledger.

상기 오프 블록체인 및 온 블록체인은, 하나의 블록체인 연결에 대해 별도의 메타데이터 데이터베이스를 필요로 하는 것을 특징으로 한다.The off-blockchain and on-blockchain are characterized in that separate metadata databases are required for one blockchain connection.

상기 메타데이터는 사용자가 업로드한 데이터의 해시값(hash value)과 사용자의 이름값(NAME value)으로 구성되는 것을 특징으로 한다. The metadata is characterized in that it is composed of a hash value of data uploaded by the user and a name value of the user.

상기와 같은 목적을 달성하기 위한 본 발명의 다른 측면에 따른 하이브리드 블록체인을 이용한 XGS 주입 방법은, 스마트 계약 기반 블록체인 구성을 위해 생성된 함수를 포함하여 데이터 위임자의 데이터베이스를 구축하는 사전 준비 단계; 허가된 블록체인에서의 멤버 확인을 위한 인증서를 발급하고, 타원곡선 기반의 키 생성 및 인증 서버의 인증서를 발급하는 사용자 등록 단계; 데이터 소유자에 의해 데이터를 등록하는 데이터 등록 단계; 이전에 등록된 파일의 데이터를 수정 및 삭제하는 데이터 수정 및 삭제 단계; 및 원본 데이터의 상태를 데이터 등록, 수정 및 삭제에 의해 생성된 데이터의 연결값을 통해 추적하는 데이터 검색 단계;를 포함한다. An XGS injection method using a hybrid block chain according to another aspect of the present invention for achieving the above object includes a pre-preparation step of building a database of data delegators including a function generated for smart contract-based block chain configuration; A user registration step of issuing a certificate for member confirmation in an authorized block chain and issuing a certificate of an elliptic curve-based key generation and authentication server; a data registration step of registering data by a data owner; a data correction and deletion step of correcting and deleting data of previously registered files; and a data retrieval step of tracking the state of the original data through a connection value of data generated by data registration, correction, and deletion.

상기 사전 준비 단계는, 이전에 등록한 파일의 수정된 부분을 1로 나눔으로써 데이터 소유자의 수정된 파일을 식별하고, 이전에 등록된 파일과의 XOR 연산에 의해 모든 널 값(null value)을 계산하는 XOR 집합(Set) 추출단계; 및 이름-값 체계(Name-Value scheme)에 따라 메타데이터를 생성하는 메타데이터 생성 단계;를 포함하는 것을 특징으로 한다. The pre-preparation step identifies the modified file of the data owner by dividing the modified part of the previously registered file by 1, and calculates all null values by XOR operation with the previously registered file. XOR set (Set) extraction step; and a metadata generation step of generating metadata according to a name-value scheme.

메타데이터의 이름은, 공개키와 사용자의 상태값을 연결하여 만들어지는 것을 특징으로 한다. The name of the metadata is characterized in that it is created by connecting the public key and the user's state value.

상기 생성된 함수는 사용자 등록 기능, 유효성 검사 기능, 데이터 등록 기능, 데이터 수정 기능, 데이터 삭제 기능 및 트랜잭션 생성 기능을 포함하는 것을 특징으로 한다. The generated function is characterized in that it includes a user registration function, a validation function, a data registration function, a data modification function, a data deletion function, and a transaction creation function.

상기 데이터 위임자의 데이터베이스를 구축하는 것은, XOR 집합(Set) 및 메타데이터를 생성하는 것을 특징으로 한다. Building the database of the data delegator is characterized by generating an XOR set (Set) and metadata.

상기 데이터 수정 및 삭제 단계는, XOR 데이터의 수정 및 삭제, 오프 블록체인에서 전역 상태 주입의 변경과 변경, 온오프 연결(On-Off Linking) 및 온 체인 트랜잭션 배포(distribution)를 포함하는 것을 특징으로 한다. The data modification and deletion step includes modification and deletion of XOR data, change and change of global state injection in off-blockchain, on-off linking, and on-chain transaction distribution. do.

상기 데이터 수정 및 삭제 단계는, 변형된 부분의 이진 데이터는 XOR의 특성에 따라 1로 변경하고, 삭제 단계에서 데이터와 동일한 이진 데이터가 추출되어 널 상태(null state)로 변경하는 것을 특징으로 한다. The data correction and deletion step is characterized in that the binary data of the transformed part is changed to 1 according to the characteristics of XOR, and binary data identical to the data is extracted in the deletion step and changed to a null state.

본 발명의 일 측면에 따르면, 데이터를 분리하고 연결 이력을 블록체인에 저장하며, 원장 레코드와는 별도로 상태를 분산 데이터베이스로 변경하고, XOR(eXclusive OR) 형식으로 임의 주입하여 상태를 변경함으로써 오프 블록체인의 정정 및 삭제의 이력을 효율적으로 검색할 수 있는 효과가 있다. According to one aspect of the present invention, off-block by separating data, storing connection history in the blockchain, changing the state to a distributed database separately from the ledger record, and changing the state by randomly injecting it in the XOR (eXclusive OR) format It has the effect of efficiently searching the history of correction and deletion of the chain.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description. .

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용들과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 하이브리드 블록체인 시스템의 개략적인 구성도,
도 2는 본 발명의 일 실시예에 따른 하이브리드 블록체인 시스템의 개략적인 구성을 도시한 도면,
도 3은 본 발명의 일 실시예에 따른 온-오프 블록체인의 연결을 도시한 도면,
도 4는 본 발명의 일 실시예에 따른 XGS의 주입(injection)을 개략적으로 설명한 도면,
도 5는 본 발명의 일 실시예에 따른 참여개체의 구성을 도시한 도면,
도 6은 본 발명의 일 실시예에 따른 하이브리드 블록체인을 이용한 XGS 주입 방법을 개략적으로 설명한 도면,
도 7은 본 발명의 일 실시예에 따른 XOR 집합(Set)의 추출을 설명한 도면이다.
The following drawings attached to this specification illustrate preferred embodiments of the present invention, and serve to further understand the technical spirit of the present invention together with specific contents for carrying out the invention, so the present invention is in such drawings It should not be construed as being limited only to the items listed.
1 is a schematic configuration diagram of a hybrid blockchain system according to an embodiment of the present invention;
2 is a diagram showing a schematic configuration of a hybrid blockchain system according to an embodiment of the present invention;
3 is a diagram showing the connection of an on-off block chain according to an embodiment of the present invention;
4 is a diagram schematically illustrating injection of XGS according to an embodiment of the present invention;
5 is a diagram showing the configuration of a participating entity according to an embodiment of the present invention;
6 is a diagram schematically illustrating an XGS injection method using a hybrid block chain according to an embodiment of the present invention;
7 is a diagram illustrating extraction of an XOR set according to an embodiment of the present invention.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above-described objects, features and advantages will become more apparent through the following detailed description in relation to the accompanying drawings, and accordingly, those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention. There will be. In addition, in the description of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “…부” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, the “… The term “unit” means a unit that processes at least one function or operation, which may be implemented as hardware or software or a combination of hardware and software.

도 1은 본 발명의 일 실시예에 따른 하이브리드 블록체인 시스템의 개략적인 구성도, 도 2는 본 발명의 일 실시예에 따른 하이브리드 블록체인 시스템의 개략적인 구성을 도시한 도면, 도 3은 본 발명의 일 실시예에 따른 온-오프 블록체인의 연결을 도시한 도면, 도 4는 본 발명의 일 실시예에 따른 XGS의 주입(injection)을 개략적으로 설명한 도면, 도 5는 본 발명의 일 실시예에 따른 참여개체의 구성을 도시한 도면이다. 1 is a schematic configuration diagram of a hybrid blockchain system according to an embodiment of the present invention, FIG. 2 is a diagram showing a schematic configuration of a hybrid blockchain system according to an embodiment of the present invention, and FIG. 3 is the present invention Fig. 4 is a diagram schematically explaining the injection of XGS according to an embodiment of the present invention, and Fig. 5 is an embodiment of the present invention. It is a diagram showing the configuration of participating entities according to

도 1 내지 도 2를 참조하면, 본 실시예에 따른 하이브리드 블록체인 시스템은, 사용자 장치(100), 오프(Off) 블록체인(200) 및 온(On) 블록체인(300)을 포함한다. 1 to 2 , the hybrid blockchain system according to the present embodiment includes a user device 100 , an Off blockchain 200 , and an On blockchain 300 .

한편, 본 실시예를 설명함에 있어서 오프 블록체인(200) 및 온 블록체인(300)은 서버 형태일 수 있다. Meanwhile, in describing the present embodiment, the off-blockchain 200 and the on-blockchain 300 may be in the form of a server.

사용자 장치(100)는 원본 데이터를 소유한 데이터 소유자의 단말일 수 있다. 사용자 장치(100)는 후술하는 오프 블록체인(200)으로 원본 데이터를 전송한다. The user device 100 may be a terminal of a data owner who owns the original data. The user device 100 transmits the original data to the off-blockchain 200 to be described later.

오프 블록체인(Off Blockchain)(200)은 사용자 장치(100)로부터 수신한 원본 데이터를 저장한다. 오프 블록체인(200)은 인증서버, 데이터베이스 및 스토리지를 포함할 수 있으며, 데이터 위임자(Data Delegator) 역할을 할 수 있다. Off Blockchain (Off Blockchain) 200 stores the original data received from the user device (100). The off-blockchain 200 may include an authentication server, a database, and storage, and may serve as a data delegator.

온 블록체인(On Blockchain)(300)은 블록체인에서만 연결된 메타데이터 값을 기록하고 분산된 총계 원장으로 보유한다.On Blockchain 300 records the metadata values linked only in the blockchain and holds them as a distributed general ledger.

한편, 오프 블록체인(Off Blockchain)(200) 및 온 블록체인(On BlockChain)(300)은 하나의 블록체인 연결에 대해 별도의 메타데이터 데이터베이스가 필요하다. 도 3에 도시된 바와 같이, 메타데이터는 사용자가 업로드한 데이터(파일)의 해시값(hash value)과 사용자의 이름값(NAME value)으로 구성된다. 이름 데이터(NAME data)는 이름값(NAME value) 방법에 따라 사용자의 공개키와 인덱스 번호를 상태에 따라 연결하여 생성된다. 이 블록은 온 블록체인(On Blockchain)(300)에 포함되어 있다. 나중에 온 블록체인(On Blockchain)(300)에서 데이터의 오프 블록체인(Off Blockchain)(200)을 조회하는 색인을 제공할 수 있다. On the other hand, Off Blockchain 200 and On Blockchain 300 require a separate metadata database for one block chain connection. As shown in FIG. 3 , the metadata includes a hash value of data (file) uploaded by a user and a NAME value of the user. Name data (NAME data) is generated by connecting the user's public key and index number according to the state according to the name value method. This block is included in the On Blockchain (300). It is possible to provide an index for querying the Off Blockchain (200) of data in the On Blockchain (300) later.

이더리움(Ethereum)과 하이퍼렛저(Hyperledger)는 최근 트랜잭션의 최신 상태를 블록체인의 되돌릴 수 없는 원장이 있는 분산 데이터베이스 형태로 기록한다. 따라서, 기존의 블록체인에 포함된 트랜잭션이 최신 상태의 변경에 따라 수정되거나 삭제된 것처럼 보일 수 있다. 따라서, 본 발명에서는 상술한 바와 같은 속성을 통해 XOR 기반 데이터를 재정의하고 수정한 다음 온 블록체인(On Blockchain)(300)의 상태를 변경하기 위해 임의의 트랜잭션 주입(injection)을 주입한다. XGS(XOR Global State)의 분산 데이터베이스(distribution database)는 도 4와 같이 구성될 수 있다. XOR 집합(XOR set)에 따라 키값(key-value)으로 구성된다. 수정되거나(modified) 삭제될(deleted) 데이터의 변경된 값에 의해 전역 상태(global state)로 주입되고, 오프 블록체인(Off Blockchain)(200)의 전역 상태(global state)가 인위적으로 변경된다. 링크값(linking value)을 포함한 온 블록체인(On Blockchain)(300)이 생성되고, 수정된 파일의 링크값의 온 블록체인(On Blockchain)(300)의 추적(Tracking)은 수정되기 이전의 참조값(reference value)으로 추적할 수 있다.Ethereum and Hyperledger record the latest state of recent transactions in the form of a distributed database with an irreversible ledger on the blockchain. Therefore, transactions included in the existing blockchain may appear to have been modified or deleted according to the latest state changes. Therefore, in the present invention, an arbitrary transaction injection is injected to redefine and modify XOR-based data through the above-described properties and then change the state of the On Blockchain 300 . A distribution database of XOR Global State (XGS) may be configured as shown in FIG. 4 . It is composed of key-values according to the XOR set. It is injected into the global state by the changed value of the data to be modified or deleted, and the global state of the Off Blockchain 200 is artificially changed. The On Blockchain 300 including the linking value is created, and the tracking of the On Blockchain 300 of the link value of the modified file is the reference value before the modification. (reference value) can be traced.

본 발명에 따르면 참여개체는 도 5에 도시된 바와 같이, 데이터 원본을 소유한 사용자와 데이터 위임자(data delegator)로 구성될 수 있으며, 데이터 위임자는 인증서버, 오프 저장소(Off Storage) 및 데이터베이스(Database)를 포함할 수 있다.According to the present invention, a participating entity may be composed of a user who owns a data source and a data delegator, as shown in FIG. 5, and the data delegator is an authentication server, off storage, and database. ) may be included.

도 6은 본 발명의 일 실시예에 따른 하이브리드 블록체인을 이용한 XGS 주입 방법을 개략적으로 설명한 도면, 도 7은 본 발명의 일 실시예에 따른 XOR 집합(Set)의 추출을 설명한 도면이다.6 is a diagram schematically explaining an XGS injection method using a hybrid block chain according to an embodiment of the present invention, and FIG. 7 is a diagram explaining extraction of an XOR set according to an embodiment of the present invention.

도 6을 참조하면, 본 실시예에 따른 방법은, 사전 준비 단계(preliminary preparation step), 사용자 등록 단계(user registration step), 데이터 등록 단계(data registration step), 데이터 수정 및 삭제 단계(data modification and deletion step) 및 데이터 검색 단계(data retrieval step)를 포함할 수 있다.Referring to FIG. 6 , the method according to the present embodiment includes a preliminary preparation step, a user registration step, a data registration step, and a data modification and deletion step. deletion step) and data retrieval step.

사전 준비 단계는 스마트 계약(smart contract) 기반 블록체인 구성을 위해 생성된 함수(사용자 등록 기능, 유효성 검사 기능, 데이터 등록 기능, 데이터 수정 기능, 데이터 삭제 기능 및 트랜잭션 생성 기능 포함)를 포함하여, 데이터 위임자의 데이터베이스 구축(XOR 집합(Set) 및 메타데이터 생성)이 포함될 수 있다. The pre-preparation stage includes functions created for smart contract-based blockchain configuration (including user registration function, validation function, data registration function, data modification function, data deletion function, and transaction creation function), This may include building the delegate's database (creating XOR sets and metadata).

사용자 등록 단계는 허가된 블록 체인에서의 멤버 확인을 위한 인증서 발급 단계이고, 타원곡선 기반의 키 생성 및 인증 서버의 인증서 발급을 포함할 수 있다.The user registration step is a certificate issuance step for member verification in an authorized block chain, and may include elliptic curve-based key generation and certificate issuance of the authentication server.

데이터 등록 단계는 데이터 소유자에 의해 데이터를 등록하는 단계이다. 이 단계(데이터 등록 단계)에서는 데이터 등록, 오프 링크 및 오프 체인의 온 체인 거래 배포(on-chain transaction distribution)가 포함된다. The data registration step is a step of registering data by the data owner. This phase (data registration phase) includes data registration, off-link and off-chain on-chain transaction distribution.

데이터 수정 및 삭제 단계에서는 이전에 등록된 파일의 데이터를 수정 및 삭제하는 단계이다. XOR 데이터의 수정 및 삭제, 오프 블록체인에서 전역 상태 주입의 변경과 변경(injection and change of global state injection in Off Blockchain), 온오프 연결(On-Off Linking) 및 온 체인 트랜잭션 배포(distribution)를 포함할 수 있다. 데이터 수정 단계에서, 변형된 부분의 이진 데이터는 XOR의 특성에 따라 1로 변경되고, 삭제 단계에서 데이터와 동일한 이진 데이터가 추출되어 널 상태(null state)로 변경된다. The data modification and deletion step is a step of modifying and deleting data of a previously registered file. Includes modification and deletion of XOR data, injection and change of global state injection in Off Blockchain, On-Off Linking and distribution of on-chain transactions. can do. In the data modification step, the binary data of the transformed part is changed to 1 according to the characteristics of XOR, and in the deletion step, binary data identical to the data is extracted and changed to a null state.

데이터 검색 단계에서는 원본 데이터의 상태를 데이터 등록, 수정 및 삭제에 의해 생성된 데이터의 연결값을 통해 추적할 수 있다.In the data retrieval stage, the state of the original data can be tracked through the connection values of data created by data registration, modification, and deletion.

이하. 상술한 단계에 대해 보다 상세히 설명하기로 한다.below. The above-described steps will be described in more detail.

A. 사전 준비 단계A. Preparatory Steps

1) XOR 집합(set) 추출1) XOR set extraction

XOR(Exclusive OR : 배타적 논리합) 논리 연산은 두 비트 연산에서 이진 비트(binary bits)가 같으면 0으로, 다른 경우에는 1로 계산한다. 이 속성을 사용해, 컨텐츠 소유자(데이터 소유자)의 수정된 파일은 이전에 등록한 파일의 수정된 부분을 1로 나눔으로써 식별된다. 또한, 삭제는 0으로 설정하고, 모든 널 값(null value)은 이전에 등록된 파일과의 XOR 연산에 의해 계산된다. 이에 따라, 삭제와 같은 상태를 만든다. XOR 집합(Set) 추출의 정의는 다음과 같다. K 열의 단편(fragments)은 V의 값으로 구성되며 N으로부터 추출된다(도 7 참조).In the XOR (Exclusive OR) logical operation, if binary bits are the same in two-bit operation, it is calculated as 0, otherwise it is calculated as 1. Using this attribute, the modified file of the content owner (data owner) is identified by dividing the modified portion of the previously registered file by one. In addition, deletion is set to 0, and all null values are calculated by XOR operation with previously registered files. Accordingly, a state such as deletion is created. The definition of XOR set extraction is as follows. Fragments of column K consist of the values of V and are extracted from N (see Figure 7).

Figure 112019081216417-pat00001
Figure 112019081216417-pat00002
Figure 112019081216417-pat00001
Figure 112019081216417-pat00002

여기서, K는 열 키(column key), V는 추출된 XOR 값, N은 최신 상태(latest state)임.Here, K is the column key, V is the extracted XOR value, and N is the latest state.

XOR 집합(Set)의 V 추출은 K 열의 이전 상태 S의 인덱스 k에 따라 여러 단편(fragments)으로 나뉜다.The V extraction of the XOR set is divided into several fragments according to the index k of the previous state S in column K.

Figure 112019081216417-pat00003
Figure 112019081216417-pat00004
Figure 112019081216417-pat00003
Figure 112019081216417-pat00004

여기서, k는 K에 속하고(k ∈K), S는 이전 상태(previous state)임.Here, k belongs to K (k ∈K), and S is the previous state.

XOR 집합(Set)에 따라 오래된 상태의 F에서 새로운 형재 상태의 N을 추출한다. XOR 특성에 따라 수정된 위치에서 1, 원본에서 0으로 구성한다.According to the XOR set (Set), the N in the new shape state is extracted from the F in the old state. According to the XOR property, it consists of 1 in the modified position and 0 in the original.

2) 메타데이터 생성2) Create metadata

메타데이터는 이름-값 체계(Name-Value scheme)에 따라 생성되고, 이름은 공개키와 사용자의 상태값을 연결하여 만들어진다. 데이터의 상태에 따라, 상태값은 공개키를 등록용으로 1, 수정용으로 2, 삭제용으로 0을 연결하여 이름값으로 할당한다. 따라서, 값은 원래 데이터에 해당하는 해시값 및 이름에 연결된다. Metadata is created according to the name-value scheme, and the name is created by connecting the public key and the user's state value. According to the state of data, the state value is assigned as a name value by concatenating the public key with 1 for registration, 2 for modification, and 0 for deletion. Thus, the value is linked to the hash value and name corresponding to the original data.

B. 사용자 등록 단계B. User Registration Steps

STEP 1. 사용자는 소수 n(prime number n)에서 임의의 숫자 SKUSER을 선택한다. STEP 1. The user selects a random number SK USER from prime number n.

STEP 2. SKUSER를 통해 n 그룹의 곱셈군(multiplicative group) 생성자 G를 통하여 공개키 PKUESR을 생성한다. STEP 2. Generate public key PK UESR through n-group multiplicative group generator G through SK USER.

Figure 112019081216417-pat00005
Figure 112019081216417-pat00005

STEP 3. 사용자는 공개키 PKUSER을 인증서버에 등록하고, 인증서 발급을 요청한다. STEP 3. The user registers the public key PK USER in the authentication server and requests certificate issuance.

STEP 4. 인증서버는 [1, n-1]에서 난수(random number) K를 선택한다. STEP 4. The authentication server selects a random number K from [1, n-1].

STEP 5. 인증서버는 타원 곡선상 한 점 (X1, Y1)=K*G를 선택하고, r=X1 mod n을 계산한 후, r=0이면 k를 다시 선택한다. STEP 5. The authentication server selects a point (X1, Y1)=K*G on the elliptic curve, calculates r=X1 mod n, and selects k again if r=0.

STEP 6. 인증서버는 사용자의 공개키를 포함하는 인증서 메시지 e=hash(m)을 계산한다. STEP 6. The authentication server calculates the certificate message e=hash(m) including the user's public key.

STEP 7. 인증서버는 S=k-1(e+SKCA) mod n을 계산하여 서명 (R, S)와 함께 사용자에게 반환한다. STEP 7. The authentication server calculates S=k-1(e+SK CA ) mod n and returns it to the user along with the signature (R, S).

STEP 8. 사용자는 인증서의 서명을 검증한다.STEP 8. The user verifies the signature of the certificate.

Figure 112019081216417-pat00006
Figure 112019081216417-pat00007
Figure 112019081216417-pat00006
Figure 112019081216417-pat00007

Figure 112019081216417-pat00008
Figure 112019081216417-pat00009
Figure 112019081216417-pat00008
Figure 112019081216417-pat00009

Figure 112019081216417-pat00010
Figure 112019081216417-pat00011
Figure 112019081216417-pat00010
Figure 112019081216417-pat00011

C. 데이터 등록 단계C. Data Registration Step

이 단계에서 사용자는 별도의 블록체인 오프 스토리지에 데이터를 등록한다. 사용자는 허가된 블록체인(Permissioned Blockchain)의 CA(Certificate Authority: 인증 권위자)을 이용하여 인증서 기반 개인키를 통해 인증을 수행한다. 합법적인 사용자는 자신의 데이터를 등록한다. At this stage, the user registers data in a separate blockchain off-storage. A user performs authentication through a certificate-based private key using a CA (Certificate Authority) of a permissioned blockchain. Legitimate users register their data.

STEP 1. 사용자는 데이터 위임자(data delegator)에게 서명과 함께 데이터를 등록한다. STEP 1. The user registers data with a signature to the data delegator.

Figure 112019081216417-pat00012
Figure 112019081216417-pat00012

STEP 2. 데이터 위임자의 오프 스토리지(Off Storage)에는 데이터 원본을 저장하고, 데이터베이스에는 데이터 식별 정보인 메타데이터를 생성하여 저장한다. STEP 2. The data source is stored in the off-storage of the data delegator, and metadata, which is data identification information, is created and stored in the database.

(H(D)||1||

Figure 112019081216417-pat00013
Figure 112019081216417-pat00014
(H(D)||1||
Figure 112019081216417-pat00013
Figure 112019081216417-pat00014

STEP 3. 스마트 계약 배포 및 생성(smart contract distribution and creation)을 통해 트랜잭션을 발생시킨다. STEP 3. Generate a transaction through smart contract distribution and creation.

STEP 4. 데이터 등록 함수 호출(아래식 참고)을 인수로 하여 반환값을 검증한다. 참일 경우, 다음 단계를 진행한다. STEP 4. Using the data registration function call (refer to the formula below) as an argument, verify the return value. If true, proceed to the next step.

Figure 112019081216417-pat00015
Figure 112019081216417-pat00015

STEP 5. 트랜잭션 서명 검증, 사용자 공개키 검증(아래식 참고)을 인수로 하여 반환값을 검증한다. 참일 경우, 트랜잭션을 생성한다. STEP 5. Verifies the return value by taking the transaction signature verification and user public key verification (refer to the formula below) as arguments. If true, create a transaction.

Figure 112019081216417-pat00016
Figure 112019081216417-pat00016

D. 데이터 수정 단계D. Data Correction Steps

이 단계에서, 사용자는 이전에 등록된 데이터의 수정을 요청할 때, 수정될 데이터를 등록한다. XOR 집합(Set)에 따라 키 값(Key value)으로 구성되어 있으며, 수정될 데이터의 수정된 값 만큼 1로 설정된 이진값을 사용하여 전역 상태(global state)로 주입되고, 해제 블록체인의 전역 상태(global state)가 인공(artificial)으로 변경된다. 현재, 온 블록체인(On Blockchain)의 트랜잭션은 서버의 서명과 사용자의 서명과 같은 유효한 스마트 계약이 검증될(validated) 경우에만 발생한다. In this step, when a user requests to modify previously registered data, the user registers the data to be modified. It is composed of a key value according to the XOR set, and is injected into the global state using a binary value set to 1 as much as the modified value of the data to be modified, and the global state of the release blockchain (global state) is changed to artificial (artificial). Currently, On Blockchain transactions occur only when valid smart contracts such as the server's signature and the user's signature are validated.

STEP 1. 사용자는 데이터 위임자에게 서명과 함께 수정 데이터를 등록한다. STEP 1. The user registers the modified data with the signature to the data delegator.

Figure 112019081216417-pat00017
Figure 112019081216417-pat00017

STEP 2. 데이터 위임자는 사용자가 수정한 데이터에서 XOR 집합(Set)을 계산하여 이전에 등록된 데이터 간에 수정된 부분을 추출한다. 사전 등록된 데이터의 상태인 구 상태(old state)로부터 새롭게 수정된 파일의 수정된 부분의 이진 데이터는 키 S(K)로서 K로 설정되고, 버전 N의 XOR 집합(Set)이 생성된다. STEP 2. The data delegator calculates an XOR set from the data modified by the user and extracts the modified part among the previously registered data. The binary data of the modified part of the newly modified file from the old state, which is the state of the pre-registered data, is set to K as a key S(K), and an XOR set of version N is generated.

Figure 112019081216417-pat00018
Figure 112019081216417-pat00019
Figure 112019081216417-pat00018
Figure 112019081216417-pat00019

Figure 112019081216417-pat00020
Figure 112019081216417-pat00021
Figure 112019081216417-pat00020
Figure 112019081216417-pat00021

Figure 112019081216417-pat00022
Figure 112019081216417-pat00023
Figure 112019081216417-pat00022
Figure 112019081216417-pat00023

STEP 3. 데이터 위임자는 XOR 집합(Set) 만큼을 현재 상태와 XOR하여 전역 상태(global state)를 변경한다. STEP 3. The data delegator changes the global state by XORing the XOR set with the current state.

STEP 4. 데이터 위임자는 오프 체인(off-chain)의 전역 상태(global state) 변경에 따라 온 체인(On Chain)의 연결(Linking)을 위한 주입(injection) 메타데이터를 생성한다. STEP 4. The data delegator creates injection metadata for on-chain linking according to the off-chain global state change.

(H(D)

Figure 112019081216417-pat00024
Figure 112019081216417-pat00025
Data||2||
Figure 112019081216417-pat00026
Figure 112019081216417-pat00027
(H(D)
Figure 112019081216417-pat00024
Figure 112019081216417-pat00025
Data||2||
Figure 112019081216417-pat00026
Figure 112019081216417-pat00027

STEP 5. 스마트 계약 배포 및 생성을 통해 트랜잭션을 발생시킨다. STEP 5. Generate a transaction through smart contract deployment and creation.

STEP 6. 데이터 등록 함수 호출(아래식 참고)을 인수로 하여 반환값을 검증한다. 참일 경우 다음 단계를 진행한다. STEP 6. Using the data registration function call (refer to the formula below) as an argument, verify the return value. If true, proceed to the next step.

Figure 112019081216417-pat00028
Figure 112019081216417-pat00028

STEP 7. 트랜잭션 서명 검증, 사용자 공개키 검증(아래식 참고)을 인수로 하여 반환값을 검증한다. 참일 경우 트랜잭션을 생성한다. STEP 7. Validate the return value by taking the transaction signature verification and user public key verification (refer to the formula below) as arguments. If true, create a transaction.

Figure 112019081216417-pat00029
Figure 112019081216417-pat00029

E. 데이터 삭제 단계E. Data Deletion Steps

이 단계에서 사용자가 사전 등록된 데이터 삭제를 요청하면 삭제할 데이터를 선택한다. XOR 집합(Set)에 따라 키값(Key-Value)로 구성되어 있으며, 삭제할 데이터는 사전 등록된 데이터와 같은 XOR 값으로 전역 상태(Global State)에 주입(injection)되어 오프 블록체인(Off Blockchain)의 전역 상태(Global State)를 인위로 변경한다. 현재, 온 블록체인(On Blockchain)의 트랜잭션은 서버의 서명과 사용자의 서명과 같은 유효한 스마트 계약이 검증될(validated) 경우에만 발생한다. In this step, when the user requests to delete the pre-registered data, the data to be deleted is selected. It is composed of key-value according to the XOR set, and the data to be deleted is injected into the global state with the same XOR value as the pre-registered data, and Change the global state artificially. Currently, On Blockchain transactions occur only when valid smart contracts such as the server's signature and the user's signature are validated.

STEP 1. 데이터등록 서명이 포함된 데이터를 삭제한다.STEP 1. Delete data including data registration signature.

Figure 112019081216417-pat00030
Figure 112019081216417-pat00030

STEP 2. 데이터 위임자는 사용자의 삭제 데이터로부터 사전 등록된 데이터와 동일한 이진값(Binary Value)을 사용해 XOR 집합(Set)을 계산한다. 사전 등록된 데이터의 상태인 구 상태(Old State)로부터 삭제된 파일의 이진 데이터는 키 S(K)로서 K로 설정되고, 버전 N의 XOR 집합(Set)이 생성된다. STEP 2. The data delegator calculates an XOR set from the user's deleted data using the same binary value as the pre-registered data. The binary data of the file deleted from the old state, which is the state of the pre-registered data, is set to K as the key S(K), and an XOR set of version N is created.

Figure 112019081216417-pat00031
Figure 112019081216417-pat00032
Figure 112019081216417-pat00031
Figure 112019081216417-pat00032

Figure 112019081216417-pat00033
Figure 112019081216417-pat00034
Figure 112019081216417-pat00033
Figure 112019081216417-pat00034

Figure 112019081216417-pat00035
Figure 112019081216417-pat00036
Figure 112019081216417-pat00035
Figure 112019081216417-pat00036

STEP 3. 데이터 위임자는 XOR 집합(Set) 만큼을 현재 상태와 XOR하여 전역 상태(Global State)를 변경한다. STEP 3. The data delegator changes the global state by XORing the XOR set with the current state.

STEP 4. 데이터 위임자는 오프 체인(Off Chain)의 전역 상태(Global State) 변경에 따른 온 체인(On Chain)의 연결(Linking)을 위해 주입(injection) 메타데이터를 생성한다. STEP 4. The data delegator creates injection metadata for on-chain linking according to off-chain global state change.

(H(D)

Figure 112019081216417-pat00037
Figure 112019081216417-pat00038
Data||0||
Figure 112019081216417-pat00039
Figure 112019081216417-pat00040
(H(D)
Figure 112019081216417-pat00037
Figure 112019081216417-pat00038
Data||0||
Figure 112019081216417-pat00039
Figure 112019081216417-pat00040

STEP 5. 스마트 계약 배포 및 생성을 통해 트랜잭션을 발생시킨다.STEP 5. Generate a transaction through smart contract deployment and creation.

STEP 6. 데이터 등록 함수 호출(아래식 참고)을 인수로 하여 반환값을 검증한다. 참일 경우 다음 단계를 진행한다. STEP 6. Using the data registration function call (refer to the formula below) as an argument, verify the return value. If true, proceed to the next step.

Figure 112019081216417-pat00041
Figure 112019081216417-pat00041

STEP 7. 트랜잭션 서명 검증, 사용자 공개키 검증(아래식 참고)을 인수로 하여 반환값을 검증한다. 참일 경우 트랜잭션을 생성한다. STEP 7. Validate the return value by taking the transaction signature verification and user public key verification (refer to the formula below) as arguments. If true, create a transaction.

Figure 112019081216417-pat00042
Figure 112019081216417-pat00042

F. 데이터 검색 단계F. Data Retrieval Step

이 단계에서, 하이브리드 블록체인을 통해 컨텐츠를 추적 및 조회한다. 이를 통해, 컨텐츠 등록, 수정 및 삭제에 대한 상태 조회가 가능하다. At this stage, content is tracked and viewed through a hybrid blockchain. Through this, it is possible to inquire the status of content registration, modification, and deletion.

STEP 1. 사용자는 온 블록체인(On Blockchain)을 통해 컨텐츠 메타데이터를 검색한다.STEP 1. Users search for content metadata through On Blockchain.

STEP 2. 컨텐츠의 메타데이터는 온 블록체인(On Blockchain)의 하위 리프 노드(Leaf Node)로 하여 병합 트리의 루트값을 검증한다.STEP 2. The metadata of the content is the lower leaf node of the On Blockchain to verify the root value of the merge tree.

Figure 112019081216417-pat00043
Figure 112019081216417-pat00044
= h((
Figure 112019081216417-pat00045
Figure 112019081216417-pat00046
Figure 112019081216417-pat00047
Figure 112019081216417-pat00048
)||(
Figure 112019081216417-pat00049
Figure 112019081216417-pat00050
Figure 112019081216417-pat00051
Figure 112019081216417-pat00052
))
Figure 112019081216417-pat00043
Figure 112019081216417-pat00044
= h((
Figure 112019081216417-pat00045
Figure 112019081216417-pat00046
Figure 112019081216417-pat00047
Figure 112019081216417-pat00048
)||(
Figure 112019081216417-pat00049
Figure 112019081216417-pat00050
Figure 112019081216417-pat00051
Figure 112019081216417-pat00052
)))

Figure 112019081216417-pat00053
Figure 112019081216417-pat00054
=
Figure 112019081216417-pat00055
Figure 112019081216417-pat00056
Figure 112019081216417-pat00053
Figure 112019081216417-pat00054
=
Figure 112019081216417-pat00055
Figure 112019081216417-pat00056

Meta Data =

Figure 112019081216417-pat00057
Figure 112019081216417-pat00058
Meta Data =
Figure 112019081216417-pat00057
Figure 112019081216417-pat00058

Figure 112019081216417-pat00059
Figure 112019081216417-pat00060
,
Figure 112019081216417-pat00059
Figure 112019081216417-pat00060
,

Figure 112019081216417-pat00061
Figure 112019081216417-pat00062
Figure 112019081216417-pat00061
Figure 112019081216417-pat00062

STEP 3. 온 블록체인(On Blockchain)의 루트값이 유효하면, 메타데이터 연결(Linking) 값을 오프 블록체인(Off Blockchain)에서 검증한다.STEP 3. If the root value of the on blockchain is valid, the metadata linking value is verified in the off blockchain.

STEP 4. 컨텐츠 제공자가 오프 사이트 데이터베이스(Off-site database)에 연결된 연결값(linking value)의 이름값(Name-Value)를 확인한다.STEP 4. The content provider checks the Name-Value of the linking value linked to the off-site database.

한편, 상술한 바와 같은 본 발명에 따르면 아래와 같은 결과를 얻을 수 있다.On the other hand, according to the present invention as described above, the following results can be obtained.

- 인증(Authentication) : 사용자의 공개키와 해당 개인키의 접근에 따라 사용자 인증을 제공하고, 해시값을 포함한 메타데이터를 통해 메시지 인증을 제공한다. - Authentication: Provides user authentication according to the access of the user's public key and the corresponding private key, and provides message authentication through metadata including hash values.

- 신뢰성(Reliability) : 전체 네트워크의 신뢰성을 보장하기 위해 블록체인의 분산된 체인 네트워크를 통해 견고한 무결성을 제공한다.- Reliability: Provides solid integrity through the decentralized chain network of the blockchain to ensure the reliability of the entire network.

- 효율성(Efficiency) : 선형 검색 대신 XGS 기반 색인을 추가하여 검색하여 온 블록체인(On Blockchain)을 구성하여 효과적인 검색을 수행한다. - Efficiency: Instead of a linear search, an XGS-based index is added to search, and an On Blockchain is configured to perform an effective search.

- 개인정보보호(Privacy) : 원본 데이터를 별도의 오프 블록체인(Off Blockchain)에 보관하고, 온 블록체인(On Blockchain)에 메타데이터만 등록하여 데이터 원본의 개인 정보를 보호한다. 또한, 사용자는 수정 및 삭제를 수행한다. -Privacy: The original data is stored in a separate off-blockchain, and only metadata is registered in the on-blockchain to protect the privacy of the data source. In addition, the user performs modifications and deletions.

- 추적성(Traceability) : 원본 데이터가 완전히 사라지는 대신 XOR 데이터를 수정하거나 삭제하여 원본 데이터의 상태(등록, 수정, 삭제)를 조회하고 추적할 수 있다.- Traceability: Instead of completely disappearing the original data, it is possible to inquire and trace the status (registration, modification, deletion) of the original data by modifying or deleting the XOR data.

본 발명의 실시예에 따른 방법들은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는, 본 발명을 위한 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Methods according to an embodiment of the present invention may be implemented as an application or implemented in the form of program instructions that may be executed through various computer components and recorded in a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable recording medium are specially designed and configured for the present invention, and may be known and used by those skilled in the art of computer software. Examples of the computer-readable recording medium include a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM, a DVD, and a magneto-optical medium such as a floppy disk. media) and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the present invention, and vice versa.

본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니 된다. 또한, 본 명세서의 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서의 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification contains many features, such features should not be construed as limiting the scope of the invention or the claims. Also, features described in individual embodiments herein may be implemented in combination in a single embodiment. Conversely, various features described in a single embodiment herein may be implemented in various embodiments individually, or may be implemented in appropriate combination.

도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 앱 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although operations have been described in a particular order in the drawings, it should not be understood that such operations are performed in the specific order as illustrated, or that all described operations are performed in a continuous sequence, or to obtain a desired result. Multitasking and parallel processing can be advantageous in certain circumstances. In addition, it should be understood that the division of various system components in the above-described embodiments does not require such division in all embodiments. The app components and systems described above may generally be implemented as a package in a single software product or multiple software products.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니다.The present invention described above, for those of ordinary skill in the art to which the present invention pertains, various substitutions, modifications and changes are possible without departing from the technical spirit of the present invention. It is not limited by the drawings.

100 : 사용자 장치
200 : 오프(Off) 블록체인
300 : 온(On) 블록체인
100: user device
200: Off blockchain
300: On blockchain

Claims (10)

삭제delete 삭제delete 삭제delete 오프 블록체인에서 스마트 계약 기반 블록체인 구성을 위해 생성된 함수를 포함하여 데이터 위임자의 데이터베이스를 구축하는 사전 준비 단계;
오프 블록체인 및 온 블록체인에서 허가된 블록체인에서의 멤버 확인을 위한 인증서를 발급하고, 타원곡선 기반의 키 생성 및 인증 서버의 인증서를 이용하는 사용자 등록 단계;
사용자 장치로부터 데이터 소유자의 데이터를 등록하는 데이터 등록 단계;
사용자 장치로부터 오프 블록체인의 이전에 등록된 파일의 데이터를 수정 및 삭제하는 데이터 수정 및 삭제 단계; 및
오프 블록체인 및 온 블록체인에서 원본 데이터의 상태를 데이터 등록, 수정 및 삭제에 의해 생성된 데이터의 연결값을 통해 추적하는 데이터 검색 단계;를 포함하는 하이브리드 블록체인을 이용한 XGS 주입 방법.
Pre-preparation step of building a database of data delegators including functions created for smart contract-based blockchain configuration in off-chain;
A user registration step of issuing a certificate for member confirmation in the blockchain allowed in the off-blockchain and on-blockchain, generating an elliptic curve-based key and using the certificate of the authentication server;
a data registration step of registering data of a data owner from the user device;
a data modification and deletion step of modifying and deleting data of previously registered files of the off-blockchain from the user device; and
A data retrieval step of tracking the state of original data in off-blockchain and on-blockchain through the connection values of data generated by data registration, modification, and deletion; XGS injection method using a hybrid blockchain comprising a.
제 4 항에 있어서,
상기 사전 준비 단계는,
이전에 등록한 파일의 수정된 부분을 1로 나눔으로써 데이터 소유자의 수정된 파일을 식별하고, 이전에 등록된 파일과의 XOR 연산에 의해 모든 널 값(null value)을 계산하는 XOR 집합(Set) 추출단계; 및
이름-값 체계(Name-Value scheme)에 따라 메타데이터를 생성하는 메타데이터 생성 단계;를 포함하는 것을 특징으로 하는 하이브리드 블록체인을 이용한 XGS 주입 방법.
5. The method of claim 4,
The pre-preparation step is
Identifies the modified file of the data owner by dividing the modified part of the previously registered file by 1, and extracts an XOR set that calculates all null values by XOR operation with the previously registered file step; and
An XGS injection method using a hybrid block chain, comprising: a metadata generation step of generating metadata according to a name-value scheme.
제 5 항에 있어서,
메타데이터의 이름은, 공개키와 사용자의 상태값을 연결하여 만들어지는 것을 특징으로 하는 하이브리드 블록체인을 이용한 XGS 주입 방법.
6. The method of claim 5,
An XGS injection method using a hybrid blockchain, characterized in that the name of the metadata is created by connecting the public key and the user's state value.
제 4 항에 있어서,
상기 생성된 함수는 사용자 등록 기능, 유효성 검사 기능, 데이터 등록 기능, 데이터 수정 기능, 데이터 삭제 기능 및 트랜잭션 생성 기능을 포함하는 것을 특징으로 하는 하이브리드 블록체인을 이용한 XGS 주입 방법.
5. The method of claim 4,
The generated function is an XGS injection method using a hybrid blockchain, characterized in that it includes a user registration function, a validation function, a data registration function, a data modification function, a data deletion function, and a transaction creation function.
제 4 항에 있어서,
상기 데이터 위임자의 데이터베이스를 구축하는 것은,
XOR 집합(Set) 및 메타데이터를 생성하는 것을 특징으로 하는 하이브리드 블록체인을 이용한 XGS 주입 방법.
5. The method of claim 4,
Building a database of the data delegator comprises:
An XGS injection method using a hybrid block chain, characterized in that it generates an XOR set and metadata.
제 4 항에 있어서,
상기 데이터 수정 및 삭제 단계는,
XOR 데이터의 수정 및 삭제, 오프 블록체인에서 전역 상태 주입의 변경과 변경, 온오프 연결(On-Off Linking) 및 온 체인 트랜잭션 배포(distribution)를 포함하는 것을 특징으로 하는 하이브리드 블록체인을 이용한 XGS 주입 방법.
5. The method of claim 4,
The data modification and deletion steps include:
XGS injection using hybrid blockchain, characterized by including modification and deletion of XOR data, change and change of global state injection in off-chain, on-off linking, and on-chain transaction distribution Way.
제 4 항에 있어서,
상기 데이터 수정 및 삭제 단계는,
변형된 부분의 이진 데이터는 XOR의 특성에 따라 1로 변경하고, 삭제 단계에서 데이터와 동일한 이진 데이터가 추출되어 널 상태(null state)로 변경하는 것을 특징으로 하는 하이브리드 블록체인을 이용한 XGS 주입 방법.

5. The method of claim 4,
The data modification and deletion steps include:
An XGS injection method using a hybrid blockchain, characterized in that the binary data of the transformed part is changed to 1 according to the characteristics of XOR, and the same binary data as the data is extracted in the deletion step and changed to a null state.

KR1020190096496A 2019-03-11 2019-08-08 Hybrid blockchain system for efficient content change and deletion and XGS injection method using hybrid blockchain Active KR102330005B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190027454 2019-03-11
KR20190027454 2019-03-11

Publications (2)

Publication Number Publication Date
KR20200108757A KR20200108757A (en) 2020-09-21
KR102330005B1 true KR102330005B1 (en) 2021-11-24

Family

ID=72708015

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190096496A Active KR102330005B1 (en) 2019-03-11 2019-08-08 Hybrid blockchain system for efficient content change and deletion and XGS injection method using hybrid blockchain

Country Status (1)

Country Link
KR (1) KR102330005B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102267560B1 (en) * 2020-11-13 2021-06-21 주식회사 케이사인 Method for Managing Modified Record of Data Which Can Reduce Size of Data Stored in Block Chain
CN112381650B (en) * 2020-11-18 2024-02-27 西安纸贵互联网科技有限公司 Cross-chain interoperable transaction processing methods, devices, electronic equipment and storage media
US11522726B1 (en) 2021-06-29 2022-12-06 Fmr Llc Systems and methods for reading, storing, and correcting historical records in distributed ledgers
US12190312B2 (en) * 2022-07-12 2025-01-07 VeriTX Corp. Data assurance solution using verifiable credentials and blockchain

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101893729B1 (en) 2018-03-28 2018-10-04 주식회사 마크로젠 Data sharing method based on multiple block-chains

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109417465B (en) * 2016-02-23 2021-01-15 区块链控股有限公司 Registration and automatic management method of intelligent contracts executed by block chains
KR101964692B1 (en) 2017-05-12 2019-04-02 주식회사 엑스블록시스템즈 Blockchain system and data managing method using blockchain

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101893729B1 (en) 2018-03-28 2018-10-04 주식회사 마크로젠 Data sharing method based on multiple block-chains

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Carlos Molina-Jimenez et al., On and Off-Blockchain Enforcement of Smart Contracts, NEWCASTLE UNIVERSITY School of Computing. Technical Report Series. CS-TR-1519. 2018.04. 1부.*
정은희, 이병관. 해시 체인 기반 일회용 키를 이용한 하둡 보안 프로토콜 설계. 한국정보전자통신기술학회논문지 Vol.10. Iss.4. 340-349페이지. 2017.

Also Published As

Publication number Publication date
KR20200108757A (en) 2020-09-21

Similar Documents

Publication Publication Date Title
KR102330005B1 (en) Hybrid blockchain system for efficient content change and deletion and XGS injection method using hybrid blockchain
CN114826703B (en) Block chain-based data search fine granularity access control method and system
Yan et al. A novel efficient remote data possession checking protocol in cloud storage
CN106503574B (en) Block chain safe storage method
CN111047324B (en) Method and apparatus for updating a set of public keys at a blockchain node
CN102938767B (en) The fuzzy keyword search methodology that efficiently can verify that based on the outer packet system of cloud data
CN103607405B (en) A cloud storage-oriented ciphertext search authentication method
CN110147684B (en) Method and device for realizing privacy protection of blockchain data
CN110837491B (en) Block chain financial big data processing system and method
CN114048448A (en) Block chain based dynamic searchable encryption method and device
CN111639935A (en) Account book modification method applicable to editable block chain
US11256662B2 (en) Distributed ledger system
Etemad et al. Generic dynamic data outsourcing framework for integrity verification
US20220020019A1 (en) Smart Contract-Based Electronic Contract Forensics Method and System
CN111427897A (en) Data storage management method on block chain
CN118157984A (en) SM 9-based policy hidden attribute-based encrypted data retrieval method
CN114710357A (en) Dynamic searchable encryption method supporting block verification in editable block chain
CN107094075B (en) A method for dynamic operation of data blocks based on convergent encryption
Vaidya et al. Commit signatures for centralized version control systems
WO2023004807A1 (en) Knowledge management system, method and apparatus, electronic device, and storage medium
CN111144894A (en) UTXO processing method and device
Ra et al. A study on hybrid blockchain-based XGS (XOR global State) injection technology for efficient contents modification and deletion
CN109067849A (en) Method of data synchronization based on block
CN119884249A (en) Highway accident rescue data sharing method based on bloom filter Merkle tree and related equipment
CN117150564B (en) A blockchain-based pharmaceutical logistics data traceability method

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

P14-X000 Amendment of ip right document requested

St.27 status event code: A-5-5-P10-P14-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

U11 Full renewal or maintenance fee paid

Free format text: ST27 STATUS EVENT CODE: A-4-4-U10-U11-OTH-PR1001 (AS PROVIDED BY THE NATIONAL OFFICE)

Year of fee payment: 5