KR20220168417A - Lightweight blockchain method and system using data blocks and header blocks mixed - Google Patents

Lightweight blockchain method and system using data blocks and header blocks mixed Download PDF

Info

Publication number
KR20220168417A
KR20220168417A KR1020210078130A KR20210078130A KR20220168417A KR 20220168417 A KR20220168417 A KR 20220168417A KR 1020210078130 A KR1020210078130 A KR 1020210078130A KR 20210078130 A KR20210078130 A KR 20210078130A KR 20220168417 A KR20220168417 A KR 20220168417A
Authority
KR
South Korea
Prior art keywords
block
data
header
content
block chain
Prior art date
Application number
KR1020210078130A
Other languages
Korean (ko)
Other versions
KR102655763B1 (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 KR1020210078130A priority Critical patent/KR102655763B1/en
Publication of KR20220168417A publication Critical patent/KR20220168417A/en
Application granted granted Critical
Publication of KR102655763B1 publication Critical patent/KR102655763B1/en

Links

Images

Classifications

    • 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
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed are a lightweight blockchain method and system using data block and header block together. The lightweight blockchain method may comprise: a step of checking whether or not the data to be stored in a blockchain system satisfies a header block condition; a step of generating a header block using an address in which the data is stored, when the data satisfies the header block condition; a step of generating a content block using the data, when the data does not satisfy the header block condition; and a step of configuring the blockchain data by connecting the header block and the content block. Therefore, the present invention enables a capacity of the blockchain to be lightened.

Description

데이터 블록과 헤더 블록을 혼용 사용하는 경량화 블록 체인 방법 및 시스템{LIGHTWEIGHT BLOCKCHAIN METHOD AND SYSTEM USING DATA BLOCKS AND HEADER BLOCKS MIXED}Lightweight block chain method and system using data block and header block together

본 발명은 경량화 블록 체인 방법 및 장치에 관한 것으로, 보다 구체적으로는 외부 저장 매체를 이용하여 블록 체인 시스템에 저장되는 데이터의 크기를 감소시키는 방법 및 시스템에 관한 것이다.The present invention relates to a lightweight 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 system 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.

본 발명은 경량화 블록 체인 시스템은 데이터의 용량과 데이터를 외부 저장 매체에 저장하기 위하여 소요되는 시간을 고려하여 용량의 감소보다 시간의 증가가 큰 저용량 데이터는 블록 체인 시스템에 저장하고, 시간의 증가보다 용량의 감소가 큰 대용량 데이터는 외부 저장 매체에 저장하여 주소를 반환받아 블록 체인 시스템에 저장하며, 각각 저장된 데이터들을 연결하여 저장함으로써, 용량이 적은 데이터를 외부 저장 매체에 업로드하기 위하여 소요되는 지연 시간을 단축시키면서도 블록 체인의 용량을 경량화 하는 방법 및 시스템을 제공할 수 있다.In the present invention, the lightweight blockchain system considers the capacity of data and the time required to store the data in an external storage medium, and stores low-volume data in the blockchain system, where the increase in time is greater than the decrease in capacity, and Large-capacity data with a large reduction in capacity is stored in an external storage medium, and the address is returned and stored in the blockchain system. It is possible to provide a method and system for lightening the capacity of the block chain while reducing

본 발명의 일실시예에 따른 경량화 블록 체인 방법은 블록 체인 시스템에 저장될 데이터가 헤더 블록 조건을 만족하는지 여부를 확인하는 단계; 상기 데이터가 헤더 블록 조건을 만족하는 경우, 상기 데이터가 저장된 주소를 이용하여 헤더 블록을 생성하는 단계; 상기 데이터가 헤더 블록 조건을 만족하지 않는 경우, 상기 데이터를 이용하여 컨텐츠 블록을 생성하는 단계; 및 상기 헤더 블록 및 상기 컨텐츠 블록을 연결하여 블록 체인 데이터를 구성하는 단계를 포함할 수 있다.A lightweight block chain method according to an embodiment of the present invention includes the steps of checking whether data to be stored in a block chain system satisfies a header block condition; generating a header block using an address where the data is stored when the data satisfies a header block condition; generating a content block using the data when the data does not satisfy a header block condition; and configuring block chain data by connecting the header block and the content block.

본 발명의 일실시예에 따른 경량화 블록 체인 방법의 상기 여부를 확인하는 단계는, 상기 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 상기 데이터가 헤더 블록 조건을 만족하는 것으로 판단할 수 있다.In the step of checking whether or not the lightening block chain method according to an embodiment of the present invention is performed, if the data exceeds a preset size or length, it may be determined that the data satisfies the header block condition.

본 발명의 일실시예에 따른 경량화 블록 체인 방법의 상기 헤더 블록을 생성하는 단계는, 상기 데이터를 외부 저장 매체로 전송하여 업로드하는 단계; 상기 외부 저장 매체로부터 상기 데이터가 저장된 외부 저장 매체의 주소를 수신하는 단계; 및 상기 주소를 포함하는 헤더 블록을 생성하는 단계를 포함할 수 있다.Generating the header block of the lightweight block chain method according to an embodiment of the present invention includes transmitting and uploading the data to an external storage medium; Receiving an address of an external storage medium in which the data is stored from the external storage medium; and generating a header block including the address.

본 발명의 일실시예에 따른 경량화 블록 체인 방법의 상기 블록 체인 데이터를 구성하는 단계는, 상기 컨텐츠 블록을 연결하는 해시값과 상기 헤더 블록을 연결하는 해시값을 각각 생성하여 상기 헤더 블록 및 상기 컨텐츠 블록을 연결하고, 상기 컨텐츠 블록을 연결하는 해시값과 상기 헤더 블록을 연결하는 해시값을 유지할 수 있다.In the step of constructing the block chain data of the lightweight block chain method according to an embodiment of the present invention, a hash value connecting the content block and a hash value connecting the header block are generated, respectively, to generate the header block and the content block. Blocks may be linked, and a hash value linking the content block and a hash value linking the header block may be maintained.

본 발명의 일실시예에 따른 경량화 블록 체인 방법은 상기 헤더 블록 및 상기 컨텐츠 블록이 연결된 블록 체인 데이터를 검증하는 단계를 더 포함할 수 있다.The lightweight block chain method according to an embodiment of the present invention may further include verifying block chain data to which the header block and the content block are connected.

본 발명의 일실시예에 따른 경량화 블록 체인 방법의 상기 블록 체인 데이터를 검증하는 단계는, 상기 컨텐츠 블록을 연결하는 해시값을 검증하여 상기 컨텐츠 블록이 위변조되지 않음을 보장하는 단계; 상기 헤더 블록에 포함된 주소를 상기 컨텐츠 블록의 제네시스 블록부터 연결한 해시값과 해시 연산하는 단계; 및 해시 연산 결과를 검증하여 상기 헤더 블록이 위변조되지 않음을 보장하는 단계를 포함할 수 있다.The step of verifying the block chain data of the lightweight block chain method according to an embodiment of the present invention includes verifying a hash value connecting the content block to ensure that the content block is not forged or altered; performing a hash operation with a hash value obtained by connecting the address included in the header block from the genesis block of the content block; and verifying a hash operation result to ensure that the header block is not forged or altered.

본 발명의 일실시예에 따른 경량화 블록 체인 시스템은 블록 체인 시스템에 저장될 데이터가 헤더 블록 조건을 만족하는지 여부를 확인하고, 상기 데이터가 헤더 블록 조건을 만족하는 경우, 상기 데이터가 저장된 주소를 이용하여 헤더 블록을 생성하며, 상기 데이터가 헤더 블록 조건을 만족하지 않는 경우, 상기 데이터를 이용하여 컨텐츠 블록을 생성하고, 상기 헤더 블록 및 상기 컨텐츠 블록을 연결하여 블록 체인 데이터를 구성하는 블록 체인 클라이언트; 및 상기 헤더 블록 조건을 만족하는 데이터를 저장하고, 상기 데이터가 저장된 주소를 상기 블록 체인 클라이언트로 전송하는 외부 저장 매체를 포함할 수 있다.The lightweight block chain system according to an embodiment of the present invention checks whether data to be stored in the block chain system satisfies the header block condition, and if the data satisfies the header block condition, uses the address where the data is stored. a block chain client that generates a header block by using the header block and, when the data does not satisfy the header block condition, creates a content block using the data and configures block chain data by connecting the header block and the content block; and an external storage medium for storing data satisfying the header block condition and transmitting an address where the data is stored to the block chain client.

본 발명의 일실시예에 따른 경량화 블록 체인 시스템의 상기 블록 체인 클라이언트는, 상기 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 상기 데이터가 헤더 블록 조건을 만족하는 것으로 판단할 수 있다.The block chain client of the lightweight block chain system according to an embodiment of the present invention may determine that the data satisfies the header block condition when the data exceeds a preset size or length.

본 발명의 일실시예에 따른 경량화 블록 체인 시스템의 상기 블록 체인 클라이언트는, 상기 데이터를 외부 저장 매체로 전송하여 업로드하고, 상기 외부 저장 매체로부터 상기 데이터가 저장된 외부 저장 매체의 주소를 수신하여 상기 주소를 포함하는 헤더 블록을 생성할 수 있다.The block chain client of the lightweight block chain system according to an embodiment of the present invention transmits and uploads the data to an external storage medium, receives the address of the external storage medium in which the data is stored from the external storage medium, and receives the address of the external storage medium. You can create a header block that includes.

본 발명의 일실시예에 따른 경량화 블록 체인 시스템의 상기 블록 체인 클라이언트는, 상기 컨텐츠 블록을 연결하는 해시값과 상기 헤더 블록을 연결하는 해시값을 각각 생성하여 상기 헤더 블록 및 상기 컨텐츠 블록을 연결하고, 상기 컨텐츠 블록을 연결하는 해시값과 상기 헤더 블록을 연결하는 해시값을 유지할 수 있다.The block chain client of the lightweight block chain system according to an embodiment of the present invention generates a hash value connecting the content block and a hash value connecting the header block, and connects the header block and the content block, , It is possible to maintain a hash value connecting the content block and a hash value connecting the header block.

본 발명의 일실시예에 따른 경량화 블록 체인 시스템의 상기 블록 체인 클라이언트는, 상기 헤더 블록 및 상기 컨텐츠 블록이 연결된 블록 체인 데이터를 검증할 수 있다.The block chain client of the lightweight block chain system according to an embodiment of the present invention can verify block chain data to which the header block and the content block are connected.

본 발명의 일실시예에 따른 경량화 블록 체인 시스템의 상기 블록 체인 클라이언트는, 상기 컨텐츠 블록을 연결하는 해시값을 검증하여 상기 컨텐츠 블록이 위변조되지 않음을 보장하고, 상기 헤더 블록에 포함된 주소를 상기 컨텐츠 블록의 제네시스 블록부터 연결한 해시값과 해시 연산하며, 해시 연산 결과를 검증하여 상기 헤더 블록이 위변조되지 않음을 보장할 수 있다.The block chain client of the lightweight block chain system according to an embodiment of the present invention verifies the hash value connecting the content block to ensure that the content block is not forged and falsified, and the address included in the header block is It is possible to guarantee that the header block is not forged or falsified by performing hash calculation with the hash value connected from the genesis block of the content block and verifying the hash calculation result.

본 발명의 일실시예에 의하면, 경량화 블록 체인 시스템은 데이터의 용량과 데이터를 외부 저장 매체에 저장하기 위하여 소요되는 시간을 고려하여 용량의 감소보다 시간의 증가가 큰 저용량 데이터는 블록 체인 시스템에 저장하고, 시간의 증가보다 용량의 감소가 큰 대용량 데이터는 외부 저장 매체에 저장하여 주소를 반환받아 블록 체인 시스템에 저장하며, 각각 저장된 데이터들을 연결하여 저장함으로써, 용량이 적은 데이터를 외부 저장 매체에 업로드하기 위하여 소요되는 지연 시간을 단축시키면서도 블록 체인의 용량을 경량화할 수 있다.According to one embodiment of the present invention, the lightweight blockchain system considers the capacity of data and the time required to store the data in an external storage medium, and low-capacity data for which the increase in time is greater than the decrease in capacity is stored in the blockchain system. And, large-capacity data whose capacity reduction is greater than the increase in time is stored in an external storage medium, the address is returned and stored in the blockchain system, and data of low capacity is uploaded to an external storage medium by connecting and storing each stored data. It is possible to reduce the capacity of the block chain while reducing the delay time required for

도 1은 본 발명의 일실시예에 따른 경량화 블록 체인 시스템을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 경량화 블록 체인 시스템의 블록 체인 데이터의 일례이다.
도 3은 본 발명의 일실시예에 따른 경량화 블록 체인 방법을 도시한 플로우차트이다.
1 is a diagram showing a lightweight block chain system according to an embodiment of the present invention.
2 is an example of block chain data of a lightweight block chain system according to an embodiment of the present invention.
3 is a flowchart showing a lightweight block chain method 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 showing a lightweight block chain system according to an embodiment of the present invention.

경량화 블록 체인 시스템은 도 1에 도시된 바와 같이 블록 체인 시스템(110), 및 외부 저장 매체(120)를 포함할 수 있다.The lightweight block chain system may include a block chain system 110 and an external storage medium 120 as shown in FIG. 1 .

블록 체인 시스템(110)은 블록 체인 클라이언트(111) 및 복수의 블록 체인 노드들로 구성될 수 있다. 또한, 블록 체인 클라이언트(111)는 블록 체인 시스템(110)에 포함된 블록 체인 노드 중 하나이며, 블록 체인 시스템에 저장할 데이터를 외부 저장 매체(120)로 전송하는 블록 체인 노드일 수 있다.The block chain system 110 may be composed of a block chain client 111 and a plurality of block chain nodes. In addition, the blockchain client 111 is one of the blockchain nodes included in the blockchain system 110, and may be a blockchain node that transmits data to be stored in the blockchain system to the external storage medium 120.

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

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

또한, 블록 체인 시스템(110)에 포함된 블록 체인 노드는 컨텐츠 블록만 저장하고 유지하는 블록 체인 노드, 헤더 블록만 저장하고 유지하는 블록 체인 노드, 및 컨텐츠 블록과 헤더 블록을 모두 저장하고 유지하는 블록 체인 노드로 구성될 수도 있다. 예를 들어, 도 1에서 블록 체인 노드 1은 컨텐츠 블록만 저장하고 유지하는 블록 체인 노드이고, 블록 체인 노드 2는 헤더 블록만 저장하고 유지하는 블록 체인 노드일 수 있다. 또한, 블록 체인 노드 3 및 블록 체인 클라이언트(111)는 컨텐츠 블록과 헤더 블록을 모두 저장하고 유지하는 블록 체인 노드일 수 있다.In addition, the blockchain nodes included in the blockchain system 110 include a blockchain node that stores and maintains only content blocks, a block chain node that stores and maintains only header blocks, and a block that stores and maintains both content blocks and header blocks. It can also be composed of chain nodes. For example, in FIG. 1, block chain node 1 may be a block chain node that stores and maintains only content blocks, and block chain node 2 may be a block chain node that stores and maintains only header blocks. In addition, block chain node 3 and block chain client 111 may be block chain nodes that store and maintain both content blocks and header blocks.

블록 체인 클라이언트(111)는 블록 체인 시스템(110)에 저장할 데이터가 헤더 블록 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 블록 체인 시스템(110)에 저장할 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 클라이언트(111)는 블록 체인 시스템에 저장할 데이터가 헤더 블록 조건을 만족하는 것으로 판단할 수 있다. The block chain client 111 may check whether data to be stored in the block chain system 110 satisfies the header block condition. For example, when data to be stored in the blockchain system 110 exceeds a preset size or length, the blockchain client 111 may determine that the data to be stored in the blockchain system satisfies the header block condition. .

그리고, 블록 체인 시스템(110)에 저장할 데이터가 헤더 블록 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 블록 체인 시스템에 저장할 데이터를 외부 저장 매체(120)로 전송할 수 있다. 이때, 블록 체인 클라이언트(111)는 블록 체인 시스템에 저장할 데이터를 검증하고, 블록 체인 시스템에 저장할 데이터가 검증을 통과한 경우, 블록 체인 시스템에 저장할 데이터를 외부 저장 매체(120)로 전송할 수도 있다. 이때, 외부 저장 매체(120)는 수신한 데이터를 저장하고, 데이터가 저장된 주소를 블록 체인 클라이언트(111)로 전송할 수 있다. 외부 저장 매체(120)가 블록 체인 클라이언트(111)로 전송하는 주소는 데이터가 저장된 주소의 해시값일 수 있다.And, when the data to be stored in the blockchain system 110 satisfies the header block condition, the blockchain client 111 may transmit the data to be stored in the blockchain system to the external storage medium 120. At this time, the blockchain client 111 verifies the data to be stored in the blockchain system, and when the data to be stored in the blockchain system passes the verification, it may transmit the data to be stored in the blockchain system to the external storage medium 120. At this time, the external storage medium 120 may store the received data and transmit the address where the data is stored to the block chain client 111. The address transmitted by the external storage medium 120 to the block chain client 111 may be a hash value of an address where data is stored.

그리고, 블록 체인 클라이언트(111)는 데이터가 저장된 주소를 이용하여 헤더 블록을 생성할 수 있다. In addition, the block chain client 111 may generate a header block using the address where the data is stored.

또한, 블록 체인 시스템에 저장할 데이터가 헤더 블록 조건을 만족하지 않는 경우, 블록 체인 클라이언트(111)는 블록 체인 시스템에 저장할 데이터를 이용하여 컨텐츠 블록을 생성할 수 있다.In addition, when data to be stored in the blockchain system does not satisfy the header block condition, the blockchain client 111 may create a content block using the data to be stored in the blockchain system.

이때, 컨텐츠 블록은 데이터가 포함된 블록이고, 헤더 블록은 데이터가 저장된 주소가 포함된 블록일 수 있다.In this case, the content block may be a block including data, and the header block may be a block including an address where data is stored.

즉, 블록 체인 클라이언트(111)는 기 설정된 크기를 초과하는 데이터는 외부 저장 매체(120)에 저장한 후, 외부 저장 매체(120)에서 데이터가 저장된 주소를 포함하는 헤더 블록으로 생성하고, 기 설정된 크기 이하의 데이터는 해당 데이터를 포함하는 컨텐츠 블록으로 생성함으로써, 블록들로 구성된 블록 체인 데이터의 용량을 감소시킬 수 있다.That is, the block chain client 111 stores data exceeding a preset size in the external storage medium 120, then creates a header block including the address where the data is stored in the external storage medium 120, Data below the size can be created as a content block containing the data, thereby reducing the capacity of block chain data composed of blocks.

다음으로, 블록 체인 클라이언트(111)는 헤더 블록 및 컨텐츠 블록을 연결하여 블록 체인 데이터를 구성할 수 있다. 이때, 블록 체인 클라이언트(111)는 컨텐츠 블록을 연결하는 해시값과 헤더 블록을 연결하는 해시값을 각각 생성하여 헤더 블록 및 컨텐츠 블록을 연결할 수 있다. 그리고, 블록 체인 클라이언트(111)는 컨텐츠 블록을 연결하는 해시값과 헤더 블록을 연결하는 해시값으로 구성된 이중 해시값을 유지할 수 있다.Next, the block chain client 111 may configure block chain data by connecting the header block and the content block. At this time, the blockchain client 111 may generate a hash value for connecting the content block and a hash value for connecting the header block, respectively, and connect the header block and the content block. In addition, the blockchain client 111 may maintain a double hash value composed of a hash value connecting the content block and a hash value connecting the header block.

그 다음으로, 블록 체인 클라이언트(111)는 헤더 블록 및 컨텐츠 블록이 연결된 블록 체인 데이터를 검증할 수 있다. 이때, 블록 체인 클라이언트(111)는 컨텐츠 블록을 연결하는 해시값을 검증하여 컨텐츠 블록이 위변조되지 않음을 보장할 수 있다. 또한, 블록 체인 클라이언트(111)는 헤더 블록에 포함된 주소(해시값)를 컨텐츠 블록을 연결하는 해시값과 함께 해시 연산하여 헤더 블록에 포함된 주소를 나타내는 해시값을 컨텐츠 블록을 연결하는 해시값과 연결함으로써, 해시 연산 결과가 주소에 대한 위변조 여부를 나타내도록 할 수 있다. 그리고, 블록 체인 클라이언트(111)는 해시 연산 결과를 검증하여 헤더 블록이 위변조되지 않음을 보장할 수 있다.Next, the block chain client 111 can verify the block chain data to which the header block and the content block are connected. At this time, the blockchain client 111 can verify the hash value connecting the content blocks to ensure that the content blocks are not forged or altered. In addition, the blockchain client 111 performs a hash operation on the address (hash value) included in the header block together with the hash value connecting the content block, and converts the hash value representing the address included in the header block to the hash value connecting the content block. By connecting with , the hash operation result can indicate whether the address has been forged or altered. In addition, the block chain client 111 may verify the hash operation result to ensure that the header block is not forged or altered.

블록 체인 시스템에 저장할 데이터를 모두 외부 저장 매체에 해당 데이터를 저장하고, 외부 저장 매체에서 해당 데이터가 저장된 주소를 포함하는 헤더 블록을 생성하는 경우, 외부 저장 매체에 저장하지 않아도 될 저용량의 데이터들조차 데이터의 업로드와 주소 반환이 필요하여 시간이 지연될 수 있다. 반면, 블록 체인 시스템에 모든 데이터를 저장하는 경우, 블록 체인 시스템에 용량 부족이 발생할 수 있다.If all the data to be stored in the blockchain system is stored in an external storage medium and a header block including the address where the data is stored is created in the external storage medium, even low-capacity data that does not need to be stored in the external storage medium It may take some time to upload the data and return the address. On the other hand, if all data is stored in the blockchain system, capacity shortage may occur in the blockchain system.

경량화 블록 체인 시스템은 블록 체인 시스템에 저장할 데이터가 기 설정된 크기를 초과하는 경우, 외부 저장 매체에 해당 데이터를 저장하고, 외부 저장 매체에서 해당 데이터가 저장된 주소를 포함하는 헤더 블록을 생성함으로써, 블록 체인 시스템에 대용량 데이터를 저장함에 따른 용량 부족을 방지할 수 있다. 또한, 경량화 블록 체인 시스템은 블록 체인 시스템에 저장할 데이터가 기 설정된 크기 이하인 경우, 블록 체인 시스템에 저장함으로써, 용량이 적은 데이터를 외부 저장 매체에 업로드하기 위하여 소요되는 지연 시간을 단축시킬 수 있다.The lightweight blockchain system stores the data in an external storage medium when the data to be stored in the blockchain system exceeds a preset size, and creates a header block containing the address where the data is stored in the external storage medium, thereby creating a block chain It is possible to prevent capacity shortage due to storing large amount of data in the system. In addition, when the data to be stored in the block chain system is less than a preset size, the lightweight block chain system can reduce the delay time required to upload low-capacity data to an external storage medium by storing it in the block chain system.

그리고, 경량화 블록 체인 시스템은 헤더 블록과 기 설정된 크기 이하의 데이터가 저장된 컨텐츠 블록을 연결하여 블록 체인 데이터를 구성할 수 있다.In addition, the lightweight block chain system may configure block chain data by connecting a header block and a content block in which data of a predetermined size or less is stored.

즉, 경량화 블록 체인 시스템은 데이터의 용량과 데이터를 외부 저장 매체에 저장하기 위하여 소요되는 시간을 고려하여 용량의 감소보다 시간의 증가가 큰 저용량 데이터는 블록 체인 시스템에 저장하고, 시간의 증가보다 용량의 감소가 큰 대용량 데이터는 외부 저장 매체에 저장하여 주소를 반환받아 블록 체인 시스템에 저장하며, 각각 저장된 데이터들을 연결하여 저장함으로써, 용량이 적은 데이터를 외부 저장 매체에 업로드하기 위하여 소요되는 지연 시간을 단축시키면서도 블록 체인의 용량을 경량화할 수 있다.In other words, the lightweight blockchain system considers the capacity of data and the time required to store data in an external storage medium, and stores low-volume data in the blockchain system where the increase in time is greater than the decrease in capacity, and the increase in capacity is greater than the increase in time. Large-capacity data with a large reduction in is stored in an external storage medium, the address is returned and stored in the blockchain system, and by connecting and storing each stored data, the delay time required to upload small-capacity data to an external storage medium is reduced. It is possible to reduce the capacity of the block chain while shortening it.

도 2는 본 발명의 일실시예에 따른 경량화 블록 체인 시스템의 블록 체인 데이터의 일례이다.2 is an example of block chain data of a lightweight block chain system according to an embodiment of the present invention.

블록 체인 클라이언트(111)는 블록 체인 시스템(110)에 저장할 데이터의 첫번째 블록의 크기를 확인할 수 있다 그리고, 첫번째 블록의 크기가 기 설정된 크기 이하인 경우, 블록 체인 클라이언트(111)는 도 2에 도시된 바와 같이 첫번째 블록의 데이터가 포함된 컨텐츠 블록(210)을 생성할 수 있다. The block chain client 111 can check the size of the first block of data to be stored in the block chain system 110. And, if the size of the first block is less than or equal to the preset size, the block chain client 111 is shown in FIG. As such, the content block 210 including the data of the first block can be created.

다음으로, 블록 체인 클라이언트(111)는 블록 체인 시스템(110)에 저장할 데이터의 두번째 블록의 크기를 확인할 수 있다 그리고, 두번째 블록의 크기가 기 설정된 크기를 초과하는 경우, 블록 체인 클라이언트(111)는 도 2에 도시된 바와 같이 두번째 블록의 데이터를 외부 저장 매체(120)에 전송할 수 있다. 이때, 외부 저자 매체(120)는 수신한 데이터가 포함된 컨텐츠 블록(230)을 생성하고, 컨텐츠 블록(230)의 주소를 블록 체인 클라이언트(111)로 전송할 수 있다. 그리고, 블록 체인 클라이언트(111)는 컨텐츠 블록(230)의 주소가 포함된 헤더 블록(220)을 생성할 수 있다. 이때, 블록 체인 클라이언트(111)는 컨텐츠 블록(210)에 헤더 블록(220)과 연결하기 위한 해시값을 생성함으로써, 컨텐츠 블록(210)과 헤더 블록(220)을 연결시킬 수 있다. 또한, 블록 체인 클라이언트(111)는 헤더 블록(220)에 컨텐츠 블록3과 연결하기 위한 해시값을 생성함으로써, 헤더 블록(220)과 컨텐츠 블록 3을 연결시킬 수 있다. 이때, 블록 체인 클라이언트(111)는 컨텐츠 블록을 연결하는 해시값(실선)과 헤더 블록을 연결하는 해시값(점선)은 각각 유지함으로써, 컨텐츠 블록과 헤더 블록을 연결하여 구성된 블록 체인 데이터가 이중 해시값을 유지하도록 할 수 있다.Next, the block chain client 111 can check the size of the second block of data to be stored in the block chain system 110. And, if the size of the second block exceeds the preset size, the block chain client 111 As shown in FIG. 2 , data of the second block may be transmitted to the external storage medium 120 . At this time, the external author medium 120 may create a content block 230 including the received data and transmit the address of the content block 230 to the block chain client 111 . In addition, the block chain client 111 may create a header block 220 including the address of the content block 230. At this time, the blockchain client 111 may connect the content block 210 and the header block 220 by generating a hash value for connecting the content block 210 with the header block 220 . In addition, the block chain client 111 may connect the header block 220 and the content block 3 by generating a hash value for connecting the header block 220 with the content block 3. At this time, the blockchain client 111 maintains the hash value (solid line) connecting the content block and the hash value (dotted line) connecting the header block, so that the block chain data formed by connecting the content block and the header block is a double hash. value can be maintained.

그리고, 블록 체인 클라이언트(111)는 블록 체인 시스템(110)에 저장할 데이터의 블록들에 의하여 앞서 설명한 과정을 반복함으로써, 도 2에 도시된 바와 같이 복수의 컨텐츠 블록들과 헤더 블록들을 생성할 수 있다. 도 2에서는 컨텐츠 블록과 헤더 블록이 교차로 생성되었으나, 실시예에 따라서는 컨텐츠 블록 또는 헤더 블록이 연속으로 생성될 수도 있다. 또한, 데이터의 블록들의 크기가 모두 기 설정된 크기 이하인 경우, 컨텐츠 블록만으로 블록 체인 데이터가 구성될 수도 있고, 데이터의 블록들의 크기가 모두 기 설정된 크기를 초과하는 경우, 헤더 블록만으로 블록 체인 데이터가 구성될 수도 있다.And, the block chain client 111 can create a plurality of content blocks and header blocks as shown in FIG. 2 by repeating the process described above with blocks of data to be stored in the block chain system 110. . In FIG. 2 , content blocks and header blocks are generated alternately, but content blocks or header blocks may be continuously generated according to embodiments. In addition, when the size of all data blocks is less than or equal to the preset size, block chain data may be composed of only the content block, and when the size of all data blocks exceeds the preset size, block chain data is composed of only the header block. It could be.

도 3은 본 발명의 일실시예에 따른 경량화 블록 체인 방법을 도시한 플로우차트이다.3 is a flowchart showing a lightweight block chain method according to an embodiment of the present invention.

단계(410)에서 블록 체인 클라이언트(111)는 블록 체인 시스템(110)에 저장할 데이터가 헤더 블록 조건을 만족하는지 여부를 확인할 수 있다. 예를 들어, 블록 체인 시스템(110)에 저장할 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 블록 체인 클라이언트(111)는 블록 체인 시스템에 저장할 데이터가 헤더 블록 조건을 만족하는 것으로 판단할 수 있다. In step 410, the block chain client 111 may check whether data to be stored in the block chain system 110 satisfies the header block condition. For example, when data to be stored in the blockchain system 110 exceeds a preset size or length, the blockchain client 111 may determine that the data to be stored in the blockchain system satisfies the header block condition. .

그리고, 블록 체인 시스템(110)에 저장할 데이터가 헤더 블록 조건을 만족하는 경우, 블록 체인 클라이언트(111)는 단계(420)를 수행할 수 있다. 또한, 블록 체인 시스템에 저장할 데이터가 헤더 블록 조건을 만족하지 않는 경우, 블록 체인 클라이언트(111)는 단계(450)를 수행할 수 있다.And, when the data to be stored in the block chain system 110 satisfies the header block condition, the block chain client 111 may perform step 420. In addition, when the data to be stored in the blockchain system does not satisfy the header block condition, the blockchain client 111 may perform step 450.

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

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

단계(440)에서 블록 체인 클라이언트(111)는 단계(430)에서 수신한 주소를 이용하여 헤더 블록을 생성할 수 있다.In step 440, the block chain client 111 may generate a header block using the address received in step 430.

단계(450)에서 블록 체인 클라이언트(111)는 블록 체인 시스템에 저장할 데이터를 이용하여 컨텐츠 블록을 생성할 수 있다. In step 450, the block chain client 111 may create a content block using data to be stored in the block chain system.

단계(460)에서 블록 체인 클라이언트(111)는 단계(440)에서 생성한 헤더 블록 및 단계(450)에서 생성한 컨텐츠 블록을 연결하여 블록 체인 데이터를 구성할 수 있다. 이때, 블록 체인 클라이언트(111)는 컨텐츠 블록을 연결하는 해시값과 헤더 블록을 연결하는 해시값을 각각 생성하여 헤더 블록 및 컨텐츠 블록을 연결할 수 있다. 그리고, 블록 체인 클라이언트(111)는 컨텐츠 블록을 연결하는 해시값과 헤더 블록을 연결하는 해시값으로 구성된 이중 해시값을 유지할 수 있다.In step 460, the block chain client 111 may construct block chain data by connecting the header block generated in step 440 and the content block generated in step 450. At this time, the blockchain client 111 may generate a hash value for connecting the content block and a hash value for connecting the header block, respectively, and connect the header block and the content block. In addition, the blockchain client 111 may maintain a double hash value composed of a hash value connecting the content block and a hash value connecting the header block.

단계(470)에서 블록 체인 클라이언트(111)는 단계(460)에서 구성한 블록 체인 데이터를 검증할 수 있다. 이때, 블록 체인 클라이언트(111)는 컨텐츠 블록을 연결하는 해시값을 검증하여 컨텐츠 블록이 위변조되지 않음을 보장할 수 있다. 또한, 블록 체인 클라이언트(111)는 헤더 블록에 포함된 주소를 컨텐츠 블록의 제네시스 블록부터 연결한 해시값과 해시 연산할 수 있다. 그리고, 블록 체인 클라이언트(111)는 해시 연산 결과를 검증하여 헤더 블록이 위변조되지 않음을 보장할 수 있다.In step 470, the block chain client 111 may verify the block chain data configured in step 460. At this time, the blockchain client 111 can verify the hash value connecting the content blocks to ensure that the content blocks are not forged or altered. In addition, the blockchain client 111 may perform a hash operation with a hash value obtained by connecting the address included in the header block from the genesis block of the content block. In addition, the block chain client 111 may verify the hash operation result to ensure that the header block is not forged or altered.

본 발명은 경량화 블록 체인 시스템은 데이터의 용량과 데이터를 외부 저장 매체에 저장하기 위하여 소요되는 시간을 고려하여 용량의 감소보다 시간의 증가가 큰 저용량 데이터는 블록 체인 시스템에 저장하고, 시간의 증가보다 용량의 감소가 큰 대용량 데이터는 외부 저장 매체에 저장하여 주소를 반환받아 블록 체인 시스템에 저장하며, 각각 저장된 데이터들을 연결하여 저장함으로써, 용량이 적은 데이터를 외부 저장 매체에 업로드하기 위하여 소요되는 지연 시간을 단축시키면서도 블록 체인의 용량을 경량화할 수 있다.In the present invention, the lightweight blockchain system considers the capacity of data and the time required to store the data in an external storage medium, and stores low-volume data in the blockchain system, where the increase in time is greater than the decrease in capacity, and Large-capacity data with a large reduction in capacity is stored in an external storage medium, and the address is returned and stored in the blockchain system. while reducing the capacity of the block chain.

한편, 본 발명에 따른 경량화 블록 체인 시스템 또는 경량화 블록 체인 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성되어 마그네틱 저장매체, 광학적 판독매체, 디지털 저장매체 등 다양한 기록 매체로도 구현될 수 있다.On the other hand, the lightweight block chain system or lightweight 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 disks, 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: 블록 체인 시스템
120: 외부 저장 매체
110: Blockchain system
120: external storage medium

Claims (12)

블록 체인 시스템에 저장될 데이터가 헤더 블록 조건을 만족하는지 여부를 확인하는 단계;
상기 데이터가 헤더 블록 조건을 만족하는 경우, 상기 데이터가 저장된 주소를 이용하여 헤더 블록을 생성하는 단계;
상기 데이터가 헤더 블록 조건을 만족하지 않는 경우, 상기 데이터를 이용하여 컨텐츠 블록을 생성하는 단계; 및
상기 헤더 블록 및 상기 컨텐츠 블록을 연결하여 블록 체인 데이터를 구성하는 단계
를 포함하는 경량화 블록 체인 방법.
Checking whether the data to be stored in the block chain system satisfies the header block condition;
generating a header block using an address where the data is stored when the data satisfies a header block condition;
generating a content block using the data when the data does not satisfy a header block condition; and
Constructing block chain data by connecting the header block and the content block
A lightweight blockchain method that includes.
제1항에 있어서,
상기 여부를 확인하는 단계는,
상기 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 상기 데이터가 헤더 블록 조건을 만족하는 것으로 판단하는 경량화 블록 체인 방법.
According to claim 1,
The step of checking whether the above is,
When the data exceeds a preset size or length, it is determined that the data satisfies the header block condition.
제1항에 있어서,
상기 헤더 블록을 생성하는 단계는,
상기 데이터를 외부 저장 매체로 전송하여 업로드하는 단계;
상기 외부 저장 매체로부터 상기 데이터가 저장된 외부 저장 매체의 주소를 수신하는 단계; 및
상기 주소를 포함하는 헤더 블록을 생성하는 단계
를 포함하는 경량화 블록 체인 방법.
According to claim 1,
Generating the header block,
transmitting and uploading the data to an external storage medium;
Receiving an address of an external storage medium in which the data is stored from the external storage medium; and
generating a header block including the address;
A lightweight blockchain method that includes.
제1항에 있어서,
상기 블록 체인 데이터를 구성하는 단계는,
상기 컨텐츠 블록을 연결하는 해시값과 상기 헤더 블록을 연결하는 해시값을 각각 생성하여 상기 헤더 블록 및 상기 컨텐츠 블록을 연결하고, 상기 컨텐츠 블록을 연결하는 해시값과 상기 헤더 블록을 연결하는 해시값을 유지하는 경량화 블록 체인 방법.
According to claim 1,
The step of constructing the block chain data,
A hash value connecting the content block and a hash value connecting the header block are respectively generated to connect the header block and the content block, and a hash value connecting the content block and a hash value connecting the header block A lightweight blockchain method to maintain.
제1항에 있어서,
상기 헤더 블록 및 상기 컨텐츠 블록이 연결된 블록 체인 데이터를 검증하는 단계
를 더 포함하는 경량화 블록 체인 방법.
According to claim 1,
verifying block chain data to which the header block and the content block are connected;
A lightweight blockchain method further comprising.
제5항에 있어서,
상기 블록 체인 데이터를 검증하는 단계는,
상기 컨텐츠 블록을 연결하는 해시값을 검증하여 상기 컨텐츠 블록이 위변조되지 않음을 보장하는 단계;
상기 헤더 블록에 포함된 주소를 상기 컨텐츠 블록의 제네시스 블록부터 연결한 해시값과 해시 연산하는 단계; 및
해시 연산 결과를 검증하여 상기 헤더 블록이 위변조되지 않음을 보장하는 단계
를 포함하는 경량화 블록 체인 방법.
According to claim 5,
The step of verifying the block chain data,
ensuring that the content block is not forged or altered by verifying a hash value connecting the content block;
performing a hash operation with a hash value obtained by connecting the address included in the header block from the genesis block of the content block; and
Verifying a hash operation result to ensure that the header block is not forged or altered.
A lightweight blockchain method that includes.
블록 체인 시스템에 저장될 데이터가 헤더 블록 조건을 만족하는지 여부를 확인하고, 상기 데이터가 헤더 블록 조건을 만족하는 경우, 상기 데이터가 저장된 주소를 이용하여 헤더 블록을 생성하며, 상기 데이터가 헤더 블록 조건을 만족하지 않는 경우, 상기 데이터를 이용하여 컨텐츠 블록을 생성하고, 상기 헤더 블록 및 상기 컨텐츠 블록을 연결하여 블록 체인 데이터를 구성하는 블록 체인 클라이언트; 및
상기 헤더 블록 조건을 만족하는 데이터를 저장하고, 상기 데이터가 저장된 주소를 상기 블록 체인 클라이언트로 전송하는 외부 저장 매체
를 포함하는 경량화 블록 체인 시스템.
It is checked whether the data to be stored in the blockchain system satisfies the header block condition, and if the data satisfies the header block condition, a header block is created using the address where the data is stored, and the data is the header block condition. a block chain client that creates a content block using the data and constructs block chain data by connecting the header block and the content block, when and
An external storage medium that stores data that satisfies the header block condition and transmits the address where the data is stored to the block chain client.
A lightweight blockchain system that includes
제7항에 있어서,
상기 블록 체인 클라이언트는,
상기 데이터가 기 설정된 크기, 또는 길이를 초과하는 경우, 상기 데이터가 헤더 블록 조건을 만족하는 것으로 판단하는 경량화 블록 체인 시스템.
According to claim 7,
The blockchain client,
When the data exceeds a preset size or length, it is determined that the data satisfies the header block condition.
제7항에 있어서,
상기 블록 체인 클라이언트는,
상기 데이터를 외부 저장 매체로 전송하여 업로드하고, 상기 외부 저장 매체로부터 상기 데이터가 저장된 외부 저장 매체의 주소를 수신하여 상기 주소를 포함하는 헤더 블록을 생성하는 경량화 블록 체인 시스템.
According to claim 7,
The blockchain client,
A lightweight block chain system that transmits and uploads the data to an external storage medium, receives the address of the external storage medium in which the data is stored from the external storage medium, and generates a header block including the address.
제7항에 있어서,
상기 블록 체인 클라이언트는,
상기 컨텐츠 블록을 연결하는 해시값과 상기 헤더 블록을 연결하는 해시값을 각각 생성하여 상기 헤더 블록 및 상기 컨텐츠 블록을 연결하고, 상기 컨텐츠 블록을 연결하는 해시값과 상기 헤더 블록을 연결하는 해시값을 유지하는 경량화 블록 체인 시스템.
According to claim 7,
The blockchain client,
A hash value connecting the content block and a hash value connecting the header block are respectively generated to connect the header block and the content block, and a hash value connecting the content block and a hash value connecting the header block A lightweight blockchain system that maintains
제7항에 있어서,
상기 블록 체인 클라이언트는,
상기 헤더 블록 및 상기 컨텐츠 블록이 연결된 블록 체인 데이터를 검증하는 경량화 블록 체인 시스템.
According to claim 7,
The blockchain client,
A lightweight block chain system for verifying block chain data to which the header block and the content block are connected.
제11항에 있어서,
상기 블록 체인 클라이언트는,
상기 컨텐츠 블록을 연결하는 해시값을 검증하여 상기 컨텐츠 블록이 위변조되지 않음을 보장하고, 상기 헤더 블록에 포함된 주소를 상기 컨텐츠 블록의 제네시스 블록부터 연결한 해시값과 해시 연산하며, 해시 연산 결과를 검증하여 상기 헤더 블록이 위변조되지 않음을 보장하는 경량화 블록 체인 시스템.
According to claim 11,
The blockchain client,
The hash value connecting the content block is verified to ensure that the content block is not forged or altered, the address included in the header block is hashed with the hash value connected from the genesis block of the content block, and the hash operation result is calculated. A lightweight block chain system that verifies and ensures that the header block is not forged.
KR1020210078130A 2021-06-16 2021-06-16 Lightweight blockchain method and system using data blocks and header blocks mixed KR102655763B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210078130A KR102655763B1 (en) 2021-06-16 2021-06-16 Lightweight blockchain method and system using data blocks and header blocks mixed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210078130A KR102655763B1 (en) 2021-06-16 2021-06-16 Lightweight blockchain method and system using data blocks and header blocks mixed

Publications (2)

Publication Number Publication Date
KR20220168417A true KR20220168417A (en) 2022-12-23
KR102655763B1 KR102655763B1 (en) 2024-04-09

Family

ID=84536362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210078130A KR102655763B1 (en) 2021-06-16 2021-06-16 Lightweight blockchain method and system using data blocks and header blocks mixed

Country Status (1)

Country Link
KR (1) KR102655763B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200063959A (en) * 2018-11-27 2020-06-05 주식회사 스마트엠투엠 Method and system for providing data communication between iot and blockchain platforms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200063959A (en) * 2018-11-27 2020-06-05 주식회사 스마트엠투엠 Method and system for providing data communication between iot and blockchain platforms

Also Published As

Publication number Publication date
KR102655763B1 (en) 2024-04-09

Similar Documents

Publication Publication Date Title
CN101930418B (en) Multiple compression techniques for packetized information
US8683122B2 (en) Storage system
US11526494B2 (en) Blockchain-based computing system and method for managing transaction thereof
US10509594B2 (en) Memory module and memory system including the same
US20080235492A1 (en) Apparatus for compressing instruction word for parallel processing vliw computer and method for the same
CN104967635A (en) Data transmission method and apparatus thereof
US8423556B2 (en) Archive device
CN109842652A (en) A kind of method for uploading of file, terminal, Cloud Server and computer storage medium
US20170235640A1 (en) Network traffic recording apparatus and method
US8683121B2 (en) Storage system
KR20220168417A (en) Lightweight blockchain method and system using data blocks and header blocks mixed
CN113672171A (en) Distributed object storage method, device and system and metadata server
US10254973B2 (en) Data management system and method for processing distributed data
US10365828B1 (en) Techniques for efficiently organizing storage of compressed extents
CN103793391A (en) Remote dynamic data processing and verifying method and system
US20160036563A1 (en) Distributed reed-solomon codes for simple multiple access networks
JP6733213B2 (en) Control device, storage device, storage system, control method, and program
US20130144977A1 (en) Shared-bandwidth multiple target remote copy
US10686754B2 (en) In-band LDAP over FICON
KR20220150728A (en) Method and apparatus for providing lightweight blockchain using external strorage and pbft consensus algorithm
US11194498B1 (en) Inline compression with small-write compression avoidance
KR102544899B1 (en) Embedding blockchain method and system using external storage media
US20230153239A1 (en) Method and apparatus for allocating memory addresses in resource-centric networks
JP6782819B1 (en) Transmission device, transmission method and transmission program
JP4773980B2 (en) Arithmetic processing device and arithmetic processing method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant