Nothing Special   »   [go: up one dir, main page]

KR20220168415A - Embedding blockchain method and system using external storage media - Google Patents

Embedding blockchain method and system using external storage media Download PDF

Info

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
Application number
KR1020210078126A
Other languages
Korean (ko)
Other versions
KR102544899B1 (en
Inventor
박세진
나동준
Original Assignee
계명대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 계명대학교 산학협력단 filed Critical 계명대학교 산학협력단
Priority to KR1020210078126A priority Critical patent/KR102544899B1/en
Publication of KR20220168415A publication Critical patent/KR20220168415A/en
Application granted granted Critical
Publication of KR102544899B1 publication Critical patent/KR102544899B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

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

An embedding blockchain method using an external storage medium and a system thereof are disclosed. The embedding blockchain method comprises the following steps of: transmitting blockchain data to an external storage medium if the blockchain data satisfies an upload condition; receiving an address where the blockchain data is stored from the external storage medium; and transmitting the address to a second blockchain system. The second blockchain system transmits the address to allow a user terminal to receive the blockchain data from the external storage medium when the blockchain data is requested from the user terminal.

Description

외부 저장 매체를 이용한 임베딩 블록 체인 방법 및 시스템{EMBEDDING BLOCKCHAIN METHOD AND SYSTEM USING EXTERNAL STORAGE MEDIA}Embedding block chain method and system using external storage media

본 발명은 임베딩 블록 체인 방법 및 장치에 관한 것으로, 보다 구체적으로는 외부 저장 매체를 이용하여 블록 체인 시스템에 저장되는 데이터의 크기를 감소시키는 방법 및 시스템에 관한 것이다.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 block chain system 110, an external storage medium 120, and a second block chain system 130 as shown in FIG.

제1 블록 체인 시스템(110)은 블록 체인 클라이언트(111) 및 복수의 블록 체인 노드들로 구성될 수 있다. 또한, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드 중 하나이며, 블록 체인 데이터를 외부 저장 매체(120)로 전송하고, 블록 체인 데이터가 저장된 주소를 제2 블록 체인 시스템(130)으로 전송하는 동작을 수행하는 블록 체인 노드일 수 있다.The first block chain system 110 may be composed of a block chain client 111 and a plurality of block chain nodes. In addition, the block chain client 111 is one of the block chain nodes included in the first block chain system 110, transmits block chain data to the external storage medium 120, and transmits the address where the block chain data is stored to the second block chain. It may be a block chain node that performs an operation of transmitting to the block chain system 130.

즉, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드 중에서 임베딩 블록 체인 방법을 수행하는 노드일 수 있다. 실시예에 따라, 제1 블록 체인 시스템(110)에 포함된 모든 블록 체인 노드가 블록 체인 클라이언트(111)로 동작할 수도 있고, 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드 중 블록 체인 클라이언트(111)로 동작할 블록 체인 노드가 지정될 수도 있다.That is, the block chain client 111 may be a node that performs the embedding block chain method among block chain nodes included in the first block chain system 110 . Depending on the embodiment, all block chain nodes included in the first block chain system 110 may operate as block chain clients 111, and among block chain nodes included in the first block chain system 110, the block chain A block chain node to operate as the client 111 may be designated.

또한, 외부 저장 매체(120)는 도 1에 도시된 바와 같이 제1 블록 체인 시스템(110), 및 제2 블록 체인 시스템(130)에 포함되지 않은 별도의 저장 매체일 수도 있고, 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드들 중 블록 체인 클라이언트(111)가 아닌 블록 체인 노드에서 블록 체인 시스템에 사용되지 않은 별도의 저장 매체일 수도 있다.In addition, the external storage medium 120 may be a separate storage medium not included in the first block chain system 110 and the second block chain system 130, as shown in FIG. Among the block chain nodes included in the system 110, a block chain node other than the block chain client 111 may be a separate storage medium not used in the block chain system.

블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 블록 체인 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수 있다. 또한, 현재 시간이 기 설정된 시간이거나, 현재 시간과 이전 블록 체인 데이터를 외부 저장 매체(120)로 전송한 시간 간의 차이가 기 설정된 시간 간격인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다.The block chain client 111 may check whether the block chain data stored in the first block chain system 110 satisfies the upload condition. For example, if the block chain data exceeds a preset size or length, the block chain client 111 may determine that the block chain data satisfies the upload condition. In addition, 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 the external storage medium 120 is a preset time interval, the block chain client 111 determines that the block chain data is uploaded. It may be determined that the condition is satisfied.

그리고, 현재 블록 체인 데이터가 기 설정된 위치의 블록인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다. 예를 들어, 업로드 조건이 M 번째 블록이라 설정된 경우, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)이 관리하는 블록 체인 데이터들 중 첫번째 블록을 기준으로 M 번째 블록, 2M 번째 블록, 3M 번째 블록,??들을 업로드 조건을 만족하는 블록 체인 데이터로 판단할 수 있다.And, if the current block chain data is a block at a preset location, the block chain client 111 may determine that the block chain data satisfies the upload condition. For example, when the upload condition is set to be the M-th block, the block chain client 111 selects the M-th block, the 2M-th block, The 3Mth block,?? can be judged as block chain data that satisfies the upload condition.

그리고, 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수 있다. 이때, 블록 체인 클라이언트(111)는 블록 체인 데이터를 검증하고, 블록 체인 데이터가 검증을 통과한 경우, 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수도 있다.And, when the block chain data stored in the first block chain system 110 satisfies the upload condition, the block chain client 111 may transmit the block chain data to the external storage medium 120. At this time, the block chain client 111 verifies the block chain data, and when the block chain data passes the verification, it may transmit the block chain data to the external storage medium 120.

이때, 외부 저장 매체(120)는 수신한 블록 체인 데이터를 저장하고, 블록 체인 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다.At this time, the external storage medium 120 may store the received block chain data and transmit the address where the block chain data is stored to the block chain client 111.

블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소를 제2 블록 체인 시스템(130)으로 전송할 수 있다.The block chain client 111 may transmit the address where block chain data is stored to the second block chain system 130 .

이때, 제2 블록 체인 시스템(130)은 수신한 주소를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다. 그리고, 제2 블록 체인 시스템(130)은 사용자 단말로부터 외부 저장 매체(120)에 저장된 블록 체인 데이터를 요청받을 수 있다. 이때, 제2 블록 체인 시스템(130)은 블록 체인 클라이언트(111)로부터 수신하여 저장한 주소를 사용자 단말로 전송할 수 있다. 이때, 사용자 단말은, 수신한 주소에 따라 외부 저장 매체(120)에 접속하여 외부 저장 매체(120)로부터 블록 체인 데이터를 수신할 수 있다.At this time, the second block chain system 130 may store the received address as block chain data of the second block chain system. And, the second block chain system 130 may receive a request for block chain data stored in the external storage medium 120 from the user terminal. At this time, the second block chain system 130 may transmit the address received and stored from the block chain client 111 to the user terminal. At this time, the user terminal may receive block chain data from the external storage medium 120 by accessing the external storage medium 120 according to the received address.

또한, 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작할 수 있다. 이때, 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소의 마지막 블록 해시값이 제네시스 블록으로 설정된 경우, 제1블록 체인 시스템(110)에 포함된 블록 체인 노드들 각각이 보유하고 있는 해시값을 마지막 블록 해시값과 동일한지 여부 및 서명의 유효성을 확인하여 검증할 수 있다.In addition, the block chain client 111 may restart the block chain by setting the last block hash value of the address where the block chain data is stored as the genesis block. At this time, when the last block hash value of the address where the block chain data is stored is set to the genesis block, the block chain client 111 retrieves the hash value possessed by each of the block chain nodes included in the first block chain system 110. It can be verified by checking whether it is the same as the last block hash value and validating the signature.

또한, 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소를 전송하기 전에 제2 블록 체인 시스템(130)으로 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 외부 저장 매체의 주소를 전송할 수 있다.In addition, the block chain client 111 may transmit the address of the external storage medium in which the first block chain signature and block chain data are stored to the second block chain system 130 before transmitting the address where the block chain data is stored.

이때, 제2 블록 체인 시스템(130)은 제1 블록 체인 시스템의 공개키를 이용하여 제1 블록 체인 서명을 검증할 수 있다.At this time, the second block chain system 130 may verify the first block chain signature using the public key of the first block chain system.

구체적으로, 제2 블록 체인 시스템(130)은 제1 블록 체인 시스템의 블록 체인 클라이언트(111)로부터 제1 블록 체인 서명 및 제1 블록 체인 인증서를 수신할 수 있다. 이때, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템의 블록 체인 노드들 각각이 제네시스 블록 해시값을 자신의 개인키로 암호화하여 생성한 서명들을 수집하여 제1 블록 체인 서명을 생성할 수 있다. 이때, 제네시스 블록 해시값은 블록 체인 노드들 각각이 저장하고 있는 블록들 중 첫번째 블록의 해시값일 수 있다. 예를 들어, 재네시스 블록 해시값은 기존 블록 구조인 블록 번호, 블록 해시, 이전 블록 해시, 데이터(트랜잭션 목록)에서 (블록 번호: 0 , 이전 블록해시: 비어있음, 데이터:비어있음)을 해시화한 값일 수 있다.Specifically, the second block chain system 130 may receive a first block chain signature and a first block chain certificate from the block chain client 111 of the first block chain system. At this time, the blockchain client 111 may generate the first blockchain signature by collecting signatures generated by each of the blockchain nodes of the first blockchain system by encrypting the genesis block hash value with their own private key. At this time, the genesis block hash value may be the hash value of the first block among the blocks stored in each of the block chain nodes. For example, the genesis block hash value consists of (block number: 0, previous block hash: empty, data: empty) from the existing block structure, block number, block hash, previous block hash, and data (transaction list). It can be a hashed value.

그리고, 제2 블록 체인 시스템(130)은 제1 블록 체인 인증서를 복호화하여 제1 블록 체인 시스템(110)의 공개키를 획득할 수 있다. 다음으로, 제2 블록 체인 시스템(130)은 획득한 공개키로 제1 블록 체인 서명을 검증할 수 있다. In addition, the second block chain system 130 may obtain the public key of the first block chain system 110 by decrypting the first block chain certificate. Next, the second block chain system 130 may verify the first block chain signature with the obtained public key.

이때, 제2 블록 체인 시스템(130)은 공기케로 제1 블록 체인 서명에 포함된 서명들 각각으로부터 제네시스 블록 해시값을 복호화할 수 있다. 그리고, 복호화한 제네시스 블록 해시값들이 모두 동일한 경우, 제2 블록 체인 시스템(130)은 제1 블록 체인 서명이 검증된 것으로 판단할 수 있다.At this time, the second block chain system 130 can decrypt the genesis block hash value from each of the signatures included in the first block chain signature. And, if all the decrypted genesis block hash values are the same, the second block chain system 130 may determine that the first block chain signature is verified.

제1 블록 체인 서명이 검증된 경우, 제2 블록 체인 시스템(130)은 제네시스 블록 해시값 및 제1 블록 체인 시스템(110)의 공개키를 저장할 수 있다. 반면, 제1 블록 체인 서명이 검증되지 않은 경우, 제2 블록 체인 시스템(130)은 제네시스 블록 해시값을 저장하지 않을 수 있다. When the first blockchain signature is verified, the second blockchain system 130 may store the genesis block hash value and the public key of the first blockchain system 110 . On the other hand, if the first block chain signature is not verified, the second block chain system 130 may not store the genesis block hash value.

임베딩 블록 체인 시스템은 블록 체인 데이터가 기 설정된 크기 이상으로 증가한 경우, 외부 저장 매체에 블록 체인 데이터를 저장하고, 외부 저장 매체에서 블록 체인 데이터가 저장된 주소를 블록 체인으로 관리함으로써, 블록 체인의 용량을 경량화할 수 있다.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 step 210, the block chain client 111 of the first block chain system 110 may check whether the block chain data 211 satisfies the upload condition.

블록 체인 데이터(211)가 기 설정된 크기, 또는 시간과 같은 업로드 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수 있다.When the block chain data 211 satisfies an upload condition such as a predetermined size or time, the block chain client 111 may transmit the block chain data to the external storage medium 120.

단계(220)에서 외부 저장 매체(120)는 수신한 블록 체인 데이터를 저장하고, 블록 체인 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다.In step 220, the external storage medium 120 may store the received block chain data and transmit the address where the block chain data is stored to the block chain client 111.

단계(230)에서 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소를 제2 블록 체인 시스템(130)으로 전송할 수 있다. 이때, 제2 블록 체인 시스템(130)은 수신한 주소(231)를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다. 구체적으로, 제2 블록 체인 시스템(130)은 수신한 주소(231)를 이용하여 외부 저장 매체(120)에 접속하여 블록 체인 데이터의 마지막 해시를 요청할 수 있다. 그리고, 제2 블록 체인 시스템(130)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시와 주소(231)를 포함하는 블록을 2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다.In step 230, the block chain client 111 may transmit the address where the block chain data is stored to the second block chain system 130. At this time, the second block chain system 130 may store the received address 231 as block chain data of the second block chain system. Specifically, the second block chain system 130 may request the last hash of block chain data by accessing the external storage medium 120 using the received address 231 . In addition, the second block chain system 130 may store a block including the last hash and address 231 of the block chain data received from the external storage medium 120 as block chain data of the two block chain system.

단계(240)에서 제2 블록 체인 시스템(130)은 사용자 단말(200)로부터 외부 저장 매체(120)에 저장된 블록 체인 데이터를 요청받을 수 있다. 이때, 제2 블록 체인 시스템(130)은 블록 체인 클라이언트(111)로부터 수신하여 저장한 주소를 사용자 단말(200)로 전송할 수 있다. 또한, 제2 블록 체인 시스템(130)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시를 사용자 단말(200)로 전송할 수 있다.In step 240, the second block chain system 130 may receive a request for block chain data stored in the external storage medium 120 from the user terminal 200. At this time, the second block chain system 130 may transmit the address received and stored from the block chain client 111 to the user terminal 200 . In addition, the second block chain system 130 may transmit the last hash of block chain data received from the external storage medium 120 to the user terminal 200 .

단계(250)에서 사용자 단말(200)은 단계(250)에서 수신한 주소에 따라 외부 저장 매체(120)에 접속하여 블록 체인 데이터를 요청할 수 있다.In step 250, the user terminal 200 may request block chain data by accessing the external storage medium 120 according to the address received in step 250.

단계(260)에서 외부 저장 매체(120)는 사용자 단말(200)의 요청에 따라 블록 체인 데이터를 사용자 단말(200)로 전송할 수 있다. 이때, 사용자 단말(200)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시와 제2 블록 체인 시스템(130)으로부터 수신한 마지막 해시를 비교할 수 있다. 그리고, 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시와 제2 블록 체인 시스템(130)으로부터 수신한 마지막 해시가 동일한 경우, 사용자 단말(200)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터가 위 변조되지 않은 것으로 판단하고, 수신한 블록 체인 데이터를 사용자에게 제공할 수 있다.In step 260, the external storage medium 120 may transmit block chain data to the user terminal 200 according to the request of the user terminal 200. At this time, the user terminal 200 may compare the last hash of the block chain data received from the external storage medium 120 and the last hash received from the second block chain system 130 . And, when the last hash of the block chain data received from the external storage medium 120 and the last hash received from the second block chain system 130 are the same, the user terminal 200 receives the block chain data received from the external storage medium 120. It is determined that the block chain data has not been forged and tampered with, and the received block chain data can be provided to the user.

또한, 외부 저장 매체(120)로부터 수신한 블록 체인 데이터의 마지막 해시와 제2 블록 체인 시스템(130)으로부터 수신한 마지막 해시가 서로 다른 경우, 사용자 단말(200)은 외부 저장 매체(120)로부터 수신한 블록 체인 데이터가 위 변조된 것으로 판단하고, 블록 체인 데이터가 위 변조된 것을 사용자에게 알릴 수 있다.In addition, when the last hash of the blockchain data received from the external storage medium 120 and the last hash received from the second blockchain system 130 are different, the user terminal 200 receives the received data from the external storage medium 120. It is determined that one block chain data has been forged and tampered with, and the user can be notified that the block chain data has been forged and tampered with.

도 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 blockchain client 111 includes the first blockchain node 1 certificate, which is the certificate of the first blockchain node 1 of the first blockchain system, the first blockchain node 2 certificate, which is the certificate of the first blockchain node 2, and the first blockchain node 2 certificate. A first blockchain node 3 certificate, which is a certificate of blockchain node 3, may be collected. In addition, the blockchain client 111 transmits the first blockchain certificate 310 including the first blockchain node 1 certificate, the first blockchain node 2 certificate, and the first blockchain node 3 certificate to the second blockchain system. (130).

또한, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템의 제1 블록 체인 노드 1이 제네시스 블록 해시값을 자신의 개인키로 암호화하여 생성한 제1 블록 체인 노드 1 서명, 제1 블록 체인 노드 2가 제네시스 블록 해시값을 자신의 개인키로 암호화하여 생성한 제1 블록 체인 노드 2 서명, 및 제1 블록 체인 노드 3이 제네시스 블록 해시값을 자신의 개인키로 암호화하여 생성한 제1 블록 체인 노드 3 서명을 수집할 수 있다. In addition, the blockchain client 111 has the signature of the first blockchain node 1 generated by the first blockchain node 1 of the first blockchain system by encrypting the genesis block hash value with its own private key, and the first blockchain node 2. The first block chain node 2 signature generated by encrypting the genesis block hash value with its private key, and the first block chain node 3 signature generated by the first block chain node 3 encrypting the genesis block hash value with its private key can be collected

그리고, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 1 서명, 제1 블록 체인 노드 2 서명, 및 제1 블록 체인 노드 3 서명이 포함된 제1 블록 체인 서명(320)을 제2 블록 체인 시스템(130)으로 전송할 수 있다.In addition, the blockchain client 111 converts the first blockchain signature 320 including the signature of the first blockchain node 1, the signature of the first blockchain node 2, and the signature of the first blockchain node 3 to the second blockchain system. (130).

이때, 제2 블록 체인 시스템(130)은 제1 블록 체인 인증서를 복호화하여 제1 블록 체인 시스템(110)의 공개키를 획득할 수 있다. 다음으로, 제2 블록 체인 시스템(130)은 획득한 공개키로 제1 블록 체인 서명(420)을 검증할 수 있다. At this time, the second block chain system 130 may obtain the public key of the first block chain system 110 by decrypting the first block chain certificate. Next, the second block chain system 130 may verify the first block chain signature 420 with the obtained public key.

예를 들어, 제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 block chain system 130 may determine that the first block chain signature is verified. In addition, when the results obtained by decrypting the signatures included in the first block chain signature 420 with the public key are different, the second block chain system 130 may determine that the first block chain signature has not been verified.

제1 블록 체인 서명이 검증된 경우, 제2 블록 체인 시스템(130)은 제네시스 블록을 저장할 수 있다. 반면, 제1 블록 체인 서명이 검증되지 않은 경우, 제2 블록 체인 시스템(130)은 제네시스 블록을 저장하지 않을 수 있다. When the first blockchain signature is verified, the second blockchain system 130 may store the genesis block. On the other hand, if the first blockchain signature is not verified, the second blockchain system 130 may not store the genesis block.

도 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 block chain client 111 may check whether the block chain data stored in the first block chain system 110 satisfies the upload condition. For example, if the block chain data exceeds a preset size or length, the block chain client 111 may determine that the block chain data satisfies the upload condition. In addition, 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 the external storage medium 120 is a preset time interval, the block chain client 111 determines that the block chain data is uploaded. It may be determined that the condition is satisfied.

제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터를 검증할 수 있다. 예를 들어, 블록 체인 클라이언트(111)는 제1 블록 체인 서명(320)에 포함된 서명들에 대하여 다중 서명 검증을 수행할 수 있다. When the block chain data stored in the first block chain system 110 satisfies the upload condition, the block chain client 111 can verify the block chain data. For example, the block chain client 111 may perform multi-signature verification on signatures included in the first block chain signature 320 .

또한, 블록 체인 데이터는 첫 번째 블록부터 마지막 블록까지 블록 해시값을 연결하고 있으므로, 첫 번째 블록부터 마지막 블록 중 적어도 하나의 블록의 데이터가 변경된 경우 모든 블록의 해시값이 변경될 수 있다. 따라서, 마지막 블록 해시값을 확인하면, 블록 체인 데이터의 위변조 여부를 확인할 수 있다.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 blockchain client 111 transmits the last block hash value of the blockchain data to the blockchain nodes included in the first blockchain system 110, and the last block chain data managed by each of the blockchain nodes. You can request confirmation whether it is the same as the block hash value. In addition, each blockchain node can check whether the last block hash value received is the same as the last block hash value it has stored. In addition, when the received last block hash value and the last block hash value stored by the block chain nodes are the same, each of the block chain nodes may transmit a signature to the block chain client 111 or another block chain node. When the last block hash value is the same in all nodes, the block chain client 111 may determine that the block chain data has passed verification.

예를 들어, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 3에게 마지막 블록 해시값을 전송할 수 있다. 그리고, 제1 블록 체인 노드 3는 수신한 마지막 블록 해시값과 자신이 보관하고 있는 마지막 블록 해시값이 동일한 경우, 제1 블록 체인 노드 3 서명과 마지막 블록 해시값을 제1 블록 체인 노드 2로 전송할 수 있다.For example, the blockchain client 111 may transmit the last block hash value to the first blockchain node 3. In addition, if the last block hash value received and the last block hash value stored by the first block chain node 3 are the same, the first block chain node 3 signature and the last block hash value will be transmitted to the first block chain node 2. can

제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 block chain client 111.

또한, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 3, 제1 블록 체인 노드 2, 및 제1 블록 체인 노드 1에게 병렬적으로 마지막 블록 해시값을 전송할 수 있다. 그리고, 블록 체인 클라이언트(111)는 제1 블록 체인 노드 3, 제1 블록 체인 노드 2, 및 제1 블록 체인 노드 1로부터 제1 블록 체인 노드 1 서명, 제1 블록 체인 노드 2 서명, 및 제1 블록 체인 노드 3 서명을 수신할 수 있다. 이때, 적어도 하나의 블록 체인 노드로부터 서명을 수신하지 못하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 검증을 통과하지 못한 것으로 판단할 수 있다.In addition, the blockchain client 111 may transmit the last block hash value to the first blockchain node 3, the first blockchain node 2, and the first blockchain node 1 in parallel. And, the blockchain client 111 receives the first blockchain node 1 signature, the first blockchain node 2 signature, and the first blockchain node 2 signature from the first blockchain node 3, the first blockchain node 2, and the first blockchain node 1. Can receive block chain node 3 signature. At this time, if a signature is not received from at least one blockchain node, the blockchain client 111 may determine that the blockchain data does not pass verification.

블록 체인 데이터가 검증을 통과한 경우, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 포함된 블록 체인 노드들 중에서 마지막 블록 체인 노드로 마지막 블록 해시값과 제1 블록 체인 서명(320)을 전송할 수 있다. 이때, 마지막 블록 체인 노드는 블록 체인 클라이언트(111)에게 마지막으로 서명을 전송한 노드일 수 있다. 예를 들어, 도 4에서 마지막 블록 체인 노드는 제1 블록 체인 노드 1일 수 있다.If the block chain data passes verification, the block chain client 111 is the last block chain node among the block chain nodes included in the first block chain system 110, and the last block hash value and the first block chain signature 320 ) can be transmitted. At this time, the last block chain node may be the node that last transmitted the signature to the block chain client 111. For example, the last block chain node in FIG. 4 may be the first block chain node 1.

다음으로, 블록 체인 클라이언트(111)는 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수도 있다. 이때, 외부 저장 매체(120)는 수신한 블록 체인 데이터를 저장하고, 블록 체인 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다.Next, the block chain client 111 may transmit block chain data to the external storage medium 120. At this time, the external storage medium 120 may store the received block chain data and transmit the address where the block chain data is stored to the block chain client 111.

블록 체인 클라이언트(111)는 외부 저장 매체(120)로부터 수신한 주소(410) 및 제1 블록 체인 서명(320)을 제2 블록 체인 시스템(130)으로 전송할 수 있다. 이때, 제2 블록 체인 시스템(130)은 수신한 주소(231)를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다. The block chain client 111 may transmit the address 410 and the first block chain signature 320 received from the external storage medium 120 to the second block chain system 130. At this time, the second block chain system 130 may store the received address 231 as block chain data of the second block chain system.

도 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 block chain system 130 may receive a first block chain signature and a first block chain certificate from the block chain client 111 of the first block chain system. At this time, the second block chain system 130 may obtain the public key of the first block chain system 110 by decrypting the first block chain certificate 310 . Next, the second block chain system 130 may verify the first block chain signature 320 with the obtained public key. When the first block chain signature is verified, the second block chain system 130 may store an address where block chain data is stored and a time stamp 510 . In this case, the time stamp may be information indicating the time when the block was created according to the address where block chain data is stored in the second block chain system 130 . And, the time stamp can be used to check the creation time of the block in the process of the second block chain system 130 maintaining the block chain data.

또한, 제1 블록 체인 시스템(110)의 블록 체인 클라이언트(111)는 블록 체인 데이터의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작할 수 있다. 이때, 블록 체인 클라이언트(111)는 블록 체인 데이터의 마지막 블록 해시값이 제네시스 블록으로 설정된 경우, 제1블록 체인 시스템(110)에 포함된 블록 체인 노드들 각각이 보유하고 있는 해시값을 마지막 블록 해시값과 동일한지 여부 및 서명의 유효성을 확인하여 검증할 수 있다.In addition, the block chain client 111 of the first block chain system 110 may restart the block chain by setting the hash value of the last block of block chain data to the genesis block. At this time, when the last block hash value of the block chain data is set to the genesis block, the block chain client 111 converts the hash value held by each of the block chain nodes included in the first block chain system 110 to the last block hash value. It can be verified by checking whether it is equal to the value and validating the signature.

도 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 step 610, the block chain client 111 may transmit the address of the external storage medium in which the first block chain signature and block chain data are stored to the second block chain system 130.

단계(620)에서 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 블록 체인 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수 있다. 또한, 현재 시간이 기 설정된 시간이거나, 현재 시간과 이전 블록 체인 데이터를 외부 저장 매체(120)로 전송한 시간 간의 차이가 기 설정된 시간 간격인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다. 그리고, 현재 블록 체인 데이터가 기 설정된 위치의 블록인 경우, 블록 체인 클라이언트(111)는 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단할 수도 있다. In step 620, the blockchain client 111 may check whether the blockchain data stored in the first blockchain system 110 satisfies the upload condition. For example, if the block chain data exceeds a preset size or length, the block chain client 111 may determine that the block chain data satisfies the upload condition. In addition, 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 the external storage medium 120 is a preset time interval, the block chain client 111 determines that the block chain data is uploaded. It may be determined that the condition is satisfied. And, if the current block chain data is a block at a preset location, the block chain client 111 may determine that the block chain data satisfies the upload condition.

제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 단계(630)를 수행할 수 있다. 또한, 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족하지 않는 경우, 블록 체인 클라이언트(111)는 제1 블록 체인 시스템(110)에 저장된 블록 체인 데이터가 업로드 조건을 만족할 때까지 단계(620)를 반복 수행할 수 있다.When the block chain data stored in the first block chain system 110 satisfies the upload condition, the block chain client 111 may perform step 630. In addition, when the block chain data stored in the first block chain system 110 does not satisfy the upload condition, the block chain client 111 determines when the block chain data stored in the first block chain system 110 satisfies the upload condition. Step 620 may be repeatedly performed until.

단계(630)에서 블록 체인 클라이언트(111)는 블록 체인 데이터를 검증할 수 있다.In step 630, the block chain client 111 may verify the block chain data.

단계(640)에서 블록 체인 클라이언트(111)는 단계(630)의 검증이 성공하였는지 여부를 확인할 수 있다. 검증이 성공한 경우, 블록 체인 클라이언트(111)는 단계(650)를 수행할 수 있다. 또한, 검증이 실패한 경우, 블록 체인 클라이언트(111)는 단계(620)를 수행할 수 있다.In step 640, the block chain client 111 may check whether the verification in step 630 is successful. If the verification is successful, the block chain client 111 may perform step 650. Also, if verification fails, the block chain client 111 may perform step 620.

단계(650)에서 블록 체인 클라이언트(111)는 블록 체인 데이터를 외부 저장 매체(120)로 전송할 수도 있다. 이때, 외부 저장 매체(120)는 수신한 블록 체인 데이터를 저장하고, 블록 체인 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다.In step 650, the block chain client 111 may transmit block chain data to the external storage medium 120. At this time, the external storage medium 120 may store the received block chain data and transmit the address where the block chain data is stored to the block chain client 111.

단계(660)에서 블록 체인 클라이언트(111)는 외부 저장 매체(120)로부터 블록 체인 데이터가 저장된 주소를 수신할 수 있다.In step 660, the block chain client 111 may receive an address where block chain data is stored from the external storage medium 120.

단계(670)에서 블록 체인 클라이언트(111)는 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 주소를 제2 블록 체인 시스템(130)으로 전송할 수 있다.In step 670, the block chain client 111 may transmit the address where the first block chain signature and block chain data are stored to the second block chain system 130.

단계(680)에서 블록 체인 클라이언트(111)는 블록 체인 데이터가 저장된 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작할 수 있다. In step 680, the block chain client 111 may restart the block chain by setting the last block hash value of the address where the block chain data is stored as the genesis block.

도 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 step 710, the second block chain system 130 may receive a first block chain signature and a first block chain certificate from the block chain client 111 of the first block chain system.

단계(720)에서 제2 블록 체인 시스템(130)은 단계(720)에서 수신한 제1 블록 체인 인증서를 복호화하여 제1 블록 체인 시스템(110)의 공개키를 획득할 수 있다. In step 720, the second block chain system 130 may obtain the public key of the first block chain system 110 by decrypting the first block chain certificate received in step 720.

단계(730)에서 제2 블록 체인 시스템(130)은 단계(720)에서 획득한 공개키로 제1 블록 체인 서명을 검증할 수 있다. In step 730, the second block chain system 130 may verify the first block chain signature with the public key obtained in step 720.

단계(740)에서 제2 블록 체인 시스템(130)은 단계(730)의 검증이 성공하였는지 여부를 확인할 수 있다. 검증이 성공한 경우, 제2 블록 체인 시스템(130)은 단계(750)를 수행할 수 있다. 또한, 검증이 실패한 경우, 제2 블록 체인 시스템(130)은 단계(710)를 수행할 수 있다.In step 740, the second blockchain system 130 may check whether the verification of step 730 is successful. If the verification is successful, the second blockchain system 130 may perform step 750. Also, if verification fails, the second block chain system 130 may perform step 710.

단계(750)에서 제2 블록 체인 시스템(130)은 제네시스 블록을 저장할 수 있다. In step 750, the second blockchain system 130 may store the genesis block.

단계(760)에서 제2 블록 체인 시스템(130)은 블록 체인 클라이언트(111)로부터 제1 블록 체인 서명 및 블록 체인 데이터가 저장된 주소를 수신할 수 있다.In step 760, the second block chain system 130 may receive the address where the first block chain signature and block chain data are stored from the block chain client 111.

단계(770)에서 제2 블록 체인 시스템(130)은 단계(720)에서 획득한 공개키로 단계(760)에서 수신한 제1 블록 체인 서명을 검증할 수 있다. In step 770, the second block chain system 130 may verify the first block chain signature received in step 760 with the public key obtained in step 720.

단계(780)에서 제2 블록 체인 시스템(130)은 단계(770)의 검증이 성공하였는지 여부를 확인할 수 있다. 검증이 성공한 경우, 제2 블록 체인 시스템(190)은 단계(750)를 수행할 수 있다. 또한, 검증이 실패한 경우, 제2 블록 체인 시스템(130)은 단계(760)를 수행할 수 있다.In step 780, the second block chain system 130 may check whether the verification in step 770 is successful. If verification is successful, the second blockchain system 190 may perform step 750. Also, if verification fails, the second block chain system 130 may perform step 760.

단계(790)에서 제2 블록 체인 시스템(130)은 단계(770)에서 수신한 주소를 제2 블록 체인 시스템의 블록 체인 데이터로 저장할 수 있다. In step 790, the second block chain system 130 may store the address received in step 770 as block chain data of the second block chain system.

본 발명은 블록 체인 데이터가 기 설정된 크기 이상으로 증가한 경우, 외부 저장 매체에 블록 체인 데이터를 저장하고, 외부 저장 매체에서 블록 체인 데이터가 저장된 주소를 블록 체인으로 관리함으로써, 블록 체인의 용량을 경량화할 수 있다.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.
제1항에 있어서,
상기 외부 저장 매체로 전송하는 단계는,
상기 블록 체인 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단하는 임베딩 블록 체인 방법.
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.
제1항에 있어서,
상기 외부 저장 매체로 전송하는 단계는,
현재 시간이 기 설정된 시간이거나, 현재 시간과 이전 블록 체인 데이터를 외부 저장 매체로 전송한 시간 간의 차이가 기 설정된 시간 간격인 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단하는 임베딩 블록 체인 방법.
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.
제1항에 있어서,
상기 외부 저장 매체로 전송하는 단계는,
현재 블록 체인 데이터가 기 설정된 위치의 블록인 경우, 블록 체인 데이터가 업로드 조건을 만족하는 것으로 판단 하는 임베딩 블록 체인 방법.
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.
제1항에 있어서,
상기 외부 저장 매체로 전송하는 단계는,
상기 블록 체인 데이터가 업로드 조건을 만족하는 경우, 상기 블록 체인 데이터를 검증하고,
상기 블록 체인 데이터가 검증을 통과한 경우, 상기 블록 체인 데이터를 외부 저장 매체로 전송하는 임베딩 블록 체인 방법.
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.
제1항에 있어서,
상기 주소의 마지막 블록 해시값을 제네시스 블록으로 설정하여 블록 체인을 재시작하는 단계
를 더 포함하는 임베딩 블록 체인 방법.
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.
제6항에 있어서,
상기 주소의 마지막 블록 해시값이 제네시스 블록으로 설정된 경우, 제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 블록 체인 시스템의 공개키를 이용하여 상기 제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.
제8항에 있어서,
상기 주소로 상기 외부 저장 매체에 접속하여 상기 블록 체인 데이터의 마지막 해시를 요청하는 단계;
를 더 포함하고,
상기 블록 체인 데이터로 저장하는 단계는,
상기 마지막 해시와 상기 주소를 포함하는 블록을 제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.
제8항에 있어서,
사용자 단말로부터 상기 블록 체인 데이터를 요청받은 경우, 상기 주소를 전송하는 단계
를 더 포함하고,
상기 사용자 단말은,
상기 주소에 따라 상기 외부 저장 매체에 접속하여 상기 외부 저장 매체로부터 상기 블록 체인 데이터를 수신하는 임베딩 블록 체인 방법.
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.
제10항에 있어서,
상기 사용자 단말은,
제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.
제8항에 있어서,
상기 제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 블록 체인 시스템으로 전송하는 제1 블록 체인 시스템; 및
상기 주소를 저장하고, 사용자 단말로부터 상기 블록 체인 데이터를 요청받은 경우, 상기 주소를 전송하여 상기 사용자 단말이 상기 외부 저장 매체로부터 상기 블록 체인 데이터를 수신하도록 하는 제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.
제13항에 있어서,
상기 제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.
제13항에 있어서,
상기 제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.
제13항에 있어서,
상기 제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.
제16항에 있어서,
상기 제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.
KR1020210078126A 2021-06-16 2021-06-16 Embedding blockchain method and system using external storage media KR102544899B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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