KR20190036948A - 블록체인에서 데이터 관리 시스템 및 방법 - Google Patents
블록체인에서 데이터 관리 시스템 및 방법 Download PDFInfo
- Publication number
- KR20190036948A KR20190036948A KR1020170126457A KR20170126457A KR20190036948A KR 20190036948 A KR20190036948 A KR 20190036948A KR 1020170126457 A KR1020170126457 A KR 1020170126457A KR 20170126457 A KR20170126457 A KR 20170126457A KR 20190036948 A KR20190036948 A KR 20190036948A
- Authority
- KR
- South Korea
- Prior art keywords
- block chain
- data
- stored
- hash information
- information
- Prior art date
Links
Images
Classifications
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1065—Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/1085—Resource delivery mechanisms involving dynamic management of active down- or uploading connections
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 블록체인에서 데이터 관리 시스템 및 방법에 관한 것으로, 본 발명에 따른 노드는, 블록체인에서 데이터를 관리하는 노드에 있어서, 상기 블록체인은, 상기 데이터를 저장하는 제1 블록체인; 및 상기 제1 블록체인에 저장되는 데이터의 해시정보를 저장하는 제2 블록체인;을 포함하고 상기 제1 블록체인과 상기 제2 블록체인은 상호 연동하여 데이터를 관리하는 것을 특징으로 한다.
Description
본 발명은 블록체인에서 데이터를 관리하는 시스템 및 방법에 관한 것으로, 보다 구체적으로는 블록체인에 데이터 자체를 저장하고 삭제할 수 있는 블록체인에서 데이터 관리 시스템 및 방법에 관한 것이다.
블록체인(Block-Chain)은 클라우드 기술 및 P2P(Peer-to-Peer) 분산 네트워크 기술에 기반하여 데이터를 저장하는 기술이다. P2P 분산 네트워크는 클라이언트 및 노드로 구성되어 있으며, 클라이언트가 새로운 트랜잭션(transaction)을 발생시키면, 노드들은 분산합의 과정을 통해 트랜잭션을 공유하고 실행한다. 노드들은 트랜잭션 목록을 보관하는 DB를 가지는데, 트랜잭션 목록을 보관하는 DB는 블록체인 구조로 구성되어 있다. 블록체인은 블록들이 시간의 순서대로 연결된 구조로 되어 있으며, 각 블록에는 순서가 정해진 트랜잭션 리스트가 있다. 트랜잭션에는 거래의 진위성을 보장하기 위해 데이터의 해시정보가 저장되며 데이터 자체가 저장되지는 않는다.
한편, 데이터는 관리적인 측면에서 저장, 조회 기능뿐만 아니라 삭제 기능까지 요구되는데, 블록체인은 타임스탬프(time stamp) 기능과 거래의 불가역성으로 인해 블록에 기록된 데이터의 위변조가 불가능하고 한번 기록된 데이터를 선별적으로 삭제하는 것이 어렵다. 즉, 종래에는, 해시화 정보를 블록체인의 트랜잭션에 저장하고, 데이터 자체 정보는 별도의 저장장치(storage)에 저장함으로써, 블록 내 기록된 정보를 삭제할 수 없었다. 그 결과, 블록체인이 강력한 진위성을 보장하는 큰 장점을 갖고 있음에도 다양한 분야에서 활용되지 못하고 제한적으로 이용되고 있다.
앞서 본 종래 기술의 문제점을 해결하기 위해 안출된 것으로,
본 발명의 목적은, 블록체인을 제1 블록체인과 제2 블록체인으로 분리하여 운영함으로써 데이터 파일 자체를 저장하고, 삭제할 수 있으며, 데이터 일부가 삭제되더라도 나머지 데이터들에 대한 원본증명기능을 제공할 수 있는 블록체인에서 데이터 관리 시스템 및 방법을 제공하는 것이다.
본 발명은 앞서 본 목적을 달성하기 위하여 다음과 같은 실시예에 의해 구현된다.
일 측면에 따른 블록체인에서 데이터를 관리하는 노드에 있어서, 상기 블록체인은, 상기 데이터를 저장하는 제1 블록체인; 및 상기 제1 블록체인에 저장되는 데이터의 해시정보를 저장하는 제2 블록체인;을 포함하고 상기 제1 블록체인과 상기 제2 블록체인은 상호 연동하여 데이터를 관리하는 것을 특징으로 한다.
상기 제2 블록체인은, 상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보가 매핑되어 저장되는 복수의 메인블록을 포함하고, 상기 복수의 메인블록은 체인으로 연결되는 것을 특징으로 한다.
상기 제1 블록체인은, 상기 데이터가 저장되는 복수의 미니블록을 포함하고, 상기 복수의 미니블록은 체인으로 연결되는 것을 특징으로 한다.
상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보는 트랜잭션으로 구성되어 상기 메인블록에 저장되는 것을 특징으로 한다.
다른 측면에 따른 제1 블록체인과 제2 블록체인으로 구성되는 블록체인에서 데이터를 관리하는 노드에 있어서, 상기 노드는, 프로세서; 및 상기 프로세서가 실행 가능한 적어도 하나의 명령어를 포함하는 메모리;를 포함하고,상기 프로세서는, 상기 데이터를 상기 제1 블록체인에 저장하고; 상기 제1 블록체인에 저장되는 상기 데이터의 해시정보를 상기 제2 블록체인에 저장하며; 상기 제1 블록체인과 상기 제2 블록체인을 상호 연동시켜 데이터를 관리하는 것을 특징으로 한다.
상기 프로세서는, 상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보를 매핑하여 상기 제2 블록체인에 저장하는 것을 특징으로 한다.
상기 프로세서는, 상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보를 트랜잭션으로 구성하여 상기 제2 블록체인에 저장하는 것을 특징으로 한다.
상기 메모리는, 상기 데이터의 식별정보, 상기 제1 블록체인의 식별정보, 상기 제2 블록체인의 식별정보를 저장하는 것을 특징으로 한다.
상기 프로세서는, 삭제요청 데이터의 정보를 상기 메모리에서 추출하고; 상기 삭제요청 데이터가 저장된 제1 블록체인에서 나머지 데이터의 복사 데이터를 생성하고; 새 제1 블록체인을 생성하여 상기 새 제1 블록체인에 상기 복사 데이터를 저장하고; 상기 삭제요청 데이터가 저장된 상기 제1 블록체인을 삭제하는 것을 특징으로 한다.
상기 프로세서는, 상기 새 제1 블록체인을 생성하여 상기 복사 데이터 저장한 후, 상기 복사 데이터의 해시정보와 상기 새 제1 블록체인의 식별정보를 매핑하여 상기 제2 블록체인에 저장하는 것을 특징으로 한다.
상기 프로세서는, 상기 복사 데이터의 해시정보와 상기 새 제1 블록체인의 식별정보를 트랜잭션으로 구성하여 상기 제2 블록체인에 저장하고, 상기 메모리는, 상기 복사 데이터의 식별정보, 상기 새 제1 블록체인의 식별정보, 상기 제2 블록체인의 식별정보를 저장하는 것을 특징으로 한다.
상기 프로세서는, 상기 새 제1 블록체인에 저장된 상기 복사 데이터에서 제1 해시정보를 추출하고; 추출된 상기 제1 해시정보와 상기 제2 해시정보가 일치하는지 비교하고; 일치하는 경우 상기 제2 해시정보와 상기 제3 해시정보가 일치하는지 비교하고; 일치하는 경우 상기 새 제1 블록체인에 저장된 상기 복사 데이터에 대한 원본 증명을 수행하는 것을 특징으로 한다.
또 다른 측면에 따른 제1 블록체인과 제2 블록체인으로 구성되는 블록체인에서 데이터를 관리하는 방법에 있어서, 상기 블록체인에 데이터를 저장하는 단계;를 포함하고 상기 데이터 저장단계는, 상기 데이터를 상기 제1 블록체인에 저장하는 단계; 및 상기 제1 블록체인에 저장된 상기 데이터의 해시정보를 상기 제2 블록체인에 저장하는 단계;를 포함하고 상기 제1 블록체인과 상기 제2 블록체인은 상호 연동하어 데이터를 관리하는 것을 특징으로 한다.
상기 제2 블록체인에 저장하는 단계는, 상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보를 매핑하여 상기 제2 블록체인에 저장하는 것을 특징으로 한다.
상기 제2 블록체인에 저장하는 단계는, 상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보를 트랜잭션으로 구성하어 상기 제2 블록체인에 저장하는 것을 특징으로 한다.
상기 방법은, 상기 블록체인에서 데이터를 삭제하는 단계;를 추가로 포함하고 상기 데이터 삭제단계는, 삭제요청 데이터가 저장된 제1 블록체인에서 나머지 데이터의 복사 데이터를 생성하는 단계; 새 제1 블록체인을 생성하여 상기 새 제1 블록체인에 상기 복사 데이터를 저장하는 단계; 및 상기 삭제요청 데이터가 저장된 상기 제1 블록체인을 삭제하는 단계;를 포함하는 것을 특징으로 한다.
상기 데이터 삭제단계는, 상기 새 제1 블록체인에 상기 복사 데이터를 저장하는 단계 이후, 상기 복사 데이터의 해시정보와 상기 새 제1 블록체인의 식별정보를 매핑하여 상기 제2 블록체인에 저장하는 단계;를 추가로 포함하는 것을 특징으로 한다.
상기 제2 블록체인에 저장하는 단계는, 상기 복사 데이터의 해시정보와 상기 새 제1 블록체인의 식별정보를 트랜잭션으로 구성하여 상기 제2 블록체인에 저장하는 것을 특징으로 한다.
상기 방법은, 상기 복사 데이터의 원본을 증명하는 단계;를 추가로 포함하고 상기 원본 증명단계는, 상기 새 제1 블록체인에 저장된 상기 복사 데이터에서 제1 해시정보를 추출하는 단계; 추출된 상기 제1 해시정보와 상기 제2 블록체인에 저장된 상기 복사 데이터의 제2 해시정보를 비교하는 단계; 및 상기 복사 데이터의 제2 해시정보, 상기 제2 블록체인에 저장된 원시 데이터의 제3 해시정보를 비교하는 단계;를 포함하고 상기 제1 해시정보, 상기 제2 해시정보, 및 상기 제3 해시정보가 모두 일치하는 경우 상기 복사 데이터가 원본임을 증명하는 것을 특징으로 한다.
본 발명은 앞서 본 구성에 의하여 다음과 같은 효과를 가진다.
본 발명은, 블록체인의 각 블록 내에 데이터 자체를 저장하고 원하는 데이터만 삭제할 수 있는 효과를 갖는다.
본 발명은, 블록체인에 기록된 데이터 중 원하는 데이터를 삭제하더라도 블록체인에 기록된 해시정보를 기초로 데이터의 원본증명을 수행할 수 있는 효과를 갖는다.
본 발명은, 블록체인에 기록된 데이터 중 원하는 데이터를 삭제하더라도 블록체인에 기록된 해시정보를 기초로 저장된 데이터의 이력을 파악할 수 있는 효과를 갖는다.
본 발명은, 블록체인에 기록된 데이터들의 훼손 없이 원하는 데이터만 삭제할 수 있으므로 데이터의 저장, 조회뿐 아니라 삭제 기능이 요구되는 다양한 분야에 블록체인을 활용할 수 있는 효과를 갖는다.
도 1은 실시예에 따라 블록체인에서 데이터 관리 시스템을 설명하는 개념도이다.
도 2는 도 1의 각 노드에 구비되는 블록체인을 설명하는 블록도이다.
도 3은 실시예에 따라 블록체인에 데이터가 저장되는 예시도이다.
도 4는 도 3에 도시된 제2 블록체인에 대해 자세하게 설명하는 블록도이다.
도 5는 실시예에 따라 블록체인에 데이터가 저장되는 내용을 자세하게 설명하는 개념도이다.
도 6은 실시예에 따라 블록체인에 저장된 데이터 일부가 삭제되는 내용을 자세하게 설명하는 개념도이다.
도 7은 실시예에 따라 블록체인에서 데이터 관리 방법을 설명하는 흐름도이다.
도 8은 도 7의 블록체인에 데이터가 저장되는 과정을 상세하게 설명하는 흐름도이다.
도 9는 도 7의 블록체인에서 데이터가 삭제되는 과정을 상세하게 설명하는 흐름도이다.
도 10은 도 7의 블록체인에서 데이터 일부가 삭제된 이후 블록체인에 저장된 데이터에 대한 원본 증명 과정을 상세하게 설명하는 흐름도이다.
도 2는 도 1의 각 노드에 구비되는 블록체인을 설명하는 블록도이다.
도 3은 실시예에 따라 블록체인에 데이터가 저장되는 예시도이다.
도 4는 도 3에 도시된 제2 블록체인에 대해 자세하게 설명하는 블록도이다.
도 5는 실시예에 따라 블록체인에 데이터가 저장되는 내용을 자세하게 설명하는 개념도이다.
도 6은 실시예에 따라 블록체인에 저장된 데이터 일부가 삭제되는 내용을 자세하게 설명하는 개념도이다.
도 7은 실시예에 따라 블록체인에서 데이터 관리 방법을 설명하는 흐름도이다.
도 8은 도 7의 블록체인에 데이터가 저장되는 과정을 상세하게 설명하는 흐름도이다.
도 9는 도 7의 블록체인에서 데이터가 삭제되는 과정을 상세하게 설명하는 흐름도이다.
도 10은 도 7의 블록체인에서 데이터 일부가 삭제된 이후 블록체인에 저장된 데이터에 대한 원본 증명 과정을 상세하게 설명하는 흐름도이다.
이하, 본 발명의 실시 예를 첨부된 도면들을 참조하여 더욱 상세하게 설명한다. 본 발명의 실시 예는 여러 가지 형태로 변형할 수 있으며, 본 발명의 범위가 아래의 실시 예들로 한정되는 것으로 해석되어서는 안 된다. 본 실시 예는 당업계에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해 제공되는 것이다. 또한, 본 발명의 도면과 명세서에서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
한편, 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자에 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가함을 배제하지 않는다.
그러면 도면을 참고하여 본 발명의 블록체인에서 데이터 관리 시스템 및 방법에 대하여 상세하게 설명한다.
도 1은 실시예에 따라 블록체인에서 데이터 관리 시스템을 설명하는 개념도이다.
도 1을 참고하면, 블록체인에서 데이터 관리 시스템은 노드(10), 그리고 클라이언트(20)를 포함할 수 있다. 블록체인(Block-Chain)은 클라우드 저장기능과 P2P(Peer-to-Peer) 기능을 기반으로 구축된 분산형 데이터베이스이다.
노드(10: 1, 2, 3, 4, 5, 6)는, 클라이언트(20)가 발생시킨 트랜잭션 목록을 보관하고, 분산합의 과정을 통해 트랜잭션을 공유하고 실행할 수 있다. 또한, 노드(10)는 트랜잭션 목록을 보관하는 데이터베이스를 가지며, 상기 데이터베이스는 블록체인 구조로 형성된다. 실시예에 따라, 노드(10)는, 블록체인이 구축되는 단말로서 스마트 단말, PC, 서버 등으로 구현될 수 있으며, 네트워크 기능, 저장 기능, 프로세싱 기능 등을 가질 수 있다.
클라이언트(20)는, 트랜잭션을 생성하고 생성한 트랜잭션을 블록체인 네트워크에 전파한다. 또한, 클라이언트(20)는, 노드(10: 1, 2, 3, 4, 5, 6)에서 실행되는 트랜잭션 결과를 확인할 수 있다.
예를 들어, 클라이언트(20)가 A가 B에게 10만원을 송금하는 트랜잭션을 생성하여 블록체인 네트워크에 전파하면, 블록을 생성하는 임의의 노드(10)는 트랜잭션을 모아 블록에 저장한다. 이때, 거래에 대한 검증(ex, A의 잔액이 충분한지, 중복 이체 등)과 블록을 생성하는 노드(10)를 결정하는 과정은 분산합의 알고리즘(ex, Proof of Work)에 따라 결정될 수 있다. 이후, 블록을 생성하는 노드(10)가 수집한 트랜잭션들을 적용해 자신의 데이터베이스를 갱신하고 블록을 다른 노드(10)로 전파하면, 다른 노드(10)들은 전파된 블록 데이터에 따라 자신의 잔액 데이터베이스를 갱신하고 블록을 저장하여 거래를 완료할 수 있다.
도 2는 도 1의 각 노드에 구비되는 블록체인을 설명하는 블록도이며, 도 3은 실시예에 따라 블록체인에 데이터가 저장되는 예시도이며, 도 4는 도 3의 도시된 제2 블록체인에 대해 자세하게 설명하는 블록도이다.
일 실시예에 따른 블록체인에서 데이터 관리 시스템은, 종래와 달리 블록체인에 데이터 자체를 저장하고, 또한 블록체인에 기록된 데이터를 삭제할 수 있는 로직을 제공한다. 이를 실현하기 위해, 블록체인에서 데이터 관리 시스템은 블록체인의 구조를 도 2와 같이 멀티 블록체인으로 구현하고 있다.
도 2 및 도 3을 참고하면, 일 실시예에 따른 블록체인(1)은 제1 블록체인(100), 그리고 제2 블록체인(200)을 포함하여 멀티 블록체인으로 구현된다. 도 1에 도시된 노드(10: 1, 2, 3, 4, 5, 6)는 복수의 제1 블록체인(100: MC#1, MC#2, MC#3, MC#4)과 하나의 제2 블록체인(200)을 포함하는 멀티 블록체인을 구비할 수 있다. 복수의 제1 블록체인(100: MC#1, MC#2, MC#3, MC#4)과 하나의 제2 블록체인(200)은 서로 연동될 수 있다.
일 실시예에 따라, 제1 블록체인(100)은 저장하고자 하는 데이터 자체를 저장하고, 제2 블록체인(200)은 데이터의 해시정보를 저장한다. 또한, 제1 블록체인(100)은 데이터의 용량 및 관리 측면에서 일정 기준(ex, 주체, 기간 등)에 따라 데이터를 복수의 제1 블록체인(100: MC#1, MC#2, MC#3, MC#4)에 나누어 저장할 수 있다. 또한, 이하 설명할 데이터 삭제시, 일 실시예에 따라, 데이터가 저장된 제1 블록체인(100) 전체를 삭제하므로, 다른 데이터의 보존을 용이하게 하기 위해 제1 블록체인(100)을 복수로 구현할 수 있다.
제1 블록체인(100)은, 데이터를 저장하는 복수의 미니블록(110)을 포함하고 복수의 미니블록(110)들이 체인(120)으로 연결될 수 있다. 도 2에는 제한된 수의 미니블록(110)들이 도시되어 있으나, 제1 블록체인(100)에 포함될 수 있는 미니블록(110) 수는 이에 제한되지 않는다. 도 2를 참고하면, 하나의 제2 블록체인(200)과 연동되는 제1 블록체인(100)은 복수 개(100: MC#1, MC#2, MC#3, MC#4)로 구현될 수 있다.
제2 블록체인(200)은, 데이터의 해시정보와 데이터가 저장되는 제1 블록체인(100)의 식별정보가 매핑되어 저장되는 적어도 하나의 메인블록(210)을 포함한다. 제2 블록체인(200)은, 하나 이상의 메인블록(210)들이 체인(220)으로 순차적으로 연결되어 형성된다. 도 2에는 제한된 수의 메인블록(210)들이 도시되어 있으나, 제2 블록체인(200)에 포함될 수 있는 메인블록(210) 수는 이에 제한되지 않는다.
도 3을 참고하면, 예를 들어, 데이터(D) 자체는 네 번째 제1 블록체인(100: MC#4) 내의 제1 미니블록(110: MB#1)에 저장되고, 제1 블록체인 식별정보와 데이터 해시정보(H)는 제2 메인블록(210: B#2)에 저장될 수 있다. 여기서, 제1 블록체인 식별정보는 네 번째 제1 블록체인 식별정보(100: MC#4) 및 제1 미니블록 식별정보(110: MB#1)를 포함할 수 있다. 일 실시예에 따라, 데이터(D)가 바이너리(binary) 코드(hex 코드)로 변환되어 제1 블록체인(100)에 저장될 수 있고, 압축 파일 형태로 제1 블록체인(100)에 저장될 수도 있다. 또한, 저장된 데이터를 찾을 수 있도록 제2 블록체인(200)에는 데이터의 해시정보(H) 이외 데이터가 실제로 저장된 제1 블록체인(100)의 식별정보도 함께 저장될 수 있다.
도 4는, 제2 블록체인(200)에서 순차적으로 연결된 하나 이상의 메인블록(210: B#1, B#2, B#3)의 일 예시이다. 메인블록(210)은 블록헤더(211)와 블록바디(213)를 포함할 수 있다. 블록헤더(211)는 각 메인블록(210)들 간의 연결관계를 나타내기 위해 이전 메인블록(210)의 해시정보를 포함할 수 있다. 일 실시예에 따라, 블록체인(1)이 유효한지 검증하는 과정에서 블록헤더(211) 내의 연결관계가 사용될 수 있다. 블록바디(213)는 트랜잭션 리스트를 포함할 수 있다. 트랜잭션 리스트는 하나 이상의 트랜잭션들의 집합으로, 각 트랜잭션은 이전 트랜잭션의 해시정보를 포함하여 순차적으로 연결될 수 있다.
도 5는 실시예에 따라 블록체인에 데이터가 저장되는 내용을 자세하게 설명하는 개념도이다.
노드(10)는, 메모리, 메모리 제어기, 하나 이상의 프로세서(CPU), 주변 인터페이스, 입출력(I/O) 서브시스템, 디스플레이 장치, 입력 장치 및 통신 회로를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리, 또는 다른 불휘발성 반도체 메모리 장치를 포함할 수 있다. 프로세서 및 주변 인터페이스와 같은 다른 구성요소에 의한 메모리로의 액세스는 메모리 제어기에 의하여 제어될 수 있다. 메모리는 각종 정보와 프로그램 명령어를 저장할 수 있고, 프로그램은 프로세서에 의해 실행된다.
주변 인터페이스는 노드(10)의 입출력 주변 장치를 프로세서 및 메모리와 연결한다. 하나 이상의 프로세서는 다양한 소프트웨어 프로그램 및/또는 메모리에 저장되어 있는 명령어 세트를 실행하여 노드(10)를 위한 여러 기능을 수행하고 데이터를 처리한다. I/O 서브시스템은 디스플레이 장치, 입력 장치와 같은 입출력 주변장치와 주변 인터페이스 사이에 인터페이스를 제공한다. 디스플레이 장치는 LCD(liquid crystal display) 기술 또는 LPD(light emitting polymer display) 기술을 사용할 수 있다.
프로세서는 노드(10)에 연관된 동작을 수행하고 명령어들을 수행하도록 구성된 프로세서로서, 예를 들어, 메모리로부터 검색된 명령어들을 이용하여, 노드(10)의 컴포넌트 간의 입력 및 출력 데이터의 수신과 조작을 제어할 수 있다. 통신 회로는 외부 포트를 통한 통신 또는 RF 신호에 의한 통신을 수행한다. 통신 회로는 전기 신호를 RF 신호로 또는 그 반대로 변환하며 이 RF 신호를 통하여 통신 네트워크, 다른 이동형 게이트웨이 장치 및 통신 장치와 통신할 수 있다.
도 1 및 도 5를 참고하면, 노드(10)는 데이터를 블록체인(1)에 저장한다. 노드(10)는 데이터를 제1 블록체인(100)에 저장하고, 데이터의 해시정보와 상기 데이터가 저장된 제1 블록체인(100)의 식별정보를 매핑하여 제2 블록체인(200)에 저장한다. 일 실시예에 따라, 도 5를 참고하면, 노드(10)는 제2 블록체인(200)과 제1 블록체인(100)이 상호 연동된 블록체인(1)으로 데이터를 관리할 수 있다. 또한, 노드(10)는 데이터(D)의 해시정보와 제1 블록체인(100)의 식별정보를 트랜잭션 단위로 리스트를 구성하여 제2 블록체인(200)에 저장할 수 있다.
도 5는, 복수의 데이터(D#1, D#2, D#3, D#4, D#5, D#6)가 블록체인(1)에 저장되는 예시를 보여준다. 예를 들어, 제4 데이터(D#4)는 네 번째 제1 블록체인(100: MC#4) 내의 제2 미니블록(110: MB#2)에 저장되고, 제4 데이터 해시정보 및 제4 데이터(D#4)가 저장된 제1 블록체인 식별정보는 제2 메인블록(210: B#2)에 저장된다. 실시예에 따라, 제4 데이터 해시정보 및 제1 블록체인 식별정보는 제4 트랜잭션(트랜잭션 T-#4)으로 제2 메인블록(210: B#2)에 저장될 수 있다. 여기서, 제4 데이터(D#4)에 대한 제1 블록체인 식별정보는 네 번째 제1 블록체인 식별정보(100: MC#4) 및 제2 미니블록 식별정보(110: MB#2)를 포함할 수 있다. 도 5에 도시된 제5 데이터(D#5) 및 제6 데이터(D#6)도 앞서 설명한 제4 데이터(D#4)에 적용된 로직대로 블록체인(1)에 저장될 수 있다.
노드(10)는, 데이터의 식별정보, 상기 데이터가 저장되는 제1 블록체인(100)의 식별정보 및 상기 데이터의 해시정보가 저장되는 제2 블록체인(200)의 식별정보를 매핑시켜 별도의 메모리에 저장할 수 있다. 일 실시예에 따라, 제2 블록체인(200)의 식별정보는 메인블록(210) 및 트랜잭션(T)의 식별정보를 포함할 수 있다.
다른 실시예에 따라, 제1 블록체인(100)에 저장된 데이터의 삭제이벤트 발생시, 노드(10)는 데이터가 저장된 제1 블록체인(100)의 식별정보를 메모리에서 추출하고, 데이터를 제1 블록체인(100)에서 삭제할 수 있다. 또는, 제1 블록체인(100)에 저장된 데이터의 원본증명 이벤트 발생시, 노드(10)는 제1 블록체인(100)의 식별정보를 메모리에서 추출하고, 제1 블록체인(100)에서 데이터를 찾아 해시정보를 추출하고, 제2 블록체인(200)에 저장된 데이터의 해시정보와 비교하여 원본증명을 수행할 수 있다. 데이터 삭제 로직은 이하 도 6 및 도 9에서, 데이터 원본 증명 로직은 이하 도 6 및 도 10에서 자세하게 설명한다.
도 6은 실시예에 따라 블록체인에 저장된 데이터 일부가 삭제되는 내용을 자세하게 설명하는 개념도이다. 도 6a는, 데이터 삭제 전 제2 블록체인 및 제1 블록체인의 일 예시이며, 도 6b는 데이터 삭제 이후 제2 블록체인 및 제1 블록체인의 예시도이다.
도 6a는, 블록체인(1)에 저장된 복수의 데이터(D#1, D#2, D#3, D#4, D#5, D#6) 중 일부 데이터, 예를 들어, 제2, 4, 5 데이터(D#2, D#4, D#5)를 삭제하는 로직을 설명한다. 제2, 4, 5 데이터(D#2, D#4, D#5)에 대한 삭제이벤트가 발생하면, 먼저, 노드(10)는, 삭제요청 데이터(D#2, D#4, D#5)들이 저장된 네 번째 제1 블록체인(100: MC#4)에서 삭제요청되지 않은 데이터(D#1, D#3, D#6)들에 대한 복사 데이터를 생성한다.
다음, 도 6b를 참고하면, 노드(10)는, 다섯 번째 제1 블록체인(100: MC#5)을 새로 생성하고, 새로 생성된 다섯 번째 제1 블록체인(100: MC#5)에 삭제 요청되지 않은 데이터(D#1, D#3, D#6)에 대한 복사본을 저장한다.
그 다음, 노드(10)는, 다섯 번째 제1 블록체인(100: MC#5)에 저장된 복사 데이터(CD#1, CD#3, CD#6)에 대한 해시정보를 생성하고, 생성된 복사 데이터(CD#1, CD#3, CD#6)에 대한 해시정보와 다섯 번째 제1 블록체인의 식별정보(100: MC#5)를 매핑하여 제2 블록체인(200)에 저장한다. 이때, 제2 블록체인(200)에는 새로운 메인블록(210), 즉, 제3 메인블록(210: B#3)이 새로 생성되어 다섯 번째 제1 블록체인(100: MC#5)에 대한 정보, 즉 복사 데이터들에 대한 해시정보와 제1 블록체인 식별정보가 저장될 수 있다.
실시예에 따라, 복사 데이터들에 대한 해시정보와 제1 블록체인 식별정보는 트랜잭션으로 제3 메인블록(210: B#3)에 저장될 수 있다. 도 6b를 참고하면, 제3 메인블록(210: B#3)에 복사 트랜잭션(CT-#1, CT-#3, CT-#6)이 표시되고 있으나, 이러한 표시에 한정되는 것은 아니다. 예를 들어, 복사 트랜잭션(CT-#1, CT-#3, CT-#6)은 트랜잭션 리스트 생성 순서에 대응하여 트랜잭션(T-#7, T-#8, T-#9)로 정의될 수도 있다.
그 다음, 노드(10)는, 삭제요청 데이터(D#2, D#4, D#5)가 저장된 도 6a의 네 번째 제1 블록체인(100: MC#4) 전체를 삭제한다. 즉, 일 실시예에 따라, 블록체인 내 일부 블록의 삭제가 아닌 블록체인 전체를 삭제하여 삭제 이벤트를 실현할 수 있다.
도 7은 실시예에 따라 블록체인에서 데이터 관리 방법을 설명하는 흐름도이며, 도 8은 도 7의 블록체인에 데이터가 저장되는 과정을 상세하게 설명하는 흐름도이며, 도 9는 도 7의 블록체인에서 데이터가 삭제되는 과정을 상세하게 설명하는 흐름도이며, 도 10은 도 7의 블록체인에서 데이터 일부가 삭제된 이후 블록체인에 저장된 데이터에 대한 원본 증명 과정을 상세하게 설명하는 흐름도이다.
도 7을 참고하면, 블록체인에서 데이터 관리 방법은 블록체인(1)에 데이터를 저장하는 단계(S1), 블록체인(1)에서 저장된 데이터를 삭제하는 단계(S2), 그리고 블록체인(1)에 저장된 데이터에 대한 원본 증명 단계(S3)를 포함할 수 있다.
단계 S1에서, 도 5 및 도 8을 참고하면, 노드(10)는 저장하고자 하는 데이터를 제1 블록체인(100)에 저장한다(S81). 예를 들어, 노드(10)는 제4 데이터(D#4)를 네 번째 제1 블록체인(100: MC#4) 내의 제2 미니블록(110: MB#2)에 저장할 수 있다.
다음으로, 노드(10)는 제1 블록체인(100)에 저장된 데이터의 해시정보 및 제1 블록체인(100)의 식별정보를 매핑하여 제2 블록체인(200)에 저장한다(S83). 일 실시예에 따라, 데이터의 해시정보 및 제1 블록체인(100)의 식별정보를 트랜잭션 단위로 리스트를 구성하여 제2 블록체인(200)에 저장할 수 있다. 예를 들어, 도 5를 참고하면, 노드(10)는 제4 데이터에 대한 해시정보 및 제4 데이터가 저장된 제1 블록체인(100)의 식별정보를 제4 트랜잭션(T-#4)으로 구성하여 제2 메인블록(210: B#2)에 저장할 수 있다. 여기서, 제4 데이터(D#4)에 대한 제1 블록체인(100)의 식별정보는 네 번째 제1 블록체인(100: MC#4) 및 제2 미니블록(110: MB#2)에 대한 식별정보(MC#4, MB#2)를 포함할 수 있다.
다음으로, 노드(10)는 제1 블록체인(100)에 저장한 데이터에 대한 데이터베이스를 구축할 수 있다(S85). 일 실시예에 따라, 노드(10)는 데이터 자체의 식별정보, 데이터가 저장된 제1 블록체인(100)의 식별정보, 데이터의 해시정보가 저장된 제2 블록체인(200)의 식별정보를 메모리에 저장하여 데이터베이스를 구축할 수 있다. 예를 들어, 도 5를 참고하면, 노드(10)는 제4 데이터 자체의 식별정보(D#4), 제1 블록체인(100)의 식별정보(MC#4, MB#2), 제2 블록체인(200)의 식별정보(B#2, T-#4)는 매핑하여 메모리에 저장될 수 있다.
단계 S2에서, 도 6 및 도 9를 참고하면, 노드(10)는 삭제요청 데이터의 정보를 메모리에서 추출할 수 있다(S91). 예를 들어, 도 6a를 참고하면, 제2, 4, 5 데이터(D#2, D#4, D#5)에 대한 삭제이벤트 발생 시, 노드(10)는 각 데이터에 대한 데이터 자체의 식별정보(D#2, D#4, D#5), 제1 블록체인(100)의 식별정보(MC#4), 제2 블록체인(200) 식별정보(B#1, B#2)를 메모리에서 추출할 수 있다.
다음으로, 노드(10)는 삭제요청 데이터가 저장된 제1 블록체인(100)에서 나머지 데이터에 대한 복사 데이터를 생성한다(S92). 예를 들어, 노드(10)는 삭제요청 데이터(D#2, D#4, D#5)가 저장된 네 번째 제1 블록체인(100: MC#4)에서 삭제요청되지 않은 데이터(D#1, D#3, D#6)에 대한 복사 데이터를 만든다.
다음으로, 노드(10)는 새로운 제1 블록체인(100)을 생성하고 복사 데이터를 생성한 제1 블록체인(100)에 저장한다(S93). 예를 들어, 도 6b를 참고하면, 노드(10)는 다섯 번째 제1 블록체인(100: MC#5)을 생성하고, 새로 생성된 다섯 번째 제1 블록체인(100: MC#5)에 삭제요청되지 않은 데이터(D#1, D#3, D#6)에 대한 복사 데이터(CD#1, CD#3, CD#6)를 저장한다.
다음으로, 노드(10)는 복사 데이터의 해시정보와 새 제1 블록체인의 식별정보를 매핑하여 제2 블록체인(200) 내 메인블록(210)에 저장한다(S94). 예를 들어, 도 6b를 참고하면, 노드(10)는 다섯 번째 제1 블록체인(100: MC#5)에 저장된 복사 데이터(CD#1, CD#3, CD#6)의 해시정보와 다섯 번째 제1 블록체인의 식별정보(MC#5, MB#1)를 매핑하여 제2 블록체인(200)에 저장한다.
이때, 제2 블록체인(200)에는 다섯 번째 제1 블록체인(100: MC#5)의 정보를 저장할 새로운 메인블록(210)을 생성할 수 있다. 즉, 노드(10)는 제2 블록체인(200)에 제3 메인블록(210: B#3)을 새로 생성하여 복사 데이터(CD#1, CD#3, CD#6)의 해시정보와 다섯 번째 제1 블록체인의 식별정보(MC#5, MB#1)를 저장할 수 있다. 일 실시예에 따라, 노드(10)는, 도 6b를 참고하면, 복사 데이터의 해시정보와 새 제1 블록체인의 식별정보를 트랜잭션으로 구성하여 제3 메인블록(210: B#3)에 저장할 수 있다.
다음으로, 노드(10)는 삭제요청 데이터가 저장된 제1 블록체인(100)을 삭제한다(S95). 예를 들어, 노드(10)는 삭제요청 데이터(D#2, D#4, D#5)가 저장된 네 번째 제1 블록체인(100: MC#4) 전체를 삭제한다.
다음으로, 노드(10)는 복사 데이터에 대한 데이터베이스를 구축할 수 있다(S96). 일 실시예에 따라, 노드(10)는 복사 데이터 자체의 식별정보, 복사 데이터가 저장된 새 제1 블록체인(100)의 식별정보, 복사 데이터의 해시정보가 저장된 제2 블록체인(200)의 식별정보를 메모리에 저장하여 데이터베이스를 구축할 수 있다. 예를 들어, 복사 데이터의 식별정보(CD#1, CD#3, CD#6), 새 제1 블록체인의 식별정보(MC#5, MB#1), 복사 데이터의 해시정보가 저장된 제2 블록체인(200)의 식별정보(B#3)가 매핑되어 메모리에 저장될 수 있다. 일 실시예에 따라, 노드(10)는 복사 데이터의 트랜잭션 식별정보(CT-#1, CT-#3, CT-#6)도 메모리에 저장할 수 있다.
단계 S3에서, 노드(10)는 새 제1 블록체인에 저장된 복사 데이터에서 제1 해시정보를 추출한다(S101). 예를 들어, 도 6b를 참고하면, 노드(10)는 다섯 번째 제1 블록체인(100: MC#5) 내 제1 미니블록(210: MB#1)에 저장된 제1 복사데이터(CD#1)를 찾아 제1 해시정보를 추출한다.
다음으로, 노드(10)는 추출된 제1 해시정보와 제2 블록체인(200)에 저장된 복사 데이터의 제2 해시정보와 비교하여 일치하는지를 판단한다(S103). 앞서 단계 S2에서, 복사 데이터의 해시정보를 새 제1 블록체인의 식별정보와 매핑하여 제2 블록체인(200) 내에 저장하였으므로, 단계 S3에서, 새 제1 블록체인(100)에 저장된 복사 데이터로부터 해시정보를 추출하고 추출된 해시정보가 제2 블록체인(200)에 저장된 복사 데이터의 해시정보와 일치하는지를 우선 확인한다. 예를 들어, 도 6b를 참고하면, 노드(10)는 제3 메인블록(210: B#3) 내 제1 복사트랜잭션(CT-#1)에 저장된 제2 해시정보를 추출된 제1 해시정보와 비교할 수 있다.
다음으로, 제1 해시정보와 제2 해시정보가 일치하지 않는 경우(S103, No), 노드(10)는 원본증명 요청된 데이터가 블록체인(1)에 저장된 데이터가 아니고 일부 또는 전부 위조된 파일로 판단할 수 있다(S105). 일 실시예에 따라, 노드(10)는 원본증명을 위해 디지털 파일들의 해시정보를 이용하는데, 비교대상 데이터가 동일하지 않으면 해시 값이 달라지는 특성을 원본증명에 이용할 수 있다.
다음으로, 제1 해시정보와 제2 해시정보가 일치하면(S103, Yes), 노드(10)는 제2 블록체인(200)에 저장된 복사 데이터의 제2 해시정보와 제2 블록체인(200)에 저장된 원시 데이터의 제3 해시정보를 비교하여 일치하는지를 판단한다(S107).
예를 들어, 도 6b를 참고하면, 노드(10)는 제3 메인블록(210: B#3) 내 제1 복사트랜잭션(CT-#1)에 저장된 제2 해시정보와 제1 메인블록(210: B#1) 내 제1 트랜잭션(T-#1)에 저장된 제3 해시정보를 비교한다. 여기서, 제2 해시정보는 제1 복사데이터(CD#1)의 해시정보이고, 제3 해시정보는 제1 원시데이터(D#1)의 해시정보이므로 상호 일치하는 경우, 제1 복사데이터(CD#1)와 제1 원시데이터(D#1)가 일치함을 확인할 수 있다.
다음으로, 제2 해시정보와 제3 해시정보가 일치하면(S107, Yes), 노드(10)는 새로 생성된 제1 블록체인에 저장된 복사 데이터가 원본임을 판단한다(S109). 즉, 제1 해시정보는 새로 생성된 제1 블록체인에 저장된 복사 데이터를 기초로 생성된 해시정보이고, 제2 해시정보는 복사 데이터 생성시에 생성되어 메인블록(200)에 저장된 해시정보이며, 제3 해시정보는 원시 데이터에 대한 해시정보이므로, 노드(10)는 제1 해시정보, 제2 해시정보, 제3 해시정보가 일치하면 복사 데이터가 원시 데이터와 같음을 증명할 수 있다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
10: 노드 20: 클라이언트
1: 블록체인 100: 제2 블록체인
200: 제1 블록체인
1: 블록체인 100: 제2 블록체인
200: 제1 블록체인
Claims (19)
- 블록체인에서 데이터를 관리하는 노드에 있어서,
상기 블록체인은,
상기 데이터를 저장하는 제1 블록체인; 및
상기 제1 블록체인에 저장되는 데이터의 해시정보를 저장하는 제2 블록체인;을 포함하고
상기 제1 블록체인과 상기 제2 블록체인은 상호 연동하여 데이터를 관리하는 것을 특징으로 하는 노드. - 제1항에 있어서,
상기 제2 블록체인은,
상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보가 매핑되어 저장되는 복수의 메인블록을 포함하고,
상기 복수의 메인블록은 체인으로 연결되는 것을 특징으로 하는 노드. - 제2항에 있어서,
상기 제1 블록체인은,
상기 데이터가 저장되는 복수의 미니블록을 포함하고,
상기 복수의 미니블록은 체인으로 연결되는 것을 특징으로 하는 노드. - 제3항에 있어서,
상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보는 트랜잭션으로 구성되어 상기 메인블록에 저장되는 것을 특징으로 하는 노드. - 제1 블록체인과 제2 블록체인으로 구성되는 블록체인에서 데이터를 관리하는 노드에 있어서,
상기 노드는,
프로세서; 및
상기 프로세서가 실행 가능한 적어도 하나의 명령어를 포함하는 메모리;를 포함하고,
상기 프로세서는,
상기 데이터를 상기 제1 블록체인에 저장하고;
상기 제1 블록체인에 저장되는 상기 데이터의 해시정보를 상기 제2 블록체인에 저장하며;
상기 제1 블록체인과 상기 제2 블록체인을 상호 연동시켜 데이터를 관리하는 것을 특징으로 하는 노드. - 제5항에 있어서,
상기 프로세서는,
상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보를 매핑하여 상기 제2 블록체인에 저장하는 것을 특징으로 하는 노드. - 제6항에 있어서,
상기 프로세서는,
상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보를 트랜잭션으로 구성하여 상기 제2 블록체인에 저장하는 것을 특징으로 하는 노드. - 제7항에 있어서,
상기 메모리는,
상기 데이터의 식별정보, 상기 제1 블록체인의 식별정보, 상기 제2 블록체인의 식별정보를 저장하는 것을 특징으로 하는 노드. - 제8항에 있어서,
상기 프로세서는,
삭제요청 데이터의 정보를 상기 메모리에서 추출하고;
상기 삭제요청 데이터가 저장된 제1 블록체인에서 나머지 데이터의 복사 데이터를 생성하고;
새 제1 블록체인을 생성하여 상기 새 제1 블록체인에 상기 복사 데이터를 저장하고;
상기 삭제요청 데이터가 저장된 상기 제1 블록체인을 삭제하는 것을 특징으로 하는 노드. - 제9항에 있어서,
상기 프로세서는,
상기 새 제1 블록체인을 생성하여 상기 복사 데이터 저장한 후,
상기 복사 데이터의 해시정보와 상기 새 제1 블록체인의 식별정보를 매핑하여 상기 제2 블록체인에 저장하는 것을 특징으로 하는 노드. - 제9항에 있어서,
상기 프로세서는,
상기 복사 데이터의 해시정보와 상기 새 제1 블록체인의 식별정보를 트랜잭션으로 구성하여 상기 제2 블록체인에 저장하고,
상기 메모리는,
상기 복사 데이터의 식별정보, 상기 새 제1 블록체인의 식별정보, 상기 제2 블록체인의 식별정보를 저장하는 것을 특징으로 하는 노드. - 제11항에 있어서,
상기 프로세서는,
상기 새 제1 블록체인에 저장된 상기 복사 데이터에서 제1 해시정보를 추출하고;
추출된 상기 제1 해시정보와 상기 제2 해시정보가 일치하는지 비교하고;
일치하는 경우 상기 제2 해시정보와 상기 제3 해시정보가 일치하는지 비교하고;
일치하는 경우 상기 새 제1 블록체인에 저장된 상기 복사 데이터에 대한 원본 증명을 수행하는 것을 특징으로 하는 노드. - 제1 블록체인과 제2 블록체인으로 구성되는 블록체인에서 데이터를 관리하는 방법에 있어서,
상기 블록체인에 데이터를 저장하는 단계;를 포함하고
상기 데이터 저장단계는,
상기 제1 블록체인에 상기 데이터를 저장하는 단계; 및
상기 제1 블록체인에 저장된 상기 데이터의 해시정보를 상기 제2 블록체인에 저장하는 단계;를 포함하고
상기 제1 블록체인과 상기 제2 블록체인은 상호 연동하여 데이터를 관리하는 것을 특징으로 하는 방법. - 제13항에 있어서,
상기 제2 블록체인에 저장하는 단계는,
상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보를 매핑하여 상기 제2 블록체인에 저장하는 것을 특징으로 하는 방법. - 제14항에 있어서,
상기 제2 블록체인에 저장하는 단계는,
상기 데이터의 해시정보와 상기 제1 블록체인의 식별정보를 트랜잭션으로 구성하여 상기 제2 블록체인에 저장하는 것을 특징으로 하는 방법. - 제15항에 있어서,
상기 방법은,
상기 블록체인에서 데이터를 삭제하는 단계;를 추가로 포함하고
상기 데이터 삭제단계는,
삭제요청 데이터가 저장된 제1 블록체인에서 나머지 데이터에 대한 복사 데이터를 생성하는 단계;
새 제1 블록체인을 생성하여 상기 새 제1 블록체인에 상기 복사 데이터를 저장하는 단계; 및
상기 삭제요청 데이터가 저장된 상기 제1 블록체인을 삭제하는 단계;를 포함하는 것을 특징으로 하는 방법. - 제16항에 있어서,
상기 데이터 삭제단계는,
상기 새 제1 블록체인에 상기 복사 데이터를 저장하는 단계 이후,
상기 복사 데이터의 해시정보와 상기 새 제1 블록체인의 식별정보를 매핑하여 상기 제2 블록체인에 저장하는 단계;를 추가로 포함하는 것을 특징으로 하는 방법. - 제17항에 있어서,
상기 제2 블록체인에 저장하는 단계는,
상기 복사 데이터의 해시정보와 상기 새 제1 블록체인의 식별정보를 트랜잭션으로 구성하여 상기 제2 블록체인에 저장하는 것을 특징으로 하는 방법. - 제18항에 있어서,
상기 방법은,
상기 복사 데이터의 원본을 증명하는 단계;를 추가로 포함하고
상기 원본 증명단계는,
상기 새 제1 블록체인에 저장된 상기 복사 데이터에서 제1 해시정보를 추출하는 단계;
추출된 상기 제1 해시정보와 상기 제2 블록체인에 저장된 상기 복사 데이터의 제2 해시정보를 비교하는 단계; 및
상기 복사 데이터의 제2 해시정보, 상기 제2 블록체인에 저장된 원시 데이터의 제3 해시정보를 비교하는 단계;를 포함하고
상기 제1 해시정보, 상기 제2 해시정보, 및 상기 제3 해시정보가 모두 일치하는 경우 상기 복사 데이터가 원본임을 증명하는 것을 특징으로 하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170126457A KR102331947B1 (ko) | 2017-09-28 | 2017-09-28 | 블록체인에서 데이터 관리 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170126457A KR102331947B1 (ko) | 2017-09-28 | 2017-09-28 | 블록체인에서 데이터 관리 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190036948A true KR20190036948A (ko) | 2019-04-05 |
KR102331947B1 KR102331947B1 (ko) | 2021-11-25 |
Family
ID=66104334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170126457A KR102331947B1 (ko) | 2017-09-28 | 2017-09-28 | 블록체인에서 데이터 관리 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102331947B1 (ko) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102090025B1 (ko) * | 2019-05-29 | 2020-03-17 | (주)가민정보시스템 | 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템 및 이를 이용한 블록체인 생성방법 |
KR102117931B1 (ko) * | 2019-08-22 | 2020-06-02 | 정성원 | 서버에서 복수의 노드에 저장된 블록체인을 이용하여 2차 사용자 인증을 수행하는 방법 |
KR102125042B1 (ko) * | 2019-11-12 | 2020-06-19 | 주식회사 이노티움 | 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법 |
CN111797086A (zh) * | 2020-07-03 | 2020-10-20 | 杭州复杂美科技有限公司 | 数据裁剪方法、设备和存储介质 |
KR20200143197A (ko) * | 2019-06-13 | 2020-12-23 | 주식회사 한컴위드 | 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법 |
KR20210032168A (ko) | 2019-09-16 | 2021-03-24 | 손종희 | 블록체인 기반의 전자영수증 관리 장치 및 방법 |
CN112558557A (zh) * | 2019-09-25 | 2021-03-26 | 施耐德电器工业公司 | 工业过程控制 |
KR20210040624A (ko) | 2019-10-04 | 2021-04-14 | 주식회사 더리얼마케팅 | 블록체인 기반의 전자영수증 저장 장치 및 방법 |
WO2021070978A1 (ko) * | 2019-08-27 | 2021-04-15 | (주)하몬소프트 | 블록체인 기반의 edr 장치 및 방법 |
KR20210046982A (ko) | 2019-10-21 | 2021-04-29 | (주)노므브랜드테일러 | 프로젝트 관리 플랫폼 |
KR20210059182A (ko) * | 2019-11-15 | 2021-05-25 | 주식회사 이노티움 | 온라인 게시글에 대한 분쟁 해결을 위한 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법 |
KR20220019529A (ko) * | 2020-08-10 | 2022-02-17 | 주식회사 엘지유플러스 | 저작 컨텐츠의 위조 및 변조를 방지하는 저작 컨텐츠 관리 시스템 및 그 방법 |
KR20220061656A (ko) * | 2020-11-06 | 2022-05-13 | 한국전자통신연구원 | 블록체인 플랫폼에서의 블록 전파 방법 및 장치 |
KR102487849B1 (ko) * | 2021-11-11 | 2023-01-12 | 주식회사 미임팩트 | 블록체인에 기반한 민감 정보의 위변조 방지 장치 및 그 방법 |
US11580087B2 (en) | 2019-12-13 | 2023-02-14 | Hyundai Motor Company | Blockchain generation system and method for operating the same |
US12050593B2 (en) | 2020-11-06 | 2024-07-30 | Electronics And Telecommunications Research Institute | Method and apparatus for block propagation in blockchain platform |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701131B1 (ko) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템 |
KR101723405B1 (ko) | 2016-07-04 | 2017-04-06 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법 |
KR101727525B1 (ko) * | 2016-09-05 | 2017-04-17 | 주식회사 스케일체인 | 블록체인 기반 분산 저장 방법 및 이를 이용한 장치 |
KR101781583B1 (ko) * | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 |
-
2017
- 2017-09-28 KR KR1020170126457A patent/KR102331947B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101701131B1 (ko) * | 2016-04-28 | 2017-02-13 | 주식회사 라피 | 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템 |
KR101723405B1 (ko) | 2016-07-04 | 2017-04-06 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법 |
KR101781583B1 (ko) * | 2016-08-31 | 2017-09-27 | 서강대학교산학협력단 | 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법 |
KR101727525B1 (ko) * | 2016-09-05 | 2017-04-17 | 주식회사 스케일체인 | 블록체인 기반 분산 저장 방법 및 이를 이용한 장치 |
Non-Patent Citations (1)
Title |
---|
최한준, 헬스케어 산업에서의 블록체인 기술의 활용, 한국보건산업진흥원(2017.05.12.) 1부.* * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102090025B1 (ko) * | 2019-05-29 | 2020-03-17 | (주)가민정보시스템 | 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템 및 이를 이용한 블록체인 생성방법 |
KR20200143197A (ko) * | 2019-06-13 | 2020-12-23 | 주식회사 한컴위드 | 블록체인을 기반으로 데이터의 분산 암호화 관리를 가능하게 하는 데이터 관리 장치 및 그 동작 방법 |
KR102117931B1 (ko) * | 2019-08-22 | 2020-06-02 | 정성원 | 서버에서 복수의 노드에 저장된 블록체인을 이용하여 2차 사용자 인증을 수행하는 방법 |
WO2021070978A1 (ko) * | 2019-08-27 | 2021-04-15 | (주)하몬소프트 | 블록체인 기반의 edr 장치 및 방법 |
KR20210032168A (ko) | 2019-09-16 | 2021-03-24 | 손종희 | 블록체인 기반의 전자영수증 관리 장치 및 방법 |
CN112558557A (zh) * | 2019-09-25 | 2021-03-26 | 施耐德电器工业公司 | 工业过程控制 |
KR20210040624A (ko) | 2019-10-04 | 2021-04-14 | 주식회사 더리얼마케팅 | 블록체인 기반의 전자영수증 저장 장치 및 방법 |
KR20210046982A (ko) | 2019-10-21 | 2021-04-29 | (주)노므브랜드테일러 | 프로젝트 관리 플랫폼 |
KR102125042B1 (ko) * | 2019-11-12 | 2020-06-19 | 주식회사 이노티움 | 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법 |
KR20210059182A (ko) * | 2019-11-15 | 2021-05-25 | 주식회사 이노티움 | 온라인 게시글에 대한 분쟁 해결을 위한 블록체인 네트워크를 구성하는 노드 장치 및 그 노드 장치의 동작 방법 |
US11580087B2 (en) | 2019-12-13 | 2023-02-14 | Hyundai Motor Company | Blockchain generation system and method for operating the same |
CN111797086A (zh) * | 2020-07-03 | 2020-10-20 | 杭州复杂美科技有限公司 | 数据裁剪方法、设备和存储介质 |
KR20220019529A (ko) * | 2020-08-10 | 2022-02-17 | 주식회사 엘지유플러스 | 저작 컨텐츠의 위조 및 변조를 방지하는 저작 컨텐츠 관리 시스템 및 그 방법 |
KR20220061656A (ko) * | 2020-11-06 | 2022-05-13 | 한국전자통신연구원 | 블록체인 플랫폼에서의 블록 전파 방법 및 장치 |
US12050593B2 (en) | 2020-11-06 | 2024-07-30 | Electronics And Telecommunications Research Institute | Method and apparatus for block propagation in blockchain platform |
KR102487849B1 (ko) * | 2021-11-11 | 2023-01-12 | 주식회사 미임팩트 | 블록체인에 기반한 민감 정보의 위변조 방지 장치 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102331947B1 (ko) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190036948A (ko) | 블록체인에서 데이터 관리 시스템 및 방법 | |
JP6875557B2 (ja) | サービス・データをブロックチェーン・システムに書き込むための方法およびデバイス | |
CN110096857B (zh) | 区块链***的权限管理方法、装置、设备和介质 | |
EP3044901B1 (en) | Keying infrastructure | |
JP2021527274A (ja) | ブロックチェーンの分散アクセス、記憶、及び転送 | |
KR101986081B1 (ko) | 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법 | |
KR102519646B1 (ko) | 앵커링 기반 정보 공유 방법 및 이를 지원하는 앵커링 장치 | |
CN109597822B (zh) | 一种用户数据的存储及查询方法和用户数据处理装置 | |
CN102170440A (zh) | 适用于存储云间数据安全迁移的方法 | |
KR101976787B1 (ko) | 블록체인에서 스마트 컨트랙트를 이용한 전자 문서 유통 방법 | |
CN112862490B (zh) | 一种异步网络下的输出共识方法 | |
TW202109306A (zh) | 在區塊鏈上提供可遍歷金鑰值資料儲存的方法和設備 | |
CN110445765B (zh) | 基于区块链的数据共享方法、终端设备及介质 | |
CN110930152B (zh) | 一种基于区块链的数据处理方法及相关设备 | |
KR102284422B1 (ko) | 블록체인 시스템에서 노드 사이의 통신 확립 방법 및 디바이스 | |
CN111460394A (zh) | 一种版权文件的验证方法、装置及计算机可读存储介质 | |
CN113961908B (zh) | 数据存证方法、装置、计算机设备和存储介质 | |
CN112866302B (zh) | 对集群数据完整性检查的方法、设备、介质及程序产品 | |
CN112528323A (zh) | 一种数据处理方法和装置 | |
CN109067849A (zh) | 基于区块的数据同步方法 | |
CN111951112A (zh) | 基于区块链的智能合约执行方法、终端设备和存储介质 | |
CN114296651B (zh) | 一种用于存储自定义数据信息的方法与设备 | |
CN113392138B (zh) | 一种隐私数据的统计分析方法、装置、服务器和存储介质 | |
CN115470264A (zh) | 一种数据审计方法及装置、电子设备、存储介质 | |
Balashov et al. | Optimal shattering of complex networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |