KR20220168415A - Embedding blockchain method and system using external storage media - Google Patents
Embedding blockchain method and system using external storage media Download PDFInfo
- Publication number
- KR20220168415A KR20220168415A KR1020210078126A KR20210078126A KR20220168415A KR 20220168415 A KR20220168415 A KR 20220168415A KR 1020210078126 A KR1020210078126 A KR 1020210078126A KR 20210078126 A KR20210078126 A KR 20210078126A KR 20220168415 A KR20220168415 A KR 20220168415A
- Authority
- KR
- South Korea
- Prior art keywords
- block chain
- block
- data
- external storage
- storage medium
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012795 verification Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 임베딩 블록 체인 방법 및 장치에 관한 것으로, 보다 구체적으로는 외부 저장 매체를 이용하여 블록 체인 시스템에 저장되는 데이터의 크기를 감소시키는 방법 및 시스템에 관한 것이다.The present invention relates to an embedded blockchain method and apparatus, and more particularly, to a method and system for reducing the size of data stored in a blockchain system using an external storage medium.
블록 체인 시스템은 블록 체인으로 저장하는 데이터의 크기가 증가함에 따라 블록 체인 노드들 각각이 포함해야 하는 저장 공간의 크기도 증가하게 된다. 그러나, 저장 매체의 용량에는 비용, 성능상에 한계가 있으므로, 블록 체인 데이터의 경량화가 필요하다.In the blockchain system, as the size of data stored in the blockchain increases, the size of the storage space that each node of the blockchain must include also increases. However, since the capacity of the storage medium has limitations in terms of cost and performance, it is necessary to reduce the weight of blockchain data.
종래의 블록체인 경량화 기술은 블록체인 데이터들을 요약하여 하나의 블록으로 생성하고 나머지 블록체인을 삭제하였다. 그러나, 종래의 블록체인 경량화 기술은 데이터의 요약으로 인한 데이터 유실이 발생한다는 문제가 있었다.Conventional block-chain lightweight technology summarizes block-chain data to create one block and deletes the rest of the block-chain. However, the conventional blockchain lightweight technology has a problem in that data loss occurs due to data summary.
따라서, 데이터 유실 없이 블록 체인의 용량을 경량화하는 방법이 요청되고 있다.Therefore, there is a demand for a method of reducing the capacity of a block chain without data loss.
본 발명은 블록 체인 데이터가 기 설정된 크기 이상으로 증가한 경우, 외부 저장 매체에 블록 체인 데이터를 저장하고, 외부 저장 매체에서 블록 체인 데이터가 저장된 주소를 블록 체인으로 관리함으로써, 블록 체인의 용량을 경량화 하는 방법 및 시스템을 제공할 수 있다.The present invention is to reduce the capacity of the block chain by storing the block chain data in an external storage medium and managing the address where the block chain data is stored in the external storage medium as a block chain when the block chain data increases to a predetermined size or more. Methods and systems can be provided.
또한, 본 발명은 블록 체인 데이터를 외부 저장 매체에 저장하기 전에 검증하고, 블록 체인 데이터가 저장된 주소에서 블록 체인을 가져와 마지막 블록 해시를 검증함으로써, 외부 저장 매체에 저장된 데이터가 위 변조되지 않음을 보장하는 방법 및 시스템을 제공할 수 있다.In addition, the present invention verifies the block chain data before storing it in an external storage medium, and verifies the last block hash by bringing the block chain from the address where the block chain data is stored, thereby ensuring that the data stored in the external storage medium is not forged or tampered with. A method and system can be provided.
본 발명의 일실시예에 따른 임베딩 블록 체인 방법은 블록 체인 데이터가 업로드 조건을 만족하는 경우, 상기 블록 체인 데이터를 외부 저장 매체로 전송하는 단계; 상기 외부 저장 매체로부터 상기 블록 체인 데이터가 저장된 주소를 수신하는 단계; 및 상기 주소를 제2 블록 체인 시스템으로 전송하는 단계를 포함하고, 상기 제2 블록 체인 시스템은, 사용자 단말로부터 상기 블록 체인 데이터를 요청받은 경우, 상기 주소를 전송하여 상기 사용자 단말이 상기 외부 저장 매체로부터 상기 블록 체인 데이터를 수신하도록 할 수 있다.An embedding block chain method according to an embodiment of the present invention includes the steps of transmitting the block chain data to an external storage medium when the block chain data satisfies an upload condition; Receiving an address where the block chain data is stored from the external storage medium; And transmitting the address to a second block chain system, wherein the second block chain system, when receiving a request for the block chain data from a user terminal, transmits the address so that the user terminal can use the external storage medium. It is possible to receive the block chain data from
본 발명의 일실시예에 따른 임베딩 블록 체인 방법의 상기 외부 저장 매체로 전송하는 단계는, 상기 블록 체인 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수 있다.In the step of transmitting to the external storage medium of the embedding block chain method according to an embodiment of the present invention, when the block chain data exceeds a preset size or length, it is determined that the block chain data satisfies the upload condition. can do.
본 발명의 일실시예에 따른 임베딩 블록 체인 방법의 상기 외부 저장 매체로 전송하는 단계는, 현재 시간이 기 설정된 시간이거나, 현재 시간과 이전 블록 체인 데이터를 외부 저장 매체로 전송한 시간 간의 차이가 기 설정된 시간 간격인 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수 있다.In the step of transmitting to the external storage medium of the embedding block chain method according to an embodiment of the present invention, the current time is a preset time, or the difference between the current time and the time when the previous block chain data is transmitted to the external storage medium is the default In the case of a set time interval, it can be determined that the block chain data satisfies the upload condition.
본 발명의 일실시예에 따른 임베딩 블록 체인 방법의 상기 외부 저장 매체로 전송하는 단계는, 현재 블록 체인 데이터가 기 설정된 위치의 블록인 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수 있다.In the step of transmitting to the external storage medium of the embedding block chain method according to an embodiment of the present invention, if the current block chain data is a block at a preset location, it can be determined that the block chain data satisfies the upload condition. .
본 발명의 일실시예에 따른 임베딩 블록 체인 방법의 상기 외부 저장 매체로 전송하는 단계는, 상기 블록 체인 데이터가 업로드 조건을 만족하는 경우, 상기 블록 체인 데이터를 검증하고, 상기 블록 체인 데이터가 검증을 통과한 경우, 상기 블록 체인 데이터를 외부 저장 매체로 전송할 수 있다.In the step of transmitting to the external storage medium of the embedding block chain method according to an embodiment of the present invention, when the block chain data satisfies the upload condition, the block chain data is verified, and the block chain data is verified. If passed, the block chain data can be transmitted to an external storage medium.
본 발명의 일실시예에 따른 임베딩 블록 체인 방법은 상기 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작하는 단계를 더 포함할 수 있다.The embedding block chain method according to an embodiment of the present invention may further include restarting the block chain by setting the hash value of the last block of the address to the genesis block.
본 발명의 일실시예에 따른 임베딩 블록 체인 방법은 상기 주소의 마지막 블록 해시값이 제네시스 블록으로 설정된 경우, 제1블록 체인 시스템에 포함된 블록 체인 노드들 각각이 보유하고 있는 해시값을 상기 마지막 블록 해시값과 동일한지 여부 및 서명의 유효성을 확인하여 검증하는 단계를 더 포함할 수 있다.In the embedding block chain method according to an embodiment of the present invention, when the hash value of the last block of the address is set to the genesis block, the hash value held by each of the block chain nodes included in the first block chain system is set to the last block. A step of verifying whether the signature is the same as the hash value and validating the signature may be further included.
본 발명의 일실시예에 따른 임베딩 블록 체인 방법은 제1 블록 체인 시스템으로부터 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 외부 저장 매체의 주소를 수신하는 단계; 제1 블록 체인 시스템의 공개키를 이용하여 상기 제1 블록 체인 서명을 검증하는 단계; 및 상기 제1 블록 체인 서명이 검증된 경우, 상기 주소를 제2 블록 체인 시스템의 블록 체인 데이터로 저장하는 단계를 포함할 수 있다.An embedding block chain method according to an embodiment of the present invention includes receiving an address of an external storage medium in which a first block chain signature and block chain data are stored from a first block chain system; verifying the signature of the first block chain using a public key of the first block chain system; and storing the address as block chain data of a second block chain system when the first block chain signature is verified.
본 발명의 일실시예에 따른 임베딩 블록 체인 방법은 사용자 단말로부터 상기 블록 체인 데이터를 요청받은 경우, 상기 주소를 전송하는 단계를 더 포함하고, 상기 사용자 단말은, 상기 주소에 따라 상기 외부 저장 매체에 접속하여 상기 외부 저장 매체로부터 상기 블록 체인 데이터를 수신할 수 있다.The embedding block chain method according to an embodiment of the present invention further includes transmitting the address when the block chain data is requested from a user terminal, and the user terminal stores the external storage medium according to the address. It is possible to receive the block chain data from the external storage medium by accessing it.
본 발명의 일실시예에 따른 임베딩 블록 체인 방법의 상기 제1 블록 체인 서명을 검증하는 단계는, 상기 제1 블록 체인 시스템으로부터 제1 블록 체인 서명 및 제1 블록 체인 인증서를 수신하는 단계; 상기 인증서를 복호화하여 상기 제1 블록 체인 시스템의 공개키를 획득하는 단계; 상기 공개키로 상기 제1 블록 체인 서명을 검증하는 단계; 및 상기 제1 블록 체인 서명이 검증된 경우, 제네시스 블록을 저장하는 단계를 포함할 수 있다.The step of verifying the first block chain signature of the embedding block chain method according to an embodiment of the present invention includes receiving a first block chain signature and a first block chain certificate from the first block chain system; decrypting the certificate to obtain a public key of the first block chain system; verifying the first blockchain signature with the public key; and storing the genesis block when the first block chain signature is verified.
본 발명의 일실시예에 따른 임베딩 블록 체인 시스템은 블록 체인 데이터가 업로드 조건을 만족하는 경우, 상기 블록 체인 데이터를 외부 저장 매체로 전송하고, 상기 외부 저장 매체로부터 상기 블록 체인 데이터가 저장된 주소를 수신하며, 상기 주소를 제2 블록 체인 시스템으로 전송하는 제1 블록 체인 시스템; 및 상기 주소를 저장하고, 사용자 단말로부터 상기 블록 체인 데이터를 요청받은 경우, 상기 주소를 전송하여 상기 사용자 단말이 상기 외부 저장 매체로부터 상기 블록 체인 데이터를 수신하도록 하는 제2 블록 체인 시스템을 포함할 수 있다.The embedding block chain system according to an embodiment of the present invention transmits the block chain data to an external storage medium when the block chain data satisfies the upload condition, and receives the address where the block chain data is stored from the external storage medium. and a first block chain system for transmitting the address to a second block chain system; and a second block chain system that stores the address and transmits the address when the block chain data is requested from the user terminal so that the user terminal receives the block chain data from the external storage medium. there is.
본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 상기 제1 블록 체인 시스템은, 상기 블록 체인 데이터가 업로드 조건을 만족하는 경우, 상기 블록 체인 데이터를 검증하고, 상기 블록 체인 데이터가 검증을 통과한 경우, 상기 블록 체인 데이터를 외부 저장 매체로 전송할 수 있다.In the first block chain system of the embedding block chain system according to an embodiment of the present invention, when the block chain data satisfies the upload condition, the block chain data is verified, and the block chain data passes verification. In this case, the block chain data can be transmitted to an external storage medium.
본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 상기 제1 블록 체인 시스템은, 상기 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작할 수 있다.The first block chain system of the embedding block chain system according to an embodiment of the present invention may restart the block chain by setting the hash value of the last block of the address to the genesis block.
본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 상기 제2 블록 체인 시스템은, 제1 블록 체인 시스템으로부터 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 외부 저장 매체의 주소를 수신하고, 제1 블록 체인 시스템의 공개키를 이용하여 상기 제1 블록 체인 서명을 검증하며, 상기 제1 블록 체인 서명이 검증된 경우, 상기 주소를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다.The second block chain system of the embedding block chain system according to an embodiment of the present invention receives the address of the external storage medium in which the first block chain signature and block chain data are stored from the first block chain system, and receives the first block chain data. The first block chain signature is verified using the public key of the chain system, and when the first block chain signature is verified, the address can be stored as block chain data of the second block chain system.
본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 상기 제2 블록 체인 시스템은, 상기 제1 블록 체인 시스템으로부터 제1 블록 체인 서명 및 제1 블록 체인 인증서를 수신하고, 상기 인증서를 복호화하여 상기 제1 블록 체인 시스템의 공개키를 획득하며, 상기 공개키로 상기 제1 블록 체인 서명을 검증하고, 상기 제1 블록 체인 서명이 검증된 경우, 제네시스 블록을 저장할 수 있다.The second block chain system of the embedding block chain system according to an embodiment of the present invention receives a first block chain signature and a first block chain certificate from the first block chain system, decrypts the certificate, and A public key of one block chain system is acquired, the signature of the first block chain is verified with the public key, and the genesis block can be stored when the signature of the first block chain is verified.
본 발명의 일실시예에 의하면, 블록 체인 데이터가 기 설정된 크기 이상으로 증가한 경우, 외부 저장 매체에 블록 체인 데이터를 저장하고, 외부 저장 매체에서 블록 체인 데이터가 저장된 주소를 블록 체인으로 관리함으로써, 블록 체인의 용량을 경량화할 수 있다.According to one embodiment of the present invention, when the block chain data increases to a predetermined size or more, by storing the block chain data in an external storage medium and managing the address where the block chain data is stored in the external storage medium as a block chain, The capacity of the chain can be reduced.
또한, 본 발명의 일실시예에 의하면, 블록 체인 데이터를 외부 저장 매체에 저장하기 전에 검증하고, 블록 체인 데이터가 저장된 주소에서 블록 체인을 가져와 마지막 블록 해시를 검증함으로써, 외부 저장 매체에 저장된 데이터가 위 변조되지 않음을 보장할 수 있다.In addition, according to one embodiment of the present invention, the data stored in the external storage medium is verified by verifying the block chain data before storing it in the external storage medium and verifying the last block hash by bringing the block chain from the address where the block chain data is stored. It can be guaranteed that the above is not tampered with.
도 1은 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 동작 과정을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 인증서 및 서명 등록 과정을 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 주소 등록 과정을 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 주소 검증 및 재시작 과정을 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 블록 체인 클라이언트가 수행하는 임베딩 블록 체인 방법을 도시한 플로우차트이다.
도 7은 본 발명의 일실시예에 따른 제2 블록 체인 시스템이 수행하는 임베딩 블록 체인 방법을 도시한 플로우차트이다.1 is a diagram illustrating an embedded block chain system according to an embodiment of the present invention.
2 is a diagram illustrating an operation process of an embedding block chain system according to an embodiment of the present invention.
3 is a diagram illustrating a certificate and signature registration process of an embedded block chain system according to an embodiment of the present invention.
4 is a diagram illustrating an address registration process of an embedded block chain system according to an embodiment of the present invention.
5 is a diagram illustrating an address verification and restart process of an embedded block chain system according to an embodiment of the present invention.
6 is a flowchart illustrating an embedding block chain method performed by a block chain client according to an embodiment of the present invention.
7 is a flowchart illustrating an embedding block chain method performed by the second block chain system according to an embodiment of the present invention.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes can be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents or substitutes to the embodiments are included within the scope of rights.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are used only for descriptive purposes and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description will be omitted.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템을 도시한 도면이다.1 is a diagram illustrating an embedded block chain system according to an embodiment of the present invention.
임베딩 블록 체인 시스템은 도 1에 도시된 바와 같이 제1 블록 체인 시스템(110), 외부 저장 매체(120), 및 제2 블록 체인 시스템(130)을 포함할 수 있다.The embedded block chain system may include a first
제1 블록 체인 시스템(110)은 블록 체인 클라이언트(111) 및 복수의 블록 체인 노드들로 구성될 수 있다. 또한, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드 중 하나이며, 블록 체인 데이터를 외부 저장 매체(120)로 전송하고, 블록 체인 데이터가 저장된 주소를 제2 블록 체인 시스템(130)으로 전송하는 동작을 수행하는 블록 체인 노드일 수 있다.The first
즉, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드 중에서 임베딩 블록 체인 방법을 수행하는 노드일 수 있다. 실시예에 따라, 제1 블록 체인 시스템(110)에 포함된 모든 블록 체인 노드가 블록 체인 클라이언트(111)로 동작할 수도 있고, 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드 중 블록 체인 클라이언트(111)로 동작할 블록 체인 노드가 지정될 수도 있다.That is, the
또한, 외부 저장 매체(120)는 도 1에 도시된 바와 같이 제1 블록 체인 시스템(110), 및 제2 블록 체인 시스템(130)에 포함되지 않은 별도의 저장 매체일 수도 있고, 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드들 중 블록 체인 클라이언트(111)가 아닌 블록 체인 노드에서 블록 체인 시스템에 사용되지 않은 별도의 저장 매체일 수도 있다.In addition, the
블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 블록 체인 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수 있다. 또한, 현재 시간이 기 설정된 시간이거나, 현재 시간과 이전 블록 체인 데이터를 외부 저장 매체(120)로 전송한 시간 간의 차이가 기 설정된 시간 간격인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다.The
그리고, 현재 블록 체인 데이터가 기 설정된 위치의 블록인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다. 예를 들어, 업로드 조건이 M 번째 블록이라 설정된 경우, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)이 관리하는 블록 체인 데이터들 중 첫번째 블록을 기준으로 M 번째 블록, 2M 번째 블록, 3M 번째 블록,??들을 업로드 조건을 만족하는 블록 체인 데이터로 판단할 수 있다.And, if the current block chain data is a block at a preset location, the
그리고, 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수 있다. 이때, 블록 체인 클라이언트(111)는 블록 체인 데이터를 검증하고, 블록 체인 데이터가 검증을 통과한 경우, 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수도 있다.And, when the block chain data stored in the first
이때, 외부 저장 매체(120)는 수신한 블록 체인 데이터를 저장하고, 블록 체인 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다.At this time, the
블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소를 제2 블록 체인 시스템(130)으로 전송할 수 있다.The
이때, 제2 블록 체인 시스템(130)은 수신한 주소를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다. 그리고, 제2 블록 체인 시스템(130)은 사용자 단말로부터 외부 저장 매체(120)에 저장된 블록 체인 데이터를 요청받을 수 있다. 이때, 제2 블록 체인 시스템(130)은 블록 체인 클라이언트(111)로부터 수신하여 저장한 주소를 사용자 단말로 전송할 수 있다. 이때, 사용자 단말은, 수신한 주소에 따라 외부 저장 매체(120)에 접속하여 외부 저장 매체(120)로부터 블록 체인 데이터를 수신할 수 있다.At this time, the second
또한, 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작할 수 있다. 이때, 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소의 마지막 블록 해시값이 제네시스 블록으로 설정된 경우, 제1블록 체인 시스템(110)에 포함된 블록 체인 노드들 각각이 보유하고 있는 해시값을 마지막 블록 해시값과 동일한지 여부 및 서명의 유효성을 확인하여 검증할 수 있다.In addition, the
또한, 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소를 전송하기 전에 제2 블록 체인 시스템(130)으로 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 외부 저장 매체의 주소를 전송할 수 있다.In addition, the
이때, 제2 블록 체인 시스템(130)은 제1 블록 체인 시스템의 공개키를 이용하여 제1 블록 체인 서명을 검증할 수 있다.At this time, the second
구체적으로, 제2 블록 체인 시스템(130)은 제1 블록 체인 시스템의 블록 체인 클라이언트(111)로부터 제1 블록 체인 서명 및 제1 블록 체인 인증서를 수신할 수 있다. 이때, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템의 블록 체인 노드들 각각이 제네시스 블록 해시값을 자신의 개인키로 암호화하여 생성한 서명들을 수집하여 제1 블록 체인 서명을 생성할 수 있다. 이때, 제네시스 블록 해시값은 블록 체인 노드들 각각이 저장하고 있는 블록들 중 첫번째 블록의 해시값일 수 있다. 예를 들어, 재네시스 블록 해시값은 기존 블록 구조인 블록 번호, 블록 해시, 이전 블록 해시, 데이터(트랜잭션 목록)에서 (블록 번호: 0 , 이전 블록해시: 비어있음, 데이터:비어있음)을 해시화한 값일 수 있다.Specifically, the second
그리고, 제2 블록 체인 시스템(130)은 제1 블록 체인 인증서를 복호화하여 제1 블록 체인 시스템(110)의 공개키를 획득할 수 있다. 다음으로, 제2 블록 체인 시스템(130)은 획득한 공개키로 제1 블록 체인 서명을 검증할 수 있다. In addition, the second
이때, 제2 블록 체인 시스템(130)은 공기케로 제1 블록 체인 서명에 포함된 서명들 각각으로부터 제네시스 블록 해시값을 복호화할 수 있다. 그리고, 복호화한 제네시스 블록 해시값들이 모두 동일한 경우, 제2 블록 체인 시스템(130)은 제1 블록 체인 서명이 검증된 것으로 판단할 수 있다.At this time, the second
제1 블록 체인 서명이 검증된 경우, 제2 블록 체인 시스템(130)은 제네시스 블록 해시값 및 제1 블록 체인 시스템(110)의 공개키를 저장할 수 있다. 반면, 제1 블록 체인 서명이 검증되지 않은 경우, 제2 블록 체인 시스템(130)은 제네시스 블록 해시값을 저장하지 않을 수 있다. When the first blockchain signature is verified, the
임베딩 블록 체인 시스템은 블록 체인 데이터가 기 설정된 크기 이상으로 증가한 경우, 외부 저장 매체에 블록 체인 데이터를 저장하고, 외부 저장 매체에서 블록 체인 데이터가 저장된 주소를 블록 체인으로 관리함으로써, 블록 체인의 용량을 경량화할 수 있다.The embedded block chain system increases the capacity of the block chain by storing the block chain data in an external storage medium and managing the address where the block chain data is stored in the external storage medium as a block chain when the block chain data increases to a predetermined size or more. can be lightened.
또한, 임베딩 블록 체인 시스템은 블록 체인 데이터를 외부 저장 매체에 저장하기 전에 검증하고, 블록 체인 데이터가 저장된 주소에서 블록 체인을 가져와 마지막 블록 해시를 검증함으로써, 외부 저장 매체에 저장된 데이터가 위 변조되지 않음을 보장할 수 있다.In addition, the embedding blockchain system verifies block chain data before storing it in an external storage medium, and verifies the last block hash by bringing the block chain from the address where the block chain data is stored, so that the data stored in the external storage medium is not forged or tampered with. can guarantee
도 2는 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 동작 과정을 도시한 도면이다.2 is a diagram illustrating an operation process of an embedding block chain system according to an embodiment of the present invention.
단계(210)에서 제1 블록 체인 시스템(110)의 블록 체인 클라이언트(111)는 블록 체인 데이터(211)가 업로드 조건을 만족하는지 여부를 확인할 수 있다. In
블록 체인 데이터(211)가 기 설정된 크기, 또는 시간과 같은 업로드 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수 있다.When the
단계(220)에서 외부 저장 매체(120)는 수신한 블록 체인 데이터를 저장하고, 블록 체인 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다.In
단계(230)에서 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소를 제2 블록 체인 시스템(130)으로 전송할 수 있다. 이때, 제2 블록 체인 시스템(130)은 수신한 주소(231)를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다. 구체적으로, 제2 블록 체인 시스템(130)은 수신한 주소(231)를 이용하여 외부 저장 매체(120)에 접속하여 블록 체인 데이터의 마지막 해시를 요청할 수 있다. 그리고, 제2 블록 체인 시스템(130)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시와 주소(231)를 포함하는 블록을 2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다.In
단계(240)에서 제2 블록 체인 시스템(130)은 사용자 단말(200)로부터 외부 저장 매체(120)에 저장된 블록 체인 데이터를 요청받을 수 있다. 이때, 제2 블록 체인 시스템(130)은 블록 체인 클라이언트(111)로부터 수신하여 저장한 주소를 사용자 단말(200)로 전송할 수 있다. 또한, 제2 블록 체인 시스템(130)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시를 사용자 단말(200)로 전송할 수 있다.In step 240, the second
단계(250)에서 사용자 단말(200)은 단계(250)에서 수신한 주소에 따라 외부 저장 매체(120)에 접속하여 블록 체인 데이터를 요청할 수 있다.In step 250, the
단계(260)에서 외부 저장 매체(120)는 사용자 단말(200)의 요청에 따라 블록 체인 데이터를 사용자 단말(200)로 전송할 수 있다. 이때, 사용자 단말(200)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시와 제2 블록 체인 시스템(130)으로부터 수신한 마지막 해시를 비교할 수 있다. 그리고, 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시와 제2 블록 체인 시스템(130)으로부터 수신한 마지막 해시가 동일한 경우, 사용자 단말(200)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터가 위 변조되지 않은 것으로 판단하고, 수신한 블록 체인 데이터를 사용자에게 제공할 수 있다.In step 260, the
또한, 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시와 제2 블록 체인 시스템(130)으로부터 수신한 마지막 해시가 서로 다른 경우, 사용자 단말(200)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터가 위 변조된 것으로 판단하고, 블록 체인 데이터가 위 변조된 것을 사용자에게 알릴 수 있다.In addition, when the last hash of the blockchain data received from the
도 3은 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 인증서 및 서명 등록 과정을 도시한 도면이다.3 is a diagram illustrating a certificate and signature registration process of an embedded block chain system according to an embodiment of the present invention.
블록 체인 클라이언트(111)는 제1 블록 체인 시스템의 제1 블록 체인 노드 1의 인증서인 제1 블록 체인 노드 1 인증서, 제1 블록 체인 노드 2의 인증서인 제1 블록 체인 노드 2 인증서, 및 제1 블록 체인 노드 3의 인증서인 제1 블록 체인 노드 3 인증서를 수집할 수 있다. 그리고, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 1 인증서, 제1 블록 체인 노드 2 인증서, 및 제1 블록 체인 노드 3 인증서가 포함된 제1 블록 체인 인증서(310)를 제2 블록 체인 시스템(130)으로 전송할 수 있다.The
또한, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템의 제1 블록 체인 노드 1이 제네시스 블록 해시값을 자신의 개인키로 암호화하여 생성한 제1 블록 체인 노드 1 서명, 제1 블록 체인 노드 2가 제네시스 블록 해시값을 자신의 개인키로 암호화하여 생성한 제1 블록 체인 노드 2 서명, 및 제1 블록 체인 노드 3이 제네시스 블록 해시값을 자신의 개인키로 암호화하여 생성한 제1 블록 체인 노드 3 서명을 수집할 수 있다. In addition, the
그리고, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 1 서명, 제1 블록 체인 노드 2 서명, 및 제1 블록 체인 노드 3 서명이 포함된 제1 블록 체인 서명(320)을 제2 블록 체인 시스템(130)으로 전송할 수 있다.In addition, the
이때, 제2 블록 체인 시스템(130)은 제1 블록 체인 인증서를 복호화하여 제1 블록 체인 시스템(110)의 공개키를 획득할 수 있다. 다음으로, 제2 블록 체인 시스템(130)은 획득한 공개키로 제1 블록 체인 서명(420)을 검증할 수 있다. At this time, the second
예를 들어, 제1 블록 체인 서명(420)에 포함된 서명들을 공개키로 복호화한 결과가 동일한 경우, 제2 블록 체인 시스템(130)은 제1 블록 체인 서명이 검증된 것으로 판단할 수 있다. 또한, 제1 블록 체인 서명(420)에 포함된 서명들을 공개키로 복호화한 결과가 서로 다른 경우, 제2 블록 체인 시스템(130)은 제1 블록 체인 서명이 검증되지 않은 것으로 판단할 수 있다.For example, when the result of decrypting the signatures included in the first block chain signature 420 with the public key is the same, the second
제1 블록 체인 서명이 검증된 경우, 제2 블록 체인 시스템(130)은 제네시스 블록을 저장할 수 있다. 반면, 제1 블록 체인 서명이 검증되지 않은 경우, 제2 블록 체인 시스템(130)은 제네시스 블록을 저장하지 않을 수 있다. When the first blockchain signature is verified, the
도 4는 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 주소 등록 과정을 도시한 도면이다.4 is a diagram illustrating an address registration process of an embedded block chain system according to an embodiment of the present invention.
블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 블록 체인 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수 있다. 또한, 현재 시간이 기 설정된 시간이거나, 현재 시간과 이전 블록 체인 데이터를 외부 저장 매체(120)로 전송한 시간 간의 차이가 기 설정된 시간 간격인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다.The
제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터를 검증할 수 있다. 예를 들어, 블록 체인 클라이언트(111)는 제1 블록 체인 서명(320)에 포함된 서명들에 대하여 다중 서명 검증을 수행할 수 있다. When the block chain data stored in the first
또한, 블록 체인 데이터는 첫 번째 블록부터 마지막 블록까지 블록 해시값을 연결하고 있으므로, 첫 번째 블록부터 마지막 블록 중 적어도 하나의 블록의 데이터가 변경된 경우 모든 블록의 해시값이 변경될 수 있다. 따라서, 마지막 블록 해시값을 확인하면, 블록 체인 데이터의 위변조 여부를 확인할 수 있다.In addition, since block chain data connects block hash values from the first block to the last block, if the data of at least one block from the first block to the last block is changed, the hash values of all blocks may change. Therefore, by checking the last block hash value, it is possible to check whether the block chain data has been forged or altered.
따라서, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드들에게 블록 체인 데이터의 마지막 블록 해시값을 전송하고, 블록 체인 노드들 각각이 관리하는 블록 체인 데이터의 마지막 블록 해시값과 동일한지 여부에 대한 확인을 요청할 수 있다. 그리고, 각각의 블록 체인 노드들은 수신한 마지막 블록 해시값과 자신이 보관하고 있는 마지막 블록 해시값이 동일한지 여부를 확인할 수 있다. 그리고, 수신한 마지막 블록 해시값과 자신이 보관하고 있는 마지막 블록 해시값이 동일한 경우, 블록 체인 노드들 각각은 서명을 블록 체인 클라이언트(111), 또는 다른 블록 체인 노드로 전송할 수 있다. 모든 노드에서 마지막 블록 해시 값이 동일한 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 검증을 통과한 것으로 판단할 수 있다.Therefore, the
예를 들어, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 3에게 마지막 블록 해시값을 전송할 수 있다. 그리고, 제1 블록 체인 노드 3는 수신한 마지막 블록 해시값과 자신이 보관하고 있는 마지막 블록 해시값이 동일한 경우, 제1 블록 체인 노드 3 서명과 마지막 블록 해시값을 제1 블록 체인 노드 2로 전송할 수 있다.For example, the
제1 블록 체인 노드 2 및 제1 블록 체인 노드 1도 제1 블록 체인 노드 3과 동일하게 동작할 수 있다. 그리고, 제1 블록 체인 노드 1은 수신한 마지막 블록 해시값과 자신이 보관하고 있는 마지막 블록 해시값이 동일한 경우, 제1 블록 체인 노드 1 서명에 제1 블록 체인 노드 2로부터 수신한 제1 블록 체인 노드 2 서명, 제1 블록 체인 노드 3 서명과 마지막 블록 해시값을 블록 체인 클라이언트(111)로 전송할 수 있다.The first block chain node 2 and the first block chain node 1 may also operate in the same way as the first block chain node 3. In addition, when the first block chain node 1 has the same last block hash value as the received last block hash value, the first block chain node 1 signature is the first block chain received from the first block chain node 2. The node 2 signature, the first block chain node 3 signature, and the last block hash value may be transmitted to the
또한, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 3, 제1 블록 체인 노드 2, 및 제1 블록 체인 노드 1에게 병렬적으로 마지막 블록 해시값을 전송할 수 있다. 그리고, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 3, 제1 블록 체인 노드 2, 및 제1 블록 체인 노드 1로부터 제1 블록 체인 노드 1 서명, 제1 블록 체인 노드 2 서명, 및 제1 블록 체인 노드 3 서명을 수신할 수 있다. 이때, 적어도 하나의 블록 체인 노드로부터 서명을 수신하지 못하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 검증을 통과하지 못한 것으로 판단할 수 있다.In addition, the
블록 체인 데이터가 검증을 통과한 경우, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드들 중에서 마지막 블록 체인 노드로 마지막 블록 해시값과 제1 블록 체인 서명(320)을 전송할 수 있다. 이때, 마지막 블록 체인 노드는 블록 체인 클라이언트(111)에게 마지막으로 서명을 전송한 노드일 수 있다. 예를 들어, 도 4에서 마지막 블록 체인 노드는 제1 블록 체인 노드 1일 수 있다.If the block chain data passes verification, the
다음으로, 블록 체인 클라이언트(111)는 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수도 있다. 이때, 외부 저장 매체(120)는 수신한 블록 체인 데이터를 저장하고, 블록 체인 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다.Next, the
블록 체인 클라이언트(111)는 외부 저장 매체(120)로부터 수신한 주소(410) 및 제1 블록 체인 서명(320)을 제2 블록 체인 시스템(130)으로 전송할 수 있다. 이때, 제2 블록 체인 시스템(130)은 수신한 주소(231)를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다. The
도 5는 본 발명의 일실시예에 따른 임베딩 블록 체인 시스템의 주소 검증 및 재시작 과정을 도시한 도면이다.5 is a diagram illustrating an address verification and restart process of an embedded block chain system according to an embodiment of the present invention.
제2 블록 체인 시스템(130)은 제1 블록 체인 시스템의 블록 체인 클라이언트(111)로부터 제1 블록 체인 서명 및 제1 블록 체인 인증서를 수신할 수 있다. 이때, 제2 블록 체인 시스템(130)은 제1 블록 체인 인증서(310)를 복호화하여 제1 블록 체인 시스템(110)의 공개키를 획득할 수 있다. 다음으로, 제2 블록 체인 시스템(130)은 획득한 공개키로 제1 블록 체인 서명(320)을 검증할 수 있다. 제1 블록 체인 서명이 검증된 경우, 제2 블록 체인 시스템(130)은 블록 체인 데이터가 저장된 주소, 및 타임 스탬프(510)를 저장할 수 있다. 이때, 타임 스탬프는 제2 블록 체인 시스템(130)에서 블록 체인 데이터가 저장된 주소에 따라 블록을 생성한 시간을 나타내는 정보일 수 있다. 그리고, 타임 스탬프는 제2 블록 체인 시스템(130)이 블록 체인 데이터를 유지하는 과정에서 블록의 생성 시간을 확인하기 위하여 사용될 수 있다.The second
또한, 제1 블록 체인 시스템(110)의 블록 체인 클라이언트(111)는 블록 체인 데이터의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작할 수 있다. 이때, 블록 체인 클라이언트(111)는 블록 체인 데이터의 마지막 블록 해시값이 제네시스 블록으로 설정된 경우, 제1블록 체인 시스템(110)에 포함된 블록 체인 노드들 각각이 보유하고 있는 해시값을 마지막 블록 해시값과 동일한지 여부 및 서명의 유효성을 확인하여 검증할 수 있다.In addition, the
도 6은 본 발명의 일실시예에 따른 블록 체인 클라이언트가 수행하는 임베딩 블록 체인 방법을 도시한 플로우차트이다.6 is a flowchart illustrating an embedding block chain method performed by a block chain client according to an embodiment of the present invention.
단계(610)에서 블록 체인 클라이언트(111)는 제2 블록 체인 시스템(130)으로 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 외부 저장 매체의 주소를 전송할 수 있다.In
단계(620)에서 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 블록 체인 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수 있다. 또한, 현재 시간이 기 설정된 시간이거나, 현재 시간과 이전 블록 체인 데이터를 외부 저장 매체(120)로 전송한 시간 간의 차이가 기 설정된 시간 간격인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다. 그리고, 현재 블록 체인 데이터가 기 설정된 위치의 블록인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다. In
제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 단계(630)를 수행할 수 있다. 또한, 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하지 않는 경우, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족할 때까지 단계(620)를 반복 수행할 수 있다.When the block chain data stored in the first
단계(630)에서 블록 체인 클라이언트(111)는 블록 체인 데이터를 검증할 수 있다.In
단계(640)에서 블록 체인 클라이언트(111)는 단계(630)의 검증이 성공하였는지 여부를 확인할 수 있다. 검증이 성공한 경우, 블록 체인 클라이언트(111)는 단계(650)를 수행할 수 있다. 또한, 검증이 실패한 경우, 블록 체인 클라이언트(111)는 단계(620)를 수행할 수 있다.In
단계(650)에서 블록 체인 클라이언트(111)는 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수도 있다. 이때, 외부 저장 매체(120)는 수신한 블록 체인 데이터를 저장하고, 블록 체인 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다.In
단계(660)에서 블록 체인 클라이언트(111)는 외부 저장 매체(120)로부터 블록 체인 데이터가 저장된 주소를 수신할 수 있다.In
단계(670)에서 블록 체인 클라이언트(111)는 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 주소를 제2 블록 체인 시스템(130)으로 전송할 수 있다.In
단계(680)에서 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작할 수 있다. In step 680, the
도 7은 본 발명의 일실시예에 따른 제2 블록 체인 시스템이 수행하는 임베딩 블록 체인 방법을 도시한 플로우차트이다.7 is a flowchart illustrating an embedding block chain method performed by the second block chain system according to an embodiment of the present invention.
단계(710)에서 제2 블록 체인 시스템(130)은 제1 블록 체인 시스템의 블록 체인 클라이언트(111)로부터 제1 블록 체인 서명 및 제1 블록 체인 인증서를 수신할 수 있다. In
단계(720)에서 제2 블록 체인 시스템(130)은 단계(720)에서 수신한 제1 블록 체인 인증서를 복호화하여 제1 블록 체인 시스템(110)의 공개키를 획득할 수 있다. In
단계(730)에서 제2 블록 체인 시스템(130)은 단계(720)에서 획득한 공개키로 제1 블록 체인 서명을 검증할 수 있다. In
단계(740)에서 제2 블록 체인 시스템(130)은 단계(730)의 검증이 성공하였는지 여부를 확인할 수 있다. 검증이 성공한 경우, 제2 블록 체인 시스템(130)은 단계(750)를 수행할 수 있다. 또한, 검증이 실패한 경우, 제2 블록 체인 시스템(130)은 단계(710)를 수행할 수 있다.In
단계(750)에서 제2 블록 체인 시스템(130)은 제네시스 블록을 저장할 수 있다. In
단계(760)에서 제2 블록 체인 시스템(130)은 블록 체인 클라이언트(111)로부터 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 주소를 수신할 수 있다.In
단계(770)에서 제2 블록 체인 시스템(130)은 단계(720)에서 획득한 공개키로 단계(760)에서 수신한 제1 블록 체인 서명을 검증할 수 있다. In
단계(780)에서 제2 블록 체인 시스템(130)은 단계(770)의 검증이 성공하였는지 여부를 확인할 수 있다. 검증이 성공한 경우, 제2 블록 체인 시스템(190)은 단계(750)를 수행할 수 있다. 또한, 검증이 실패한 경우, 제2 블록 체인 시스템(130)은 단계(760)를 수행할 수 있다.In
단계(790)에서 제2 블록 체인 시스템(130)은 단계(770)에서 수신한 주소를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다. In
본 발명은 블록 체인 데이터가 기 설정된 크기 이상으로 증가한 경우, 외부 저장 매체에 블록 체인 데이터를 저장하고, 외부 저장 매체에서 블록 체인 데이터가 저장된 주소를 블록 체인으로 관리함으로써, 블록 체인의 용량을 경량화할 수 있다.The present invention can reduce the capacity of the block chain by storing the block chain data in an external storage medium and managing the address where the block chain data is stored in the external storage medium as a block chain when the block chain data increases to a predetermined size or more. can
또한, 본 발명은 블록 체인 데이터를 외부 저장 매체에 저장하기 전에 검증하고, 블록 체인 데이터가 저장된 주소에서 블록 체인을 가져와 마지막 블록 해시를 검증함으로써, 외부 저장 매체에 저장된 데이터가 위 변조되지 않음을 보장할 수 있다.In addition, the present invention verifies the block chain data before storing it in an external storage medium, and verifies the last block hash by bringing the block chain from the address where the block chain data is stored, thereby ensuring that the data stored in the external storage medium is not forged or tampered with. can do.
한편, 본 발명에 따른 임베딩 블록 체인 시스템 또는 임베딩 블록 체인 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.On the other hand, the embedding block chain system or the embedding block chain method according to the present invention is written as a program that can be executed on a computer and can be implemented in various recording media such as magnetic storage media, optical reading media, and digital storage media.
본 명세서에 설명된 각종 기술들의 구현들은 디지털 전자 회로조직으로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 그들의 조합들로 구현될 수 있다. 구현들은 데이터 처리 장치, 예를 들어 프로그램가능 프로세서, 컴퓨터, 또는 다수의 컴퓨터들의 동작에 의한 처리를 위해, 또는 이 동작을 제어하기 위해, 컴퓨터 프로그램 제품, 예를 들어 기계 판독가능 저장 장치(컴퓨터 판독가능 매체)에서 유형적으로 구체화된 컴퓨터 프로그램으로서 구현될 수 있다. 상술한 컴퓨터 프로그램(들)과 같은 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어들을 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서의 사용에 적절한 다른 유닛으로서 포함하는 임의의 형태로 전개될 수 있다. 컴퓨터 프로그램은 하나의 사이트에서 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 처리되도록 또는 다수의 사이트들에 걸쳐 분배되고 통신 네트워크에 의해 상호 연결되도록 전개될 수 있다.Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. Implementations may include a computer program product, e.g., a machine-readable storage device (computer readable storage device), for processing by, or for controlling the operation of, a data processing device, e. can be implemented as a computer program tangibly embodied in a viable medium). A computer program, such as the computer program(s) described above, may be written in any form of programming language, including compiled or interpreted languages, and may be written as a stand-alone program or in a module, component, subroutine, or computing environment. It can be deployed in any form, including as other units suitable for the use of. A computer program can be deployed to be processed on one computer or multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
컴퓨터 프로그램의 처리에 적절한 프로세서들은 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하는 적어도 하나의 프로세서 및 명령어들 및 데이터를 저장하는 하나 이상의 메모리 장치들을 포함할 수 있다. 일반적으로, 컴퓨터는 데이터를 저장하는 하나 이상의 대량 저장 장치들, 예를 들어 자기, 자기-광 디스크들, 또는 광 디스크들을 포함할 수 있거나, 이것들로부터 데이터를 수신하거나 이것들에 데이터를 송신하거나 또는 양쪽으로 되도록 결합될 수도 있다. 컴퓨터 프로그램 명령어들 및 데이터를 구체화하는데 적절한 정보 캐리어들은 예로서 반도체 메모리 장치들, 예를 들어, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 등을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로조직에 의해 보충되거나, 이에 포함될 수 있다.Processors suitable for processing a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from read only memory or random access memory or both. Elements of a computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. In general, a computer may include, receive data from, send data to, or both, one or more mass storage devices that store data, such as magnetic, magneto-optical disks, or optical disks. It can also be combined to become. Information carriers suitable for embodying computer program instructions and data include, for example, semiconductor memory devices, for example, magnetic media such as hard disks, floppy disks and magnetic tapes, compact disk read only memory (CD-ROM) ), optical media such as DVD (Digital Video Disk), magneto-optical media such as Floptical Disk, ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and the like. The processor and memory may be supplemented by, or included in, special purpose logic circuitry.
또한, 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용매체일 수 있고, 컴퓨터 저장매체를 모두 포함할 수 있다.In addition, computer readable media may be any available media that can be accessed by a computer, and may include all computer storage media.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.Although this specification contains many specific implementation details, they should not be construed as limiting on the scope of any invention or what is claimed, but rather as a description of features that may be unique to a particular embodiment of a particular invention. It should be understood. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Further, while features may operate in particular combinations and are initially depicted as such claimed, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination is a subcombination. or sub-combination variations.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 장치 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 장치들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Similarly, while actions are depicted in the drawings in a particular order, it should not be construed as requiring that those actions be performed in the specific order shown or in the sequential order, or that all depicted actions must be performed to obtain desired results. In certain cases, multitasking and parallel processing can be advantageous. Further, the separation of various device components in the embodiments described above should not be understood as requiring such separation in all embodiments, and the program components and devices described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.On the other hand, the embodiments of the present invention disclosed in this specification and drawings are only presented as specific examples to aid understanding, and are not intended to limit the scope of the present invention. In addition to the embodiments disclosed herein, it is obvious to those skilled in the art that other modified examples based on the technical idea of the present invention can be implemented.
110: 제1 블록 체인 시스템
120: 외부 저장 매체
130: 제2 블록 체인 시스템110: first block chain system
120: external storage medium
130: second block chain system
Claims (17)
상기 외부 저장 매체로부터 상기 블록 체인 데이터가 저장된 주소를 수신하는 단계; 및
상기 주소를 제2 블록 체인 시스템으로 전송하는 단계
를 포함하고,
상기 제2 블록 체인 시스템은,
사용자 단말로부터 상기 블록 체인 데이터를 요청받은 경우, 상기 주소를 전송하여 상기 사용자 단말이 상기 외부 저장 매체로부터 상기 블록 체인 데이터를 수신하도록 하는 임베딩 블록 체인 방법.If the block chain data satisfies the upload condition, transmitting the block chain data to an external storage medium;
Receiving an address where the block chain data is stored from the external storage medium; and
Transmitting the address to a second blockchain system
including,
The second block chain system,
When the block chain data is requested from the user terminal, the embedding block chain method transmits the address so that the user terminal receives the block chain data from the external storage medium.
상기 외부 저장 매체로 전송하는 단계는,
상기 블록 체인 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단하는 임베딩 블록 체인 방법.According to claim 1,
The step of transmitting to the external storage medium,
The embedding block chain method of determining that the block chain data satisfies an upload condition when the block chain data exceeds a preset size or length.
상기 외부 저장 매체로 전송하는 단계는,
현재 시간이 기 설정된 시간이거나, 현재 시간과 이전 블록 체인 데이터를 외부 저장 매체로 전송한 시간 간의 차이가 기 설정된 시간 간격인 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단하는 임베딩 블록 체인 방법.According to claim 1,
The step of transmitting to the external storage medium,
When the current time is a preset time or the difference between the current time and the time when the previous block chain data is transmitted to an external storage medium is a preset time interval, the block chain data satisfies the upload condition. Embedding block chain method.
상기 외부 저장 매체로 전송하는 단계는,
현재 블록 체인 데이터가 기 설정된 위치의 블록인 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단 하는 임베딩 블록 체인 방법.According to claim 1,
The step of transmitting to the external storage medium,
An embedding block chain method of determining that the block chain data satisfies the upload condition if the current block chain data is a block at a preset location.
상기 외부 저장 매체로 전송하는 단계는,
상기 블록 체인 데이터가 업로드 조건을 만족하는 경우, 상기 블록 체인 데이터를 검증하고,
상기 블록 체인 데이터가 검증을 통과한 경우, 상기 블록 체인 데이터를 외부 저장 매체로 전송하는 임베딩 블록 체인 방법.According to claim 1,
The step of transmitting to the external storage medium,
If the block chain data satisfies the upload condition, verify the block chain data,
When the block chain data passes verification, the embedding block chain method of transmitting the block chain data to an external storage medium.
상기 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작하는 단계
를 더 포함하는 임베딩 블록 체인 방법.According to claim 1,
Restarting the block chain by setting the last block hash value of the address as the genesis block
Embedding blockchain method further comprising.
상기 주소의 마지막 블록 해시값이 제네시스 블록으로 설정된 경우, 제1블록 체인 시스템에 포함된 블록 체인 노드들 각각이 보유하고 있는 해시값을 상기 마지막 블록 해시값과 동일한지 여부 및 서명의 유효성을 확인하여 검증하는 단계
를 더 포함하는 임베딩 블록 체인 방법.According to claim 6,
If the last block hash value of the address is set to the genesis block, check whether the hash value held by each of the block chain nodes included in the first block chain system is the same as the last block hash value and the validity of the signature step to verify
Embedding blockchain method further comprising.
제1 블록 체인 시스템의 공개키를 이용하여 상기 제1 블록 체인 서명을 검증하는 단계; 및
상기 제1 블록 체인 서명이 검증된 경우, 상기 주소를 제2 블록 체인 시스템의 블록 체인 데이터로 저장하는 단계
를 포함하는 임베딩 블록 체인 방법.Receiving an address of an external storage medium in which a first block chain signature and block chain data are stored from a first block chain system;
verifying the signature of the first block chain using a public key of the first block chain system; and
Storing the address as block chain data of a second block chain system when the first block chain signature is verified.
Embedding blockchain method including.
상기 주소로 상기 외부 저장 매체에 접속하여 상기 블록 체인 데이터의 마지막 해시를 요청하는 단계;
를 더 포함하고,
상기 블록 체인 데이터로 저장하는 단계는,
상기 마지막 해시와 상기 주소를 포함하는 블록을 제2 블록 체인 시스템의 블록 체인 데이터로 저장하는 임베딩 블록 체인 방법.According to claim 8,
Accessing the external storage medium with the address and requesting the last hash of the block chain data;
Including more,
The step of storing as the block chain data,
An embedding block chain method for storing a block including the last hash and the address as block chain data of a second block chain system.
사용자 단말로부터 상기 블록 체인 데이터를 요청받은 경우, 상기 주소를 전송하는 단계
를 더 포함하고,
상기 사용자 단말은,
상기 주소에 따라 상기 외부 저장 매체에 접속하여 상기 외부 저장 매체로부터 상기 블록 체인 데이터를 수신하는 임베딩 블록 체인 방법.According to claim 8,
Transmitting the address when the block chain data is requested from the user terminal
Including more,
The user terminal,
An embedding block chain method for accessing the external storage medium according to the address and receiving the block chain data from the external storage medium.
상기 사용자 단말은,
제2 블록 체인 시스템으로부터 상기 주소와 함께 상기 블록 체인 데이터의 마지막 해시를 수신하고,
상기 외부 저장 매체로부터 수신한 블록 체인 데이터의 마지막 해시와 상기 제2 블록 체인 시스템으로부터 수신한 마지막 해시를 비교하여 상기 외부 저장 매체에 저장된 상기 블록 체인 데이터의 위변조 여부를 확인하는 임베딩 블록 체인 방법.According to claim 10,
The user terminal,
Receiving the last hash of the block chain data together with the address from a second block chain system;
Embedding block chain method for comparing the last hash of the block chain data received from the external storage medium and the last hash received from the second block chain system to check whether the block chain data stored in the external storage medium is forged or falsified.
상기 제1 블록 체인 서명을 검증하는 단계는,
상기 제1 블록 체인 시스템으로부터 제1 블록 체인 서명 및 제1 블록 체인 인증서를 수신하는 단계;
상기 인증서를 복호화하여 상기 제1 블록 체인 시스템의 공개키를 획득하는 단계;
상기 공개키로 상기 제1 블록 체인 서명을 검증하는 단계; 및
상기 제1 블록 체인 서명이 검증된 경우, 제네시스 블록을 저장하는 단계
를 포함하는 임베딩 블록 체인 방법.According to claim 8,
The step of verifying the first block chain signature,
Receiving a first block chain signature and a first block chain certificate from the first block chain system;
decrypting the certificate to obtain a public key of the first block chain system;
verifying the first blockchain signature with the public key; and
Storing the genesis block when the first block chain signature is verified
Embedding blockchain method including.
상기 주소를 저장하고, 사용자 단말로부터 상기 블록 체인 데이터를 요청받은 경우, 상기 주소를 전송하여 상기 사용자 단말이 상기 외부 저장 매체로부터 상기 블록 체인 데이터를 수신하도록 하는 제2 블록 체인 시스템
을 포함하는 임베딩 블록 체인 시스템.When the block chain data satisfies the upload condition, the block chain data is transmitted to an external storage medium, the address where the block chain data is stored is received from the external storage medium, and the address is transmitted to the second block chain system 1st block chain system; and
A second block chain system that stores the address and transmits the address when the block chain data is requested from the user terminal so that the user terminal receives the block chain data from the external storage medium.
Embedded blockchain system that includes.
상기 제1 블록 체인 시스템은,
상기 블록 체인 데이터가 업로드 조건을 만족하는 경우, 상기 블록 체인 데이터를 검증하고, 상기 블록 체인 데이터가 검증을 통과한 경우, 상기 블록 체인 데이터를 외부 저장 매체로 전송하는 임베딩 블록 체인 시스템.According to claim 13,
The first block chain system,
If the block chain data satisfies the upload condition, the block chain data is verified, and if the block chain data passes the verification, the block chain data is transmitted to an external storage medium.
상기 제1 블록 체인 시스템은,
상기 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작하는 임베딩 블록 체인 시스템.According to claim 13,
The first block chain system,
An embedded block chain system that restarts the block chain by setting the last block hash value of the address to the genesis block.
상기 제2 블록 체인 시스템은,
제1 블록 체인 시스템으로부터 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 외부 저장 매체의 주소를 수신하고,
제1 블록 체인 시스템의 공개키를 이용하여 상기 제1 블록 체인 서명을 검증하며,
상기 제1 블록 체인 서명이 검증된 경우, 상기 주소를 제2 블록 체인 시스템의 블록 체인 데이터로 저장하는 임베딩 블록 체인 시스템.According to claim 13,
The second block chain system,
Receiving the address of the external storage medium in which the first block chain signature and block chain data are stored from the first block chain system;
The first block chain signature is verified using the public key of the first block chain system;
When the first block chain signature is verified, the embedded block chain system stores the address as block chain data of the second block chain system.
상기 제2 블록 체인 시스템은,
상기 제1 블록 체인 시스템으로부터 제1 블록 체인 서명 및 제1 블록 체인 인증서를 수신하고,
상기 인증서를 복호화하여 상기 제1 블록 체인 시스템의 공개키를 획득하며,
상기 공개키로 상기 제1 블록 체인 서명을 검증하고,
상기 제1 블록 체인 서명이 검증된 경우, 제네시스 블록을 저장하는 임베딩 블록 체인 시스템.According to claim 16,
The second block chain system,
Receiving a first block chain signature and a first block chain certificate from the first block chain system;
Decrypting the certificate to obtain a public key of the first block chain system;
verifying the first block chain signature with the public key;
When the first block chain signature is verified, the embedded block chain system for storing the genesis block.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210078126A KR102544899B1 (en) | 2021-06-16 | 2021-06-16 | Embedding blockchain method and system using external storage media |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210078126A KR102544899B1 (en) | 2021-06-16 | 2021-06-16 | Embedding blockchain method and system using external storage media |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220168415A true KR20220168415A (en) | 2022-12-23 |
KR102544899B1 KR102544899B1 (en) | 2023-06-16 |
Family
ID=84536245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210078126A KR102544899B1 (en) | 2021-06-16 | 2021-06-16 | Embedding blockchain method and system using external storage media |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102544899B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130125201A (en) * | 2012-05-08 | 2013-11-18 | (주)아이티네이드 | Apparatus and method for authenticating based on public key |
KR20180113140A (en) * | 2017-04-05 | 2018-10-15 | 삼성에스디에스 주식회사 | System for processing data based on blockchain and Operating method thereof |
KR101934958B1 (en) * | 2017-11-22 | 2019-01-03 | 주식회사 코스콤 | Connection authentication method using black-chain and apparatus therefor |
KR20190019004A (en) * | 2017-08-16 | 2019-02-26 | 김용태 | The trading system and the method based on a blockchain |
KR20210032577A (en) * | 2019-09-16 | 2021-03-25 | 한성대학교 산학협력단 | Paper storage device using block chain and method of saving paper using the same |
-
2021
- 2021-06-16 KR KR1020210078126A patent/KR102544899B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130125201A (en) * | 2012-05-08 | 2013-11-18 | (주)아이티네이드 | Apparatus and method for authenticating based on public key |
KR20180113140A (en) * | 2017-04-05 | 2018-10-15 | 삼성에스디에스 주식회사 | System for processing data based on blockchain and Operating method thereof |
KR20190019004A (en) * | 2017-08-16 | 2019-02-26 | 김용태 | The trading system and the method based on a blockchain |
KR101934958B1 (en) * | 2017-11-22 | 2019-01-03 | 주식회사 코스콤 | Connection authentication method using black-chain and apparatus therefor |
KR20210032577A (en) * | 2019-09-16 | 2021-03-25 | 한성대학교 산학협력단 | Paper storage device using block chain and method of saving paper using the same |
Also Published As
Publication number | Publication date |
---|---|
KR102544899B1 (en) | 2023-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107819828B (en) | Data transmission method and device, computer equipment and storage medium | |
US10574438B2 (en) | Security apparatus, method thereof, and program | |
US20190057214A1 (en) | Update control device, terminal, and method of controlling | |
KR102159540B1 (en) | Information processing apparatus, information processing system, information processing method, and computer program | |
US7904957B2 (en) | Computer-readable recording medium recording a security management program, computer-readable recording medium recording a job submission management program, and security management method | |
US20130054611A1 (en) | Apparatus and method for processing partitioned data for securing content | |
CN109710695B (en) | Transaction request validity identification and initiation method, device, equipment and medium | |
US9420070B2 (en) | Streaming zip | |
CN111597567B (en) | Data processing method, data processing device, node equipment and storage medium | |
US11645424B2 (en) | Integrity verification in cloud key-value stores | |
US11343072B2 (en) | Method and apparatus for providing service using kiosk | |
KR102542631B1 (en) | Method and system for verifying blockchain data stored in a storage format different from blockchain | |
Giri et al. | A survey on data integrity techniques in cloud computing | |
JP2022528072A (en) | Local ledger blockchain for secure electronic controller updates | |
CN108400875B (en) | Key value-based authorization authentication method, system, electronic device and storage medium | |
US11625385B2 (en) | Method and apparatus for managing data based on blockchain | |
US10348805B2 (en) | Method and system for transferring data | |
CN116192395A (en) | Trusted system for distributed data storage | |
CN112088376A (en) | File storage method and device and storage medium | |
US11852664B2 (en) | Power metering apparatus, power metering server, and power metering method based on blockchain | |
CN114127724A (en) | Integrity audit for multi-copy storage | |
US11805407B2 (en) | Apparatus and method for securely updating binary data in vehicle | |
KR102544899B1 (en) | Embedding blockchain method and system using external storage media | |
US20220376924A1 (en) | Header for conveying trustful client address | |
US11861587B1 (en) | Encrypted multi-factor authentication technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |